ACL for learning from Incomplete Information


We can apply ACL to learn from incomplete information using ACL1 version 2.  The background knowledge must be represented as an abductive logic program containing the definitions of background predicates, written using the usual prolog syntax, the definition of abducible predicates and, possibly, the definition of integrity constraints.  Every predicate on which you have incomplete information must be considered as an abducible predicate.  Consider the case of Example 1: the information on male and female is incomplete and therefore they must be considered as abducibles by including the following clause in the background input file Moreover, any extra information that you may have available on incomplete predicates can be encoded by means of integrity constraints.  In the case of Example 1,  we know that a person may not be at the same time a male and a female, therefore we can consider the constraint :-male(X),female(X). by adding the following clause to the background knowledge:
ic([male(X),female(X)]).
The detailed description of how to write the input file <file_stem>.bg is described below.  After having prepared the input files, the learning  is performed by running ACL1 as described in the instructions on how to run ACL1 version 2.

Input files format:

Format of <file_stem>.bg :

Consider father.bg as an example, corresponding to example 1 in the theoretical framework page.
  1. Bias:

  2. each target predicate must have a "bias" clause The <list of allowed literals> is the list of all the possible literals that
    can be added to the rule <head>:-<body>
    <body> is a template that can be used in order to specialize the clauses accordingly to what is already in the body.   In the example below is a variable so that any rule can be refined with the literals in the list.   The <list of variables> must contain the list of all the variables that may appear in the rule or its refinements and must be the same for all bias facts relative to the same predicate.
    Example:
  3. Abducible predicates:
  4. The variables in the abducible predicates must be all different (use _)
    Example:
  5. Integrity constraints:
  6. Example:
  7. Training set:
  8. Example:
  9. Background theory:
  10. Example:

Output files format:

    The result of learning is a file called <file_stem>.rules that contains the rules learned. In the case of the father example, the system produces the following file
     


    First the name of the input <file_stem> is printed, then the values for the parameters are shown together with the total execution time. Then follows the rules that have been learned, together with the set of positive and negative examples covered by them and the set of assumptions made for covering them. In the set of assumptions, each assumption is associated to the
    example that generated it.

 Back to the main ACL page.


 
 
Back to the LIA Home Page

Go to the DEIS Home Page Go to the Alma Mater Home Page