32 lines
		
	
	
		
			431 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			431 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
| 
 | |
| :- ensure_loaded(library(clpbn)).
 | |
| 
 | |
| wet_grass(W) :-
 | |
| 	sprinkler(S),
 | |
| 	rain(R),
 | |
| 	{ W = wet with p([f,t],
 | |
| 			 ([1.0,0.1,0.1,0.01,
 | |
| 			   0.0,0.9,0.9,0.99]),
 | |
| 			 [S,R])
 | |
| 	}.
 | |
| 
 | |
| 
 | |
| sprinkler(P) :-
 | |
| 	cloudy(C),
 | |
| 	{ P = sprinkler with p([f,t],
 | |
| 			       [0.5,0.9,
 | |
| 				0.5,0.1],
 | |
| 			       [C])
 | |
| 	}.
 | |
| 
 | |
| rain(R) :-
 | |
| 	cloudy(C),
 | |
| 	{ R = rain with p([f,t], [0.8,0.2,
 | |
| 				  0.2,0.8],
 | |
| 			  [C]) }.
 | |
| 
 | |
| cloudy(C) :-
 | |
| 	{ C = cloudy  with p([f,t],[0.5,0.5],[]) }.
 | |
| 
 | |
| 
 |