Open-World Probabilistic Databases Guy Van den Broeck GCAI Oct - - PowerPoint PPT Presentation

open world probabilistic databases
SMART_READER_LITE
LIVE PREVIEW

Open-World Probabilistic Databases Guy Van den Broeck GCAI Oct - - PowerPoint PPT Presentation

Open-World Probabilistic Databases Guy Van den Broeck GCAI Oct 21, 2017 Overview 1. Why probabilistic databases? 2. How probabilistic query evaluation? 3. Why open world? 4. How open-world query evaluation? 5. What is the broader picture?


slide-1
SLIDE 1

Open-World Probabilistic Databases

Guy Van den Broeck

GCAI Oct 21, 2017

slide-2
SLIDE 2

Overview

  • 1. Why probabilistic databases?
  • 2. How probabilistic query evaluation?
  • 3. Why open world?
  • 4. How open-world query evaluation?
  • 5. What is the broader picture?

First-order model counting!

slide-3
SLIDE 3

Why probabilistic databases?

slide-4
SLIDE 4

What we’d like to do…

slide-5
SLIDE 5

What we’d like to do…

slide-6
SLIDE 6

Google Knowledge Graph

> 570 million entities > 18 billion tuples

slide-7
SLIDE 7
  • Tuple-independent probabilistic database
  • Learned from the web, large text corpora, ontologies,

etc., using statistical machine learning.

Coauthor

Probabilistic Databases

x y P

Erdos Renyi 0.6 Einstein Pauli 0.7 Obama Erdos 0.1

Scientist x P

Erdos 0.9 Einstein 0.8 Pauli 0.6

[VdB&Suciu’17]

slide-8
SLIDE 8

Information Extraction is Noisy!

x y P Luc Laura 0.7 Luc Hendrik 0.6 Luc Kathleen 0.3 Luc Paol 0.3 Luc Paolo 0.1

Coauthor

slide-9
SLIDE 9

Information Extraction is Noisy!

x y P Luc Laura 0.7 Luc Hendrik 0.6 Luc Kathleen 0.3 Luc Paol 0.3 Luc Paolo 0.1

Coauthor

slide-10
SLIDE 10

Information Extraction is Noisy!

x y P Luc Laura 0.7 Luc Hendrik 0.6 Luc Kathleen 0.3 Luc Paol 0.3 Luc Paolo 0.1

Coauthor

slide-11
SLIDE 11

What we’d like to do…

∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)

slide-12
SLIDE 12

Einstein is in the Knowledge Graph

slide-13
SLIDE 13

Erdős is in the Knowledge Graph

slide-14
SLIDE 14

This guy is in the Knowledge Graph

slide-15
SLIDE 15

This guy is in the Knowledge Graph

… and he published with both Einstein and Erdos!

slide-16
SLIDE 16

Desired Query Answer

Ernst Straus Barack Obama, … Justin Bieber, …

slide-17
SLIDE 17

Desired Query Answer

Ernst Straus Barack Obama, … Justin Bieber, …

  • 1. Fuse uncertain

information from web ⇒ Embrace probability!

  • 2. Cannot come from

labeled data ⇒ Embrace query eval!

slide-18
SLIDE 18

[Chen’16+ (NYTimes)

slide-19
SLIDE 19

How probabilistic query evaluation?

slide-20
SLIDE 20

Tuple-Independent Probabilistic DB

x y P A B p1 A C p2 B C p3

Probabilistic database D:

Coauthor

*VdB&Suciu’17+

slide-21
SLIDE 21

x y A B A C B C

Tuple-Independent Probabilistic DB

x y P A B p1 A C p2 B C p3

Possible worlds semantics: p1p2p3 Probabilistic database D:

Coauthor

*VdB&Suciu’17+

slide-22
SLIDE 22

x y A B A C B C

Tuple-Independent Probabilistic DB

x y P A B p1 A C p2 B C p3

Possible worlds semantics: p1p2p3 (1-p1)p2p3 Probabilistic database D:

x y A C B C Coauthor

*VdB&Suciu’17+

slide-23
SLIDE 23

x y A B A C B C

Tuple-Independent Probabilistic DB

x y P A B p1 A C p2 B C p3

Possible worlds semantics: p1p2p3 (1-p1)p2p3 (1-p1)(1-p2)(1-p3) Probabilistic database D:

x y A C B C x y A B A C x y A B B C x y A B x y A C x y B C x y Coauthor

*VdB&Suciu’17+

slide-24
SLIDE 24
  • Conjunctive queries (CQ)

∃ + ∧ + positive literals

Probabilistic Databases Queries

∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)

slide-25
SLIDE 25
  • Conjunctive queries (CQ)

∃ + ∧ + positive literals

  • Unions of conjunctive queries (UCQ)

v of ∃ + ∧ + positive literals

Probabilistic Databases Queries

∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)

slide-26
SLIDE 26
  • Conjunctive queries (CQ)

∃ + ∧ + positive literals

  • Unions of conjunctive queries (UCQ)

v of ∃ + ∧ + positive literals

  • Duality

– Negation of CQ is monotone ∀-clause – Negation of UCQ is monotone ∀-CNF

Probabilistic Databases Queries

∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)

slide-27
SLIDE 27

x y P A D q1 Y1 A E q2 Y2 B F q3 Y3 B G q4 Y4 B H q5 Y5 x P A p1 X1 B p2 X2 C p3 X3

P(Q) =

Probabilistic Query Evaluation

Q = ∃x∃y Scientist(x) ∧ Coauthor(x,y)

Scientist Coauthor

slide-28
SLIDE 28

x y P A D q1 Y1 A E q2 Y2 B F q3 Y3 B G q4 Y4 B H q5 Y5 x P A p1 X1 B p2 X2 C p3 X3

P(Q) = 1-(1-q1)*(1-q2)

Probabilistic Query Evaluation

Q = ∃x∃y Scientist(x) ∧ Coauthor(x,y)

Scientist Coauthor

slide-29
SLIDE 29

x y P A D q1 Y1 A E q2 Y2 B F q3 Y3 B G q4 Y4 B H q5 Y5 x P A p1 X1 B p2 X2 C p3 X3

P(Q) = 1-(1-q1)*(1-q2) p1*[ ]

Probabilistic Query Evaluation

Q = ∃x∃y Scientist(x) ∧ Coauthor(x,y)

Scientist Coauthor

slide-30
SLIDE 30

x y P A D q1 Y1 A E q2 Y2 B F q3 Y3 B G q4 Y4 B H q5 Y5 x P A p1 X1 B p2 X2 C p3 X3

P(Q) = 1-(1-q1)*(1-q2) p1*[ ] 1-(1-q3)*(1-q4)*(1-q5)

Probabilistic Query Evaluation

Q = ∃x∃y Scientist(x) ∧ Coauthor(x,y)

Scientist Coauthor

slide-31
SLIDE 31

x y P A D q1 Y1 A E q2 Y2 B F q3 Y3 B G q4 Y4 B H q5 Y5 x P A p1 X1 B p2 X2 C p3 X3

P(Q) = 1-(1-q1)*(1-q2) p1*[ ] 1-(1-q3)*(1-q4)*(1-q5) p2*[ ]

Probabilistic Query Evaluation

Q = ∃x∃y Scientist(x) ∧ Coauthor(x,y)

Scientist Coauthor

slide-32
SLIDE 32

x y P A D q1 Y1 A E q2 Y2 B F q3 Y3 B G q4 Y4 B H q5 Y5 x P A p1 X1 B p2 X2 C p3 X3

P(Q) = 1-(1-q1)*(1-q2) p1*[ ] 1-(1-q3)*(1-q4)*(1-q5) p2*[ ] 1- {1- } * {1- }

Probabilistic Query Evaluation

Q = ∃x∃y Scientist(x) ∧ Coauthor(x,y)

Scientist Coauthor

slide-33
SLIDE 33

Lifted Inference Rules

Preprocess Q (omitted), Then apply rules (some have preconditions)

*VdB&Suciu’17+

slide-34
SLIDE 34

Lifted Inference Rules

Preprocess Q (omitted), Then apply rules (some have preconditions) P(¬Q) = 1 – P(Q) Negation

*VdB&Suciu’17+

slide-35
SLIDE 35

Lifted Inference Rules

P(Q1 ∧ Q2) = P(Q1) P(Q2) P(Q1 ∨ Q2) =1 – (1– P(Q1)) (1–P(Q2)) Preprocess Q (omitted), Then apply rules (some have preconditions) Decomposable ∧,∨ P(¬Q) = 1 – P(Q) Negation

*VdB&Suciu’17+

slide-36
SLIDE 36

Lifted Inference Rules

P(Q1 ∧ Q2) = P(Q1) P(Q2) P(Q1 ∨ Q2) =1 – (1– P(Q1)) (1–P(Q2)) P(∀z Q) = ΠA ∈Domain P(Q[A/z]) P(∃z Q) = 1 – ΠA ∈Domain (1 – P(Q[A/z])) Preprocess Q (omitted), Then apply rules (some have preconditions) Decomposable ∧,∨ Decomposable ∃,∀ P(¬Q) = 1 – P(Q) Negation

*VdB&Suciu’17+

slide-37
SLIDE 37

Lifted Inference Rules

P(Q1 ∧ Q2) = P(Q1) P(Q2) P(Q1 ∨ Q2) =1 – (1– P(Q1)) (1–P(Q2)) P(∀z Q) = ΠA ∈Domain P(Q[A/z]) P(∃z Q) = 1 – ΠA ∈Domain (1 – P(Q[A/z])) P(Q1 ∧ Q2) = P(Q1) + P(Q2) - P(Q1 ∨ Q2) P(Q1 ∨ Q2) = P(Q1) + P(Q2) - P(Q1 ∧ Q2) Preprocess Q (omitted), Then apply rules (some have preconditions) Decomposable ∧,∨ Decomposable ∃,∀ Inclusion/ exclusion P(¬Q) = 1 – P(Q) Negation

*VdB&Suciu’17+

slide-38
SLIDE 38

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

slide-39
SLIDE 39

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

slide-40
SLIDE 40

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

Check independence: Scientist(A) ∧ ∃y Coauthor(A,y) Scientist(B) ∧ ∃y Coauthor(B,y)

slide-41
SLIDE 41

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

Check independence: Scientist(A) ∧ ∃y Coauthor(A,y) Scientist(B) ∧ ∃y Coauthor(B,y)

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-42
SLIDE 42

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

Check independence: Scientist(A) ∧ ∃y Coauthor(A,y) Scientist(B) ∧ ∃y Coauthor(B,y)

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

Complexity PTIME

slide-43
SLIDE 43

Limitations

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y) The decomposable ∀-rule: P(∀z Q) = ΠA ∈Domain P(Q[A/z])

slide-44
SLIDE 44

Limitations

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y) The decomposable ∀-rule: … does not apply:

H0[Alice/x] and H0[Bob/x] are dependent: ∀y (Smoker(Alice) ∨ Friend(Alice,y) ∨ Jogger(y)) ∀y (Smoker(Bob) ∨ Friend(Bob,y) ∨ Jogger(y)) Dependent

P(∀z Q) = ΠA ∈Domain P(Q[A/z])

slide-45
SLIDE 45

Limitations

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y) The decomposable ∀-rule: … does not apply:

H0[Alice/x] and H0[Bob/x] are dependent: ∀y (Smoker(Alice) ∨ Friend(Alice,y) ∨ Jogger(y)) ∀y (Smoker(Bob) ∨ Friend(Bob,y) ∨ Jogger(y)) Dependent

Lifted inference sometimes fails. P(∀z Q) = ΠA ∈Domain P(Q[A/z])

slide-46
SLIDE 46

Background: Positive Partitioned 2CNF

1 2 1 2 3

A PP2CNF is: F = ∧(i,j) ∈ E (xi  yj) where E = the edge set of a bipartite graph

F = (x1  y1) ∧ (x2  y1) ∧ (x2  y3) ∧ (x1  y3) ∧ (x2  y2)

x y

slide-47
SLIDE 47

Background: Positive Partitioned 2CNF

1 2 1 2 3

A PP2CNF is: F = ∧(i,j) ∈ E (xi  yj) where E = the edge set of a bipartite graph

F = (x1  y1) ∧ (x2  y1) ∧ (x2  y3) ∧ (x1  y3) ∧ (x2  y2)

x y

Theorem: #PP2CNF is #P-hard

[Provan’83]

slide-48
SLIDE 48

Our Problematic Clause

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)

slide-49
SLIDE 49

Our Problematic Clause

  • Theorem. Computing P(H0) is #P-hard

in the size of the database.

[Dalvi&Suciu’04]

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)

slide-50
SLIDE 50

Our Problematic Clause

Proof: PP2CNF: F = (Xi1 ∨ Yj1) ∧ (Xi2 ∨ Yj2 ) ∧ … reduce #F to computing P (H0) By example:

  • Theorem. Computing P(H0) is #P-hard

in the size of the database.

[Dalvi&Suciu’04]

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)

slide-51
SLIDE 51

Our Problematic Clause

Proof: PP2CNF: F = (Xi1 ∨ Yj1) ∧ (Xi2 ∨ Yj2 ) ∧ … reduce #F to computing P (H0) By example:

F = (X1 ∨ Y1) ∧ (X1 ∨ Y2) ∧ (X2 ∨ Y2)

  • Theorem. Computing P(H0) is #P-hard

in the size of the database.

[Dalvi&Suciu’04]

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)

slide-52
SLIDE 52

Our Problematic Clause

Proof: PP2CNF: F = (Xi1 ∨ Yj1) ∧ (Xi2 ∨ Yj2 ) ∧ … reduce #F to computing P (H0) By example:

X Y P x1 y1 x1 y2 x2 y2 X P x1 0.5 x2 0.5 Y P y1 0.5 y2 0.5 Smoker Jogger Friend

F = (X1 ∨ Y1) ∧ (X1 ∨ Y2) ∧ (X2 ∨ Y2)

  • Theorem. Computing P(H0) is #P-hard

in the size of the database.

[Dalvi&Suciu’04]

Probabilities (tuples not shown have P=1)

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)

slide-53
SLIDE 53

Our Problematic Clause

Proof: PP2CNF: F = (Xi1 ∨ Yj1) ∧ (Xi2 ∨ Yj2 ) ∧ … reduce #F to computing P (H0) By example:

X Y P x1 y1 x1 y2 x2 y2 X P x1 0.5 x2 0.5 Y P y1 0.5 y2 0.5 Smoker Jogger Friend

P(H0) = P(F); hence P (H0) is #P-hard F = (X1 ∨ Y1) ∧ (X1 ∨ Y2) ∧ (X2 ∨ Y2)

  • Theorem. Computing P(H0) is #P-hard

in the size of the database.

[Dalvi&Suciu’04]

Probabilities (tuples not shown have P=1)

H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)

slide-54
SLIDE 54

Are the Lifted Rules Complete?

You already know:

  • Inference rules: PTIME data complexity
  • Some queries: #P-hard data complexity

[Dalvi and Suciu;JACM’11]

slide-55
SLIDE 55

Are the Lifted Rules Complete?

You already know:

  • Inference rules: PTIME data complexity
  • Some queries: #P-hard data complexity

Dichotomy Theorem for UCQ / Mon. CNF

  • If lifted rules succeed, then PTIME query
  • If lifted rules fail, then query is #P-hard

[Dalvi and Suciu;JACM’11]

slide-56
SLIDE 56

Are the Lifted Rules Complete?

You already know:

  • Inference rules: PTIME data complexity
  • Some queries: #P-hard data complexity

Dichotomy Theorem for UCQ / Mon. CNF

  • If lifted rules succeed, then PTIME query
  • If lifted rules fail, then query is #P-hard

Lifted rules are complete for UCQ!

[Dalvi and Suciu;JACM’11]

slide-57
SLIDE 57

Commercial Break

  • Survey book (2017)

http://www.nowpublishers.com/article/Details/DBS-052

  • IJCAI 2016 tutorial

http://web.cs.ucla.edu/~guyvdb/talks/IJCAI16-tutorial/

slide-58
SLIDE 58

Why open world?

slide-59
SLIDE 59

Knowledge Base Completion

Given: Learn: Complete:

0.8::Coauthor(x,y) :- Coauthor(z,x) ∧ Coauthor(z,y).

x y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 … … … x y P Straus Pauli 0.504 … … …

Coauthor

slide-60
SLIDE 60

Bayesian Learning Loop

Bayesian view on learning:

  • 1. Prior belief:

P(Coauthor(Straus,Pauli)) = 0.01

  • 2. Observe page

P(Coauthor(Straus,Pauli| ) = 0.2

  • 3. Observe page

P(Coauthor(Straus,Pauli)| , ) = 0.3

Principled and sound reasoning!

slide-61
SLIDE 61

Problem: Broken Learning Loop

Bayesian view on learning:

  • 1. Prior belief:

P(Coauthor(Straus,Pauli)) = 0

  • 2. Observe page

P(Coauthor(Straus,Pauli| ) = 0.2

  • 3. Observe page

P(Coauthor(Straus,Pauli)| , ) = 0.3

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-62
SLIDE 62

Problem: Broken Learning Loop

Bayesian view on learning:

  • 1. Prior belief:

P(Coauthor(Straus,Pauli)) = 0

  • 2. Observe page

P(Coauthor(Straus,Pauli| ) = 0.2

  • 3. Observe page

P(Coauthor(Straus,Pauli)| , ) = 0.3

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-63
SLIDE 63

Problem: Broken Learning Loop

Bayesian view on learning:

  • 1. Prior belief:

P(Coauthor(Straus,Pauli)) = 0

  • 2. Observe page

P(Coauthor(Straus,Pauli| ) = 0.2

  • 3. Observe page

P(Coauthor(Straus,Pauli)| , ) = 0.3

[Ceylan, Darwiche, Van den Broeck; KR’16]

This is mathematical nonsense!

slide-64
SLIDE 64

What we’d like to do…

∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)

Ernst Straus Kristian Kersting, … Justin Bieber, …

slide-65
SLIDE 65

Open World DB

  • What if fact missing?
  • Probability 0 for:

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)

slide-66
SLIDE 66

Open World DB

  • What if fact missing?
  • Probability 0 for:

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q2 = ∃x Coauthor(Bieber,x) ∧ Coauthor(Erdos,x)

slide-67
SLIDE 67

Open World DB

  • What if fact missing?
  • Probability 0 for:

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q2 = ∃x Coauthor(Bieber,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus)

slide-68
SLIDE 68

Open World DB

  • What if fact missing?
  • Probability 0 for:

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q2 = ∃x Coauthor(Bieber,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber)

slide-69
SLIDE 69

Open World DB

  • What if fact missing?
  • Probability 0 for:

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q2 = ∃x Coauthor(Bieber,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber) Q5 = Coauthor(Einstein,Bieber) ∧ ¬Coauthor(Einstein,Bieber)

slide-70
SLIDE 70

Intuition

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber)

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-71
SLIDE 71

Intuition

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

We know for sure that P(Q1) ≥ P(Q3), P(Q1) ≥ P(Q4) Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber)

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-72
SLIDE 72

Intuition

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

We know for sure that P(Q1) ≥ P(Q3), P(Q1) ≥ P(Q4) and P(Q3) ≥ P(Q5), P(Q4) ≥ P(Q5) Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber) Q5 = Coauthor(Einstein,Bieber) ∧ ¬Coauthor(Einstein,Bieber)

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-73
SLIDE 73

Intuition

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

We know for sure that P(Q1) ≥ P(Q3), P(Q1) ≥ P(Q4) and P(Q3) ≥ P(Q5), P(Q4) ≥ P(Q5) because P(Q5) = 0. Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber) Q5 = Coauthor(Einstein,Bieber) ∧ ¬Coauthor(Einstein,Bieber)

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-74
SLIDE 74

Intuition

X Y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

We know for sure that P(Q1) ≥ P(Q3), P(Q1) ≥ P(Q4) and P(Q3) ≥ P(Q5), P(Q4) ≥ P(Q5) because P(Q5) = 0. We have strong evidence that P(Q1) ≥ P(Q2). Q1 = ∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x) Q2 = ∃x Coauthor(Bieber,x) ∧ Coauthor(Erdos,x) Q3 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus) Q4 = Coauthor(Einstein,Bieber) ∧ Coauthor(Erdos,Bieber) Q5 = Coauthor(Einstein,Bieber) ∧ ¬Coauthor(Einstein,Bieber)

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-75
SLIDE 75

Problem: Curse of Superlinearity

Reality is worse: tuples intentionally missing!

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-76
SLIDE 76

Problem: Curse of Superlinearity

Reality is worse: tuples intentionally missing!

x y P … … …

Sibling

Facebook scale

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-77
SLIDE 77

Problem: Curse of Superlinearity

Reality is worse: tuples intentionally missing!

x y P … … …

Sibling

Facebook scale ⇒ 200 Exabytes of data

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-78
SLIDE 78

Problem: Curse of Superlinearity

Reality is worse: tuples intentionally missing!

x y P … … …

Sibling

Facebook scale All Google storage is 2 exabytes… ⇒ 200 Exabytes of data

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-79
SLIDE 79

Problem: Curse of Superlinearity

Reality is worse: tuples intentionally missing!

x y P … … …

Sibling

Facebook scale All Google storage is 2 exabytes… ⇒ 200 Exabytes of data

[Ceylan, Darwiche, Van den Broeck; KR’16]

slide-80
SLIDE 80

Problem: Model Evaluation

Given: Learn:

0.8::Coauthor(x,y) :- Coauthor(z,x) ∧ Coauthor(z,y).

x y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 … … …

Coauthor

0.6::Coauthor(x,y) :- Affiliation(x,z) ∧ Affiliation(y,z).

OR

[De Raedt et al; IJCAI’15]

slide-81
SLIDE 81

Problem: Model Evaluation

Given: Learn:

0.8::Coauthor(x,y) :- Coauthor(z,x) ∧ Coauthor(z,y).

x y P Einstein Straus 0.7 Erdos Straus 0.6 Einstein Pauli 0.9 … … …

Coauthor

0.6::Coauthor(x,y) :- Affiliation(x,z) ∧ Affiliation(y,z).

OR

What is the likelihood, precision, accuracy, …?

[De Raedt et al; IJCAI’15]

slide-82
SLIDE 82

Open-World Prob. Databases

Intuition: tuples can be added with P < λ

Q2 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus)

X Y P Einstein Straus 0.7 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor

P(Q2) ≥ 0

slide-83
SLIDE 83

Open-World Prob. Databases

Intuition: tuples can be added with P < λ

Q2 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus)

X Y P Einstein Straus 0.7 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor

X Y P Einstein Straus 0.7 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … … Erdos Straus λ

Coauthor

P(Q2) ≥ 0

slide-84
SLIDE 84

Open-World Prob. Databases

Intuition: tuples can be added with P < λ

Q2 = Coauthor(Einstein,Straus) ∧ Coauthor(Erdos,Straus)

X Y P Einstein Straus 0.7 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … …

Coauthor

X Y P Einstein Straus 0.7 Einstein Pauli 0.9 Erdos Renyi 0.7 Kersting Natarajan 0.8 Luc Paol 0.1 … … … Erdos Straus λ

Coauthor

0.7 * λ ≥ P(Q2) ≥ 0

slide-85
SLIDE 85

How open-world query evaluation?

slide-86
SLIDE 86

UCQ / Monotone CNF

  • Lower bound = closed-world probability
  • Upper bound = probability after adding all

tuples with probability λ

slide-87
SLIDE 87

UCQ / Monotone CNF

  • Lower bound = closed-world probability
  • Upper bound = probability after adding all

tuples with probability λ

  • Polynomial time☺
slide-88
SLIDE 88

UCQ / Monotone CNF

  • Lower bound = closed-world probability
  • Upper bound = probability after adding all

tuples with probability λ

  • Polynomial time☺
  • Quadratic blow-up 
  • 200 exabytes … again 
slide-89
SLIDE 89

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

slide-90
SLIDE 90

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

slide-91
SLIDE 91

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-92
SLIDE 92

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

Complexity PTIME

slide-93
SLIDE 93

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

Decomposable ∃-Rule

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

Complexity PTIME

Check independence: Scientist(A) ∧ ∃y Coauthor(A,y) Scientist(B) ∧ ∃y Coauthor(B,y)

slide-94
SLIDE 94

Closed-World Lifted Query Eval

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-95
SLIDE 95

Closed-World Lifted Query Eval

No supporting facts in database!

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-96
SLIDE 96

Closed-World Lifted Query Eval

No supporting facts in database! Probability 0 in closed world

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-97
SLIDE 97

Closed-World Lifted Query Eval

No supporting facts in database! Probability 0 in closed world Ignore these sub-queries!

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-98
SLIDE 98

Closed-World Lifted Query Eval

No supporting facts in database!

Complexity linear time!

Probability 0 in closed world Ignore these sub-queries!

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-99
SLIDE 99

Open-World Lifted Query Eval

No supporting facts in database!

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-100
SLIDE 100

Open-World Lifted Query Eval

No supporting facts in database! Probability λ in open world

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-101
SLIDE 101

Open-World Lifted Query Eval

No supporting facts in database!

Complexity PTIME!

Probability λ in open world

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-102
SLIDE 102

Open-World Lifted Query Eval

No supporting facts in database! Probability p in closed world

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-103
SLIDE 103

Open-World Lifted Query Eval

No supporting facts in database! Probability p in closed world All together, probability (1-p)k Exploit symmetry Lifted inference

Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-104
SLIDE 104

Open-World Lifted Query Eval

No supporting facts in database! Probability p in closed world All together, probability (1-p)k Exploit symmetry Lifted inference

Complexity linear time! Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-105
SLIDE 105

[Ceylan’16]

Complexity Results

slide-106
SLIDE 106

Implement PDB Query in SQL

– Convert to nested SQL recursively – Open-world existential quantification – Conjunction – Run as single query!

SELECT (1.0-(1.0-pUse)*power(1.0-0.0001,(4-ct))) AS pUse FROM (SELECT ior(COALESCE(pUse,0)) AS pUse, count(*) AS ct FROM SQL(conjunction)

0.0001 = open-world probability; 4 = # open-world query instances ior = Independent OR aggregate function

Q = ∃x P(x) ∧ Q(x)

SELECT q9.c5, COALESCE(q9.pUse,λ)*COALESCE(q10.pUse,λ) AS pUse FROM SQL(Q(X)) OUTER JOIN SQL(P(X)) SELECT Q.v0 AS c5, p AS pUse FROM Q [Tal Friedman, Eric Gribkoff]

slide-107
SLIDE 107

100 200 300 400 500 600 10 20 30 40 50 60 70 Size of Domain

OpenPDB vs Problog Running Times (s)

PDB Problog Linear (PDB)

Out of memory trying to run the ProbLog query with 70 constants in domain [Tal Friedman]

slide-108
SLIDE 108

100 200 300 400 500 600 500 1000 1500 2000 2500 3000 Size of Domain

OpenPDB vs Problog Running Times (s)

PDB Problog Linear (PDB)

[Tal Friedman]

slide-109
SLIDE 109

100 200 300 400 500 600 500 1000 1500 2000 2500 3000 Size of Domain

OpenPDB vs Problog Running Times (s)

PDB Problog Linear (PDB)

12.5 million random variables!

[Tal Friedman]

slide-110
SLIDE 110

What is the broader picture? First-Order Model Counting

slide-111
SLIDE 111

Model Counting

  • Model = solution to a propositional logic formula Δ
  • Model counting = #SAT

Rain Cloudy Model? T T Yes T F No F T Yes F F Yes #SAT = 3

+

Δ = (Rain ⇒ Cloudy)

slide-112
SLIDE 112

Model Counting

  • Model = solution to a propositional logic formula Δ
  • Model counting = #SAT

Rain Cloudy Model? T T Yes T F No F T Yes F F Yes #SAT = 3

+

Δ = (Rain ⇒ Cloudy)

[Valiant] #P-hard, even for 2CNF

slide-113
SLIDE 113

Weighted Model Count

  • Weights for assignments to variables
  • Model weight = product of variable weights

Rain Cloudy Model? T T Yes T F No F T Yes F F Yes Δ = (Rain ⇒ Cloudy)

slide-114
SLIDE 114

Weighted Model Count

  • Weights for assignments to variables
  • Model weight = product of variable weights

Rain w(R) w(¬R) 1 2 Cloudy w(C) w(¬C) 3 5

Rain Cloudy Model? T T Yes T F No F T Yes F F Yes Δ = (Rain ⇒ Cloudy)

slide-115
SLIDE 115

Weighted Model Count

Weight 1 * 3 = 3 2 * 3 = 6 2 * 5 = 10 WMC = 19

  • Weights for assignments to variables
  • Model weight = product of variable weights

+

Rain w(R) w(¬R) 1 2 Cloudy w(C) w(¬C) 3 5

Rain Cloudy Model? T T Yes T F No F T Yes F F Yes Δ = (Rain ⇒ Cloudy)

slide-116
SLIDE 116

Assembly language for probabilistic reasoning

Bayesian networks Factor graphs Probabilistic databases Relational Bayesian networks Probabilistic logic programs Markov Logic Weighted Model Counting

[Chavira 2006, Chavira 2008, Sang 2005, Fierens 2015]

slide-117
SLIDE 117

...

Simple Reasoning Problem

?

Probability that Card1 is Hearts? 1/4

[Van den Broeck; AAAI-KRR’15]

slide-118
SLIDE 118

Model distribution by FOMC:

...

∀p, ∃c, Card(p,c) ∀c, ∃p, Card(p,c) ∀p, ∀c, ∀c’, Card(p,c) ∧ Card(p,c’) ⇒ c = c’ Δ =

[Van den Broeck 2015]

slide-119
SLIDE 119

Beyond NP Pipeline for #P

Reduce to propositional model counting:

[Van den Broeck 2015]

slide-120
SLIDE 120

Beyond NP Pipeline for #P

Reduce to propositional model counting:

Card(A♥,p1) v … v Card(2♣,p1) Card(A♥,p2) v … v Card(2♣,p2) … Card(A♥,p1) v … v Card(A♥,p52) Card(K♥,p1) v … v Card(K♥,p52) … ¬Card(A♥,p1) v ¬Card(A♥,p2) ¬Card(A♥,p1) v ¬Card(A♥,p3) … Δ =

[Van den Broeck 2015]

slide-121
SLIDE 121

Beyond NP Pipeline for #P

Reduce to propositional model counting:

Card(A♥,p1) v … v Card(2♣,p1) Card(A♥,p2) v … v Card(2♣,p2) … Card(A♥,p1) v … v Card(A♥,p52) Card(K♥,p1) v … v Card(K♥,p52) … ¬Card(A♥,p1) v ¬Card(A♥,p2) ¬Card(A♥,p1) v ¬Card(A♥,p3) … Δ =

What will happen?

[Van den Broeck 2015]

slide-122
SLIDE 122

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

[VdB’15]

slide-123
SLIDE 123

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

Card(K♥,p52)

[VdB’15]

slide-124
SLIDE 124

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

One model/perfect matching

[VdB’15]

slide-125
SLIDE 125

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

[VdB’15]

slide-126
SLIDE 126

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

Card(K♥,p52)

[VdB’15]

slide-127
SLIDE 127

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

Card(K♥,p52)

Model counting: How many perfect matchings?

[VdB’15]

slide-128
SLIDE 128

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

[VdB’15]

What if I set w(Card(K♥,p52)) = 0?

slide-129
SLIDE 129

Deck of Cards Graphically

K♥ A♥ 2♥ 3♥

… …

What if I set w(Card(K♥,p52)) = 0?

[VdB’15]

slide-130
SLIDE 130

Observations

  • Weight function = bipartite graph
  • # models = # perfect matchings
  • Problem is #P-complete! 

[VdB’15]

slide-131
SLIDE 131

Observations

  • Weight function = bipartite graph
  • # models = # perfect matchings
  • Problem is #P-complete! 

[VdB’15]

No propositional WMC solver can handle cards problem efficiently!

slide-132
SLIDE 132

Observations

  • Weight function = bipartite graph
  • # models = # perfect matchings
  • Problem is #P-complete! 

What is going on here?

[VdB’15]

No propositional WMC solver can handle cards problem efficiently!

slide-133
SLIDE 133

Symmetric Weighted FOMC

No database! No literal-specific weights!

  • Def. A weighted vocabulary is (R, w), where

– R = (R1, R2, …, Rk) = relational vocabulary – w = (w1, w2, …, wk) = weights – Implicit weights: w(Ri(t)) = wi

Special case: wi = 1 is model counting

Complexity in terms of domain size n

slide-134
SLIDE 134

FOMC Inference Rules

  • Simplification to ∃,∀ rules:

For example: P(∀z Q) = P(Q[C1/z])|Domain|

[VdB’11]

slide-135
SLIDE 135

FOMC Inference Rules

  • Simplification to ∃,∀ rules:

For example: P(∀z Q) = P(Q[C1/z])|Domain|

The workhorse

  • f FOMC
  • A powerful new inference rule: atom counting

Only possible with symmetric weights Intuition: Remove unary relations

[VdB’11]

slide-136
SLIDE 136

First-Order Model Counting: Example

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-137
SLIDE 137

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-138
SLIDE 138

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-139
SLIDE 139

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-140
SLIDE 140

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-141
SLIDE 141

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-142
SLIDE 142

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-143
SLIDE 143

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-144
SLIDE 144

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-145
SLIDE 145

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-146
SLIDE 146

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k

→ models

Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-147
SLIDE 147

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k

 If we know that there are k smokers?

→ models

Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-148
SLIDE 148

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k

 If we know that there are k smokers?

→ models

Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

→ models

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-149
SLIDE 149

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k

 If we know that there are k smokers?  In total…

→ models

Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

→ models

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-150
SLIDE 150

First-Order Model Counting: Example

 If we know D precisely: who smokes, and there are k smokers?

k n-k k n-k

 If we know that there are k smokers?  In total…

→ models

Database: Smokes(Alice) = 1 Smokes(Bob) = 0 Smokes(Charlie) = 0 Smokes(Dave) = 1 Smokes(Eve) = 0 ...

→ models → models

Smokes Smokes Friends

[Van den Broeck 2015]

Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

slide-151
SLIDE 151

...

Playing Cards Revisited

∀p, ∃c, Card(p,c) ∀c, ∃p, Card(p,c) ∀p, ∀c, ∀c’, Card(p,c) ∧ Card(p,c’) ⇒ c = c’

[Van den Broeck.; AAAI-KR’15]

slide-152
SLIDE 152

...

Playing Cards Revisited

∀p, ∃c, Card(p,c) ∀c, ∃p, Card(p,c) ∀p, ∀c, ∀c’, Card(p,c) ∧ Card(p,c’) ⇒ c = c’

[Van den Broeck.; AAAI-KR’15]

slide-153
SLIDE 153

...

Playing Cards Revisited

∀p, ∃c, Card(p,c) ∀c, ∃p, Card(p,c) ∀p, ∀c, ∀c’, Card(p,c) ∧ Card(p,c’) ⇒ c = c’

Computed in time polynomial in n

[Van den Broeck.; AAAI-KR’15]

slide-154
SLIDE 154

Open-World Lifted Query Eval

All together, probability (1-p)k

Q = ∃x ∃y Smoker(x) ∧ Friend(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-155
SLIDE 155

Open-World Lifted Query Eval

All together, probability (1-p)k

Open-world query evaluation on empty db = Symmetric First-Order Model Counting

Q = ∃x ∃y Smoker(x) ∧ Friend(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))

= 1 - (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y)) x (1 - P(Scientist(B) ∧ ∃y Coauthor(B,y)) x (1 - P(Scientist(C) ∧ ∃y Coauthor(C,y)) x (1 - P(Scientist(D) ∧ ∃y Coauthor(D,y)) x (1 - P(Scientist(E) ∧ ∃y Coauthor(E,y)) x (1 - P(Scientist(F) ∧ ∃y Coauthor(F,y)) …

slide-156
SLIDE 156

X Y

Smokes(x) Gender(x) Young(x) Tall(x) Smokes(y) Gender(y) Young(y) Tall(y)

Properties Properties

FO2 is liftable!

slide-157
SLIDE 157

X Y

Smokes(x) Gender(x) Young(x) Tall(x) Smokes(y) Gender(y) Young(y) Tall(y)

Properties Properties

Friends(x,y) Colleagues(x,y) Family(x,y) Classmates(x,y)

Relations

FO2 is liftable!

slide-158
SLIDE 158

X Y

Smokes(x) Gender(x) Young(x) Tall(x) Smokes(y) Gender(y) Young(y) Tall(y)

Properties Properties

Friends(x,y) Colleagues(x,y) Family(x,y) Classmates(x,y)

Relations

FO2 is liftable!

“Smokers are more likely to be friends with other smokers.” “Colleagues of the same age are more likely to be friends.” “People are either family or friends, but never both.” “If X is family of Y, then Y is also family of X.” “If X is a parent of Y, then Y cannot be a parent of X.”

slide-159
SLIDE 159

Tractable Classes

FO2 CNF FO2 Safe monotone CNF Safe type-1 CNF #P1 FO3 #P1 CQs

[VdB; NIPS’11+, [VdB et al.; KR’14], [Gribkoff, VdB, Suciu; UAI’15+, [Beame, VdB, Gribkoff, Suciu; PODS’15+, etc.

#P1

slide-160
SLIDE 160

Tractable Classes

FO2 CNF FO2 Safe monotone CNF Safe type-1 CNF ? #P1 FO3 #P1 CQs Δ = ∀x,y,z, Friends(x,y) ∧ Friends(y,z) ⇒ Friends(x,z)

[VdB; NIPS’11+, [VdB et al.; KR’14], [Gribkoff, VdB, Suciu; UAI’15+, [Beame, VdB, Gribkoff, Suciu; PODS’15+, etc.

#P1

slide-161
SLIDE 161

Statistical Relational Learning

3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)

Markov Logic

[Van den Broeck,PhD’13]

slide-162
SLIDE 162

Statistical Relational Learning

3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ∀x,y, F(x,y) ⇔ [ Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ]

Weight Function

w(Smokes)=1 w(¬Smokes )=1 w(Friends )=1 w(¬Friends )=1 w(F)=3.14 w(¬F)=1

FOL Sentence Markov Logic

[Van den Broeck,PhD’13]

slide-163
SLIDE 163

Statistical Relational Learning

3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ∀x,y, F(x,y) ⇔ [ Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ]

Weight Function

w(Smokes)=1 w(¬Smokes )=1 w(Friends )=1 w(¬Friends )=1 w(F)=3.14 w(¬F)=1

FOL Sentence First-Order d-DNNF Circuit Markov Logic

[Van den Broeck,PhD’13]

Compile? Compile?

slide-164
SLIDE 164

Statistical Relational Learning

3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ∀x,y, F(x,y) ⇔ [ Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ]

Weight Function

w(Smokes)=1 w(¬Smokes )=1 w(Friends )=1 w(¬Friends )=1 w(F)=3.14 w(¬F)=1

FOL Sentence First-Order d-DNNF Circuit Domain

Alice Bob Charlie

Markov Logic

[Van den Broeck,PhD’13]

Compile? Compile?

slide-165
SLIDE 165

Statistical Relational Learning

3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ∀x,y, F(x,y) ⇔ [ Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ]

Weight Function

w(Smokes)=1 w(¬Smokes )=1 w(Friends )=1 w(¬Friends )=1 w(F)=3.14 w(¬F)=1

FOL Sentence First-Order d-DNNF Circuit Domain

Alice Bob Charlie Z = WFOMC = 1479.85

Markov Logic

[Van den Broeck,PhD’13]

Compile? Compile?

slide-166
SLIDE 166

Statistical Relational Learning

Evaluation in time polynomial in domain size!

3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ∀x,y, F(x,y) ⇔ [ Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y) ]

Weight Function

w(Smokes)=1 w(¬Smokes )=1 w(Friends )=1 w(¬Friends )=1 w(F)=3.14 w(¬F)=1

FOL Sentence First-Order d-DNNF Circuit Domain

Alice Bob Charlie Z = WFOMC = 1479.85

Markov Logic

[Van den Broeck,PhD’13]

Compile? Compile?

slide-167
SLIDE 167

Lifted Machine Learning

  • Given:

A set of first-order logic formulas A set of training databases

  • Learn: Maximum-likelihood weights
  • Also structure learning!

[Van Haaren et al.; MLJ’15+

900,030,000 random variables

slide-168
SLIDE 168

The Even Broader Picture

  • Statistical relational learning (e.g., Markov logic)

Open-domain models (BLOG)

  • Probabilistic description logics
  • Certain query answers in databases
  • Open information extraction
  • Learning from positive-only examples
  • Imprecise probabilities

Credal sets, interval probability, qualitative uncertainty

  • Credal Bayesian networks
slide-169
SLIDE 169

Conclusions

 Relational probabilistic reasoning is frontier and

integration of AI, KR, ML, DB, TH, etc.

 We need

relational models and logic

probabilistic models and statistical learning

algorithms that scale

  • Open-world data model

semantics makes sense

FREE for UCQs, expensive otherwise

deep connection to model counting

slide-170
SLIDE 170
slide-171
SLIDE 171

References

  • Ceylan, Ismail Ilkan, Adnan Darwiche, and Guy Van den Broeck. "Open-world probabilistic

databases." Proceedings of KR (2016).

  • Suciu, Dan, Dan Olteanu, Christopher Ré, and Christoph Koch. "Probabilistic databases."

Synthesis Lectures on Data Management 3, no. 2 (2011): 1-180.

  • Dong, Xin, Evgeniy Gabrilovich, Geremy Heitz, Wilko Horn, Ni Lao, Kevin Murphy, Thomas

Strohmann, Shaohua Sun, and Wei Zhang. "Knowledge vault: A web-scale approach to probabilistic knowledge fusion." In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 601-610. ACM, 2014.

  • Carlson, Andrew, Justin Betteridge, Bryan Kisiel, Burr Settles, Estevam R. Hruschka Jr, and Tom
  • M. Mitchell. "Toward an Architecture for Never-Ending Language Learning." In AAAI, vol. 5, p.
  • 3. 2010.
  • Niu, Feng, Ce Zhang, Christopher Ré, and Jude W. Shavlik. "DeepDive: Web-scale Knowledge-

base Construction using Statistical Learning and Inference." VLDS 12 (2012): 25-28.

slide-172
SLIDE 172

References

  • Chen, Brian X. "Siri, Alexa and Other Virtual Assistants Put to the Test" The New York Times

(2016).

  • Dalvi, Nilesh, and Dan Suciu. "The dichotomy of probabilistic inference for unions of

conjunctive queries." Journal of the ACM (JACM) 59, no. 6 (2012): 30.

  • De Raedt, Luc, Anton Dries, Ingo Thon, Guy Van den Broeck, and Mathias Verbeke. "Inducing

probabilistic relational rules from probabilistic examples." In Proceedings of the 24th International Conference on Artificial Intelligence, pp. 1835-1843. AAAI Press, 2015.

  • Van den Broeck, Guy. "Towards high-level probabilistic reasoning with lifted inference." AAAI

Spring Symposium on KRR (2015).

  • Niepert, Mathias, and Guy Van den Broeck. "Tractability through exchangeability: A new

perspective on efficient probabilistic inference." AAAI (2014).

  • Van den Broeck, Guy. "On the completeness of first-order knowledge compilation for lifted

probabilistic inference." In Advances in Neural Information Processing Systems, pp. 1386-

  • 1394. 2011.
slide-173
SLIDE 173

References

  • Van den Broeck, Guy, Wannes Meert, and Adnan Darwiche. "Skolemization for weighted first-
  • rder model counting." In Proceedings of the 14th International Conference on Principles of

Knowledge Representation and Reasoning (KR). 2014.

  • Gribkoff, Eric, Guy Van den Broeck, and Dan Suciu. "Understanding the complexity of lifted

inference and asymmetric weighted model counting." UAI, 2014.

  • Beame, Paul, Guy Van den Broeck, Eric Gribkoff, and Dan Suciu. "Symmetric weighted first-
  • rder model counting." In Proceedings of the 34th ACM SIGMOD-SIGACT-SIGAI Symposium
  • n Principles of Database Systems, pp. 313-328. ACM, 2015.
  • Chavira, Mark, and Adnan Darwiche. "On probabilistic inference by weighted model

counting." Artificial Intelligence 172.6 (2008): 772-799.

  • Sang, Tian, Paul Beame, and Henry A. Kautz. "Performing Bayesian inference by weighted

model counting." AAAI. Vol. 5. 2005.

slide-174
SLIDE 174

References

  • Van den Broeck, Guy, Nima Taghipour, Wannes Meert, Jesse Davis, and Luc De Raedt. "Lifted

probabilistic inference by first-order knowledge compilation." In Proceedings of the Twenty- Second international joint conference on Artificial Intelligence, pp. 2178-2185. AAAI Press/International Joint Conferences on Artificial Intelligence, 2011.

  • Van den Broeck, Guy. Lifted inference and learning in statistical relational models. Diss. Ph. D.

Dissertation, KU Leuven, 2013.

  • Gogate, Vibhav, and Pedro Domingos. "Probabilistic theorem proving." UAI (2011).
  • Guy Van den Broeck and Dan Suciu. Query Processing on Probabilistic Data: A Survey,

Foundations and Trends in Databases, Now Publishers, 2017

slide-175
SLIDE 175

References

  • Belle, Vaishak, Andrea Passerini, and Guy Van den Broeck. "Probabilistic inference in hybrid

domains by weighted model integration." Proceedings of 24th International Joint Conference

  • n Artificial Intelligence (IJCAI). 2015.
  • Belle, Vaishak, Guy Van den Broeck, and Andrea Passerini. "Hashing-based approximate

probabilistic inference in hybrid domains." In Proceedings of the 31st Conference on Uncertainty in Artificial Intelligence (UAI). 2015.

  • Fierens, Daan, Guy Van den Broeck, Joris Renkens, Dimitar Shterionov, Bernd Gutmann, Ingo

Thon, Gerda Janssens, and Luc De Raedt. "Inference and learning in probabilistic logic programs using weighted boolean formulas." Theory and Practice of Logic Programming 15,

  • no. 03 (2015): 358-401.