Open-World Probabilistic Databases
Guy Van den Broeck
GCAI Oct 21, 2017
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?
GCAI Oct 21, 2017
> 570 million entities > 18 billion tuples
Coauthor
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]
x y P Luc Laura 0.7 Luc Hendrik 0.6 Luc Kathleen 0.3 Luc Paol 0.3 Luc Paolo 0.1
Coauthor
x y P Luc Laura 0.7 Luc Hendrik 0.6 Luc Kathleen 0.3 Luc Paol 0.3 Luc Paolo 0.1
Coauthor
x y P Luc Laura 0.7 Luc Hendrik 0.6 Luc Kathleen 0.3 Luc Paol 0.3 Luc Paolo 0.1
Coauthor
∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)
[Chen’16+ (NYTimes)
x y P A B p1 A C p2 B C p3
Coauthor
*VdB&Suciu’17+
x y A B A C B C
x y P A B p1 A C p2 B C p3
Coauthor
*VdB&Suciu’17+
x y A B A C B C
x y P A B p1 A C p2 B C p3
x y A C B C Coauthor
*VdB&Suciu’17+
x y A B A C B C
x y P A B p1 A C p2 B C p3
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+
∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)
∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)
∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)
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
Scientist Coauthor
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
Scientist Coauthor
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
Scientist Coauthor
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
Scientist Coauthor
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
Scientist Coauthor
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
Scientist Coauthor
Preprocess Q (omitted), Then apply rules (some have preconditions)
*VdB&Suciu’17+
Preprocess Q (omitted), Then apply rules (some have preconditions) P(¬Q) = 1 – P(Q) Negation
*VdB&Suciu’17+
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+
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+
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+
Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))
Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))
Decomposable ∃-Rule
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)
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)) …
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
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y) The decomposable ∀-rule: P(∀z Q) = ΠA ∈Domain P(Q[A/z])
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])
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])
1 2 1 2 3
F = (x1 y1) ∧ (x2 y1) ∧ (x2 y3) ∧ (x1 y3) ∧ (x2 y2)
x y
1 2 1 2 3
F = (x1 y1) ∧ (x2 y1) ∧ (x2 y3) ∧ (x1 y3) ∧ (x2 y2)
x y
[Provan’83]
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)
[Dalvi&Suciu’04]
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)
Proof: PP2CNF: F = (Xi1 ∨ Yj1) ∧ (Xi2 ∨ Yj2 ) ∧ … reduce #F to computing P (H0) By example:
[Dalvi&Suciu’04]
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)
Proof: PP2CNF: F = (Xi1 ∨ Yj1) ∧ (Xi2 ∨ Yj2 ) ∧ … reduce #F to computing P (H0) By example:
F = (X1 ∨ Y1) ∧ (X1 ∨ Y2) ∧ (X2 ∨ Y2)
[Dalvi&Suciu’04]
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)
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)
[Dalvi&Suciu’04]
Probabilities (tuples not shown have P=1)
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)
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)
[Dalvi&Suciu’04]
Probabilities (tuples not shown have P=1)
H0 = ∀x∀y Smoker(x) ∨ Friend(x,y) ∨ Jogger(y)
[Dalvi and Suciu;JACM’11]
[Dalvi and Suciu;JACM’11]
[Dalvi and Suciu;JACM’11]
http://www.nowpublishers.com/article/Details/DBS-052
http://web.cs.ucla.edu/~guyvdb/talks/IJCAI16-tutorial/
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
P(Coauthor(Straus,Pauli)) = 0.01
P(Coauthor(Straus,Pauli| ) = 0.2
P(Coauthor(Straus,Pauli)| , ) = 0.3
P(Coauthor(Straus,Pauli)) = 0
P(Coauthor(Straus,Pauli| ) = 0.2
P(Coauthor(Straus,Pauli)| , ) = 0.3
[Ceylan, Darwiche, Van den Broeck; KR’16]
P(Coauthor(Straus,Pauli)) = 0
P(Coauthor(Straus,Pauli| ) = 0.2
P(Coauthor(Straus,Pauli)| , ) = 0.3
[Ceylan, Darwiche, Van den Broeck; KR’16]
P(Coauthor(Straus,Pauli)) = 0
P(Coauthor(Straus,Pauli| ) = 0.2
P(Coauthor(Straus,Pauli)| , ) = 0.3
[Ceylan, Darwiche, Van den Broeck; KR’16]
∃x Coauthor(Einstein,x) ∧ Coauthor(Erdos,x)
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)
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)
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)
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)
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)
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]
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]
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]
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]
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]
[Ceylan, Darwiche, Van den Broeck; KR’16]
x y P … … …
Sibling
[Ceylan, Darwiche, Van den Broeck; KR’16]
x y P … … …
Sibling
[Ceylan, Darwiche, Van den Broeck; KR’16]
x y P … … …
Sibling
[Ceylan, Darwiche, Van den Broeck; KR’16]
x y P … … …
Sibling
[Ceylan, Darwiche, Van den Broeck; KR’16]
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]
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]
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
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
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
Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))
Q = ∃x ∃y Scientist(x) ∧ Coauthor(x,y) P(Q) = 1 - ΠA ∈ Domain (1 - P(Scientist(A) ∧ ∃y Coauthor(A,y))
Decomposable ∃-Rule
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)) …
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
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)
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)) …
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)) …
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)) …
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)) …
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)) …
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)) …
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)) …
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)) …
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)) …
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)) …
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)) …
[Ceylan’16]
– 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]
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]
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]
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]
Rain Cloudy Model? T T Yes T F No F T Yes F F Yes #SAT = 3
+
Δ = (Rain ⇒ Cloudy)
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
Rain Cloudy Model? T T Yes T F No F T Yes F F Yes Δ = (Rain ⇒ Cloudy)
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)
Weight 1 * 3 = 3 2 * 3 = 6 2 * 5 = 10 WMC = 19
+
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)
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]
Probability that Card1 is Hearts? 1/4
[Van den Broeck; AAAI-KRR’15]
[Van den Broeck 2015]
[Van den Broeck 2015]
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]
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]
K♥ A♥ 2♥ 3♥
[VdB’15]
K♥ A♥ 2♥ 3♥
Card(K♥,p52)
[VdB’15]
K♥ A♥ 2♥ 3♥
[VdB’15]
K♥ A♥ 2♥ 3♥
[VdB’15]
K♥ A♥ 2♥ 3♥
Card(K♥,p52)
[VdB’15]
K♥ A♥ 2♥ 3♥
Card(K♥,p52)
[VdB’15]
K♥ A♥ 2♥ 3♥
[VdB’15]
K♥ A♥ 2♥ 3♥
[VdB’15]
[VdB’15]
[VdB’15]
[VdB’15]
For example: P(∀z Q) = P(Q[C1/z])|Domain|
[VdB’11]
For example: P(∀z Q) = P(Q[C1/z])|Domain|
The workhorse
[VdB’11]
[Van den Broeck 2015]
Δ = ∀x ,y ∈ People: Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
...
∀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]
...
∀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]
...
∀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]
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)) …
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)) …
X Y
Smokes(x) Gender(x) Young(x) Tall(x) Smokes(y) Gender(y) Young(y) Tall(y)
Properties Properties
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
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
“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.”
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
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
3.14 Smokes(x) ∧ Friends(x,y) ⇒ Smokes(y)
Markov Logic
[Van den Broeck,PhD’13]
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]
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?
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?
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?
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?
[Van Haaren et al.; MLJ’15+
Open-domain models (BLOG)
Credal sets, interval probability, qualitative uncertainty
Relational probabilistic reasoning is frontier and
We need
–
relational models and logic
–
probabilistic models and statistical learning
–
algorithms that scale
–
semantics makes sense
–
FREE for UCQs, expensive otherwise
–
deep connection to model counting
databases." Proceedings of KR (2016).
Synthesis Lectures on Data Management 3, no. 2 (2011): 1-180.
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.
base Construction using Statistical Learning and Inference." VLDS 12 (2012): 25-28.
(2016).
conjunctive queries." Journal of the ACM (JACM) 59, no. 6 (2012): 30.
probabilistic relational rules from probabilistic examples." In Proceedings of the 24th International Conference on Artificial Intelligence, pp. 1835-1843. AAAI Press, 2015.
Spring Symposium on KRR (2015).
perspective on efficient probabilistic inference." AAAI (2014).
probabilistic inference." In Advances in Neural Information Processing Systems, pp. 1386-
Knowledge Representation and Reasoning (KR). 2014.
inference and asymmetric weighted model counting." UAI, 2014.
counting." Artificial Intelligence 172.6 (2008): 772-799.
model counting." AAAI. Vol. 5. 2005.
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.
Dissertation, KU Leuven, 2013.
Foundations and Trends in Databases, Now Publishers, 2017
domains by weighted model integration." Proceedings of 24th International Joint Conference
probabilistic inference in hybrid domains." In Proceedings of the 31st Conference on Uncertainty in Artificial Intelligence (UAI). 2015.
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,