DTProbLog
A Decision-Theoretic Probabilistic Prolog
Guy Van den Broeck Ingo Thon Martijn van Otterlo Luc De Raedt
DTProbLog A Decision-Theoretic Probabilistic Prolog Guy Van den - - PowerPoint PPT Presentation
DTProbLog A Decision-Theoretic Probabilistic Prolog Guy Van den Broeck Ingo Thon Martijn van Otterlo Luc De Raedt Motivation Many real-world decision problems are relational and probabilistic Wildfire control Who to vaccinate for
A Decision-Theoretic Probabilistic Prolog
Guy Van den Broeck Ingo Thon Martijn van Otterlo Luc De Raedt
07/14/10 DTProbLog 2
and probabilistic
07/14/10 DTProbLog 3
decision theory largely ignored
some exceptions are MLDNs, DTLPs and FOMDPs
= Statistical Relational Learning
07/14/10 DTProbLog 4
07/14/10 DTProbLog 5
07/14/10 DTProbLog 6
Homer Marge Bart Lisa Lenny Apu Moe Seymour Ralph Maggie
07/14/10 DTProbLog 7
Homer 1 Marge Bart Lisa Lenny Apu Moe Seymour Ralph Maggie
07/14/10 DTProbLog 8
Homer 1 Marge 0.3 Bart 0.3 Lisa Lenny Apu Moe 0.3 Seymour Ralph Maggie
07/14/10 DTProbLog 9
Homer 1 Marge 0.39 Bart 0.41 Lisa 0.25 Lenny 0.14 Apu 0.17 Moe 0.34 Seymour 0.25 Ralph 0.21 Maggie 0.17
07/14/10 DTProbLog 10
Homer 1 Marge 0.39 Bart 0.41 Lisa 0.25 Lenny 0.14 Apu 0.17 Moe 0.34 Seymour 0.25 Ralph 0.21 Maggie 0.17
Probabilistic Facts
0.3 :: buy_trust(_,_).
Background Knowledge
buys(X) :- trusts(X,Y), buys(Y), buy_trust(X,Y).
07/14/10 DTProbLog 11
Homer Marge Bart Lisa Lenny Apu Moe Seymour Ralph Maggie
07/14/10 DTProbLog 12
Homer 0.20 Marge Bart Lisa Lenny Apu Moe Seymour Ralph Maggie
07/14/10 DTProbLog 13
Homer 0.20 Marge 0.08 Bart 0.08 Lisa 0.05 Lenny 0.03 Apu 0.03 Moe 0.07 Seymour 0.05 Ralph 0.04 Maggie 0.03
07/14/10 DTProbLog 14
Homer 0.20 Marge 0.08 Bart 0.08 Lisa 0.05 Lenny 0.03 Apu 0.03 Moe 0.07 Seymour 0.05 Ralph 0.04 Maggie 0.03
Probabilistic Facts
0.3 :: buy_trust(_,_). 0.2 :: buy_marketing(_).
Background Knowledge
buys(X) :- buys(X) :- trusts(X,Y), marketed(X), buys(Y), buy_marketing(X). buy_trust(X,Y).
07/14/10 DTProbLog 15
Homer Marge Bart Lisa Lenny Apu Moe Seymour Ralph Maggie
07/14/10 DTProbLog 16
Homer 0.25 Marge 0.11 Bart 0.12 Lisa 0.08 Lenny 0.10 Apu 0.11 Moe 0.25 Seymour 0.12 Ralph 0.08 Maggie 0.05
07/14/10 DTProbLog 17
Homer Marge Bart Lisa Lenny Apu Moe Seymour Ralph Maggie
07/14/10 DTProbLog 18
Homer 0.12 Marge 0.13 Bart 0.27 Lisa 0.13 Lenny 0.06 Apu 0.11 Moe 0.12 Seymour 0.27 Ralph 0.16 Maggie 0.07
07/14/10 DTProbLog 19
Homer 0.12 Marge 0.13 Bart 0.27 Lisa 0.13 Lenny 0.06 Apu 0.11 Moe 0.12 Seymour 0.27 Ralph 0.16 Maggie 0.07
Probabilistic Facts
...
Background Knowledge
...
Decisions
? :: marketed(P) :- person(P).
Utility Facts
buys(P) => 5 :- person(P). marketed(P) => -3 :- person(P).
07/14/10 DTProbLog 20
07/14/10 DTProbLog 21
complex relational and uncertain environments.
07/14/10 DTProbLog 22
Decision Facts Probabilistic Facts
? :: umbrella. 0.3 :: rainy . ? :: raincoat. 0.5 :: windy .
Background Knowledge
dry :- rainy, umbrella, not(broken_umbrella). dry :- rainy, raincoat. dry :- not(rainy). broken_umbrella :- umbrella, rainy, windy .
Utility Facts
umbrella => -2. dry => 60. raincoat => -20. broken_umbrella => -40.
07/14/10 DTProbLog 23
1
Find all proofs for each utility attribute (Prolog)
2 3 4 5
Binary decision diagrams from the proofs Algebraic decision diagrams for the probability
Algebraic decision diagrams for the utility of each attribute Algebraic decision diagram for the total utility
07/14/10 DTProbLog 24
1
Find all proofs for each utility attribute (Prolog)
2
Binary decision diagrams from the proofs
dry => 60. broken_umbrella => -40. umbrella => -2. raincoat => -20.
false true
07/14/10 DTProbLog 25
3
Algebraic decision diagrams for the probability
dry => 60. broken_umbrella => -40. umbrella => -2. raincoat => -20.
07/14/10 DTProbLog 26
4
Algebraic decision diagrams for the utility of each attribute
dry => 60. broken_umbrella => -40. umbrella => -2. raincoat => -20.
07/14/10 DTProbLog 27
5
Algebraic decision diagram for the total utility
+ sound pruning (ADD not built entirely in memory)
07/14/10 DTProbLog 28
1
Find all proofs for each utility attribute (Prolog)
2 3 4 5
Binary decision diagrams from the proofs Algebraic decision diagrams for the probability
Algebraic decision diagrams for the utility of each attribute Algebraic decision diagram for the total utility
07/14/10 DTProbLog 29
1
Find all proofs for each utility attribute (Prolog)
2 3 4 5
Binary decision diagrams from the proofs Algebraic decision diagrams for the probability
Algebraic decision diagrams for the utility of each attribute Algebraic decision diagram for the total utility
3
Greedy hillclimber search
07/14/10 DTProbLog 30
1
Find all proofs for each utility attribute (Prolog)
2 3 4 5
Binary decision diagrams from the proofs Algebraic decision diagrams for the probability
Algebraic decision diagrams for the utility of each attribute Algebraic decision diagram for the total utility
07/14/10 DTProbLog 31
1
Find all proofs for each utility attribute (Prolog)
2 3 4 5
Binary decision diagrams from the proofs Algebraic decision diagrams for the probability
Algebraic decision diagrams for the utility of each attribute Algebraic decision diagram for the total utility
1
Find the k most likely proofs for each utility attribute
07/14/10 DTProbLog 32
07/14/10 DTProbLog 33
Random power law graphs of increasing size
07/14/10 DTProbLog 34
(Q1) Does the exact solution algorithm perform better than naively calculating the utility of all strategies?
07/14/10 DTProbLog 35
(Q2) What is the difference in runtime and solution quality between exact and local search?
07/14/10 DTProbLog 36
(Q3) What is the difference in runtime and solution quality between for different values of k in k-best.
07/14/10 DTProbLog 37
Epinions social network
YES
07/14/10 DTProbLog 38
07/14/10 DTProbLog 39
Representation Solution Evaluation
Relational Probabilities Global
Local
Exact inference Approximate inference
Influence Diagrams MLDNs [Nath] ICL [Poole] DTLPs [Chen] DTProbLog
07/14/10 DTProbLog 40
07/14/10 DTProbLog 41
07/14/10 DTProbLog 42
07/14/10 DTProbLog 43
Decisions
? :: marketed(P) :- person(P).
Probabilistic Facts
0.3 :: buy_trust(_,_). 0.2 :: buy_marketing(_).
Background Knowledge
buys(X) :- buys(X) :- trusts(X,Y), marketed(X), buys(Y), buy_marketing(X). buy_trust(X,Y).
Utility Facts
buys(P) => 5 :- person(P). marketed(P) => -3 :- person(P).