dtproblog
play

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


  1. DTProbLog A Decision-Theoretic Probabilistic Prolog Guy Van den Broeck Ingo Thon Martijn van Otterlo Luc De Raedt

  2. Motivation ● Many real-world decision problems are relational and probabilistic ● Wildfire control ● Who to vaccinate for swine flu ● Viral marketing ● ... 07/14/10 DTProbLog 2

  3. Motivation ● Combination of relations , uncertainty and decision theory largely ignored some exceptions are MLDNs, DTLPs and FOMDPs ● Relations with uncertainty = S tatistical R elational L earning ● ProbLog is a simple probabilistic Prolog ● DTProbLog is a decision-theoretic ProbLog 07/14/10 DTProbLog 3

  4. Outline ● DTProbLog: the Language ● DTProbLog: the Algorithms ● Exact Solution Algorithm ● Approximate Solution Algorithms ● Experiments: Viral Marketing ● Related Work & Conclusions 07/14/10 DTProbLog 4

  5. DTProbLog: the Language 07/14/10 DTProbLog 5

  6. Maggie Homer Lenny Marge Moe Bart Lisa Apu Seymour Ralph 07/14/10 DTProbLog 6

  7. Maggie Homer Lenny Marge 1 Moe Bart Lisa Apu Seymour Ralph 07/14/10 DTProbLog 7

  8. Maggie Homer Lenny Marge 1 Moe 0.3 0.3 Bart Lisa 0.3 Apu Seymour Ralph 07/14/10 DTProbLog 8

  9. Maggie 0.17 Homer Lenny Marge 1 0.14 Moe 0.39 0.34 Bart Lisa 0.41 0.25 Apu 0.17 Seymour Ralph 0.25 0.21 07/14/10 DTProbLog 9

  10. ProbLog Probabilistic Facts 0.3 :: buy_trust(_,_). Background Knowledge buys(X) :- trusts(X,Y), buys(Y), buy_trust(X,Y). Maggie 0.17 Homer Lenny Marge 1 0.14 Moe 0.39 0.34 Bart Lisa 0.41 0.25 Apu 0.17 Seymour Ralph 0.25 0.21 07/14/10 DTProbLog 10

  11. Maggie Homer Lenny Marge Moe Bart Lisa Apu Seymour Ralph 07/14/10 DTProbLog 11

  12. Maggie Homer Lenny Marge 0.20 Moe Bart Lisa Apu Seymour Ralph 07/14/10 DTProbLog 12

  13. Maggie 0.03 Homer Lenny Marge 0.20 0.03 Moe 0.08 0.07 Bart Lisa 0.08 0.05 Apu 0.03 Seymour Ralph 0.05 0.04 07/14/10 DTProbLog 13

  14. ProbLog 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). Maggie 0.03 Homer Lenny Marge 0.20 0.03 Moe 0.08 0.07 Bart Lisa 0.08 0.05 Apu 0.03 Seymour Ralph 0.05 0.04 07/14/10 DTProbLog 14

  15. Maggie Homer Lenny Marge Moe Bart Lisa Apu Seymour Ralph 07/14/10 DTProbLog 15

  16. Maggie 0.05 Homer Lenny Marge 0.25 0.10 Moe 0.11 0.25 Bart Lisa 0.12 0.08 Apu 0.11 Seymour Ralph 0.12 0.08 07/14/10 DTProbLog 16

  17. +$5 Which strategy gives the maximum -$3 expected utility ? ? ? Maggie ? ? ? ? ? ? Homer Lenny ? ? Marge Moe ? ? ? ? Bart Lisa ? ? ? ? Apu ? ? Seymour Ralph 07/14/10 DTProbLog 17

  18. +$5 2 -$3 1 . 1 $ Maggie 0.07 Homer Lenny Marge 0.12 0.06 Moe 0.13 0.12 Bart Lisa 0.27 0.13 Apu 0.11 Seymour Ralph 0.27 0.16 07/14/10 DTProbLog 18

  19. Probabilistic Facts DT ProbLog ... Background Knowledge ... Decisions ? :: marketed(P) :- person(P). 2 1 Utility Facts . 1 $ buys(P) => 5 :- person(P). marketed(P) => -3 :- person(P). Maggie 0.07 Homer Lenny Marge 0.12 0.06 Moe 0.13 0.12 Bart Lisa 0.27 0.13 Apu 0.11 Seymour Ralph 0.27 0.16 07/14/10 DTProbLog 19

  20. DTProbLog: the Algorithms 07/14/10 DTProbLog 20

  21. DTProbLog: the Algorithms ● DTProbLog solves decision problems in complex relational and uncertain environments. ● Exact solution algorithm ● Extends ProbLog's BDD-based inference ● Efficient datastructures: BDD and ADD ● Approximate algorithms ● Local search ● K-best proofs 07/14/10 DTProbLog 21

  22. Example: Dressing for unpredictable weather 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 22

  23. Exact Solution Algorithm Find all proofs for each utility attribute (Prolog) 1 Binary decision diagrams from the proofs 2 Algebraic decision diagrams for the probability 3 of each attribute Algebraic decision diagrams for the utility of 4 each attribute Algebraic decision diagram for the total utility 5 07/14/10 DTProbLog 23

  24. Find all proofs for each utility attribute (Prolog) 1 Binary decision diagrams from the proofs 2 ● Leafs indicate attribute true or false ● Nodes are probabilistic facts or decisions true false dry => 60. umbrella => -2. broken_umbrella => -40. raincoat => -20. 07/14/10 DTProbLog 24

  25. Algebraic decision diagrams for the probability 3 of each attribute ● Probabilistic facts are marginalized out ● Nodes are decisions only ● Leafs are probabilities dry => 60. umbrella => -2. broken_umbrella => -40. raincoat => -20. 07/14/10 DTProbLog 25

  26. Algebraic decision diagrams for the utility of 4 each attribute ● Leafs are expected utilities dry => 60. umbrella => -2. broken_umbrella => -40. raincoat => -20. 07/14/10 DTProbLog 26

  27. Algebraic decision diagram for the total utility 5 ∑ + sound pruning (ADD not built entirely in memory) 07/14/10 DTProbLog 27

  28. Approximate Solution: Local Search Find all proofs for each utility attribute (Prolog) 1 Binary decision diagrams from the proofs 2 Algebraic decision diagrams for the probability 3 of each attribute Algebraic decision diagrams for the utility of 4 each attribute Algebraic decision diagram for the total utility 5 07/14/10 DTProbLog 28

  29. Approximate Solution: Local Search Find all proofs for each utility attribute (Prolog) 1 Binary decision diagrams from the proofs 2 Algebraic decision diagrams for the probability 3 of each attribute Algebraic decision diagrams for the utility of 4 each attribute Algebraic decision diagram for the total utility 5 Greedy hillclimber search 3 07/14/10 DTProbLog 29

  30. Approximate Solution: K-best Proofs Find all proofs for each utility attribute (Prolog) 1 Binary decision diagrams from the proofs 2 Algebraic decision diagrams for the probability 3 of each attribute Algebraic decision diagrams for the utility of 4 each attribute Algebraic decision diagram for the total utility 5 07/14/10 DTProbLog 30

  31. Approximate Solution: K-best Proofs Find all proofs for each utility attribute (Prolog) 1 Find the k most likely proofs for each utility 1 attribute Binary decision diagrams from the proofs 2 Algebraic decision diagrams for the probability 3 of each attribute Algebraic decision diagrams for the utility of 4 each attribute Algebraic decision diagram for the total utility 5 07/14/10 DTProbLog 31

  32. Experiments: Viral Marketing 07/14/10 DTProbLog 32

  33. Experiments: Viral Marketing ● Synthetic dataset Random power law graphs of increasing size ● Real-world Epinions dataset [Domingos02] 07/14/10 DTProbLog 33

  34. (Q1) Does the exact solution algorithm perform better than naively calculating the utility of all strategies? 07/14/10 DTProbLog 34

  35. (Q2) What is the difference in runtime and solution quality between exact and local search? 07/14/10 DTProbLog 35

  36. (Q3) What is the difference in runtime and solution quality between for different values of k in k-best . 07/14/10 DTProbLog 36

  37. (Q4) Do the algorithms scale ? Epinions social network ● 75,000 people ● 500,000 trust relations YES ● Local search ● 17-best proofs ● Solved in 16 hours 07/14/10 DTProbLog 37

  38. Related Work & Conclusions 07/14/10 DTProbLog 38

  39. Related Work Representation Solution Evaluation Global Local Exact Approximate Relational Probabilities optimum optimum inference inference Influence Diagrams MLDNs [Nath] ICL [Poole] DTLPs [Chen] DTProbLog 07/14/10 DTProbLog 39

  40. Summary ● DTProbLog, the programming language ● Probabilistic Prolog ● Decisions ● Utilities: rewards or costs attached to goals ● Solution algorithms ● Exactly ● Approximately ● Experiments ● Effective ● Scale well 07/14/10 DTProbLog 40

  41. Ongoing and Future Work ● Sequential decision problems ● Easy to represented in DTProbLog ● Bad fit for solution algorithms ● Solvers ● Integer linear programming ● Bounded approximation ● Monte-Carlo ● Lifting (many BDDs have same structure) ● Learning DTProbLog programs ● Inverse reinforcement learning 07/14/10 DTProbLog 41

  42. Thank You! 07/14/10 DTProbLog 42

  43. Viral Marketing 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). 07/14/10 DTProbLog 43

Recommend


More recommend