% learn distribution for school database. :- ['../sprinkler.pfl']. :- use_module(library(clpbn/learning/em)). %% data(t,t,t,t). data(t,f,_,t). %% data(_,t,_,t). %% data(t,t,f,f). %% data(t,t,f,t). %% data(t,_,_,t). %% data(t,f,t,t). %% data(t,t,f,t). %% data(t,_,f,f). %% data(t,t,f,f). %% data(f,f,t,t). %% 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,ve). :- clpbn:set_clpbn_flag(em_solver,bp). timed_main :- statistics(runtime, _), main(Lik), statistics(runtime, [T,_]), format('Took ~d msec and Lik ~3f~n',[T,Lik]). main(Lik) :- findall(X,scan_data(X),L), em(L,0.01,10,_,Lik). scan_data(example([wet_grass(W),sprinkler(S),rain(R),cloudy(C)])) :- data(W, S, R, C).