32 lines
		
	
	
		
			716 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			716 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
| :- use_module(library(pfl)).
 | |
| 
 | |
| %:- set_solver(lve).
 | |
| %:- set_solver(hve).
 | |
| %:- set_solver(bp).
 | |
| %:- set_solver(cbp).
 | |
| 
 | |
| :- yap_flag(write_strings, off).
 | |
| 
 | |
| :- multifile people/1.
 | |
| 
 | |
| people @ 5.
 | |
| 
 | |
| people(X,Y) :-
 | |
|     people(X),
 | |
|     people(Y).
 | |
| %    X \== Y.
 | |
| 
 | |
| markov smokes(X)::[t,f]; [1.0, 4.0552]; [people(X)].
 | |
| 
 | |
| markov asthma(X)::[t,f]; [1.0, 9.9742] ; [people(X)].
 | |
| 
 | |
| markov friends(X,Y)::[t,f]; [1.0, 99.48432] ; [people(X,Y)].
 | |
| 
 | |
| markov asthma(X)::[t,f], smokes(X)::[t,f]; [4.48169, 4.48169, 1.0, 4.48169] ; [people(X)].
 | |
| 
 | |
| markov asthma(X)::[t,f], friends(X,Y)::[t,f], smokes(Y)::[t,f];
 | |
|     [3.004166, 3.004166, 3.004166, 3.004166, 3.004166, 1.0, 1.0, 3.004166] ; [people(X,Y)].
 | |
| 
 | |
| % ?- smokes(p1,t), smokes(p2,t), friends(p1,p2,X)
 | |
| 
 |