From cdd33b8c1aa6e7923412fa112cdf69ad1ccab8fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Thu, 15 Sep 2011 15:49:06 +0100 Subject: [PATCH 1/3] new CPLint and ProbLog versions. --- packages/ProbLog/problog.yap | 80 +- packages/ProbLog/problog/ad_converter.yap | 384 +++---- packages/cplint/Makefile.in | 9 +- packages/cplint/doc/manual.css | 1 + packages/cplint/doc/manual.html | 1241 ++++++++++++++------- packages/cplint/doc/manual.pdf | Bin 160458 -> 219304 bytes packages/cplint/doc/manual.tex | 359 ++++-- packages/cplint/lpadsld.pl | 179 +-- packages/cplint/testlpadsldit.pl | 2 +- 9 files changed, 1516 insertions(+), 739 deletions(-) diff --git a/packages/ProbLog/problog.yap b/packages/ProbLog/problog.yap index 8f6fd06ea..218403d28 100644 --- a/packages/ProbLog/problog.yap +++ b/packages/ProbLog/problog.yap @@ -2,8 +2,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% $Date: 2011-04-08 19:30:08 +0200 (Fri, 08 Apr 2011) $ -% $Revision: 5887 $ +% $Date: 2011-09-02 11:23:22 +0200 (Fri, 02 Sep 2011) $ +% $Revision: 6475 $ % % This file is part of ProbLog % http://dtai.cs.kuleuven.be/problog @@ -229,7 +229,10 @@ problog_kbest/4, problog_kbest_save/6, problog_max/3, + problog_kbest_explanations/3, problog_exact/3, + problog_all_explanations/2, + problog_all_explanations_unsorted/2, problog_exact_save/5, problog_montecarlo/3, problog_dnf_sampling/3, @@ -302,7 +305,7 @@ :- yap_flag(unknown,error). % general yap modules -:- use_module(library(lists), [append/3,member/2,memberchk/2,reverse/2,select/3,nth1/3,nth1/4,nth0/4]). +:- use_module(library(lists), [append/3,member/2,memberchk/2,reverse/2,select/3,nth1/3,nth1/4,nth0/4,sum_list/2]). :- use_module(library(terms), [variable_in_term/2,variant/2] ). :- use_module(library(random), [random/1]). :- use_module(library(system), [tmpnam/1,shell/2,delete_file/1,delete_file/2]). @@ -1274,6 +1277,8 @@ print_ad_intern((A1;B1),[A2|B2],Mass,Handle) :- print_ad_intern(_::Fact,[],Mass,Handle) :- P2 is 1.0 - Mass, format(Handle,'~10f :: ~q',[P2,Fact]). +print_ad_intern(P::A1,[A2],Mass,Handle) :- + once(print_ad_intern_one(P::A1,A2,Mass,_NewMass,Handle)). print_ad_intern_one(_::Fact,_::AuxFact,Mass,NewMass,Handle) :- % ask problog to get the fact_id once(probabilistic_fact(P,AuxFact,_FactID)), @@ -2099,6 +2104,40 @@ init_problog_low(Threshold) :- nb_setval(problog_completed_proofs, Trie_Completed_Proofs), init_problog(Threshold). + +% generalizing problog_max to return all explanations, sorted by non-increasing probability +problog_all_explanations(Goal,Expl) :- + problog_all_explanations_unsorted(Goal,Unsorted), + keysort(Unsorted,Decreasing), + reverse(Decreasing,Expl). + +problog_all_explanations_unsorted(Goal, _) :- + init_problog_low(0.0), + problog_control(off, up), + timer_start(sld_time), + problog_call(Goal), + add_solution, + fail. +problog_all_explanations_unsorted(_,Expl) :- + timer_stop(sld_time,SLD_Time), + problog_var_set(sld_time, SLD_Time), + nb_getval(problog_completed_proofs, Trie_Completed_Proofs), + explanations_from_trie(Trie_Completed_Proofs,Expl). + +% catch basecases +explanations_from_trie(Trie,[]) :- + empty_ptree(Trie),!. +explanations_from_trie(Trie,[1.0-[]]) :- + traverse_ptree(Trie,[true]),!. +explanations_from_trie(Trie_Completed_Proofs,Expl) :- + findall(Prob-Facts, + (traverse_ptree(Trie_Completed_Proofs,L), + findall(P,(member(A,L),get_fact_log_probability(A,P)),Ps), + sum_list(Ps,LS), + Prob is exp(LS), + get_fact_list(L,Facts) + ),Expl). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % approximate inference: bounds by iterative deepening up to interval width Delta % problog_delta(+Goal,+Delta,-LowerBound,-UpperBound,-Status) @@ -2351,6 +2390,15 @@ problog_kbest(Goal, K, Prob, Status) :- eval_dnf(Trie_Completed_Proofs,Prob,Status), delete_ptree(Trie_Completed_Proofs). +% generalizes problog_max to return the k best explanations +problog_kbest_explanations(Goal, K, Explanations) :- + problog_flag(first_threshold,InitT), + init_problog_kbest(InitT), + problog_control(off,up), + problog_kbest_id(Goal, K), + retract(current_kbest(_,ListFound,_NumFound)), + to_external_format_with_reverse(ListFound,Explanations). + problog_real_kbest(Goal, K, Prob, Status) :- problog_flag(first_threshold,InitT), init_problog_kbest(InitT), @@ -2463,6 +2511,15 @@ take_k_best(In,K,OutOf,Out) :- take_k_best(R,K,OutOf2,Out) ). +to_external_format_with_reverse(Intern,Extern) :- + to_external_format_with_reverse(Intern,[],Extern). +to_external_format_with_reverse([],Extern,Extern). +to_external_format_with_reverse([LogP-FactIDs|Intern],Acc,Extern) :- + Prob is exp(LogP), + ( FactIDs = [_|_] -> get_fact_list(FactIDs, Facts); + Facts = FactIDs), + to_external_format_with_reverse(Intern,[Prob-Facts|Acc],Extern). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % exact probability % problog_exact(+Goal,-Prob,-Status) @@ -3073,6 +3130,7 @@ problog_bdd_forest(Goals) :- unrequire(keep_ground_ids), reset_non_ground_facts, bdd_par_file(BDDParFile), +% format('Vars: ~w~n',[Vars]), tell(BDDParFile), bdd_vars_script(Vars), flush_output, % isnt this called by told/0? @@ -3089,8 +3147,8 @@ problog_bdd_forest(Goals) :- problog_bdd_forest_supported :- build_trie_supported. % Iterate over all Goals, write BDD scripts and collect variables used. -write_bdd_forest([],VarsTot,VarsTot,_). -write_bdd_forest([Goal|Rest],VarsAcc,VarsTot,N):- +write_bdd_forest([],AtomsTot,AtomsTot,_). +write_bdd_forest([Goal|Rest],AtomsAcc,AtomsTot,N) :- build_trie(Goal, Trie), write_nth_bdd_struct_script(N, Trie, Vars), (problog_flag(verbose, true)-> @@ -3100,9 +3158,15 @@ write_bdd_forest([Goal|Rest],VarsAcc,VarsTot,N):- ), delete_ptree(Trie), N2 is N+1, - list_to_ord_set(Vars,VarsSet), - ord_union(VarsAcc,VarsSet,VarsAcc2), - once(write_bdd_forest(Rest,VarsAcc2,VarsTot,N2)). + % map 'not id' to id in Vars + findall(ID,(member((not ID),Vars)) ,NegativeAtoms), + findall(ID,(member(ID,Vars),ID \= (not _)),PositiveAtoms), +% format('PositiveAtoms: ~w~n',[PositiveAtoms]), +% format('NegativeAtoms: ~w~n',[NegativeAtoms]), + append(PositiveAtoms,NegativeAtoms,Atoms), + list_to_ord_set(Atoms,AtomsSet), + ord_union(AtomsAcc,AtomsSet,AtomsAcc2), + once(write_bdd_forest(Rest,AtomsAcc2,AtomsTot,N2)). % Write files write_nth_bdd_struct_script(N,Trie,Vars) :- diff --git a/packages/ProbLog/problog/ad_converter.yap b/packages/ProbLog/problog/ad_converter.yap index 6f6fac997..20d3b7f3f 100644 --- a/packages/ProbLog/problog/ad_converter.yap +++ b/packages/ProbLog/problog/ad_converter.yap @@ -2,8 +2,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% $Date: 2011-04-26 15:48:52 +0200 (Tue, 26 Apr 2011) $ -% $Revision: 6371 $ +% $Date: 2011-08-19 13:13:56 +0200 (Fri, 19 Aug 2011) $ +% $Revision: 6471 $ % % This file is part of ProbLog % http://dtai.cs.kuleuven.be/problog @@ -210,15 +210,15 @@ ]). % general yap modules -:- use_module(library(lists),[reverse/2,member/2,memberchk/2,append/3]). - +:- use_module(library(lists),[member/2,append/3]). :- use_module(flags). :- style_check(all). :- yap_flag(unknown,error). :- discontiguous user:(<--)/2, problog:(<--)/2. - +:- discontiguous user:myclause/1, problog:myclause/1. % notation of ADs in LFI-ProbLog + :- op( 550, yfx, :: ). % for annotated disjunctions @@ -230,48 +230,70 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -term_expansion_intern_ad( (Head<--Body),Module,Mode,Result) :- - problog_flag(ad_cpl_semantics,AD_CPL_Semantics), +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% term_expansion_intern_ad( +AD, +Module, +Mode, -ListOfAtoms) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +:- bb_put(ad_converter_unique_id,1). + +term_expansion_intern_ad((Head<--Body), Module, Mode, [user:ad_intern((Head<--Body),ID,Aux_Facts)|Result]) :- + % the internal ID for the annotated disjunction + bb_get(ad_converter_unique_id,ID), + ID2 is ID+1, + bb_put(ad_converter_unique_id,ID2), + + % if CPL semantics is on we need to add all body variables to the + % auxilliary probabilistic facts to ensure that each grounding + % of an AD "triggers" a new CP event ( - proper_tunable_annotated_disjunction(Head) - -> - compile_tunable_annotated_disjunction(Head,Body,Facts,Bodies,ID,AD_CPL_Semantics,Mode); - ( - proper_annotated_disjunction(Head,Sum_of_P_in_Head) - -> - compile_annotated_disjunction(Head,Body,Facts,Bodies,ID,AD_CPL_Semantics,Mode,Sum_of_P_in_Head); - throw(error(invalid_annotated_disjunction,(Head<--Body))) - ) + problog_flag(ad_cpl_semantics,true) -> + term_variables(Body,Body_Vars) + ; + Body_Vars=[] ), + % construct the auxilliary facts we need to represent the AD + ( + % if it's a tunable AD create tunable auxilliary facts + proper_tunable_ad_head(Head) -> + create_tunable_ad_aux_facts(Head,Body_Vars,ID,1,Aux_Facts) + ; + % if it's a regular AD create auxilliary facts + proper_ad_head(Head,0.0) -> + create_ad_aux_facts(Head,Body_Vars,ID,1,0.0,Aux_Facts) + ; + % neither nor, let's complain + throw(error(invalid_annotated_disjunction,(Head<--Body))) + ), + + % call term_expansion for the aux facts, this has the same effect + % as if the use had defined the facts in the original file findall(problog:Atom,( - member(F,Facts), + member(F,Aux_Facts), once(problog:term_expansion_intern(F,Module,Atom)) ),Result_Atoms), + % construct the auxilliary clauses + + create_aux_bodies(Head,Body_Vars,Body,ID,1,Aux_Facts,Mode,Aux_Clauses), + ( - Mode==lfi_learning - -> - findall(Module:myclause(H,B),member((H:-B),Bodies),Result_Bodies); - findall(Module:B,member(B,Bodies),Result_Bodies) + Mode==lfi_learning -> + findall(Module:myclause(H,B),member((H:-B),Aux_Clauses),Result,Result_Atoms) + ; + findall(Module:B,member(B,Aux_Clauses),Result,Result_Atoms) ), - append(Result_Atoms,Result_Bodies,Result), - - problog_flag(show_ad_compilation,Show_AD_compilation), ( - Show_AD_compilation==true + problog_flag(show_ad_compilation,true) -> ( format('Compiling the annotated disjunction~n ~q~ninto the following code~n',[(Head<--Body)]), format('================================================~n',[]), - forall(member(F,Facts),format(' ~q.~n',[F])), + forall(member(F,Aux_Facts),format(' ~q.~n',[F])), format(' - - - - - - - - - - - - - - - - - - - - - - ~n',[]), - forall(member(B,Bodies),format(' ~q.~n',[B])), + forall(member(B,Aux_Clauses),format(' ~q.~n',[B])), format('================================================~2n',[]) ); true @@ -283,167 +305,155 @@ term_expansion_intern_ad( (Head<--Body),_,_) :- fail. + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% +% proper_ad_head(+Head, +Acc) +% +% this predicate succeeds if Head is valid disjunction +% of probabilistic facts as used in the head of an AD +% in particular, it checks that all probabilities are +% valid and the sum does not exceed 1.0 +% +% if will throw an exception if any of the probabilties P +% P::A +% can not be evaluated using is/2 +% +% ?- proper_ad_head( 0.1::a, 0.1). +% yes +% ?- proper_ad_head( (0.1::a,0.8::b), 0.1). +% no +% ?- proper_ad_head( (0.1::a;0.8::b), 0.1). +% yes +% ?- proper_ad_head( (0.1::a;0.8::b;0.2::c), 0.1). +% no +% ?- proper_ad_head( (0.1::a;0.4::true), 0.1). +% no +% ?- ad_converter:proper_ad_head( (1/2::a;0.4::foo(X)), 0.1). +% true +% ?- ad_converter:proper_ad_head( (goo::a;0.4::foo(X)), 0.1). +% ERROR at clause 2 of ad_converter:proper_ad_head/2 !! +% TYPE ERROR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -get_next_unique_id(ID) :- + +proper_ad_head( P :: A, Acc) :- + P>=0.0, + P+Acc=<1.0, + \+ var(A), + \+ system_predicate(_,A), + once((atom(A);compound(A))). + +proper_ad_head((P :: A;T),Acc) :- + \+ var(A), + \+ system_predicate(_,A), + once((atom(A);compound(A))), + P>=0.0, + Acc2 is P+Acc, + proper_ad_head(T,Acc2). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% proper_tunable_ad_head(+Head) +% +% this predicate succeeds if Head is valid disjunction of +% tunable probabilistic facts as used in the head of an AD +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +proper_tunable_ad_head( t(_)::A ) :- + \+ var(A), + \+ system_predicate(_,A), + once((atom(A);compound(A))). + +proper_tunable_ad_head( ( t(_)::A ;T) ) :- + \+ var(A), + \+ system_predicate(_,A), + once((atom(A);compound(A))), + proper_tunable_ad_head(T). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% create_mws_atom(+Atom,+Body_Vars,+ID,+Pos,-A2) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +create_mws_atom(A,Body_Vars,ID,Pos,A2) :- + A =.. [_F|Args], + append(Args,Body_Vars,Args2), + atomic_concat([mvs_fact_,ID,'_',Pos],F2), + A2 =.. [F2|Args2]. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% create_ad_aux_facts(+Head,+Vars,+ID,+POS,+Acc,-Facts) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +create_ad_aux_facts(P::_, _, _, _, Acc, []) :- + % if the probabilities in the head of the AD + % sum up to 1.0 drop the last aux fact + abs(Acc+P-1.0) < 0.0000001, + !. +create_ad_aux_facts(P::Atom, Body_Vars, ID, Pos, Acc, [P1::ProbFact]) :- + create_mws_atom(Atom,Body_Vars,ID,Pos,ProbFact), ( - bb_get(mvs_unique_id,ID) - -> - true; - ID=1 - ), - ID2 is ID+1, - bb_put(mvs_unique_id,ID2). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -proper_annotated_disjunction(AD,Sum) :- - proper_annotated_disjunction(AD,0.0,Sum), - Sum=<1. - -proper_annotated_disjunction( P :: _, OldSum,NewSum) :- - % evaluate P - P2 is P, - P2>=0, - P2=<1, - NewSum is OldSum+P. -proper_annotated_disjunction((X;Y),OldSum,Sum) :- - proper_annotated_disjunction(X,OldSum,NewSum), - proper_annotated_disjunction(Y,NewSum,Sum). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -proper_tunable_annotated_disjunction( t(_) :: _). -proper_tunable_annotated_disjunction((X;Y)) :- - proper_tunable_annotated_disjunction(X), - proper_tunable_annotated_disjunction(Y). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -compile_tunable_annotated_disjunction(Head,Body,Facts2,Bodies2,Extra_ID,AD_CPL_Semantics,Mode) :- - get_next_unique_id(Extra_ID), - - ( - AD_CPL_Semantics==true - -> - term_variables(Body,Body_Vars); - Body_Vars=[] - ), - - - - convert_a_tunable(Head,Extra_ID,[],Facts0,Body_Vars), - - problog_flag(ad_sumto1_learning,AD_SumTo1_Learning), - ( - AD_SumTo1_Learning==true - -> - Facts0=[_|Facts1]; - Facts1=Facts0 - ), - - reverse(Facts1,Facts2), - convert_b(Head,Body,_NewBody,Extra_ID,[],Bodies,Body_Vars,Mode,Facts2), - - - reverse(Bodies,Bodies2). -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -compile_annotated_disjunction(Head,Body,Facts2,Bodies2,Extra_ID,AD_CPL_Semantics,Mode,ProbSum) :- - get_next_unique_id(Extra_ID), - - ( - AD_CPL_Semantics==true - -> - term_variables(Body,Body_Vars); - Body_Vars=[] - ), - - convert_a(Head,0.0,_Acc,Extra_ID,[],Facts0,Body_Vars), - - ( - abs(ProbSum-1.0) < 0.0000001 - -> - Facts0=[_|Facts1]; - Facts1=Facts0 - ), - - - reverse(Facts1,Facts2), - convert_b(Head,Body,_NewBody,Extra_ID,[],Bodies,Body_Vars,Mode,Facts2), - - - reverse(Bodies,Bodies2). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -convert_a((X;Y),OldAcc,Acc,Extra_ID,OldFacts,Facts,Body_Vars) :- - convert_a(X,OldAcc,NewAcc,Extra_ID,OldFacts,NewFacts,Body_Vars), - convert_a(Y,NewAcc,Acc,Extra_ID,NewFacts,Facts,Body_Vars). -convert_a(P::Atom,OldAcc,NewAcc,Extra_ID,OldFacts,[P1::ProbFact|OldFacts],Body_Vars) :- - Atom =.. [Functor|AllArguments], - append(AllArguments,Body_Vars,NewAllArguments), - length(AllArguments,Arity), - - atomic_concat([mvs_fact_,Functor,'_',Arity,'_',Extra_ID],NewAtom), - - ProbFact =.. [NewAtom|NewAllArguments], - ( - (P=:=0; OldAcc=:=0) - -> - P1 is P; - P1 is min(P/(1-OldAcc),1.0) - ), - NewAcc is OldAcc+P. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -convert_a_tunable((X;Y),Extra_ID,OldFacts,Facts,Body_Vars) :- - convert_a_tunable(X,Extra_ID,OldFacts,NewFacts,Body_Vars), - convert_a_tunable(Y,Extra_ID,NewFacts,Facts,Body_Vars). -convert_a_tunable(t(_)::Atom,Extra_ID,OldFacts,[t(_)::ProbFact|OldFacts],Body_Vars) :- - Atom =.. [Functor|AllArguments], - append(AllArguments,Body_Vars,NewAllArguments), - length(AllArguments,Arity), - - atomic_concat([mvs_fact_,Functor,'_',Arity,'_',Extra_ID],NewAtom), - - ProbFact =.. [NewAtom|NewAllArguments]. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -convert_b((X;Y),OldBody,Body,ExtraID,OldBodies,Bodies,Body_Vars,Mode,Facts) :- - convert_b(X,OldBody,NewBody,ExtraID,OldBodies,NewBodies,Body_Vars,Mode,Facts), - convert_b(Y,NewBody,Body,ExtraID,NewBodies,Bodies,Body_Vars,Mode,Facts). -convert_b(_::Atom,OldBody,NewBody,Extra_ID,OldBodies,[(Atom:-ThisBody)|OldBodies],Body_Vars,Mode,Facts) :- - Atom =.. [Functor|AllArguments], - append(AllArguments,Body_Vars,NewAllArguments), - - length(AllArguments,Arity), - atomic_concat([mvs_fact_,Functor,'_',Arity,'_',Extra_ID],NewFunctor), - - ProbFact =.. [NewFunctor|NewAllArguments], - ( - memberchk(_::ProbFact,Facts) - -> - tuple_append(OldBody,ProbFact,ThisBody); - ThisBody=OldBody - ), - - ( - Mode==lfi_learning - -> - tuple_append(OldBody,\+ProbFact,NewBody); - tuple_append(OldBody,problog_not(ProbFact),NewBody) + (P=:=0; Acc=:=0)-> + P1 is P + ; + P1 is min(P/(1-Acc),1.0) ). +create_ad_aux_facts((P::Atom;T), Body_Vars, ID, Pos, Acc, [P1::ProbFact|T2]) :- + create_mws_atom(Atom,Body_Vars,ID,Pos,ProbFact), + ( + (P=:=0; Acc=:=0)-> + P1 is P + ; + P1 is min(P/(1-Acc),1.0) + ), + Acc2 is Acc+P, + Pos2 is Pos+1, + create_ad_aux_facts(T,Body_Vars,ID,Pos2,Acc2,T2). + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +create_tunable_ad_aux_facts(t(_)::_,_,_,Pos,[]) :- + Pos>1, + problog_flag(ad_sumto1_learning,true), + !. +create_tunable_ad_aux_facts(t(_)::Atom,Body_Vars,ID,Pos,[t(_)::ProbFact]) :- + create_mws_atom(Atom,Body_Vars,ID,Pos,ProbFact). +create_tunable_ad_aux_facts((t(_)::Atom;T),Body_Vars,ID,Pos,[t(_)::ProbFact|T2]) :- + create_mws_atom(Atom,Body_Vars,ID,Pos,ProbFact), + Pos2 is Pos+1, + create_tunable_ad_aux_facts(T,Body_Vars,ID,Pos2,T2). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +create_aux_bodies(_::Atom, Body_Vars, Body, ID, Pos, Aux_Facts , _, [(Atom:-Body2)]) :- + create_mws_atom(Atom,Body_Vars,ID,Pos,ProbFact), + ( + member(_::ProbFact,Aux_Facts)-> + tuple_append(Body,ProbFact,Body2) + ; + Body2=Body + ). + +create_aux_bodies((_::Atom; T), Body_Vars, Body, ID, Pos, Aux_Facts , Mode, [(Atom:-Body2)|T2]) :- + create_mws_atom(Atom,Body_Vars,ID,Pos,ProbFact), + tuple_append(Body,ProbFact,Body2), + ( + Mode==lfi_learning -> + tuple_append(Body,\+ProbFact,Body3) + ; + tuple_append(Body,problog_not(ProbFact),Body3) + ), + + Pos2 is Pos+1, + create_aux_bodies(T,Body_Vars,Body3,ID,Pos2,Aux_Facts,Mode,T2). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/packages/cplint/Makefile.in b/packages/cplint/Makefile.in index d55e3ffc3..8dd0398a5 100644 --- a/packages/cplint/Makefile.in +++ b/packages/cplint/Makefile.in @@ -70,7 +70,8 @@ CPLINT_PROGRAMS= \ $(CPLINT_SRCDIR)/approx/params.pl \ $(CPLINT_SRCDIR)/approx/parsing.pl \ $(CPLINT_SRCDIR)/approx/tptreefile.pl \ - $(CPLINT_SRCDIR)/approx/utility.pl + $(CPLINT_SRCDIR)/approx/utility.pl \ + $(CPLINT_SRCDIR)/approx/tptree_lpad.pl CPLINT_SEMANTICS_PROGRAMS= \ $(CPLINT_SRCDIR)/semlpadsld.pl \ @@ -143,6 +144,10 @@ CPLINT_DOCS=\ $(CPLINT_DOCDIR)/manual0x.png \ $(CPLINT_DOCDIR)/Makefile +CPLINT_LEARNING_PROGRAMS=\ + $(CPLINT_SRCDIR)/em \ + $(CPLINT_SRCDIR)/rib + all: $(SOBJS) @@ -171,6 +176,8 @@ install: all for h in $(CPLINT_SEMANTICS_PROGRAMS); do $(INSTALL_DATA) $$h $(DESTDIR)$(SHAREDIR); done $(INSTALL_PROGRAM) $(SOBJS) $(DESTDIR)$(YAPLIBDIR) $(INSTALL_PROGRAM) approx/simplecuddLPADs/LPADBDD $(SHAREDIR) + cp -R $(CPLINT_LEARNING_PROGRAMS) $(DESTDIR)$(SHAREDIR)/cplint + installcheck: for h in ${CPLINT_TEST_PROGRAMS}; do echo "t. halt." | $(BINDIR)/yap -l $$h; done diff --git a/packages/cplint/doc/manual.css b/packages/cplint/doc/manual.css index b108289a8..1f45d11a5 100644 --- a/packages/cplint/doc/manual.css +++ b/packages/cplint/doc/manual.css @@ -9,6 +9,7 @@ .cmr-12{font-size:120%;} .cmtt-10{font-family: monospace;} .cmtt-10{font-family: monospace;} +.cmbx-10{ font-weight: bold;} .cmti-10{ font-style: italic;} p.noindent { text-indent: 0em } td p.noindent { text-indent: 0em; margin-top:0em; } diff --git a/packages/cplint/doc/manual.html b/packages/cplint/doc/manual.html index 16d034d2c..572d6cf81 100644 --- a/packages/cplint/doc/manual.html +++ b/packages/cplint/doc/manual.html @@ -1,13 +1,13 @@ -cplint Version 2.0 Manual +cplint Manual - + @@ -15,44 +15,176 @@ -

cplint Version 2.0 Manual

+

cplint Manual

Fabrizio Riguzzi
fabrizio.riguzzi@unife.it

July 27, 2010
+class="cmr-12">July 25, 2011

1 Introduction

cplint is a suite of programs for reasoning with LPADs [1112] and CP-logic -programs [1013]. -

It consists of three Prolog modules for answering queries using goal-oriented -procedures plus three Prolog modules for answering queries using the definition of the -semantics of LPADs and CP-logic. -

The modules for answering queries using using goal-oriented procedures are +class="cmtt-10">cplint is a suite of programs for reasoning with ICL [12], LPADs [2122] and +CP-logic programs [1920]. It contains programs both for inference and +learning. +

+

2 Installation

+

cplint is distributed in source code in the CVS version of Yap. It +includes Prolog and C files. Download it by following the instruction in +http://www.ncc.up.pt/ vsc/Yap/downloads.html . +

cplint requires CUDD and glib-2.0. You can download CUDD from +ftp://vlsi.colorado.edu/pub/cudd-2.4.2.tar.gz . You can download glib-2.0 (version lpadsld.pl, lpad.pl and cpl.pl: +class="cmsy-10">≥ 2.0) from http://www.gtk.org/ . This is a standard GNU package so it is easy to +install it using the package management software of your Linux or Cygwin +distribution. +

Compile CUDD: +

    +
  1. decompress cudd-2.4.2.tar.gz +
  2. +
  3. cd cudd-2.4.2 +
  4. +
  5. see the README file for instructions on compilation
+

Install Yap together with cplint: when compiling Yap following the instruction of +the INSTALL file in the root of the Yap folder, use + +

+configure --enable-cplint=DIR +
+

where DIR is the directory where CUDD is, i.e., the directory ending with +cudd-2.4.2. Under Windows, you have to use Cygwin (CUDD does not compile +under MinGW), so
+ +

+configure --enable-cplint=DIR --enable-cygwin +
+

+

After having performed make install you can do make installcheck that will +execute a suite of tests of the various programs. If no error is reported you have a +working installation of cplint. +

+

3 Syntax

+

LPAD and CP-logic programs consist of a set of annotated disjunctive clauses. +Disjunction in the head is represented with a semicolon and atoms in the head are +separated from probabilities by a colon. For the rest, the usual syntax of Prolog is +used. For example, the CP-logic clause +

+h1 : p1 ∨...∨ hn : pn ← b1,...,bm,¬c1,...,¬cl
is +represented by + +
+h1:p1 ; ... ; hn:pn :- b1,...,bm,\+ c1,....,\+ cl +
+

No parentheses are necessary. The pi are numeric expressions. It is up to the user to +ensure that the numeric expressions are legal, i.e. that they sum up to less than +one. +

If the clause has an empty body, it can be represented like this + +

+h1:p1 ; ... ;hn:pn. +
+

If the clause has a single head with probability 1, the annotation can be omitted and +the clause takes the form of a normal prolog clause, i.e. + +

+h1:- b1,...,bm,\+ c1,...,\+ cl. +
+

stands for + +

+h1:1 :- b1,...,bm,\+ c1,...,\+ cl. +
+

+

The coin example of [22] is represented as (see file coin.cpl) + +

+heads(Coin):1/2 ; tails(Coin):1/2:- + 
     toss(Coin),\+biased(Coin). + 

heads(Coin):0.6 ; tails(Coin):0.4:- + 
     toss(Coin),biased(Coin). + 

fair(Coin):0.9 ; biased(Coin):0.1. + 

toss(coin). +
+

The first clause states that if we toss a coin that is not biased it has equal +probability of landing heads and tails. The second states that if the coin is biased it +has a slightly higher probability of landing heads. The third states that the coin is +fair with probability 0.9 and biased with probability 0.1 and the last clause states +that we toss a coin with certainty. +

Moreover, the bodies of rules can contain the built-in predicates: + +

+is/2, >/2, </2, >=/2 ,=</2, + 
=:=/2, =\=/2, true/0, false/0, + 
=/2, ==/2, \=/2 ,\==/2, length/2 +
+

The bodies can also contain the following library predicates: + +

+member/2, max_list/2, min_list/2 + 
nth0/3, nth/3 +
+

plus the predicate + +

+average/2 +
+

that, given a list of numbers, computes its arithmetic mean. +

The syntax of ICL program is the one used by the AILog 2 system. +

4 Inference

+

cplint contains various modules for answering queries. +

These modules answer queries using using goal-oriented procedures:

-

The modules for answering queries using the definition of the semantics of LPADs -and CP-logic are semlpadsld.pl, semlpad.pl and semcpl.pl: +class="cmtt-10">approx/exact.pl as lpadsld.pl but uses SimplecuddLPADs, a modification + of the Simplecudd instead of the cplint library for building BDDs and + computing the probability. +

These modules answer queries using the definition of the semantics of LPADs and +CP-logic:

-

-

2 Installation

-

cplint is distributed in source code in the git version of Yap. It -includes Prolog and C files. Download it by following the instruction in -http://www.ncc.up.pt/ vsc/Yap/downloads.html . -

cplint requires cudd and glib-2.0. You can download cudd from -http://vlsi.colorado.edu/ fabio/CUDD/ . You can download glib-2.0 (version 2.0) -from http://www.gtk.org/ . This is a standard GNU package so it is easy to -install it using the package management software of your Linux or Cygwin -distribution. -

Compile cudd: -

    -
  1. downlad cudd-2.4.2.tar.gz - -
  2. -
  3. decompress it -
  4. -
  5. cd cudd-2.4.2 -
  6. -
  7. check makefile options -
  8. -
  9. make
-

Install Yap together with cplint: when compiling Yap following the instuction of -the INSTALL file in the root of the Yap folder, use - -

-configure --enable-cplint=DIR -
-

Under Windows, you have to use Cygwin (glu does not compile under MinGW), -so
- -

-configure --enable-cplint=DIR --enable-cygwin -
-

where DIR is the path to the directory cudd-2.4.2 (including cudd-2.4.2). -

After having performed make install you can do make installcheck that will -execute a suite of tests of the various programs. If no error is reported you have a -working installation of cplint. -

-

3 Syntax

-

Disjunction in the head is represented with a semicolon and atoms in the head are -separated from probabilities by a colon. For the rest, the usual syntax of Prolog is -used. For example, the CP-logic clause -

-h1 : p1 ∨...∨ hn : pn ← b1,...,bm,¬c1,...,¬cl
is -represented by - -
-h1:p1 ; ... ; hn:pn :- b1,...,bm,\+ c1,....,\+ cl -
-

No parentheses are necessary. The pi are numeric expressions. It is up to the user to -ensure that the numeric expressions are legal, i.e. that they sum up to less than -one. -

If the clause has an empty body, it can be represented like this - -

-h1:p1 ; ... ;hn:pn. -
-

If the clause has a single head with probability 1, the annotation can be omitted and -the clause takes the form of a normal prolog clause, i.e. - -

-h1:- b1,...,bm,\+ c1,...,\+ cl. -
-

stands for - -

-h1:1 :- b1,...,bm,\+ c1,...,\+ cl. -
-

-

The coin example of [12] is represented as (see file coin.cpl) - -

-heads(Coin):1/2 ; tails(Coin):1/2:- - 
     toss(Coin),\+biased(Coin). - 

heads(Coin):0.6 ; tails(Coin):0.4:- - 
     toss(Coin),biased(Coin). - 

fair(Coin):0.9 ; biased(Coin):0.1. - 

toss(coin). -
-

The first clause states that if we toss a coin that is not biased it has equal -probability of landing heads and tails. The second states that if the coin is biased it -has a slightly higher probability of landing heads. The third states that the coin is -fair with probability 0.9 and biased with probability 0.1 and the last clause states -that we toss a coin with certainty. -

-

4 Commands

-

All six modules accept the same commands for reading in files and answering queries. -The LPAD or CP-logic program must be stored in a text file with extension 20]. +

+

4.1 Commands

+

The LPAD or CP-logic program must be stored in a text file with extension .cpl. Suppose you have stored the example above in file coin.cpl. In order to answer @@ -246,23 +294,23 @@ queries from this program, you have to run Yap, load one of the modules (such as example lpad.pl) by issuing the command -

+
use_module(library(lpad)).
-

at the command prompt. Then you must parse the source file

at the command prompt. Then you must parse the source file coin.cpl with the command -

+
p(coin).
-

if

if coin.cpl is in the current directory, or -

+
p(’path_to_coin/coin’).
-

if

if coin.cpl is in a different directory. At this point you can pose query to the program by using the predicate s/2 (for solve) that takes as its first argument a @@ -271,10 +319,10 @@ as its second argument. For example, the probability of the conjunction head(coin),biased(coin) can be asked with the query -

+
s([head(coin),biased(coin)],P).
-

For computing the probability of a conjunction given another conjunction you can +

For computing the probability of a conjunction given another conjunction you can use the predicate sc/3 (for solve conditional) that take takes as input the query conjunction as its first argument, the evidence conjunction as its second argument @@ -284,22 +332,22 @@ class="cmtt-10">heads(coin) given the evidence biased(coin) can be asked with the query -

+
sc([heads(coin)],[biased(coin)],P).
-

After having parsed a program, in order to read in a new program you must restart +

After having parsed a program, in order to read in a new program you must restart Yap when using semlpadsld.pl and semlpad.pl. With the other modules, you can directly parse a new program. -

When using

When using lpad.pl, the system can print the message “Uunsound program” in the case in which an instance with a three valued well founded model is found. Moreover, it can print the message “It requires the choice of a head atom from a non ground head”: in this case, in order to answer the query, all the groundings of the culprit clause must be generated, which may be impossible for programs with function symbols. -

When using

When using semcpl.pl, you can print the execution process by using the command print. after context is a list of atoms that are true in the context. semcpl.pl can print “Invalid program” in the case in which no execution process exists. -

When using

When using cpl.pl you can print a partial execution model including all the clauses involved in the query issued with print. cpl.pl can print the messages “Uunsound program”, “It requires the choice of a head atom from a non ground head” and “Invalid program”. -

The modules make use of a number of parameters in order to control their -behavior. They that can be set with the command +

For approx/deepit.pl and approx/deepdyn.pl the command -

+
+solve(GoalsList, ProbLow, ProbUp, ResTime, BddTime) +
+

takes as input a list of goals GoalsList and returns a lower bound on the +probability ProbLow, an upper bound on the probability ProbUp, the CPU time spent +on performing resolution ResTime and the CPU time spent on handling BDDs +BddTime. +

For approx/bestk.pl the command + +

+solve(GoalsList, ProbLow,  ResTime, BddTime) +
+

takes as input a list of goals GoalsList and returns a lower bound on the +probability ProbLow, the CPU time spent on performing resolution ResTime and the +CPU time spent on handling BDDs BddTime. +

For approx/bestfirst.pl the command + +

+solve(GoalsList, ProbLow, ProbUp, Count, ResTime, BddTime) +
+

takes as input a list of goals GoalsList and returns a lower bound on the +probability ProbLow, an upper bound on the probability ProbUp, the number of +BDDs generated by the algorithm Count, the CPU time spent on performing +resolution ResTime and the CPU time spent on handling BDDs BddTime. +

For approx/montecarlo.pl the command + +

+solve(GoalsList, Samples, Time, Low, Prob, Up) +
+

takes as input a list of goals GoalsList and returns the number of samples taken +Samples, the time required to solve the problem Time, the lower end of the +confidence interval Lower, the estimated probability Prob and the upper end of the +confidence interval Up. +

For mcintyre.pl: the command + +

+solve(Goals, Samples, CPUTime, WallTime, Lower, Prob, Upper) :- +
+

takes as input a conjunction of goals Goals and returns the number of samples taken +Samples, the CPU time required to solve the problem CPUTime, the wall time +required to solve the problem CPUTime, the lower end of the confidence interval +Lower, the estimated probability Prob and the upper end of the confidence interval +Up. +

For approx/exact.pl the command + +

+solve(GoalsList, Prob, ResTime, BddTime) +
+

takes as input a conjunction of goals Goals and returns the probability Prob, the +CPU time spent on performing resolution ResTime and the CPU time spent on +handling BDDs BddTime. +

+

4.1.1 Parameters
+

The modules make use of a number of parameters in order to control their behavior. +They that can be set with the command + +

set(parameter,value).
-

from the Yap prompt after having loaded the module. The current value can be read +

from the Yap prompt after having loaded the module. The current value can be read with -

+
setting(parameter,Value).
-

from the Yap prompt. The available parameters are: +

from the Yap prompt. The available parameters are:

  • epsilon_parsing (valid for all six modules): if (1 - the sum of the +class="cmtt-10">epsilon_parsing (valid for all modules): if (1 - the sum of the probabilities of all the head atoms) is smaller than epsilon_parsing then m is the number of the binary variable. The correspondenc between variables and clauses can be evinced from the message printed on the screen, such as -
    +
    Variables: [(2,[X=2,X1=1]),(2,[X=1,X1=0]),(1,[])]
    -

    where the first element of each couple is the clause number of the input file +

    where the first element of each couple is the clause number of the input file (starting from 1). In the example above variable X0 corresponds to clause 2 @@ -366,20 +509,20 @@ class="cmtt-10">2 with the substitutions X=1,X1=0 and variable X2 corresponds to clause 1 with the empty - substitution. You can view the graph with graphviz ( www.graphviz.org ) - using the command +class="cmtt-10">1 with the + empty substitution. You can view the graph with graphviz using the + command -

    +
    dotty cpl.dot &
    -

    +

  • ground_body (valid for lpadsld.pl and all semantic modules): determines how +class="cmtt-10">ground_body: (valid for lpadsld.pl and all semantic modules) determines how non ground clauses are treated: if true, ground clauses are obtained from a non ground clause by replacing each variable with a constant, if false, ground clauses are obtained by replacing only variables in the head with a constant. In the case where the body contains variables not in the head, setting it to false means that the body represents an existential - event.
-

-

5 Semantic Modules

-

The three semantic modules need to produce a grounding of the program in order to + event. + +

  • min_error: (valid for approx/deepit.pl, approx/deepdyn.pl, + approx/bestk.pl, approx/bestfirst.pl, approx/montecarlo.pl and + mcintyre.pl) is the threshold under which the difference between + upper and lower bounds on probability must fall for the algorithm to + stop. +
  • +
  • k: maximum number of explanations for approx/bestk.pl and + approx/bestfirst.pl and number of samples to take at each iteration for + approx/montecarlo.pl and mcintyre.pl +
  • +
  • prob_bound: (valid for approx/deepit.pl, approx/deepdyn.pl, + approx/bestk.pl and approx/bestfirst.pl) is the initial bound on the + probability of explanations when iteratively building explanations +
  • +
  • prob_step: (valid for approx/deepit.pl, approx/deepdyn.pl, + approx/bestk.pl and approx/bestfirst.pl) is the increment on the + bound on the probability of explanations when iteratively building + explanations +
  • +
  • timeout: (valid for approx/deepit.pl, approx/deepdyn.pl, approx/bestk.pl, + approx/bestfirst.pl and approx/exact.pl) timeout for builduing + BDDs
  • + +

    +

    4.2 Semantic Modules

    +

    The three semantic modules need to produce a grounding of the program in order to compute the semantics. They require an extra file with extension .uni (for universe) in the same directory where the .cpl file is. -

    There are two ways to specify how to ground a program. The first consists in +

    There are two ways to specify how to ground a program. The first consists in providing the list of constants to which each variable can be instantiated. For example, in our case the current directory will contain a file coin.uni that is a Prolog file containing facts of the form -

    +
    universe(var_list,const_list).
    -

    where

    where var_list is a list of variables names (each must be included in single quotes) and const_list is a list of constants. The semantic modules generate the grounding @@ -415,23 +610,23 @@ class="cmtt-10">var_list with the constants of class="cmtt-10">const_list. Note that the variables are identified by name, so a variable with the same name in two different clauses will be instantiated with the same constants. -

    The other way to specify how to ground a program consists in using mode and +

    The other way to specify how to ground a program consists in using mode and type information. For each predicate, the file .uni must contain a fact of the form -

    +
    mode(predicate(t1,...,tn)).
    -

    that specifies the number and types of each argument of the predicate. Then, the list +

    that specifies the number and types of each argument of the predicate. Then, the list of constants that are in the domain of each type ti must be specified with a fact of the form -

    +
    type(ti,list_of_constants).
    -

    The file

    The file .uni can contain both universe and mode declaration, the ones to be used depend on the value of the parameter grounding: with value variables, the universe declarations are used, with value modes the mode declarations are used. -

    With

    With semcpl.pl only mode declarations can be used. -

    -

    6 Extensions

    -

    In this section we will present the extensions to the syntax of LPADs and CP-logic +

    +

    4.3 Extensions

    +

    In this section we will present the extensions to the syntax of LPADs and CP-logic programs that cplint can handle. -

    The first is the use of some standard Prolog predicates. The bodies can contain -the built-in predicates: - -

    -is/2 - 
    >/2 - 
    </2 - 
    >=/2 - 
    =</2 - 
    =:=/2 - 
    =\=/2 - 
    true/0 - 
    false/0 - 
    =/2 - 
    ==/2 - 
    \=/2 - 
    \==/2 - 
    length/2 -
    -

    The bodies can also contain the following library predicates: - -

    -member/2 - 
    max_list/2 - 
    min_list/2 - 
    nth0/3 - 
    nth/3 -
    -

    plus the predicate - -

    -average/2 -
    -

    that, given a list of numbers, computes its arithmetic mean. -

    When using lpadsld can handle. +

    When using lpadsld.pl, the bodies can contain the predicates setof/3 and bagof/3 with the same meaning as in Prolog. Existential quantifiers are allowed in both, so for example the query -

    +
    setof(Z, (term(X,Y))^foo(X,Y,Z), L).
    -

    returns all the instantiations of

    returns all the instantiations of Z such that there exists an instantiation of X and Y for which foo(X,Y,Z) is true. -

    An example of the use of

    An example of the use of setof and bagof is in the file female.cpl: -

    +
    male(C):M/P ; female(C):F/P:-  
        person(C),  
        setof(Male,known_male(Male),LM), @@ -514,31 +675,27 @@ male(C):M/P ; female(C):F/P:-  
    person(f).  
     
    known_female(a). - 
     
    known_female(b). - 
     
    known_female(c). - 
     
    known_male(d). - 
     
    known_male(e).
    -

    The disjunctive rule expresses the probability of a person of unknown sex of being +

    The disjunctive rule expresses the probability of a person of unknown sex of being male or female depending on the number of males and females that are known. This is an example of the use of expressions in the probabilities in the head that depend on variables in the body. The probabilities are well defined because they always sum to 1 (unless P is 0). -

    Another use of

    Another use of setof and bagof is to have an attribute depend on an aggregate function of another attribute, similarly to what is done in PRM and CLP(BN). -

    So, in the classical school example (available in

    So, in the classical school example (available in student.cpl) you can find the following clauses: -

    +
    student_rank(S,h):0.6 ; student_rank(S,l):0.4:-  
        bagof(G,R^(registr_stu(R,S),registr_gr(R,G)),L),  
        average(L,Av),Av>1.5. @@ -547,7 +704,7 @@ student_rank(S,h):0.6 ; student_rank(S,l):0.4:-  
        bagof(G,R^(registr_stu(R,S),registr_gr(R,G)),L),  
        average(L,Av),Av =< 1.5.
    -

    where

    where registr_stu(R,S) expresses that registration R refers to student S and @@ -557,7 +714,7 @@ class="cmtt-10">R reports grade G which is a natural number. The two clauses express a dependency of the rank of the student from the average of her grades. -

    Another extension can be used with

    Another extension can be used with lpadsld.pl in order to be able to represent reference uncertainty of PRMs. Reference uncertainty means that the link structure of a relational model is not fixed but is uncertain: this is represented by having the @@ -569,25 +726,25 @@ selected uniformly from certain sets, the following clauses can be used (see fil paper_ref_simple.cpl): -

    +
    uniform(cites_cited(C,P),P,L):-  
        bagof(Pap,paper_topic(Pap,theory),L).  
     
    uniform(cites_citing(C,P),P,L):-  
        bagof(Pap,paper_topic(Pap,ai),L).
    -

    The first clauses states that the paper

    The first clauses states that the paper P cited in a citation C is selected uniformly from the set of all papers with topic theory. The second clauses expresses that the citing paper is selected uniformly from the papers with topic ai. -

    These clauses make use of the predicate +

    These clauses make use of the predicate -

    +
    uniform(Atom,Variable,List)
    -

    in the head, where

    in the head, where Atom must contain Variable. The meaning is the following: the set of all the atoms obtained by instantiating ∕N where N is the length of List. -

    A more elaborate example is present in file

    A more elaborate example is present in file paper_ref.cpl: -

    +
    uniform(cites_citing(C,P),P,L):-  
        setof(Pap,paper(Pap),L).  
    @@ -616,19 +773,19 @@ uniform(cites_citing(C,P),P,L):-  
    uniform(cites_cited(C,P),P,L):-  
        cites_cited_group(C,T),bagof(Pap,paper_topic(Pap,T),L).
    -

    where the cited paper depends on the topic of the citing paper. In particular, if the +

    where the cited paper depends on the topic of the citing paper. In particular, if the topic is theory, the cited paper is selected uniformly from the papers about theory with probability 0.9 and from the papers about ai with probability 0.1. if the topic is ai, the cited paper is selected uniformly from the papers about theory with probability 0.01 and from the papers about ai with probability 0.99. -

    PRMs take into account as well existence uncertainty, where the existence of +

    PRMs take into account as well existence uncertainty, where the existence of instances is also probabilistic. For example, in the paper domain, the total number of citations may be unknown and a citation between any two paper may have a probability of existing. For example, a citation between two paper may be more probable if they are about the same topic: -

    +
    cites(X,Y):0.005 :-  
        paper_topic(X,theory),paper_topic(Y,theory).  
    @@ -641,7 +798,7 @@ cites(X,Y):0.005 :-  
    cites(X,Y):0.008 :-  
        paper_topic(X,ai),paper_topic(Y,ai).
    -

    This is an example where the probabilities in the head do not sum up to one so the +

    This is an example where the probabilities in the head do not sum up to one so the null event is automatically added to the head. The first clause states that, if the topic of a paper X is theory and of paper X to Y. The other clauses consider the remaining cases for the topics. -

    -

    7 Additional Files

    -

    In the directory where Yap keeps the library files (usually

    +

    4.4 Files

    +

    In the directory where Yap keeps the library files (usually /usr/local/share/ Yap) you can find the directory cplint that contains the files:

      -
    • testlpadsld_gbtrue.pl, testlpadsld_gbfalse.pl, testlpad.pl, - testcpl.pl, testsemlpadsld.pl, testsemlpad.pl testsemcpl.pl: +
    • testlpadsld_gbtrue.pl, testlpadsld_gbfalse.pl, testlpad.pl, + testcpl.pl, testsemlpadsld.pl, testsemlpad.pl testsemcpl.pl: Prolog programs for testing the modules. They are executed when issuing the command make installcheck during the installation. To execute @@ -679,55 +833,55 @@ class="cmtt-10">examples:
    • alarm.cpl: representation of the Bayesian network in Figure 2 of [12]. +href="#XVenVer04-ICLP04-IC">22].
    • coin.cpl: coin example from [12]. +href="#XVenVer04-ICLP04-IC">22].
    • coin2.cpl: coin example with two coins. -
    • dice.cpl: dice example from [12]. +href="#XVenVer04-ICLP04-IC">22]. +
    • twosideddice.cpl, threesideddice.cpl game with idealized dice with two or three sides. Used in the experiments in [8]. +href="#XRig-RCRA07-IC">14].
    • ex.cpl: first example in [8]. +href="#XRig-RCRA07-IC">14].
    • exapprox.cpl: example showing the problems of approximate inference (see [8]). +href="#XRig-RCRA07-IC">14]).
    • exrange.cpl: example showing the problems with non range restricted programs (see [8]). +href="#XRig-RCRA07-IC">14]).
    • female.cpl: example showing the dependence of probabilities in the head from variables in the body (from [12]). +href="#XVenVer04-ICLP04-IC">22]).
    • mendel.cpl, mendels.cpl: programs describing the Mendelian rules of inheritance, taken from [2]. +href="#XBlo04-ILP04WIP-IC">5].
    • paper_ref.cpl, paper_ref_simple.cpl: paper citations examples, showing reference uncertainty, inspired by [6]. +href="#XGetoor+al:JMLR02">11].
    • paper_ref_not.cpl: paper citations example showing that negation @@ -747,16 +901,16 @@ class="cmtt-10">school.cpl.
    • student.cpl: student example from Figure 1.3 of [5]. +href="#XGetFri01-BC">10].
    • win.cpl, light.cpl, trigger.cpl, throws.cpl, hiv.cpl,
      invalid.cpl: programs taken from [13]. 20]. invalid.cpl is an example of a program that is invalid but sound.
    -

    The files

    The files *.uni that are present for some of the examples are used by the semantical modules. Some of the example files contain in an initial comment some queries together with their result. @@ -764,18 +918,289 @@ class="cmtt-10">*.uni that are present for some of the examples are used

  • Subdirectory doc: contains this manual in latex, html and pdf.
  • -

    -

    8 License

    -

    +

    5 Learning

    +

    cplint contains the following learning algorithms: +

      +
    • CEM (cplint EM): an implementation of EM for learning parameters + that is based on lpadsld.pl [17] +
    • +
    • RIB (Relational Information Bottleneck): an algorithm for learning + parameters based on the Information Bottleneck [17] +
    • +
    • EMBLEM (EM over Bdds for probabilistic Logic programs Efficient + Mining): an implementation of EM for learning parameters that computes + expectations directly on BDDs [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]
    +

    +

    5.1 Input

    +

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

      +
    • <stem>.kb: contains the example interpretations +
    • +
    • <stem>.bg: contains the background knowledge, i.e., knowledge valid for + all interpretations +
    • +
    • <stem>.l: contains language bias information +
    • +
    • <stem>.cpl: contains the LPAD for you which you want to learn the + parameters or the initial LPAD for SLIPCASE
    +

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

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

    +begin(model(b1)). + 
    sameperson(1,2). + 
    movie(f1,1). + 
    movie(f1,2). + 
    workedunder(1,w1). + 
    workedunder(2,w1). + 
    gender(1,female). + 
    gender(2,female). + 
    actor(1). + 
    actor(2). + 
    end(model(b1)). +
    +

    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 +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 +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 + +

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

    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 +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 +clauses in the input program are not used to derive atoms not present in the +interpretations. +

    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 +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 +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 Progol . + +

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

    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. <recall> can be an +integer or * (currently unused). +

    The arguments are of the form + +

    ++<type> +
    +

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

    +-<type> +
    +

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

    5.2 Parameters

    +

    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: +

      +
    • depth (values: integer or inf, default value: 3): depth of derivations if + depth_bound is set to true +
    • +
    • single_var (values: {true,false}, default value: false, valid for CEM + only): if set to true, there is a random variable for each clauses, instead + of a separate random variable for each grounding of a clause +
    • +
    • sample_size (values: integer, default value: 1000): total number of + examples in case in which the models in the .kb file contain a prob(P). + fact. In that case, one model corresponds to sample_size*P examples +
    • +
    • epsilon_em (values: real, default value: 0.1, valid for CEM only): if the + difference in the log likelihood in two successive EM iteration is smaller + than epsilon_em, then EM stops +
    • +
    • epsilon_em_fraction (values: real, default value: 0.01, valid for CEM + only): if the difference in the log likelihood in two successive EM iteration + is smaller than epsilon_em_fraction*(-current log likelihood), then EM + stops +
    • +
    • random_restarts_number (values: integer, default value: 1, valid for CEM + only): number of random restarts +
    • +
    • setrand (values: rand(integer,integer,integer)): seed for the random + functions, see Yap manual for allowed values +
    • +
    • minimal_step (values: [0,1], default value: 0.005, valid for RIB only): + minimal increment of γ +
    • +
    • maximal_step (values: [0,1], default value: 0.1, valid for RIB only): + maximal increment of γ + +
    • +
    • logsize_fraction (values: [0,1], default value 0.9, valid for RIB only): + RIB stops when I(CH,T;Y ) is above logsize_fraction times its + maximum value (log |CH,T|, see [9]) +
    • +
    • delta (values: negative integer, default value -10, valid for RIB only): + value assigned to log 0 +
    • +
    • epsilon_fraction (values: integer, default value 100, valid for RIB only): + in the computation of the step, the value of ϵ of [9] is obtained as + log |CH,Tepsilon_fraction +
    • +
    • max_rules (values: integer, default value: 6000, valid for RIB only): + maximum number of ground rules. Used to set the size of arrays for storing + internal statistics. Can be increased as much as memory allows.
    +

    +

    5.3 Commands

    +

    To execute CEM, load em.pl and call: + +

    +?:- em(stem). +
    +

    To execute RIB, load rib.pl and call: + +

    +?:- ib_par(stem). +
    +

    +

    +

    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 program uses the library

    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 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 @@ -788,13 +1213,14 @@ are permitted provided that the following conditions are met:
    • Neither the name of the University of Colorado nor the names of its 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 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAU-SED
    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 and David Scott Warren , Copyright (C) 1993 Southern Methodist University, 1993 SUNY at Stony Brook, see the file COYPRIGHT_SLG for detailed information on this copyright. -

    References

    + id="x1-150006">References

    [1]   K. R. Apt and M. Bezem. Acyclic programs. New Generation - Comput., 9(3/4):335–364, 1991. + id="XDBLP:journals/ngc/AptB91">K. R. Apt and M. Bezem. Acyclic programs. New Gener. Comput., + 9(3/4):335–364, 1991.

    [2]   Elena Bellodi and Fabrizio Riguzzi. EM over binary decision diagrams + for probabilistic logic programs. In Proceedings of the 26th Italian + Conference on Computational Logic (CILC2011), Pescara, Italy, 31 August + 31-2 September, 2011, 2011. +

    +

    + [3]   Elena Bellodi and Fabrizio Riguzzi. EM over binary decision + diagrams for probabilistic logic programs. Technical Report CS-2011-01, + Dipartimento di Ingegneria, Università di Ferrara, Italy, 2011. +

    +

    + [4]   Elena Bellodi and Fabrizio Riguzzi. Learning the structure of + probabilistic logic programs. In Inductive Logic Programming, 21th + International Conference, ILP 2011, London, UK, 31 July-3 August, 2011, + 2011. +

    +

    + [5]   H. Blockeel. Probabilistic logical models for mendel’s experiments: An + exercise. In Inductive Logic Programming (ILP 2004), Work in Progress Track, 2004.

    - [3]      Stefano Bragaglia and Fabrizio Riguzzi. Approximate inference for logic + programs with annotated disjunctions. In Paolo Frasconi and Francesca + Lisi, editors, Inductive Logic Programming 20th International Conference, + ILP 2010, Florence, Italy, June 27-30, 2010. Revised Papers, volume 6489 + of LNCS, pages 30–37. Springer, 2011. +

    +

    + [7]   Weidong Chen and David Scott Warren. Tabled evaluation with delaying for general logic programs. J. ACM, 43(1):20–74, 1996. +class="cmti-10">Journal of the ACM, 43(1):20–74, 1996.

    - [4]   L. De Raedt, A. Kimmig, and H. Toivonen. Problog: A probabilistic - prolog and its application in link discovery. In Proceedings of the 20th + [8]   L. De Raedt, A. Kimmig, and H. Toivonen. ProbLog: A probabilistic + Prolog and its application in link discovery. In International Joint International Joint Conference on Artificial Intelligence, pages 2462–2467, - 2007. +class="cmti-10">Conference on Artificial Intelligence, pages 2462–2467, 2007.

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

    +

    + [10]   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.

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

    - [7]   Fabrizio Riguzzi. A top down interpreter for lpad and cp-logic. In - 10th Congress of the Italian Association for Artificial Intelligence. Springer, - 2007. - http://www.ing.unife.it/docenti/FabrizioRiguzzi/Papers/Rig-AIIA07.pdf - . + [12]   David Poole. The independent choice logic for modelling multiple agents + under uncertainty. Artificial Intelligence, 94(1-2):7–56, 1997.

    - [8]   Fabrizio Riguzzi. A top down interpreter for lpad and - cp-logic. In The 14th RCRA workshop Experimental Evaluation of + [13]   Fabrizio Riguzzi. A top down interpreter for LPAD and CP-logic. In Algorithms for Solving Problems with Combinatorial Explosion, 2007. - http://pst.istc.cnr.it/RCRA07/articoli/P19-riguzzi-RCRA07.pdf . +class="cmti-10">Congress of the Italian Association for Artificial Intelligence, volume 4733 + of LNAI, pages 109–120. Springer, 2007.

    - [9]   V. Santos Costa, D. Page, M. Qazi, and J. Cussens. CLP(BN): + [14]   Fabrizio Riguzzi. A top down interpreter for LPAD and CP-logic. + In Proceedings of the 14th RCRA workshop Experimental Evaluation of + Algorithms for Solving Problems with Combinatorial Explosion, 2007. +

    +

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

    +

    + [16]   Fabrizio Riguzzi. MCINTYRE: A Monte Carlo algorithm for + probabilistic logic programming. In Proceedings of the 26th Italian + Conference on Computational Logic (CILC2011), Pescara, Italy, 31 + August-2 September, 2011, 2011. +

    +

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

    +

    + [18]   V. Santos Costa, D. Page, M. Qazi, and J. Cussens. CLP(BN): Constraint logic programming for probabilistic knowledge. In Uncertainty in Artificial Intelligence (UAI 2003), 2003. +class="cmti-10">in Artificial Intelligence. Morgan Kaufmann, 2003.

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

    + +

    + [20]   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.

    - [11]      J. Vennekens and S. Verbaeten. Logic programs with annotated - disjunctions. Technical Report CW386, K. U. Leuven, 2003. - http://www.cs.kuleuven.ac.be/~joost/techrep.ps . + disjunctions. Technical Report CW386, K. U. Leuven, 2003.

    - [12]   J. Vennekens, S. Verbaeten, and M. Bruynooghe. Logic programs with - annotated disjunctions. In The 20th International Conference on Logic + [22]   J. Vennekens, S. Verbaeten, and M. Bruynooghe. Logic programs + with annotated disjunctions. In International Conference on Logic Programming (ICLP 2004), 2004. http://www.cs.kuleuven.ac.be/~joost/ - . -

    -

    - [13]   Joost Vennekens, Marc Denecker, and Maurice Bruynooge. Extending - the role of causality in - probabilistic modeling. http://www.cs.kuleuven.ac.be/~joost/cplogic.pdf - , 2006. +class="cmti-10">Programming, volume 3131 of LNCS, pages 195–209. Springer, 2004.

    diff --git a/packages/cplint/doc/manual.pdf b/packages/cplint/doc/manual.pdf index a37549757de07fcebc88429c8a27daba2ed52f18..e2491631e5d3436a40f7980039f0f49ca2a36343 100644 GIT binary patch literal 219304 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ÂMT05Z27?} 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
    ?xy@BA09Pw9(Mx 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 % pdflatex compilation -\documentclass[a4paper,12pt]{article} +\documentclass[a4paper,10pt]{article} \usepackage[pdftex]{graphicx} \DeclareGraphicsExtensions{.pdf,.png,.jpg} \RequirePackage[hyperindex]{hyperref} @@ -7,16 +7,16 @@ \documentclass{article} \usepackage{graphicx} \DeclareGraphicsExtensions{.png, .gif, .jpg} -\newcommand{\url}[1]{\Link[#1]{}{} #1 \EndLink} \newcommand{\href}[2]{\Link[#1]{}{} #2 \EndLink} \newcommand{\hypertarget}[2]{\Link[]{}{#1} #2 \EndLink} \newcommand{\hyperlink}[2]{\Link[]{#1}{} #2 \EndLink} +\newcommand{\url}[1]{\Link[#1]{}{} #1 \EndLink} \fi \begin{document} -\title{\texttt{cplint} Version 2.0 Manual} +\title{\texttt{cplint} Manual} \author{Fabrizio Riguzzi\\ @@ -28,69 +28,41 @@ fabrizio.riguzzi@unife.it} \section{Introduction} -\texttt{cplint} is a suite of programs for reasoning with LPADs \cite{VenVer03-TR,VenVer04-ICLP04-IC} and CP-logic programs \cite{VenDenBru-JELIA06,CP-logic-unp}. - -It consists of three Prolog modules for answering queries using goal-oriented procedures plus - three -Prolog modules for answering queries using the definition of the semantics of LPADs and CP-logic. - -The modules for answering queries using using goal-oriented procedures are \texttt{lpadsld.pl}, \texttt{lpad.pl} and -\texttt{cpl.pl}: -\begin{itemize} -\item \texttt{lpadsld.pl}: computes the probability of a query using the top-down procedure described in -in \cite{Rig-AIIA07-IC} and \cite{Rig-RCRA07-IC}. It is based on SLDNF resolution and is an adaptation of the interpreter for ProbLog \cite{DBLP:conf/ijcai/RaedtKT07}. - -It was proved correct \cite{Rig-RCRA07-IC} with respect to the semantics of LPADs for range restricted acyclic programs \cite{DBLP:journals/ngc/AptB91} without function symbols. - -It is also able to deal with extensions of LPADs and CP-logic: the clause bodies can contain \texttt{setof} and \texttt{bagof}, the probabilities in the head may be depend on variables in the body and it is possible to specify a uniform distribution in the head with reference to a \texttt{setof} or \texttt{bagof} operator. These extended features have been introduced in order to represent CLP(BN) \cite{SanPagQaz03-UAI-IC} programs and PRM models \cite{Getoor+al:JMLR02}: -\texttt{setof} and \texttt{bagof} allow to express dependency of an attribute from an aggregate function of another attribute, as in CLP(BN) and PRM, while the possibility of specifying a uniform distribution allows the use of the reference uncertainty feature of PRM. -\item \texttt{lpad.pl}: computes the probability of a query using a top-down procedure based on SLG resolution \cite{DBLP:journals/jacm/ChenW96}. 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. -\item \texttt{cpl.pl}: computes the probability of a query using a top-down procedure based on SLG resolution and moreover checks that the CP-logic program is valid, i.e., that it has at least an execution model. -\end{itemize} - -The modules for answering queries using the definition of the semantics of LPADs and CP-logic are \texttt{semlpadsld.pl}, \texttt{semlpad.pl} and -\texttt{semcpl.pl}: -\begin{itemize} -\item \texttt{semlpadsld.pl}: given an LPAD $P$, it generates all the instances of $P$. The probability of a query $Q$ is computed by identifying all the instances where $Q$ is derivable by SLDNF resolution. -\item \texttt{semlpad.pl}: given an LPAD $P$, it generates all the instances of $P$. The probability of a query $Q$ is computed by identifying all the instances where $Q$ is derivable by SLG resolution. -\item \texttt{semlcpl.pl}: given an LPAD $P$, it builds an execution model of $P$, i.e., a probabilistic process that satisfy the principles of universal causation, sufficient causation, independent causation, no deus ex machina events and temporal precedence. It uses the definition of the semantics given in \cite{CP-logic-unp}. -\end{itemize} -%For program with function symbols, the semantics of LPADs and CP-logic are not defined. However, the interpreter accepts programs with function symbols and, if it does not go into a loop, it returns an answer. What is the meaning of this answer is subject of current study. +\texttt{cplint} is a suite of programs for reasoning with ICL \cite{DBLP:journals/ai/Poole97}, LPADs \cite{VenVer03-TR,VenVer04-ICLP04-IC} and CP-logic programs \cite{VenDenBru-JELIA06,DBLP:journals/tplp/VennekensDB09}. It contains programs both for inference and learning. \section{Installation} -\texttt{cplint} is distributed in source code in the git version of Yap. It includes Prolog and C files. Download it by following the instruction in \url{http://www.ncc.up.pt/~vsc/Yap/downloads.html}. +\texttt{cplint} is distributed in source code in the CVS version of Yap. It includes Prolog and C files. Download it by following the instruction in \url{http://www.ncc.up.pt/~vsc/Yap/downloads.html}. -\texttt{cplint} requires cudd and glib-2.0. -You can download cudd from \url{http://vlsi.colorado.edu/~fabio/CUDD/}. +\texttt{cplint} requires \href{http://vlsi.colorado.edu/~fabio/CUDD/}{CUDD} and glib-2.0. +You can download CUDD from \url{ftp://vlsi.colorado.edu/pub/cudd-2.4.2.tar.gz}. You can download glib-2.0 (version $\geq 2.0$) from \url{http://www.gtk.org/}. This is a standard GNU package so it is easy to install it using the package management software of your Linux or Cygwin distribution. -Compile cudd: +Compile CUDD: \begin{enumerate} -\item downlad \texttt{cudd-2.4.2.tar.gz} -\item decompress it +\item decompress cudd-2.4.2.tar.gz \item \texttt{cd cudd-2.4.2} -\item check makefile options -\item \texttt{make} +\item see the \texttt{README} file for instructions on compilation \end{enumerate} Install Yap together with \texttt{cplint}: -when compiling Yap following the instuction of the \texttt{INSTALL} file in the root of the Yap folder, use +when compiling Yap following the instruction of the \texttt{INSTALL} file in the root of the Yap folder, use \begin{verbatim} configure --enable-cplint=DIR \end{verbatim} -Under Windows, you have to use Cygwin (glu does not compile under MinGW), so\\ +where \verb|DIR| is the directory where CUDD is, i.e., the directory ending with \texttt{cudd-2.4.2}. +Under Windows, you have to use Cygwin (CUDD does not compile under MinGW), so\\ \begin{verbatim} configure --enable-cplint=DIR --enable-cygwin \end{verbatim} -where \texttt{DIR} is the path to the directory \texttt{cudd-2.4.2} (including \texttt{cudd-2.4.2}). After having performed \texttt{make install} you can do \texttt{make installcheck} that will execute a suite of tests of the various programs. If no error is reported you have a working installation of \texttt{cplint}. \section{Syntax} +LPAD and CP-logic programs consist of a set of annotated disjunctive clauses. Disjunction in the head is represented with a semicolon and atoms in the head are separated from probabilities by a colon. For the rest, the usual syntax of Prolog is used. For example, the CP-logic clause $$h_1:p_1\vee \ldots \vee h_n:p_n\leftarrow b_1,\dots,b_m ,\neg c_1,\ldots,\neg c_l$$ @@ -127,10 +99,68 @@ toss(coin). \end{verbatim} The first clause states that if we toss a coin that is not biased it has equal probability of landing heads and tails. The second states that if the coin is biased it has a slightly higher probability of landing heads. The third states that the coin is fair with probability 0.9 and biased with probability 0.1 and the last clause states that we toss a coin with certainty. +Moreover, the bodies of rules can contain the built-in predicates: +\begin{verbatim} +is/2, >/2, =/2 ,=/2 -=/2 -=.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 +\end{itemize} +where \texttt{} is your dataset name. Examples of these files can be found in the dataset pages. + +In \texttt{.kb} the example interpretations have to be given as a list of Prolog facts initiated by +\texttt{begin(model()).} and terminated by \texttt{end(model()).} as in +\begin{verbatim} +begin(model(b1)). +sameperson(1,2). +movie(f1,1). +movie(f1,2). +workedunder(1,w1). +workedunder(2,w1). +gender(1,female). +gender(2,female). +actor(1). +actor(2). +end(model(b1)). +\end{verbatim} +The interpretations may contain a fact of the form +\begin{verbatim} +prob(0.3). +\end{verbatim} +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. \verb|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 universe. If this is not the case, you have to translate the interpretations in this was, see for example the \texttt{sp1} files in RIB's folder, that are the results of the conversion of the first fold of the IMDB dataset. + +\texttt{.bg} can contain Prolog clauses that can be used to derive additional conclusions from the atoms in +the interpretations. + +\texttt{.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 +\begin{verbatim} +output(/). +\end{verbatim} +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 optimize the parameters. You can declare closed world input predicates with +\begin{verbatim} +input_cw(/). +\end{verbatim} +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 +\begin{verbatim} +input(/). +\end{verbatim} +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 input program but not in the interpretations, you have to declare them with +\begin{verbatim} +unseen(/). +\end{verbatim} + +For SLIPCASE, you have to specify the language bias by means of mode declarations in the style of +\href{http://www.doc.ic.ac.uk/~shm/progol.html}{Progol}. +\begin{verbatim} +modeh(,(,...). +\end{verbatim} +specifies the atoms that can appear in the head of clauses, while +\begin{verbatim} +modeb(,(,...). +\end{verbatim} +specifies the atoms that can appear in the body of clauses. +\texttt{} can be an integer or \texttt{*} (currently unused). + +The arguments are of the form +\begin{verbatim} ++ +\end{verbatim} +for specifying an input variable of type \texttt{}, or +\begin{verbatim} +- +\end{verbatim} +for specifying an output variable of type \texttt{}. +\subsection{Parameters} +In order to set the algorithms' parameters, you have to insert in \texttt{.l} commands of the form +\begin{verbatim} +:- set(,). +\end{verbatim} +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 only): 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 only): 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 only): 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|random_restarts_number| (values: integer, default value: 1, valid for CEM only): number of random restarts +\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 only): minimal increment of $\gamma$ +\item \verb|maximal_step| (values: [0,1], default value: 0.1, valid for RIB only): maximal increment of $\gamma$ +\item \verb|logsize_fraction| (values: [0,1], default value 0.9, valid for RIB only): RIB stops when $\mathbf{I}(CH,T;Y)$ is above \verb|logsize_fraction| times its maximum value ($\log |CH,T|$, see \cite{DBLP:journals/jmlr/ElidanF05}) +\item \verb|delta| (values: negative integer, default value -10, valid for RIB only): value assigned to $\log 0$ +\item \verb|epsilon_fraction| (values: integer, default value 100, valid for RIB only): 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 only): maximum number of ground rules. Used to set the size of arrays for storing internal statistics. Can be increased as much as memory allows. +\end{itemize} +\subsection{Commands} +To execute CEM, load \texttt{em.pl} and call: +\begin{verbatim} +?:- em(stem). +\end{verbatim} +To execute RIB, load \texttt{rib.pl} and call: +\begin{verbatim} +?:- ib_par(stem). +\end{verbatim} + + \section{License} \label{license} \texttt{cplint}, as Yap, follows the Artistic License 2.0 that you can find in Yap CVS root dir. The copyright is by Fabrizio Riguzzi. - - \vspace{3mm} -The program uses the library \href{http://vlsi.colorado.edu/~fabio/}{CUDD} for manipulating BDDs that is included in glu. +The modules in the approx subdirectory use SimplecuddLPADs, a modification of the \href{www.cs.kuleuven.be/~theo/tools/simplecudd.html}{Simplecudd} library whose copyright is by Katholieke Universiteit Leuven and that follows the Artistic License 2.0. +\vspace{3mm} + +Some modules use the library \href{http://vlsi.colorado.edu/~fabio/}{CUDD} for manipulating BDDs that is included in glu. For the use of CUDD, the following license must be accepted: \vspace{3mm} diff --git a/packages/cplint/lpadsld.pl b/packages/cplint/lpadsld.pl index a4b511ac8..f808876a8 100644 --- a/packages/cplint/lpadsld.pl +++ b/packages/cplint/lpadsld.pl @@ -4,8 +4,11 @@ Goal oriented interpreter for LPADs based on SLDNF Copyright (c) 2007, Fabrizio Riguzzi */ - -:-dynamic rule/4,def_rule/2,setting/2. +%:- set_prolog_flag(debug,on). +%:- set_prolog_flag(discontiguous_warnings,on). +%:- set_prolog_flag(single_var_warnings,on). +%:- source. +:-dynamic rule/5,rule_by_num/8,rule_uniform/8,def_rule/2,setting/2. :-use_module(library(lists)). :-use_module(library(ugraphs)). @@ -16,14 +19,17 @@ set(Parameter,Value) */ setting(epsilon_parsing,0.00001). setting(save_dot,false). -setting(ground_body,false). +setting(ground_body,true). /* available values: true, false if true, both the head and the body of each clause will be grounded, otherwise only the head is grounded. In the case in which the body contains variables not appearing in the head, the body represents an existential event */ setting(min_error,0.01). +setting(initial_depth_bound,4). setting(depth_bound,4). setting(prob_threshold,0.00001). +setting(prob_bound,0.01). + /* end of list of parameters */ /* s(GoalsLIst,Prob) compute the probability of a list of goals @@ -101,39 +107,43 @@ solve(GoalsList,Prob,CPUTime1,CPUTime2,WallTime1,WallTime2):- format(user_error,"~nMemory after inference~n",[]), print_mem.*/ +/* iterative deepening, depth bounded +for negative goals, if their derivation is cut, then they are +added to the head of the list of goals to be resolved at the next depth bound*/ si(GoalsList,ProbL,ProbU,CPUTime):- statistics(cputime,[_,_]), - setting(depth_bound,D), + setting(initial_depth_bound,D), solve_i([(GoalsList,[])],[],D,ProbL,ProbU), statistics(cputime,[_,CT]), CPUTime is CT/1000. - +/* solve_i(L0,Succ,D,ProbL0,ProbU0): L0 is a list of couples (G,Der) where +G is a list of goals to be resolved and Der is an explanation, D is the +current depth, ProbL0 is the lower bound of the prob and ProbU0 is the upper +bound +*/ solve_i(L0,Succ,D,ProbL0,ProbU0):- - (findall((G1,Deriv),(member((G0,C0),L0),solvei(G0,D,C0,Deriv,G1)),L)-> + findall((G1,Deriv),(member((G0,C0),L0),solvei(G0,D,C0,Deriv,G1)),L), % print_mem, - separate_ulbi(L,[],LL0,[],LU,[],Incomplete), - append(Succ,LL0,LL), - compute_prob_deriv(LL,ProbL), - append(Succ,LU,LU1), - compute_prob_deriv(LU1,ProbU), - Err is ProbU-ProbL, - setting(min_error,ME), - (Err - ProbU0=ProbU, - ProbL0=ProbL - ; - setting(depth_bound,DB), - D1 is D+DB, - solve_i(Incomplete,LL,D1,ProbL0,ProbU0) - ) + separate_ulbi(L,[],LL0,[],LU,[],Incomplete), + append(Succ,LL0,LL), + compute_prob_deriv(LL,ProbL), + append(Succ,LU,LU1), + compute_prob_deriv(LU1,ProbU), + Err is ProbU-ProbL, + setting(min_error,ME), + (Err + ProbU0=ProbU, + ProbL0=ProbL ; - % print_mem, - ProbL0=0.0, - ProbU0=0.0 + setting(depth_bound,DB), + D1 is D+DB, + solve_i(Incomplete,LL,D1,ProbL0,ProbU0) ). +/* iterative deepening, problog style: each time +the derivation is restarted from the original goal */ sir(GoalsList,ProbL,ProbU,CPUTime):- statistics(cputime,[_,_]), setting(depth_bound,D), @@ -142,7 +152,11 @@ sir(GoalsList,ProbL,ProbU,CPUTime):- CPUTime is CT/1000. - +/* solveir(GoalsList,D,ProbL0,ProbU0) GoalsLIst is the list +of goals to be derived, D is the depth bound, ProbL0,ProbU0 are the lower +and upper bound. If for a certain depth bound the error is not smaller +than the threshold, the depth bound is increased and the derivation is +restarted from the beginning */ solveir(GoalsList,D,ProbL0,ProbU0):- (setof(Deriv,find_derivr(GoalsList,D,Deriv),LDup)-> rem_dup_lists(LDup,[],L), @@ -166,7 +180,8 @@ solveir(GoalsList,D,ProbL0,ProbU0):- ProbU0=0.0 ). - +/* approximate algorithm cilog2 style: the explanations with a prob below the +threshold are cut */ sic(GoalsList,ProbL,ProbU,CPUTime):- statistics(cputime,[_,_]), setting(depth_bound,D), @@ -174,8 +189,6 @@ sic(GoalsList,ProbL,ProbU,CPUTime):- statistics(cputime,[_,CT]), CPUTime is CT/1000. - - solveic(GoalsList,D,ProbL0,ProbU0):- (setof((Deriv,P,Pruned),solvec(GoalsList,D,[],Deriv,1.0,P,Pruned),L)-> % print_mem, @@ -194,16 +207,24 @@ solveic(GoalsList,D,ProbL0,ProbU0):- ). compute_prob_deriv(LL,ProbL):- - build_formula(LL,FormulaL,[],VarL,0,ConjL), - length(LL,NDL), - length(VarL,NVL), + build_formula(LL,FormulaL,[],VarL,0,_ConjL), + %length(LL,NDL), + %length(VarL,NVL), %format(user_error,"Disjunctions :~d~nConjunctions: ~d~nVariables ~d~n",[NDL,ConjL,NVL]), var2numbers(VarL,0,NewVarL), - (setting(save_dot,true)-> - % format("Variables: ~p~n",[VarL]), - compute_prob(NewVarL,FormulaL,ProbL,1) + (FormulaL=[]-> + ProbL=0.0 ; - compute_prob(NewVarL,FormulaL,ProbL,0) + (FormulaL=[[]|_]-> + ProbL=1.0 + ; + (setting(save_dot,true)-> + % format("Variables: ~p~n",[VarL]), + compute_prob(NewVarL,FormulaL,ProbL,1) + ; + compute_prob(NewVarL,FormulaL,ProbL,0) + ) + ) ). print_mem:- @@ -313,7 +334,7 @@ solve_condi(LGoals,LEvidence,SuccGE,SuccE,D,ProbL0,ProbU0):- ProbU0=undefined ). - +/* iterative deepening, problog style */ scir(Goals,Evidence,ProbL,ProbU,CPUTime):- statistics(cputime,[_,_]), setting(depth_bound,D), @@ -363,6 +384,7 @@ solve_condir(Goals,Evidence,D,ProbL0,ProbU0):- ProbU0=undefined ). +/* approximate algorithm cilog2 style */ scic(Goals,Evidence,ProbL,ProbU,CPUTime):- statistics(cputime,[_,_]), setting(depth_bound,D), @@ -468,11 +490,19 @@ solve_cond_goals(Goals,LE,0,Time1,0):- Time1 is T1/1000. call_compute_prob(NewVarGE,FormulaGE,ProbGE):- - (setting(save_dot,true)-> - format("Variables: ~p~n",[NewVarGE]), - compute_prob(NewVarGE,FormulaGE,ProbGE,1) + (FormulaGE=[]-> + ProbGE=0.0 ; - compute_prob(NewVarGE,FormulaGE,ProbGE,0) + (FormulaGE=[[]|_]-> + ProbGE=1.0 + ; + (setting(save_dot,true)-> + format("Variables: ~p~n",[NewVarGE]), + compute_prob(NewVarGE,FormulaGE,ProbGE,1) + ; + compute_prob(NewVarGE,FormulaGE,ProbGE,0) + ) + ) ). find_deriv_GE(LD,GoalsList,Deriv):- @@ -572,7 +602,7 @@ solvei(G,0,C,C,G):-!. solvei([\+ H |T],DB,CIn,COut,G):-!, list2and(HL,H), (findall((GH,D),solvei(HL,DB,CIn,D,GH),L)-> - separate_ulbi(L,[],LB,[],UB,[],I), + separate_ulbi(L,[],LB,[],_UB,[],I), (I\=[]-> C1=CIn, G=[\+ H|G1] @@ -680,7 +710,6 @@ solvec([H|T],DB,CIn,COut,P0,P1,Pruned):- solve_presc(R,S,N,B,T,DB1,CIn,COut,P,P0,P1,Pruned). - solve_pres(R,S,N,B,T,CIn,COut):- member_eq((N,R,S),CIn),!, append(B,T,NG), @@ -782,16 +811,16 @@ returns the index R of a disjunctive rule resolving with G together with the index N of the resolving head, the substitution S and the Body of the rule */ find_rule(H,(R,S,N),Body,C):- - rule(R,S,_,Head,Body), + rule(H,_P,N,R,S,_,Head,Body), member_head(H,Head,0,N), not_already_present_with_a_different_head(N,R,S,C). find_rule(H,(R,S,Number),Body,C):- - rule(R,S,_,uniform(H:1/_Num,_P,Number),Body), + rule_uniform(H,R,S,_,1/_Num,_L,Number,Body), not_already_present_with_a_different_head(Number,R,S,C). find_rulec(H,(R,S,N),Body,C,P):- - rule(R,S,_,Head,Body), + rule(H,_P,N,R,S,_,Head,Body), member_headc(H,Head,0,N,P), not_already_present_with_a_different_head(N,R,S,C). @@ -864,7 +893,7 @@ choose_clausesc(CIn,[D|T],COut,P0,P1):- new_head(N,R,S,N1), \+ already_present(N1,R,S,CIn), impose_dif_cons(R,S,CIn), - rule(R,S,_Numbers,Head,_Body), + rule_by_num(R,S,_Numbers,Head,_Body), nth0(N1, Head, (_H:P), _Rest), P2 is P0*P, choose_clausesc([(N1,R,S)|CIn],T,COut,P2,P1). @@ -931,7 +960,7 @@ choose_a_headc(N,R,S,[(NH,R,SH)|T],[(NH,R,S),(NH,R,SH)|T],P0,P1):- \+ \+ S=SH, S\==SH, dif(N,NH), dif(S,SH), - rule(R,S,_Numbers,Head,_Body), + rule_by_num(R,S,_Numbers,Head,_Body), nth0(NH, Head, (_H:P), _Rest), P1 is P0*P. @@ -959,13 +988,13 @@ choose_a_head(N,R,S,[H|T],[H|T1]):- /* select a head different from N for rule R with substitution S, return it in N1 */ new_head(N,R,S,N1):- - rule(R,S,Numbers,Head,_Body), + rule_by_num(R,S,Numbers,Head,_Body), Head\=uniform(_,_,_),!, nth0(N, Numbers, _Elem, Rest), member(N1,Rest). new_head(N,R,S,N1):- - rule(R,S,Numbers,uniform(_A:1/Tot,_L,_Number),_Body), + rule_by_num(R,S,Numbers,uniform(_A:1/Tot,_L,_Number),_Body), listN(0,Tot,Numbers), nth0(N, Numbers, _Elem, Rest), member(N1,Rest). @@ -1005,11 +1034,7 @@ member_subset(E,[_H|T]):- member_subset(E,T). separate_ulbi([],L,L,U,U,I,I):-!. -/* -separate_ulb([H|T],L0,L1,U0,[H|U1]):- - member(pruned,H),!, - separate_ulb(T,L0,L1,U0,U1). -*/ + separate_ulbi([([],H)|T],L0,[H|L1],U0,[H|U1],I0,I1):- !, separate_ulbi(T,L0,L1,U0,U1,I0,I1). @@ -1020,11 +1045,7 @@ separate_ulbi([(G,H)|T],L0,L1,U0,[H1|U1],I0,[(G,H)|I1]):- separate_ulb([],L,L,U,U):-!. -/* -separate_ulb([H|T],L0,L1,U0,[H|U1]):- - member(pruned,H),!, - separate_ulb(T,L0,L1,U0,U1). -*/ + separate_ulb([H|T],L0,[H|L1],U0,[H|U1]):- ground(H),!, separate_ulb(T,L0,L1,U0,U1). @@ -1036,21 +1057,20 @@ separate_ulb([H|T],L0,L1,U0,[H1|U1]):- separate_ulbc([],L,L,P,P):-!. -separate_ulbc([(H,P,true)|T],L0,L1,P0,P1):-!, +separate_ulbc([(_H,P,true)|T],L0,L1,P0,P1):-!, P2 is P0+P, separate_ulbc(T,L0,L1,P2,P1). separate_ulbc([(H,_P,false)|T],L0,[H|L1],P0,P1):- separate_ulbc(T,L0,L1,P0,P1). - get_ground([],[]):-!. get_ground([H|T],[H|T1]):- ground(H),!, get_ground(T,T1). -get_ground([H|T],T1):- +get_ground([_H|T],T1):- get_ground(T,T1). @@ -1116,7 +1136,7 @@ var2numbers([(R,S)|T],N,[[N,ValNumber,Probs]|TNV]):- var2numbers(T,N1,TNV). find_probs(R,S,Probs):- - rule(R,S,_N,Head,_Body), + rule_by_num(R,S,_N,Head,_Body), get_probs(Head,Probs). get_probs(uniform(_A:1/Num,_P,_Number),ListP):- @@ -1150,11 +1170,13 @@ parse(File):- open(FilePl,read,S), read_clauses(S,C), close(S), - retractall(rule(_,_,_,_,_)), - retractall(def_rule(_,_)), + retractall(rule_by_num(_,_,_,_,_)), + retractall(rule(_,_,_,_,_,_,_,_)), + retractall(def_rule(_,_)), + retractall(rule_uniform(_,_,_,_,_,_,_,_)), process_clauses(C,1). -process_clauses([(end_of_file,[])],_N). +process_clauses([(end_of_file,[])],_N):-!. process_clauses([((H:-B),V)|T],N):- H=uniform(A,P,L),!, @@ -1163,7 +1185,8 @@ process_clauses([((H:-B),V)|T],N):- remove_vars([P],V1,V2), append(BL,[length(L,Tot),nth0(Number,L,P)],BL1), append(V2,['Tot'=Tot],V3), - assertz(rule(N,V3,_NH,uniform(A:1/Tot,L,Number),BL1)), + assertz(rule_by_num(N,V3,_NH,uniform(A:1/Tot,L,Number),BL1)), + assertz(rule_uniform(A,N,V3,_NH,1/Tot,L,Number,BL1)), N1 is N+1, process_clauses(T,N1). @@ -1175,7 +1198,8 @@ process_clauses([((H:-B),V)|T],N):- process_body(BL,V,V1), length(HL,LH), listN(0,LH,NH), - assertz(rule(N,V1,NH,HL,BL)), + assert_rules(HL,0,HL,BL,NH,N,V1), + assertz(rule_by_num(N,V1,NH,HL,BL)), N1 is N+1, process_clauses(T,N1). @@ -1187,7 +1211,8 @@ process_clauses([((H:-B),V)|T],N):- process_body(BL,V,V1), length(HL,LH), listN(0,LH,NH), - assertz(rule(N,V1,NH,HL,BL)), + assert_rules(HL,0,HL,BL,NH,N,V1), + assertz(rule_by_num(N,V1,NH,HL,BL)), N1 is N+1, process_clauses(T,N1). @@ -1202,7 +1227,8 @@ process_clauses([(H,V)|T],N):- process_head(HL1,HL), length(HL,LH), listN(0,LH,NH), - assertz(rule(N,V,NH,HL,[])), + assert_rules(HL,0,HL,[],NH,N,V), + assertz(rule_by_num(N,V,NH,HL,[])), N1 is N+1, process_clauses(T,N1). @@ -1212,7 +1238,8 @@ process_clauses([(H,V)|T],N):- process_head(HL1,HL), length(HL,LH), listN(0,LH,NH), - assertz(rule(N,V,NH,HL,[])), + assert_rules(HL,0,HL,[],NH,N,V), + assertz(rule_by_num(N,V,NH,HL,[])), N1 is N+1, process_clauses(T,N1). @@ -1220,6 +1247,16 @@ process_clauses([(H,_V)|T],N):- assert(def_rule(H,[])), process_clauses(T,N). +assert_rules([],_Pos,_HL,_BL,_Nh,_N,_V1):-!. + +assert_rules(['':_P],_Pos,_HL,_BL,_Nh,_N,_V1):-!. + +assert_rules([H:P|T],Pos,HL,BL,NH,N,V1):- + assertz(rule(H,P,Pos,N,V1,NH,HL,BL)), + Pos1 is Pos+1, + assert_rules(T,Pos1,HL,BL,NH,N,V1). + + /* if the annotation in the head are not ground, the null atom is not added and the eventual formulas are not evaluated */ diff --git a/packages/cplint/testlpadsldit.pl b/packages/cplint/testlpadsldit.pl index 5a586b0b7..7257ae516 100644 --- a/packages/cplint/testlpadsldit.pl +++ b/packages/cplint/testlpadsldit.pl @@ -120,7 +120,7 @@ test((s([on(4,1)],P),close_to(P,0.0658436213991769)),threesideddice,_). test((sc([on(2,1)],[on(0,1)],P),close_to(P,0.222222222222222)),threesideddice,_). test((sc([on(2,1)],[on(1,1)],P),close_to(P,0.333333333333333)),threesideddice,_). -test((sc([on(4,1)],[on(1,1)],P),close_to(P, 0.148148148148148)),threesideddice,_). +/*test((sc([on(4,1)],[on(1,1)],P),close_to(P, 0.148148148148148)),threesideddice,_). */ test((sc([on(5,1)],[on(2,1)],P),close_to(P, 0.148148148148148)),threesideddice,_). From 4855c3460a1890af958c8766cb91261ae696309e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Thu, 15 Sep 2011 15:49:57 +0100 Subject: [PATCH 2/3] improve memory usage when storing piointers to evidence facts. --- packages/CLPBN/clpbn.yap | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/packages/CLPBN/clpbn.yap b/packages/CLPBN/clpbn.yap index 11e57eb45..0d8733be9 100644 --- a/packages/CLPBN/clpbn.yap +++ b/packages/CLPBN/clpbn.yap @@ -26,7 +26,7 @@ :- dynamic user:term_expansion/2. -:- attribute key/1, dist/2, evidence/1, starter/0. +:- attribute key/1, dist/2, evidence/1. :- use_module('clpbn/ve', @@ -163,14 +163,18 @@ clpbn_flag(parameter_softening,Before,After) :- % % make sure a query variable is reachable by the garbage collector. % +% we use a mutable variable to avoid unnecessary trailing. +% store_var(El) :- - catch(b_getval(clpbn_qvars,Q.Tail), _, init_clpbn_vars(El, Q, Tail)), - Tail = [El|NewTail], - b_setval(clpbn_qvars, [Q|NewTail]). + nb_current(clpbn_qvars, Mutable), !, + get_mutable(Tail, Mutable), + update_mutable(El.Tail, Mutable). +store_var(El) :- + init_clpbn_vars(El). -init_clpbn_vars(El, Q, Tail) :- - Q = [El|Tail], - b_setval(clpbn_qvars, [Q|Tail]). +init_clpbn_vars(El) :- + create_mutable(El, Mutable), + b_setval(clpbn_qvars, Mutable). check_constraint(Constraint, _, _, Constraint) :- var(Constraint), !. check_constraint((A->D), _, _, (A->D)) :- var(A), !. @@ -273,17 +277,12 @@ get_bnode(Var, Goal) :- get_dist(Dist,_,Domain,CPT), (Parents = [] -> X = tab(Domain,CPT) ; X = tab(Domain,CPT,Parents)), dist_goal(X, Key, Goal0), - include_evidence(Var, Goal0, Key, Goali), - include_starter(Var, Goali, Key, Goal). + include_evidence(Var, Goal0, Key, Goal). include_evidence(Var, Goal0, Key, ((Key:-Ev),Goal0)) :- get_atts(Var, [evidence(Ev)]), !. include_evidence(_, Goal0, _, Goal0). -include_starter(Var, Goal0, Key, ((:-Key),Goal0)) :- - get_atts(Var, [starter]), !. -include_starter(_, Goal0, _, Goal0). - dist_goal(Dist, Key, (Key=NDist)) :- term_variables(Dist, DVars), process_vars(DVars, DKeys), From 5b0874be3280b16225b4dfeaf898c014f65eab5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Thu, 15 Sep 2011 15:50:41 +0100 Subject: [PATCH 3/3] avoid error handling overhead. --- pl/utils.yap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pl/utils.yap b/pl/utils.yap index 90bcc3fbf..a6688898b 100644 --- a/pl/utils.yap +++ b/pl/utils.yap @@ -695,7 +695,7 @@ nth_instance(Key,Index,T,Ref) :- nb_current(GlobalVariable, Val) :- '$nb_current'(GlobalVariable), - nb_getval(GlobalVariable, Val). + '$nb_getval'(GlobalVariable, Val, _). '$getval_exception'(GlobalVariable, Val, Caller) :- user:exception(undefined_global_variable, GlobalVariable, Action),