Add support to markov networks

This commit is contained in:
Tiago Gomes
2012-04-05 18:38:56 +01:00
parent 6c3add2ebd
commit 0d23591058
32 changed files with 857 additions and 616 deletions

View File

@@ -2,19 +2,19 @@
:- use_module(library(pfl)).
%:- set_pfl_flag(solver,ve).
:- set_pfl_flag(solver,bp), clpbn_bp:set_horus_flag(inf_alg,ve).
:- set_pfl_flag(solver,bp), clpbn_horus:set_horus_flag(inf_alg,ve).
% :- set_pfl_flag(solver,fove).
:- yap_flag(write_strings, off).
friendly(P1, P2) :-
friends(P1, P2) :-
person(P1),
person(P2),
P1 @> P2.
P1 \= P2.
person(john).
person(maggie).
person(harry).
%person(harry).
%person(bill).
%person(matt).
%person(diana).
@@ -27,8 +27,13 @@ person(harry).
markov smokes(P)::[t,f] , cancer(P)::[t,f] ; [0.1, 0.2, 0.3, 0.4] ; [person(P)].
markov friend(P1,P2)::[t,f], smokes(P1)::[t,f], smokes(P2)::[t,f] ; [0.5, 0.6, 0.7, 0.8, 0.5, 0.6, 0.7, 0.8] ; [friendly(P1, P2)].
markov friend(P1,P2)::[t,f], smokes(P1)::[t,f], smokes(P2)::[t,f] ; [0.5, 0.6, 0.7, 0.8, 0.5, 0.6, 0.7, 0.8] ; [friends(P1, P2)].
% ?- smokes(person_0, t), smokes(person_1, t), friend(person_0, person_1, F).
?- smokes(john, t), smokes(maggie, f), friend(john, maggie, X).
% ?- smokes(john, t), smokes(maggie, f), friend(john, maggie, X).
?- smokes(john, t), friend(john, maggie, X).
% ?- friend(john, maggie, X).