1/22
What do Shannon-type Inequalities, Submodular Width, and Disjunctive Datalog have to do with one another?
Mahmoud Abo Khamis1 Hung Q. Ngo1 Dan Suciu1,2
1LogicBlox Inc. 2University of Washington
What do Shannon-type Inequalities, Submodular Width, and - - PowerPoint PPT Presentation
What do Shannon-type Inequalities, Submodular Width, and Disjunctive Datalog have to do with one another? Mahmoud Abo Khamis 1 Hung Q. Ngo 1 Dan Suciu 1 , 2 1 LogicBlox Inc. 2 University of Washington PODS 2017 1/22 Contributions A Join
1/22
1LogicBlox Inc. 2University of Washington
2/22
2/22
◮ first to meet the Submodular Width bound!
2/22
◮ first to meet the Submodular Width bound! ◮ works for and relies on Disjunctive Datalog.
2/22
◮ first to meet the Submodular Width bound! ◮ works for and relies on Disjunctive Datalog. ◮ fully utilizes Functional DEPs and Degree Bounds.
2/22
◮ first to meet the Submodular Width bound! ◮ works for and relies on Disjunctive Datalog. ◮ fully utilizes Functional DEPs and Degree Bounds.
2/22
◮ first to meet the Submodular Width bound! ◮ works for and relies on Disjunctive Datalog. ◮ fully utilizes Functional DEPs and Degree Bounds.
◮ subsumes most known bounds.
2/22
◮ first to meet the Submodular Width bound! ◮ works for and relies on Disjunctive Datalog. ◮ fully utilizes Functional DEPs and Degree Bounds.
◮ subsumes most known bounds. ◮ extends them to Functional DEPs and Degree Bounds.
2/22
◮ first to meet the Submodular Width bound! ◮ works for and relies on Disjunctive Datalog. ◮ fully utilizes Functional DEPs and Degree Bounds.
◮ subsumes most known bounds. ◮ extends them to Functional DEPs and Degree Bounds.
3/22
4/22
5/22
5/22
5/22
5/22
5/22
5/22
5/22
5/22
5/22
x
5/22
x
6/22
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
◮ Functional Dependencies (FD):
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
◮ Functional Dependencies (FD):
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
◮ Functional Dependencies (FD):
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
◮ Functional Dependencies (FD):
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
◮ Functional Dependencies (FD):
6/22
◮ A[n] = {A1, . . . , An} is the full set of attributes ◮ AF = {Af | f ∈ F ⊆ [n]} is a subset
◮ Cardinality Constraints (CC):
◮ Functional Dependencies (FD):
7/22
7/22
7/22
7/22
7/22
n
8/22
n
8/22
n
n∩HDC h([n])
8/22
n
n∩HDC h([n])
8/22
n
n∩HDC h([n])
8/22
n
n∩HDC h([n])
9/22
10/22
10/22
10/22
10/22
10/22
10/22
10/22
10/22
10/22
10/22
10/22
10/22
11/22
11/22
11/22
11/22
11/22
11/22
11/22
12/22
def
T:T| =P max B∈B|TB|
12/22
def
T:T| =P max B∈B|TB|
n
∗ n
n
12/22
def
T:T| =P max B∈B|TB|
n
∗ n
n
12/22
def
T:T| =P max B∈B|TB|
n
∗ n
n
h∈Γ
∗ n∩HDC
B∈B h(B)
12/22
def
T:T| =P max B∈B|TB|
n
∗ n
n
h∈Γ
∗ n∩HDC
B∈B h(B)
h∈Γn∩HDC
B∈B h(B)
12/22
def
T:T| =P max B∈B|TB|
n
∗ n
n
h∈Γ
∗ n∩HDC
B∈B h(B)
(asymptotically tight!)
h∈Γn∩HDC
B∈B h(B)
13/22
14/22
14/22
◮ computes a model
14/22
◮ computes a model ◮ within the polymatroid bound:
14/22
◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model.
14/22
◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model.
14/22
◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model.
◮ Construct a Proof Sequence for the bound.
14/22
◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model.
◮ Construct a Proof Sequence for the bound. ◮ Interpret each proof step as an algorithmic step.
15/22
15/22
15/22
15/22
15/22
15/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
16/22
17/22
17/22
34 (A3, A4), R(h) 3
17/22
34 (A3, A4), R(h) 3
34 (A3, A4) → R(l) 34 (A3, A4)
17/22
34 (A3, A4), R(h) 3
34 (A3, A4) → R(l) 34 (A3, A4)
34 (A3, A4) → T234(A2, A3, A4)
17/22
34 (A3, A4), R(h) 3
34 (A3, A4) → R(l) 34 (A3, A4)
34 (A3, A4) → T234(A2, A3, A4)
17/22
34 (A3, A4), R(h) 3
34 (A3, A4) → R(l) 34 (A3, A4)
34 (A3, A4) → T234(A2, A3, A4)
3
18/22
19/22
19/22
19/22
19/22
19/22
19/22
19/22
19/22
19/22
19/22
20/22
20/22
20/22
20/22
20/22
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
21/22
def
(T,χ) max t∈V (T )ρ∗(χ(t)),
def
h∈ED∩Γn min (T,χ) max t∈V (T )h(χ(t))
22/22
X Y Z Γ
∗ n
Γn SAn HDC HCC ED · log N VD · log N
log2 VB(Q) log2 VB(Q) log2 VB(Q) ρ(Q) · log2 N ρ∗(Q) · log2 N ρ∗(Q) · log2 N ρ(Q, (NF)F∈E) log2 AGM(Q) log2 AGM(Q) DAPB(Q) DAEB(Q)
tw(Q) + 1 tw(Q) + 1 tw(Q) + 1 ghtw(Q) fhtw(Q) fhtw(Q) da-fhtw(Q) eda-fhtw(Q)
tw(Q) + 1 tw(Q) + 1 tw(Q) + 1 ghtw(Q) subw(Q) da-subw(Q) eda-subw(Q)