From c671d8aa2957f292c655030e4893651781993810 Mon Sep 17 00:00:00 2001 From: Fabrizio Riguzzi Date: Wed, 4 Sep 2013 21:12:09 +0200 Subject: [PATCH] slipcover manual --- packages/cplint/doc/bib.bib | 8 + packages/cplint/doc/manual.html | 457 ++++++++++++++++++++------------ packages/cplint/doc/manual.pdf | Bin 221427 -> 225798 bytes packages/cplint/doc/manual.tex | 87 ++++-- 4 files changed, 358 insertions(+), 194 deletions(-) diff --git a/packages/cplint/doc/bib.bib b/packages/cplint/doc/bib.bib index 329b071b3..50460c5c8 100644 --- a/packages/cplint/doc/bib.bib +++ b/packages/cplint/doc/bib.bib @@ -1,3 +1,11 @@ +@article{BelRig13-TPLP-IJ, + author = {Elena Bellodi and Fabrizio Riguzzi}, + title = {Structure Learning of Probabilistic Logic Programs by Searching the Clause Space}, + journal = {Theory and Practice of Logic Programming}, + publisher = {Cambridge University Press}, + copyright = {Cambridge University Press}, + year = {2013} +} @article{BelRig11-IDA, author = {Elena Bellodi and Fabrizio Riguzzi}, title = { Expectation {Maximization} over Binary Decision Diagrams for Probabilistic Logic Programs}, diff --git a/packages/cplint/doc/manual.html b/packages/cplint/doc/manual.html index 797aca095..566009765 100644 --- a/packages/cplint/doc/manual.html +++ b/packages/cplint/doc/manual.html @@ -7,7 +7,7 @@ - + @@ -21,18 +21,18 @@ class="cmr-12">Fabrizio Riguzzi
fabrizio.riguzzi@unife.it
July 16, 2013
+class="cmr-12">September 4, 2013

1 Introduction

cplint is a suite of programs for reasoning with ICL [13], LPADs [2223] and +href="#XDBLP:journals/ai/Poole97">14], LPADs [2324] and CP-logic programs [2021]. It contains programs both for inference and +href="#XVenDenBru-JELIA06">21, 22]. It contains programs both for inference and learning.

2

The coin example of [23] is represented as (see file 24] is represented as (see file coin.cpl)

@@ -169,13 +169,13 @@ class="cmtt-10">cplint contains various modules for answering queries.
  • lpadsld.pl: uses the top-down procedure described in in [14] and [15]. It +href="#XRig-AIIA07-IC">15] and [16]. It is based on SLDNF resolution and is an adaptation of the interpreter for ProbLog [9]. +href="#XDBLP:conf/ijcai/RaedtKT07">10].

    It was proved correct [15] with respect to the semantics of LPADs for +href="#XRig-RCRA07-IC">16] with respect to the semantics of LPADs for range restricted acyclic programs [1] without function symbols.

    It is also able to deal with extensions of LPADs and CP-logic: the clause @@ -188,8 +188,8 @@ class="cmtt-10">setof or bagof operator. These extended features have been introduced in order to represent CLP(BN) [19] programs and PRM models [12]: 20] programs and PRM models [13]: setof and bagof allow to express dependency of an attribute from an aggregate function of another @@ -199,11 +199,11 @@ class="cmtt-10">bagof allow to

  • picl.pl: performs inference on ICL programs [16] +href="#XRig09-LJIGPL-IJ">17]
  • lpad.pl: uses a top-down procedure based on SLG resolution [8]. As a +href="#XDBLP:journals/jacm/ChenW96">9]. As a consequence, it works for any sound LPADs, i.e., any LPAD such that each of its instances has a two valued well founded model.
  • @@ -217,28 +217,28 @@ class="cmtt-10">cpl.pl: uses a top-down procedure based on SLG resolution
    • deepit.pl performs iterative deepening [7] +href="#XBraRig10-ILP10-IC">8]
    • deepdyn.pl performs dynamic iterative deepening [7] +href="#XBraRig10-ILP10-IC">8]
    • bestk.pl performs k-Best [7] +href="#XBraRig10-ILP10-IC">8]
    • bestfirst.pl performs best first [7] +href="#XBraRig10-ILP10-IC">8]
    • montecarlo.pl performs Monte Carlo [7] +href="#XBraRig10-ILP10-IC">8]
    • mcintyre.pl: implements the algorithm MCINTYRE (Monte Carlo INference wiTh Yap REcord) [17]
    +href="#XRig11-CILC11-NC">18]
  • approx/exact.pl as P, i.e., sufficient causation, independent causation, no deus ex machina events and temporal precedence. It uses the definition of the semantics given in [21].
  • +href="#XDBLP:journals/tplp/VennekensDB09">22].

    4.1 Commands

    @@ -827,55 +827,55 @@ class="cmtt-10">examples:
  • alarm.cpl: representation of the Bayesian network in Figure 2 of [23]. +href="#XVenVer04-ICLP04-IC">24].
  • coin.cpl: coin example from [23]. +href="#XVenVer04-ICLP04-IC">24].
  • coin2.cpl: coin example with two coins.
  • dice.cpl: dice example from [23]. +href="#XVenVer04-ICLP04-IC">24].
  • twosideddice.cpl, threesideddice.cpl game with idealized dice with two or three sides. Used in the experiments in [15]. +href="#XRig-RCRA07-IC">16].
  • ex.cpl: first example in [15]. +href="#XRig-RCRA07-IC">16].
  • exapprox.cpl: example showing the problems of approximate inference (see [15]). +href="#XRig-RCRA07-IC">16]).
  • exrange.cpl: example showing the problems with non range restricted programs (see [15]). +href="#XRig-RCRA07-IC">16]).
  • female.cpl: example showing the dependence of probabilities in the head from variables in the body (from [23]). +href="#XVenVer04-ICLP04-IC">24]).
  • mendel.cpl, mendels.cpl: programs describing the Mendelian rules of inheritance, taken from [6]. +href="#XBlo04-ILP04WIP-IC">7].
  • paper_ref.cpl, paper_ref_simple.cpl: paper citations examples, showing reference uncertainty, inspired by [12]. +href="#XGetoor+al:JMLR02">13].
  • paper_ref_not.cpl: paper citations example showing that negation @@ -895,13 +895,13 @@ class="cmtt-10">school.cpl.
  • student.cpl: student example from Figure 1.3 of [11]. +href="#XGetFri01-BC">12].
  • win.cpl, light.cpl, trigger.cpl, throws.cpl, hiv.cpl,
    invalid.cpl: programs taken from [21]. 22]. invalid.cpl is an example of a program that is invalid but sound.
  • The files cplint contains the following learning algorithms: class="cmtt-10">cplint EM): an implementation of EM for learning parameters that is based on lpadsld.pl [18] +href="#XRigDiM11-ML-IJ">19]

  • RIB (Relational Information Bottleneck): an algorithm for learning parameters based on the Information Bottleneck [18] +href="#XRigDiM11-ML-IJ">19]
  • EMBLEM (EM over Bdds for probabilistic Logic programs Efficient Mining): an implementation of EM for learning parameters that computes @@ -935,14 +935,20 @@ href="#XBelRig11-IDA">5, 23]
  • -
  • SLIPCASE (Structure LearnIng of ProbabilistiC logic progrAmS with Em - over bdds): an algorithm for learning the structure of program that is - based on EMBLEM [4]
  • -

    +

  • SLIPCASE (Structure LearnIng of ProbabilistiC logic progrAmS with + Em over bdds): an algorithm for learning the structure of programs by + searching directly the theory space [4] +
  • +
  • SLIPCOVER (Structure LearnIng of Probabilistic logic programs by + searChing OVER the clause space): an algorithm for learning the structure + of programs by searching the clause space and the theory space separatery + [6]
  • +

    5.1 Input

    -

    To execute the learning algorithms, prepare four files in the same folder: +

    To execute the learning algorithms, prepare four files in the same folder:

    • <stem>.kb: contains the example interpretations @@ -956,11 +962,13 @@ class="cmtt-10"><stem>.l: contains language bias informatio
    • <stem>.cpl: contains the LPAD for you which you want to learn the - parameters or the initial LPAD for SLIPCASE
    -

    where + +

    where <stem> is your dataset name. Examples of these files can be found in the dataset pages. -

    In

    In <stem>.kb the example interpretations have to be given as a list of Prolog facts initiated by begin(model(<name>)). and terminated by actor(2).  
    end(model(b1)).

    -

    The interpretations may contain a fact of the form +

    The interpretations may contain a fact of the form

    prob(0.3).
    -

    assigning a probability (0.3 in this case) to the interpretations. If this is omitted, the +

    assigning a probability (0.3 in this case) to the interpretations. If this is omitted, the probability of each interpretation is considered equal to 1∕n where n is the total number of interpretations. prob/1 can be used to set different multiplicity for the different interpretations. -

    In order for RIB to work, the input interpretations must share the Herbrand +

    In order for RIB to work, the input interpretations must share the Herbrand universe. If this is not the case, you have to translate the interpretations in this was, see for example the sp1 files in RIB’s folder, that are the results of the conversion of the first fold of the IMDB dataset. -

    <stem>.bg can contain Prolog clauses that can be used to derive additional conclusions from the atoms in the interpretations. -

    <stem>.l contains the declarations of the input and output predicates, of the unseen predicates and the commands for setting the algorithms’ parameters. Output predicates are declared as @@ -1008,72 +1016,92 @@ predicates are declared as

    output(<predicate>/<arity>).
    -

    and define the predicates whose atoms in the input interpretations are used as the +

    and define the predicates whose atoms in the input interpretations are used as the goals for the prediction of which you want to optimize the parameters. Derivations for these goals are built by the systems. -

    Input predicates are those for the predictions of which you do not want to +

    Input predicates are those for the predictions of which you do not want to optimize the parameters. You can declare closed world input predicates with

    input_cw(<predicate>/<arity>).
    -

    For these predicates, the only true atoms are those in the interpretations, the +

    For these predicates, the only true atoms are those in the interpretations, the clauses in the input program are not used to derive atoms not present in the interpretations. -

    Open world input predicates are declared with +

    Open world input predicates are declared with

    input(<predicate>/<arity>).
    -

    In this case, if a subgoal for such a predicate is encountered when deriving the atoms +

    In this case, if a subgoal for such a predicate is encountered when deriving the atoms for the output predicates, both the facts in the interpretations and the clauses of the input program are used. -

    For RIB, if there are unseen predicates, i.e., predicates that are present in the +

    For RIB, if there are unseen predicates, i.e., predicates that are present in the input program but not in the interpretations, you have to declare them with

    unseen(<predicate>/<arity>).
    -

    -

    For SLIPCASE, you have to specify the language bias by means of mode -declarations in the style of

    +

    For SLIPCASE and SLIPCOVER, you have to specify the language bias by +means of mode declarations in the style of Progol .

    modeh(<recall>,<predicate>(<arg1>,...).
    -

    specifies the atoms that can appear in the head of clauses, while +

    specifies the atoms that can appear in the head of clauses, while

    modeb(<recall>,<predicate>(<arg1>,...).
    -

    specifies the atoms that can appear in the body of clauses.

    specifies the atoms that can appear in the body of clauses. <recall> can be an integer or * (currently unused). -

    The arguments are of the form +

    The arguments are of the form

    +<type>
    -

    for specifying an input variable of type

    for specifying an input variable of type <type>, or

    -<type>
    -

    for specifying an output variable of type

    for specifying an output variable of type <type>. or

    <constant>
    -

    for specifying a constant. -

    An example of language bias for the UWCSE domain is +

    for specifying a constant. +

    SLIPCOVER also allows the arguments

    +#<type> +
    +

    for specifying an argument which should be replaced by a constant of type <type> in +the bottom clause but should not be used for replacing input variables of the +following literals or + +

    +-#<type> +
    +

    for specifying an argument which should be replaced by a constant of type <type> in +the bottom clause and that should be used for replacing input variables of +the following literals. # and -# differ only in the creation of the bottom +clause. +

    An example of language bias for the UWCSE domain is + +

    output(advisedby/2).  
     
    input(student/1). @@ -1090,18 +1118,57 @@ output(advisedby/2).  
    modeb(*,samecourse(-course, +course)).  
    ....
    -

    -

    +

    SLIPCOVER also requires facts for the determination/2 predicate that indicate +which predicates can appear in the body of clauses. For example + +

    +determination(professor/1,student/1). + 
    determination(student/1,hasposition/2). +
    +

    state that student/1 can appear in the body of clauses for professor/1 and that +hasposition/2 can appear in the body of clauses for student/1. +

    SLIPCOVER also allows mode declarations of the form + +

    +modeh(<r>,[<s1>,...,<sn>],[<a1>,...,<an>],[<P1/Ar1>,...,<Pk/Ark>]). +
    +

    These mode declarations are used to generate clauses with more than two head +atoms. In them, <s1>,...,<sn> are schemas, <a1>,...,<an> are atoms such that +<ai> is obtained from <si> by replacing placemarkers with variables, <Pi/Ari> are +the predicates admitted in the body. <a1>,...,<an> are used to indicate which +variables should be shared by the atoms in the head. An example of such a mode +declaration is + +

    +modeh(*, + 
      [advisedby(+person,+person),tempadvisedby(+person,+person)], + 
      [advisedby(A,B),tempadvisedby(A,B)], + 
      [professor/1,student/1,hasposition/2,inphase/2, + 
      publication/2,taughtby/3,ta/3,courselevel/2,yearsinprogram/2]). +
    +

    +

    5.2 Parameters

    -

    In order to set the algorithms’ parameters, you have to insert in

    In order to set the algorithms’ parameters, you have to insert in <stem>.l commands of the form -

    +
    :- set(<parameter>,<value>).
    -

    The available parameters are: +

    The available parameters are:

    -

    +class="cmtt-10">beamsize (values: integer, default value: 20, valid for SLIPCASE and + SLIPCOVER): size of the beam + +

  • megaex_bottom (values: integer, default value: 1, valid for SLIPCOVER): + number of mega-examples on which to build the bottom clauses +
  • +
  • initial_clauses_per_megaex (values: integer, default value: 1, valid for + SLIPCOVER): number of bottom clauses to build for each mega-example +
  • +
  • d (values: integer, default value: 10000, valid for SLIPCOVER): number + of saturation steps when building the bottom clause +
  • +
  • max_iter_structure (values: integer, default value: 1, valid for + SLIPCOVER): maximum number of theory search iterations +
  • +
  • background_clauses (values: integer, default value: 50, valid for + SLIPCOVER): maximum numbers of background clauses.
  • +

    5.3 Commands

    -

    To execute CEM, load

    To execute CEM, load em.pl with -

    +
    ?:- use_module(library(’cplint/em’)).
    -

    and call: - -

    -?:- em(stem). -
    -

    To execute RIB, load rib.pl with - -

    -?:- use_module(library(’cplint/rib’)). -
    -

    and call: - -

    -?:- ib_par(stem). -
    -

    To execute EMBLEM, load slipcase.pl with - -

    -?:- use_module(library(’cplint/slipcase’)). -
    -

    and call - -

    -?:- em(stem). -
    -

    To execute SLIPCASE, load slipcase.pl with +

    and call:

    -?:- use_module(library(’cplint/slipcase’)). +?:- em(stem).
    -

    and call +

    To execute RIB, load rib.pl with

    +?:- use_module(library(’cplint/rib’)). +
    +

    and call: + +

    +?:- ib_par(stem). +
    +

    To execute EMBLEM, load slipcase.pl with + +

    +?:- use_module(library(’cplint/slipcase’)). +
    +

    and call + +

    +?:- em(stem). +
    +

    To execute SLIPCASE, load slipcase.pl with + +

    +?:- use_module(library(’cplint/slipcase’)). +
    +

    and call + +

    ?:- sl(stem).
    -

    +

    To execute SLIPCOVER, load slipcover.pl with + +

    +?:- use_module(library(’cplint/slipcover’)). +
    +

    and call + +

    +?:- sl(stem). +
    +

    5.4 Learning Examples

    -

    The subfolders

    The subfolders em, rib and slipcase of the packages/cplint folder in Yap -git distribution contain examples of input and output files for the learning +class="cmtt-10">rib, slipcase and slipcover of the packages/cplint folder in +Yap git distribution contain examples of input and output files for the learning algorithms. -

    +

    6 License

    -

    cplint, as Yap, follows the Artistic License 2.0 that you can find in Yap CVS root dir. The copyright is by Fabrizio Riguzzi. -

    The modules in the approx subdirectory use SimplecuddLPADs, a modification of +

    The modules in the approx subdirectory use SimplecuddLPADs, a modification of the Simplecudd library whose copyright is by Katholieke Universiteit Leuven and that follows the Artistic License 2.0. -

    Some modules use the library

    Some modules use the library CUDD for manipulating BDDs that is included in glu. For the use of CUDD, the following license must be accepted: -

    Copyright (c) 1995-2004, Regents of the University of Colorado -

    All rights reserved. -

    Redistribution and use in source and binary forms, with or without modification, +

    Copyright (c) 1995-2004, Regents of the University of Colorado +

    All rights reserved. +

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    • Redistributions of source code must retain the above copyright notice, this @@ -1334,7 +1433,7 @@ are permitted provided that the following conditions are met: contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    -

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
    AND CONTRIBUTORS ”AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR @@ -1348,7 +1447,7 @@ class="newline" />AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -

    lpad.pl, semlpad.pl and cpl.pl are based on the SLG system by Weidong @@ -1402,6 +1501,14 @@ class="cmti-10">Intel. Data Anal.,

    [6]   Elena Bellodi and Fabrizio Riguzzi. Structure learning of probabilistic + logic programs by searching the clause space. Theory and Practice of Logic + Programming, 2013. +

    +

    + [7]   H. Blockeel. Probabilistic logical models for mendel’s experiments: An exercise. In Inductive Logic Programming (ILP 2004), Work in Progress @@ -1409,7 +1516,7 @@ class="cmti-10">Inductive Logic Programming (ILP 2004), Work in Progress class="cmti-10">Track, 2004.

    - [7]      Stefano Bragaglia and Fabrizio Riguzzi. Approximate inference for logic programs with annotated disjunctions. In Paolo Frasconi and Francesca Lisi, editors, ILP 2010, Florence, Italy, June 27-30, 2010. Revised PapersLNCS, pages 30–37. Springer, 2011.

    - [8]      Weidong Chen and David Scott Warren. Tabled evaluation with delaying for general logic programs. Journal of the ACM, 43(1):20–74, 1996.

    - [9]      L. De Raedt, A. Kimmig, and H. Toivonen. ProbLog: A probabilistic Prolog and its application in link discovery. In International Joint @@ -1434,22 +1541,22 @@ class="cmti-10">International Joint class="cmti-10">Conference on Artificial Intelligence, pages 2462–2467, 2007.

    - [10]      G. Elidan and N. Friedman. Learning hidden variable networks: The information bottleneck approach. Journal of Machine Learning Research, 6:81–127, 2005. -

    -

    - [11]   L. Getoor, N. Friedman, D. Koller, and A. Pfeffer. Learning - probabilistic relational models. In Saso Dzeroski and Nada Lavrac, editors, - Relational Data Mining. Springer-Verlag, Berlin, 2001.

    [12]   L. Getoor, N. Friedman, D. Koller, and A. Pfeffer. Learning + probabilistic relational models. In Saso Dzeroski and Nada Lavrac, editors, + Relational Data Mining. Springer-Verlag, Berlin, 2001. +

    +

    + [13]   L. Getoor, N. Friedman, D. Koller, and B. Taskar. Learning probabilistic models of relational structure. Journal of Machine Learning @@ -1457,13 +1564,13 @@ class="cmti-10">Journal of Machine Learning class="cmti-10">Research, 3:679–707, December 2002.

    - [13]      David Poole. The independent choice logic for modelling multiple agents under uncertainty. Artificial Intelligence, 94(1-2):7–56, 1997.

    - [14]      Fabrizio Riguzzi. A top down interpreter for LPAD and CP-logic. In Congress of the Italian Association for Artificial Intelligence, volume 4733 @@ -1471,7 +1578,7 @@ class="cmti-10">Congress of the Italian Association for Artificial Intelligence< class="cmti-10">LNAI, pages 109–120. Springer, 2007.

    - [15]      Fabrizio Riguzzi. A top down interpreter for LPAD and CP-logic. In Proceedings of the 14th RCRA workshop Experimental Evaluation of @@ -1479,13 +1586,13 @@ class="cmti-10">Proceedings of the 14th RCRA workshop Experimental Evaluation of class="cmti-10">Algorithms for Solving Problems with Combinatorial Explosion, 2007.

    - [16]      Fabrizio Riguzzi. Extended semantics and inference for the Independent Choice Logic. Logic Journal of the IGPL, 17(6):589–629, 2009.

    - [17]      Fabrizio Riguzzi. MCINTYRE: A Monte Carlo algorithm for probabilistic logic programming. In Proceedings of the 26th Italian @@ -1495,14 +1602,15 @@ class="cmti-10">Conference on Computational Logic (CILC2011), Pescara, Ita class="cmti-10">August-2 September, 2011, 2011.

    - [18]      Fabrizio Riguzzi and Nicola Di Mauro. Applying the information bottleneck to statistical relational learning. Machine Learning, 2011. To appear. +

    - [19]      V. Santos Costa, D. Page, M. Qazi, and J. Cussens. CLP(BN): class="cmti-10">Uncertainty in Artificial Intelligence. Morgan Kaufmann, 2003. -

    - [20]      J. Vennekens, M. Denecker, and M. Bruynooghe. Representing causal information about a probabilistic process. In Proceedings of the 10th @@ -1523,19 +1630,19 @@ class="cmti-10">European Conference on Logics in Artificial Intelligence, September 2006.

    - [21]      J. Vennekens, Marc Denecker, and Maurice Bruynooghe. CP-logic: A language of causal probabilistic events and its relation to logic programming. Theory Pract. Log. Program., 9(3):245–308, 2009.

    - [22]      J. Vennekens and S. Verbaeten. Logic programs with annotated disjunctions. Technical Report CW386, K. U. Leuven, 2003.

    - [23]      J. Vennekens, S. Verbaeten, and M. Bruynooghe. Logic programs with annotated disjunctions. In International Conference on Logic diff --git a/packages/cplint/doc/manual.pdf b/packages/cplint/doc/manual.pdf index 9b776868fe8ad760e3340d9d4ecf15b743b128f5..401cac50cd08bd4a3fd615c47cc3ce0e7648aaf5 100644 GIT binary patch delta 66082 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 Dl7JsI delta 62235 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.kb}: contains the example interpretations \item \texttt{.bg}: contains the background knowledge, i.e., knowledge valid for all interpretations \item \texttt{.l}: contains language bias information -\item \texttt{.cpl}: contains the LPAD for you which you want to learn the parameters or the initial LPAD for SLIPCASE +\item \texttt{.cpl}: contains the LPAD for you which you want to learn the parameters or the initial LPAD for SLIPCASE. For SLIPCOVER, this file should be absent \end{itemize} where \texttt{} is your dataset name. Examples of these files can be found in the dataset pages. @@ -503,7 +504,7 @@ For RIB, if there are unseen predicates, i.e., predicates that are present in th unseen(/). \end{verbatim} -For SLIPCASE, you have to specify the language bias by means of mode declarations in the style of +For SLIPCASE and SLIPCOVER, you have to specify the language bias by means of mode declarations in the style of \href{http://www.doc.ic.ac.uk/\string ~shm/progol.html}{Progol}. \begin{verbatim} modeh(,(,...). @@ -529,6 +530,16 @@ for specifying an output variable of type \texttt{}. or \end{verbatim} for specifying a constant. +SLIPCOVER also allows the arguments +\begin{verbatim} +# +\end{verbatim} +for specifying an argument which should be replaced by a constant of type \texttt{} in the bottom clause but should not be used for replacing input variables of the following literals or +\begin{verbatim} +-# +\end{verbatim} +for specifying an argument which should be replaced by a constant of type \texttt{} in the bottom clause and that should be used for replacing input variables of the following literals. \verb|#| and \verb|-#| differ only in the creation of the bottom clause. + An example of language bias for the UWCSE domain is \begin{verbatim} output(advisedby/2). @@ -547,6 +558,31 @@ modeb(*,samecourse(+course, -course)). modeb(*,samecourse(-course, +course)). .... \end{verbatim} +SLIPCOVER also requires facts for the \verb|determination/2| predicate that indicate which predicates can appear in the body of clauses. +For example +\begin{verbatim} +determination(professor/1,student/1). +determination(student/1,hasposition/2). +\end{verbatim} +state that \verb|student/1| can appear in the body of clauses for \verb|professor/1| and that \verb|hasposition/2| can appear in +the body of clauses for \verb|student/1|. + +SLIPCOVER also allows mode declarations of the form +\begin{verbatim} +modeh(,[,...,],[,...,],[,...,]). +\end{verbatim} +These mode declarations are used to generate clauses with more than two head atoms. In them, \verb|,...,| are schemas, \verb|,...,| are atoms such that \verb|| is obtained from $\verb||$ by replacing placemarkers with variables, +\verb|| are the predicates admitted in the body. \verb|,...,| are used to indicate which variables should be shared by the atoms in the head. +An example of such a mode declaration is +\begin{verbatim} +modeh(*, + [advisedby(+person,+person),tempadvisedby(+person,+person)], + [advisedby(A,B),tempadvisedby(A,B)], + [professor/1,student/1,hasposition/2,inphase/2, + publication/2,taughtby/3,ta/3,courselevel/2,yearsinprogram/2]). +\end{verbatim} + + \subsection{Parameters} In order to set the algorithms' parameters, you have to insert in \texttt{.l} commands of the form @@ -556,20 +592,17 @@ In order to set the algorithms' parameters, you have to insert in \texttt{ The available parameters are: \begin{itemize} \item \verb|depth| (values: integer or \verb|inf|, default value: 3): depth of derivations if \verb|depth_bound| is set to \verb|true| -\item \verb|single_var| (values: \verb|{true,false}|, default value: \verb|false|, valid for CEM, EMBLEM and SLIPCASE): if set to \verb|true|, there is a random variable for each clauses, instead of a separate random variable for each grounding of a clause +\item \verb|single_var| (values: \verb|{true,false}|, default value: \verb|false|, valid for CEM, EMBLEM, SLIPCASE and SLIPCOVER): if set to \verb|true|, there is a random variable for each clauses, instead of a separate random variable for each grounding of a clause \item \verb|sample_size| (values: integer, default value: 1000): total number of examples in case in which the models in the \verb|.kb| file contain a \verb|prob(P).| fact. In that case, one model corresponds to \verb|sample_size*P| examples -\item \verb|epsilon_em| (values: real, default value: 0.1, valid for CEM, EMBLEM and SLIPCASE): if the difference in the log likelihood in two successive EM iteration is smaller +\item \verb|epsilon_em| (values: real, default value: 0.1, valid for CEM, EMBLEM, SLIPCASE and SLIPCOVER): if the difference in the log likelihood in two successive EM iteration is smaller than \verb|epsilon_em|, then EM stops -\item \verb|epsilon_em_fraction| (values: real, default value: 0.01, valid for CEM, EMBLEM and SLIPCASE): if the difference in the log likelihood in two successive EM iteration is smaller +\item \verb|epsilon_em_fraction| (values: real, default value: 0.01, valid for CEM, EMBLEM, SLIPCASE and SLIPCOVER): if the difference in the log likelihood in two successive EM iteration is smaller than \verb|epsilon_em_fraction|*(-current log likelihood), then EM stops -\item \verb|iter| (values: integer, defualt value: 1, valid for EMBLEM and SLIPCASE): maximum number of iteration of EM parameter learning. If set to -1, no maximum number of iterations is imposed -\item \verb|iterREF| (values: integer, defualt value: 1, valid for SLIPCASE): +\item \verb|iter| (values: integer, defualt value: 1, valid for EMBLEM, SLIPCASE and SLIPCOVER): maximum number of iteration of EM parameter learning. If set to -1, no maximum number of iterations is imposed +\item \verb|iterREF| (values: integer, defualt value: 1, valid for SLIPCASE and SLIPCOVER): maximum number of iteration of EM parameter learning for refinements. If set to -1, no maximum number of iterations is imposed. - -\item \verb|random_restarts_number| (values: integer, default value: 1, valid for CEM, EMBLEM and SLIPCASE): number of random restarts of EM learning -\item \verb|random_restarts_REFnumber| (values: integer, default value: 1, valid for SLIPCASE): number of random restarts of EM learning for refinements - - +\item \verb|random_restarts_number| (values: integer, default value: 1, valid for CEM, EMBLEM, SLIPCASE and SLIPCOVER): number of random restarts of EM learning +\item \verb|random_restarts_REFnumber| (values: integer, default value: 1, valid for SLIPCASE and SLIPCOVER): number of random restarts of EM learning for refinements \item \verb|setrand| (values: rand(integer,integer,integer)): seed for the random functions, see Yap manual for allowed values \item \verb|minimal_step| (values: [0,1], default value: 0.005, valid for RIB): minimal increment of $\gamma$ \item \verb|maximal_step| (values: [0,1], default value: 0.1, valid for RIB): maximal increment of $\gamma$ @@ -577,15 +610,23 @@ than \verb|epsilon_em_fraction|*(-current log likelihood), then EM stops \item \verb|delta| (values: negative integer, default value -10, valid for RIB): value assigned to $\log 0$ \item \verb|epsilon_fraction| (values: integer, default value 100, valid for RIB): in the computation of the step, the value of $\epsilon$ of \cite{DBLP:journals/jmlr/ElidanF05} is obtained as $\log |CH,T|\times$\verb|epsilon_fraction| \item \verb|max_rules| (values: integer, default value: 6000, valid for RIB and SLIPCASE): maximum number of ground rules. Used to set the size of arrays for storing internal statistics. Can be increased as much as memory allows. -\item \verb|logzero| (values: negative real, default value $\log(0.000001)$, valid for SLIPCASE): value assigned to $\log 0$ +\item \verb|logzero| (values: negative real, default value $\log(0.000001)$, valid for SLIPCASE and SLIPCOVER): value assigned to $\log 0$ \item \verb|examples| (values: \verb|atoms|,\verb|interpretations|, default value \verb|atoms|, valid for SLIPCASE): determines how BDDs are built: if set to \verb|interpretations|, a BDD for the conjunction of all the atoms for the target predicates in each interpretations is built. If set to \verb|atoms|, a BDD is built for the conjunction of a group of atoms for the target predicates in each interpretations. The number of atoms in each group is determined by the parameter \verb|group| \item \verb|group| (values: integer, default value: 1, valid for SLIPCASE): number of target atoms in the groups that are used to build BDDs -\item \verb|nax_iter| (values: integer, default value: 10, valid for SLIPCASE): number of interations of beam search -\item \verb|max_var| (values: integer, default value: 1, valid for SLIPCASE): maximum number of distinct variables in a clause +\item \verb|nax_iter| (values: integer, default value: 10, valid for SLIPCASE and SLIPCOVER): number of interations of beam search +\item \verb|max_var| (values: integer, default value: 1, valid for SLIPCASE and SLIPCOVER): maximum number of distinct variables in a clause \item \verb|verbosity| (values: integer in [1,3], default value: 1): level of verbosity of the algorithms -\item \verb|beamsize| (values: integer, default value: 20, valid for SLIPCASE): size of the beam in SLIPCASE - +\item \verb|beamsize| (values: integer, default value: 20, valid for SLIPCASE and SLIPCOVER): size of the beam +\item \verb|megaex_bottom| (values: integer, default value: 1, valid for SLIPCOVER): number of mega-examples on which to build the bottom clauses +\item \verb|initial_clauses_per_megaex| (values: integer, default value: 1, valid for SLIPCOVER): + number of bottom clauses to build for each mega-example +\item \verb|d| (values: integer, default value: 10000, valid for SLIPCOVER): + number of saturation steps when building the bottom clause +\item \verb|max_iter_structure| (values: integer, default value: 1, valid for SLIPCOVER): +maximum number of theory search iterations +\item \verb|background_clauses| (values: integer, default value: 50, valid for SLIPCOVER): + maximum numbers of background clauses. \end{itemize} \subsection{Commands} To execute CEM, load \texttt{em.pl} with @@ -620,8 +661,16 @@ and call \begin{verbatim} ?:- sl(stem). \end{verbatim} +To execute SLIPCOVER, load \texttt{slipcover.pl} with +\begin{verbatim} +?:- use_module(library('cplint/slipcover')). +\end{verbatim} +and call +\begin{verbatim} +?:- sl(stem). +\end{verbatim} \subsection{Learning Examples} -The subfolders \verb|em|, \verb|rib| and \verb|slipcase| of the \verb|packages/cplint| folder in Yap git distribution +The subfolders \verb|em|, \verb|rib|, \verb|slipcase| and \verb|slipcover| of the \verb|packages/cplint| folder in Yap git distribution contain examples of input and output files for the learning algorithms. \section{License}