This module performs learning over Logic Programs with Annotated Disjunctions and CP-Logic programs using the LEMUR algorithm of
Nicola Di Mauro, Elena Bellodi, and Fabrizio Riguzzi. Bandit-based Monte-Carlo structure learning of probabilistic logic programs. Machine Learning, 100(1):127-156, July 2015
See https://friguzzi.github.io/cplint/ for details.
Reexports slipcover
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
write(Message)
if the verbosity is at least 2.
Module is used to get the verbosity settingng(RN,Vals)
, indicating a rule for which
different instantiations get different parameters.format(Format,Arguments)
if the verbosity is at least 3.
Module is used to get the verbosity setting.assertz(M:Term,Ref)
and
returns the list of references in Refsrule(R,HeadList,BodyList,Lit,Tun)
.
ClausesOut/Clauses is a difference list of clauses to be asserted.Performs EM learning. Takes as input the Context, information on the rules, a list of BDDs each representing one example, the minimum absolute difference EA and relative difference ER between the log likelihood of examples in two different iterations and the maximum number of iterations Iterations. RuleInfo is a list of elements, one for each rule, with are either
format(Format,Arguments)
if the verbosity is at least 2.
Module is used to get the verbosity setting.rule(R,HeadList,BodyList,Lit,Tun)
.
Rules is a list of terms of the form
rule(N,HeadList,BodyList,Lit,Tun)
where N is
an increasing index starting from StartingIndex.
ClausesOut/Clauses is a difference list of clauses to be asserted.length(Theta)
-1)write(Message)
if the verbosity is at least 3.
Module is used to get the verbosity setting.def_rule(H,BodyList,_Lit)
.
Clauses is a list of clauses to be asserted.