1
cProbLog: Restricting the Possible Worlds of Probabilistic Logic Programs
Dimitar Shterionov
- Prof. Gerda Janssens
cProbLog: Restricting the Possible Worlds of Probabilistic Logic - - PowerPoint PPT Presentation
cProbLog: Restricting the Possible Worlds of Probabilistic Logic Programs Dimitar Shterionov Prof. Gerda Janssens 1 Weight: 3 Weight: 4 Weight: 8 Weight: 6 2 Weight: 3 Weight: 4 0.33 Weight: 8 Weight: 6 0.25 0.125 0.16 3 Weight:
1
2
Weight: 6 Weight: 4 Weight: 8 Weight: 3
3
Weight: 6 Weight: 4 Weight: 8 Weight: 3 0.16 0.25 0.33 0.125
4
Luggage weight 10 kg. Weight: 6 Weight: 4 Weight: 8 Weight: 3 0.16 0.25 0.33 0.125
5
Luggage weight 10 kg. Weight: 6 Weight: 4 Weight: 8 Weight: 3 0.16 0.25 0.33 0.125 Query: what is the probability of carrying items without exceeding the limit?
6
Luggage weight 10 kg. Weight: 6 Weight: 4 Weight: 8 Weight: 3 0.16 0.25 0.33 0.125 Query: what is the probability of carrying items without exceeding the limit?
7
Luggage weight 10 kg. Weight: 6 Weight: 4 Weight: 8 Weight: 3 0.16 0.25 0.33 0.125 Query: what is the probability of carrying items without exceeding the limit? Additional knowledge: if skis are packed then boots also need to be packed.
8
Luggage weight 10 kg. Weight: 6 Weight: 4 Weight: 8 Weight: 3 0.16 0.25 0.33 0.125 Query: what is the probability of carrying items without exceeding the limit? Additional knowledge: if skis are packed then boots also need to be packed.
9
10
11
Uncertainties
probability given evidence
12
13
14
15
16
17
18
19
20
21
22
23
Evidence – a set of atoms (E) with observed truth values (e)
24
Evidence – a set of atoms (E) with observed truth values (e)
25
Evidence – a set of atoms (E) with observed truth values (e)
26
27
28
29
30
for_all X of init_node(X): exists Y of end_node(Y): edge(X, Y) implies not edge(X, 1)
31
for_all X of init_node(X): exists Y of end_node(Y): edge(X, Y) implies not edge(Y, 1)
determine the relevant grounding ensure finite grounding
32
33
34
35
query(inlimit(10)). constraint(pack(skis) implies pack(boots)).
36
query(inlimit(10)). constraint(pack(skis) implies pack(boots)).
37
38
39
40
41
42
A transformation of a single constraint into prolog rules and setting evidence.
43
A transformation of a single constraint into prolog rules and setting evidence.
44
A transformation of a single constraint into prolog rules and setting evidence.
45
A transformation of a single constraint into prolog rules and setting evidence.
46
A transformation of a single constraint into prolog rules and setting evidence.
47
48
49
50
51
52
53
54
55
0.8::pass_exam(Exam, studied_enough). 0.4::pass_exam(Exam, luck). 0.7::pass_exam(Exam, cheating). P::pass_exam(Exam, experience, Years):- P is Years/7.
56
0.8::pass_exam(Exam, studied_enough). 0.4::pass_exam(Exam, luck). 0.7::pass_exam(Exam, cheating). P::pass_exam(Exam, experience, Years):- P is Years/7. student(john, [prolog, cog_sci, anns, comp_vis, m_learn], 3). succeed(Student):- student(Student, Exams, Experience), pass_all(Exams, Experience). pass_all([], _). pass_all([F|Rest], Exp):- pass_one(F, Exp), pass_all(Rest, Exp). pass_one(Ex, _):-pass_exam(Ex, _). pass_one(Ex, Years):-pass_exam(Ex, experience, Years).
57
0.8::pass_exam(Exam, studied_enough). 0.4::pass_exam(Exam, luck). 0.7::pass_exam(Exam, cheating). P::pass_exam(Exam, experience, Years):- P is Years/7. student(john, [prolog, cog_sci, anns, comp_vis, m_learn], 3). succeed(Student):- student(Student, Exams, Experience), pass_all(Exams, Experience). pass_all([], _). pass_all([F|Rest], Exp):- pass_one(F, Exp), pass_all(Rest, Exp). pass_one(Ex, _):-pass_exam(Ex, _). pass_one(Ex, Years):-pass_exam(Ex, experience, Years). exam(E):- member(E, [prolog, cog_sci, anns, comp_vis, m_learn]). constraint(pass_exam(m_learn, luck) implies not pass_exam(anns, luck)). constraint((for_all X of exam(X), for_all Y in {0,1,2,3}) : not pass_exam(X, experience, Y)). query(succeed(john)).
58
59
60
61
– Transforming – Setting evidence – ProbLog MARG inference
62
63