% % adapted from Hendrik Blockeel's ILP04 paper. % :- use_module(library(clpbn)). cg(X,1,C):- father(Y,X), cg(Y,1,C1),cg(Y,2,C2), parent_cpt(cg(X,1), C1, C2, C). cg(X,2,C):- mother(Y,X), cg(Y,1,C1),cg(Y,2,C2), parent_cpt(cg(X,2), C1, C2, C). cg(f,X,C) :- prior_cpt(cg(f,X),C). cg(m,X,C) :- prior_cpt(cg(m,X),C). prior_cpt(CKEY, C) :- { C = CKEY with p([p,w], [0.5,0.5])}. parent_cpt(CKEY, C1, C2, C) :- { C = CKEY with p([p,w], [ 1,0.5,0.5,0.0, 0.0,0.5,0.5, 1],[C1,C2])}. father(f,s). mother(m,s).