36 lines
		
	
	
		
			584 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			584 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | 
 | ||
|  | % | ||
|  | % 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). |