:- [pos:sample32]. :- ['~/Yap/work/CLPBN/clpbn/examples/School/school_32']. % These libraries provide same functionality. :- [library('clpbn/learning/mle')]. %:- [library('clpbn/learning/bnt_parms')]. :- [library(matrix)]. main :- findall(X,goal(X),L), learn_parameters(L,CPTs), write_cpts(CPTs). goal(professor_ability(P,V)) :- pos:professor_ability(P,V), p(pa, M), random < M. goal(professor_popularity(P,V)) :- pos:professor_popularity(P,V), p(pp, M), random < M. goal(registration_grade(P,V)) :- pos:registration_grade(P,V), p(rg, M), random < M. goal(student_intelligence(P,V)) :- pos:student_intelligence(P,V), p(si, M), random < M. goal(course_difficulty(P,V)) :- pos:course_difficulty(P,V), p(cd, M), random < M. goal(registration_satisfaction(P,V)) :- pos:registration_satisfaction(P,V), p(rs, M), random < M. % sampling parameter p(_, 1.0). write_cpts([]). write_cpts([CPT|CPTs]) :- matrix_to_list(CPT,L), format('CPT=~w~n',[L]), write_cpts(CPTs).