Rework the learning examples

This commit is contained in:
Tiago Gomes
2012-12-12 15:16:30 +00:00
parent f128b6de7a
commit 108e310a0f
8 changed files with 127 additions and 137 deletions

View File

@@ -1,9 +1,16 @@
% learn distribution for school database.
/* Learn distribution for a sprinkler database. */
:- ['../sprinkler.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,hve).
:- clpbn:set_clpbn_flag(em_solver,bdd).
%:- clpbn:set_clpbn_flag(em_solver,bp).
%:- clpbn:set_clpbn_flag(em_solver,ve).
data(t,t,t,t).
data(_,t,_,t).
data(t,t,f,f).
@@ -18,12 +25,7 @@ data(t,t,_,f).
data(t,f,f,t).
data(t,f,t,t).
%:- 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,bdd).
%:- clpbn:set_clpbn_flag(em_solver,bp).
%:- clpbn:set_clpbn_flag(em_solver,ve).
:- dynamic id/1.
timed_main :-
statistics(runtime, _),
@@ -33,19 +35,16 @@ timed_main :-
main(Lik) :-
findall(X,scan_data(X),L),
em(L,0.01,10,_,Lik).
em(L,0.01,10,_,Lik).
scan_data(I:[wet_grass(W),sprinkler(S),rain(R),cloudy(C)]) :-
data(W, S, R, C),
new_id(I).
:- dynamic id/1.
new_id(I) :-
retract(id(I)),
I1 is I+1,
assert(id(I1)).
retract(id(I)),
I1 is I+1,
assert(id(I1)).
id(0).