diff --git a/packages/CLPBN/clpbn.yap b/packages/CLPBN/clpbn.yap index 919bccf52..5ace917a2 100644 --- a/packages/CLPBN/clpbn.yap +++ b/packages/CLPBN/clpbn.yap @@ -3,6 +3,7 @@ [{}/1, clpbn_flag/2, set_clpbn_flag/2, + set_em_solver/1, clpbn_flag/3, clpbn_key/2, clpbn_init_graph/1, @@ -179,6 +180,9 @@ clpbn_flag(use_factors,Before,After) :- retract(use_parfactors(Before)), assert(use_parfactors(After)). +set_em_solver(Solver) :- + set_clpbn_flag(em_solver, Solver). + {_} :- solver(none), !. {Var = Key with Dist} :- diff --git a/packages/CLPBN/examples/School/school_128.yap b/packages/CLPBN/examples/School/school_128.yap index ecbf398cb..3a59cd9d6 100644 --- a/packages/CLPBN/examples/School/school_128.yap +++ b/packages/CLPBN/examples/School/school_128.yap @@ -18,9 +18,6 @@ total_students(4096). :- ensure_loaded('parschema.pfl'). -:- set_solver(hve). - - professor(p0). professor(p1). professor(p2). diff --git a/packages/CLPBN/examples/School/school_32.yap b/packages/CLPBN/examples/School/school_32.yap index 48fcbcabc..7c993ef24 100644 --- a/packages/CLPBN/examples/School/school_32.yap +++ b/packages/CLPBN/examples/School/school_32.yap @@ -18,9 +18,6 @@ total_students(256). :- ensure_loaded('parschema.pfl'). -:- set_solver(hve). - - professor(p0). professor(p1). professor(p2). diff --git a/packages/CLPBN/examples/School/school_64.yap b/packages/CLPBN/examples/School/school_64.yap index 7564cc1b9..d72ecf7e8 100644 --- a/packages/CLPBN/examples/School/school_64.yap +++ b/packages/CLPBN/examples/School/school_64.yap @@ -18,9 +18,6 @@ total_students(1024). :- ensure_loaded('parschema.pfl'). -:- set_solver(hve). - - professor(p0). professor(p1). professor(p2). diff --git a/packages/CLPBN/examples/learning/debug_school.yap b/packages/CLPBN/examples/learning/debug_school.yap index 3ee14fa96..907efc802 100644 --- a/packages/CLPBN/examples/learning/debug_school.yap +++ b/packages/CLPBN/examples/learning/debug_school.yap @@ -2,16 +2,17 @@ /* We do not consider aggregates yet. */ +:- use_module(library(clpbn/learning/em)). + :- [pos:train]. :- ['../../examples/School/parschema.pfl']. -:- use_module(library(clpbn/learning/em)). - -%:- clpbn:set_clpbn_flag(em_solver,gibbs). -%:- clpbn:set_clpbn_flag(em_solver,jt). - :- clpbn:set_clpbn_flag(em_solver,ve). -%:- clpbn:set_clpbn_flag(em_solver,bp). +:- set_em_solver(ve). +%:- set_em_solver(hve). +%:- set_em_solver(bdd). +%:- set_em_solver(bp). +%:- set_em_solver(cbp). debug_school :- graph(L), diff --git a/packages/CLPBN/examples/learning/prof_params.pfl b/packages/CLPBN/examples/learning/prof_params.pfl index d43e5b18d..32df5081b 100644 --- a/packages/CLPBN/examples/learning/prof_params.pfl +++ b/packages/CLPBN/examples/learning/prof_params.pfl @@ -4,12 +4,11 @@ :- use_module(library(clpbn/learning/em)). -%:- clpbn:set_clpbn_flag(em_solver,gibbs). -%:- clpbn:set_clpbn_flag(em_solver,jt). -%:- clpbn:set_clpbn_flag(em_solver,hve). -:- clpbn:set_clpbn_flag(em_solver,ve). -%:- clpbn:set_clpbn_flag(em_solver,bp). -%:- clpbn:set_clpbn_flag(em_solver,bdd). +:- set_em_solver(ve). +%:- set_em_solver(hve). +%:- set_em_solver(bdd). +%:- set_em_solver(bp). +%:- set_em_solver(cbp). professor(p0). professor(p1). diff --git a/packages/CLPBN/examples/learning/school_params.yap b/packages/CLPBN/examples/learning/school_params.yap index 61c535b5f..fd93edb27 100644 --- a/packages/CLPBN/examples/learning/school_params.yap +++ b/packages/CLPBN/examples/learning/school_params.yap @@ -2,16 +2,17 @@ /* We do not consider aggregates yet. */ +:- use_module(library(clpbn/learning/em)). + :- [pos:train]. :- ['../../examples/School/school_32']. -:- use_module(library(clpbn/learning/em)). - -%:- clpbn:set_clpbn_flag(em_solver,gibbs). -%:- clpbn:set_clpbn_flag(em_solver,jt). -% :- clpbn:set_clpbn_flag(em_solver,ve). -:- clpbn:set_clpbn_flag(em_solver,bp). +:- set_em_solver(ve). +%:- set_em_solver(hve). +%:- set_em_solver(bdd). +%:- set_em_solver(bp). +%:- set_em_solver(cbp). timed_main :- statistics(runtime, _), diff --git a/packages/CLPBN/examples/learning/sprinkler_params.yap b/packages/CLPBN/examples/learning/sprinkler_params.yap index 05e3ae3c9..730f7fd5c 100644 --- a/packages/CLPBN/examples/learning/sprinkler_params.yap +++ b/packages/CLPBN/examples/learning/sprinkler_params.yap @@ -4,12 +4,11 @@ :- use_module(library(clpbn/learning/em)). -%:- set_pfl_flag(em_solver,gibbs). -%:- set_pfl_flag(em_solver,jt). -%:- set_pfl_flag(em_solver,hve). -%:- set_pfl_flag(em_solver,bp). -%:- set_pfl_flag(em_solver,ve). -:- set_pfl_flag(em_solver,bdd). +:- set_em_solver(ve). +%:- set_em_solver(hve). +%:- set_em_solver(bdd). +%:- set_em_solver(bp). +%:- set_em_solver(cbp). :- dynamic id/1. diff --git a/packages/CLPBN/pfl.yap b/packages/CLPBN/pfl.yap index fe7fbc359..f3f02062f 100644 --- a/packages/CLPBN/pfl.yap +++ b/packages/CLPBN/pfl.yap @@ -22,6 +22,7 @@ :- reexport(library(clpbn), [clpbn_flag/2 as pfl_flag, set_clpbn_flag/2 as set_pfl_flag, + set_em_solver/1, conditional_probability/3, pfl_init_solver/5, pfl_run_solver/3