?- #solve(:chicken,:cows)-> ( 23 , 7 ) := 1.00 (0.030) 1?- #adjacent(2,3)-> ( ) := 1.00 (0.001) 1?- #adjacent(5,3)-> ( ) := 0.00 (0.001) 1?- #adjacent(3,:R)-> ( 1 ) := 1.00 (0.001) 1-> ( 2 ) := 1.00 (0.001) 2-> ( 4 ) := 1.00 (0.001) 3?- #conflict(a)-> ( ) := 0.00 (0.007) 1?- #conflict(b)-> ( ) := 0.00 (0.006) 1-> ( ) := 1.00 (0.009) 2-> ( ) := 0.00 (0.006) 1?- #conflict(:which)-> ( b ) := 1.00 (0.013) 1?- #adjacent(3,:R)-> ( 1 ) := 1.00 (0.001) 1-> ( 2 ) := 1.00 (0.001) 2-> ( 4 ) := 1.00 (0.001) 3?- #conflict(:R1,:R2,b)-> ( 2 , 4 ) := 1.00 (0.010) 1-> ( 4 , 2 ) := 1.00 (0.010) 2?- #conflict(:R1,:R2,b), #color(:R1,:C,b)-> ( 2 , 4 , blue ) := 1.00 (0.010) 1-> ( 4 , 2 , blue ) := 1.00 (0.010) 2adjacent {
(1,2);
(2,1);
(1,3);
(3,1);
(1,4);
(4,1);
(1,5);
(5,1);
(2,3);
(3,2);
(2,4);
(4,2);
(3,4);
(4,3);
(4,5);
(5,4);
(_,_) := 0;
}
color {
(1,red,a);
(1,red,b);
(2,blue,a);
(2,blue,b);
(3,green,a);
(3,green,b);
(4,yellow,a);
(4,blue,b);
(5,blue,a);
(5,green,b);
(_,_,_) := 0;
}
conflict {
(:Coloring) :- @adjacent(:X,:Y), @color(:X,:Color,:Coloring), @color(:Y,:Color,:Coloring);
(:R1,:R2,:Coloring) :- @adjacent(:R1,:R2), @color(:R1,:Color,:Coloring), @color(:R2,:Color,:Coloring);
}