34 lines
		
	
	
		
			453 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			453 B
		
	
	
	
		
			Prolog
		
	
	
	
	
	
 | 
						|
:- style_check(all).
 | 
						|
 | 
						|
:- 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],[]) }.
 | 
						|
 | 
						|
 |