Introduce set_em_solver and use it

This commit is contained in:
Tiago Gomes 2012-12-17 21:19:47 +00:00
parent 40a72a0a63
commit f1499f99f3
9 changed files with 29 additions and 33 deletions

View File

@ -3,6 +3,7 @@
[{}/1, [{}/1,
clpbn_flag/2, clpbn_flag/2,
set_clpbn_flag/2, set_clpbn_flag/2,
set_em_solver/1,
clpbn_flag/3, clpbn_flag/3,
clpbn_key/2, clpbn_key/2,
clpbn_init_graph/1, clpbn_init_graph/1,
@ -179,6 +180,9 @@ clpbn_flag(use_factors,Before,After) :-
retract(use_parfactors(Before)), retract(use_parfactors(Before)),
assert(use_parfactors(After)). assert(use_parfactors(After)).
set_em_solver(Solver) :-
set_clpbn_flag(em_solver, Solver).
{_} :- {_} :-
solver(none), !. solver(none), !.
{Var = Key with Dist} :- {Var = Key with Dist} :-

View File

@ -18,9 +18,6 @@ total_students(4096).
:- ensure_loaded('parschema.pfl'). :- ensure_loaded('parschema.pfl').
:- set_solver(hve).
professor(p0). professor(p0).
professor(p1). professor(p1).
professor(p2). professor(p2).

View File

@ -18,9 +18,6 @@ total_students(256).
:- ensure_loaded('parschema.pfl'). :- ensure_loaded('parschema.pfl').
:- set_solver(hve).
professor(p0). professor(p0).
professor(p1). professor(p1).
professor(p2). professor(p2).

View File

@ -18,9 +18,6 @@ total_students(1024).
:- ensure_loaded('parschema.pfl'). :- ensure_loaded('parschema.pfl').
:- set_solver(hve).
professor(p0). professor(p0).
professor(p1). professor(p1).
professor(p2). professor(p2).

View File

@ -2,16 +2,17 @@
/* We do not consider aggregates yet. */ /* We do not consider aggregates yet. */
:- use_module(library(clpbn/learning/em)).
:- [pos:train]. :- [pos:train].
:- ['../../examples/School/parschema.pfl']. :- ['../../examples/School/parschema.pfl'].
:- use_module(library(clpbn/learning/em)). :- set_em_solver(ve).
%:- set_em_solver(hve).
%:- clpbn:set_clpbn_flag(em_solver,gibbs). %:- set_em_solver(bdd).
%:- clpbn:set_clpbn_flag(em_solver,jt). %:- set_em_solver(bp).
:- clpbn:set_clpbn_flag(em_solver,ve). %:- set_em_solver(cbp).
%:- clpbn:set_clpbn_flag(em_solver,bp).
debug_school :- debug_school :-
graph(L), graph(L),

View File

@ -4,12 +4,11 @@
:- use_module(library(clpbn/learning/em)). :- use_module(library(clpbn/learning/em)).
%:- clpbn:set_clpbn_flag(em_solver,gibbs). :- set_em_solver(ve).
%:- clpbn:set_clpbn_flag(em_solver,jt). %:- set_em_solver(hve).
%:- clpbn:set_clpbn_flag(em_solver,hve). %:- set_em_solver(bdd).
:- clpbn:set_clpbn_flag(em_solver,ve). %:- set_em_solver(bp).
%:- clpbn:set_clpbn_flag(em_solver,bp). %:- set_em_solver(cbp).
%:- clpbn:set_clpbn_flag(em_solver,bdd).
professor(p0). professor(p0).
professor(p1). professor(p1).

View File

@ -2,16 +2,17 @@
/* We do not consider aggregates yet. */ /* We do not consider aggregates yet. */
:- use_module(library(clpbn/learning/em)).
:- [pos:train]. :- [pos:train].
:- ['../../examples/School/school_32']. :- ['../../examples/School/school_32'].
:- use_module(library(clpbn/learning/em)). :- set_em_solver(ve).
%:- set_em_solver(hve).
%:- clpbn:set_clpbn_flag(em_solver,gibbs). %:- set_em_solver(bdd).
%:- clpbn:set_clpbn_flag(em_solver,jt). %:- set_em_solver(bp).
% :- clpbn:set_clpbn_flag(em_solver,ve). %:- set_em_solver(cbp).
:- clpbn:set_clpbn_flag(em_solver,bp).
timed_main :- timed_main :-
statistics(runtime, _), statistics(runtime, _),

View File

@ -4,12 +4,11 @@
:- use_module(library(clpbn/learning/em)). :- use_module(library(clpbn/learning/em)).
%:- set_pfl_flag(em_solver,gibbs). :- set_em_solver(ve).
%:- set_pfl_flag(em_solver,jt). %:- set_em_solver(hve).
%:- set_pfl_flag(em_solver,hve). %:- set_em_solver(bdd).
%:- set_pfl_flag(em_solver,bp). %:- set_em_solver(bp).
%:- set_pfl_flag(em_solver,ve). %:- set_em_solver(cbp).
:- set_pfl_flag(em_solver,bdd).
:- dynamic id/1. :- dynamic id/1.

View File

@ -22,6 +22,7 @@
:- reexport(library(clpbn), :- reexport(library(clpbn),
[clpbn_flag/2 as pfl_flag, [clpbn_flag/2 as pfl_flag,
set_clpbn_flag/2 as set_pfl_flag, set_clpbn_flag/2 as set_pfl_flag,
set_em_solver/1,
conditional_probability/3, conditional_probability/3,
pfl_init_solver/5, pfl_init_solver/5,
pfl_run_solver/3 pfl_run_solver/3