Shannon-type Inequalities, Submodular Width, and Disjunctive Datalog
Hung Q. Ngo
(Stealth Mode) With Mahmoud Abo Khamis and Dan Suciu @ PODS 2017
Shannon-type Inequalities, Submodular Width, and Disjunctive - - PowerPoint PPT Presentation
Shannon-type Inequalities, Submodular Width, and Disjunctive Datalog Hung Q. Ngo (Stealth Mode) With Mahmoud Abo Khamis and Dan Suciu @ PODS 2017 Table of Contents Connecting the Dots Output Size Bounds and Information Theory Shannon-flow
(Stealth Mode) With Mahmoud Abo Khamis and Dan Suciu @ PODS 2017
◮ Hypergraph H = ([n], E), E ⊆ 2[n]
◮ Hypergraph H = ([n], E), E ⊆ 2[n] ◮ Attribute Ai, i ∈ [n],
◮ Hypergraph H = ([n], E), E ⊆ 2[n] ◮ Attribute Ai, i ∈ [n],
◮ Relation RF (AF ) for each F ∈ E,
◮ e.g. R123 for R123(A1, A2, A3) ◮ e.g. T25 for T25(A2, A5)
◮ Hypergraph H = ([n], E), E ⊆ 2[n] ◮ Attribute Ai, i ∈ [n],
◮ Relation RF (AF ) for each F ∈ E,
◮ e.g. R123 for R123(A1, A2, A3) ◮ e.g. T25 for T25(A2, A5)
◮ Hypergraph H = ([n], E), E ⊆ 2[n] ◮ Attribute Ai, i ∈ [n],
◮ Relation RF (AF ) for each F ∈ E,
◮ e.g. R123 for R123(A1, A2, A3) ◮ e.g. T25 for T25(A2, A5)
// can all RF be satisfied at once?
◮ Hypergraph H = ([n], E), E ⊆ 2[n] ◮ Attribute Ai, i ∈ [n],
◮ Relation RF (AF ) for each F ∈ E,
◮ e.g. R123 for R123(A1, A2, A3) ◮ e.g. T25 for T25(A2, A5)
// can all RF be satisfied at once?
◮ Hypergraph H = ([n], E), E ⊆ 2[n] ◮ Attribute Ai, i ∈ [n],
◮ Relation RF (AF ) for each F ∈ E,
◮ e.g. R123 for R123(A1, A2, A3) ◮ e.g. T25 for T25(A2, A5)
// can all RF be satisfied at once?
◮ Assumption 1: query size ≪ data size
◮ Data complexity ◮ Fixed parameter tractability (e.g. parameter = some
function of query size) ˜ O(something) = O (f(|query|) · polylog(|data|) · something)
◮ Assumption 1: query size ≪ data size
◮ Data complexity ◮ Fixed parameter tractability (e.g. parameter = some
function of query size) ˜ O(something) = O (f(|query|) · polylog(|data|) · something)
◮ Assumption 2: known constraints on input relations
◮ Cardinalities of materialized relations,
◮ cardinality constraints (CC) ◮ Functional dependencies,
the more the merrier
◮ FD constraints (FDC) ◮ Degree bounds,
the more the merrier
◮ Degree constraints (DC)
Q : S() ← R12 ∧ R23 ∧ R34 ∧ R41 ∧ A1 + A2 = A3. H = ([4], {12, 23, 34, 14, 123}) A1 A3 A2 A4 R12 R23 R34 R41 A1 A2 2 1 4 1 4 2 5 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 e 6 e 7 A4 A1 3 2 4 4 4 5
◮ Cardinalities: |R12| = 4, |R23| = 3, . . .
Q : S() ← R12 ∧ R23 ∧ R34 ∧ R41 ∧ A1 + A2 = A3. H = ([4], {12, 23, 34, 14, 123}) A1 A3 A2 A4 R12 R23 R34 R41 A1 A2 2 1 4 1 4 2 5 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 e 6 e 7 A4 A1 3 2 4 4 4 5
◮ Cardinalities: |R12| = 4, |R23| = 3, . . . ◮ FD: {A1, A2} → A3, {A3, A2} → A1, . . .
Q : S() ← R12 ∧ R23 ∧ R34 ∧ R41 ∧ A1 + A2 = A3. H = ([4], {12, 23, 34, 14, 123}) A1 A3 A2 A4 R12 R23 R34 R41 A1 A2 2 1 4 1 4 2 5 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 e 6 e 7 A4 A1 3 2 4 4 4 5
◮ Cardinalities: |R12| = 4, |R23| = 3, . . . ◮ FD: {A1, A2} → A3, {A3, A2} → A1, . . . ◮ Degree Bounds: deg34(A4|A3 = x)
def
= |σA3=x(R34)| ≤ 2, ∀x, . . .
◮ Degree Constraints (DC):
◮ Degree Constraints (DC):
◮ Cardinality Constraints (CC):
|RF | ≤ N ⇔ degF (AF |A∅) ≤ NF |∅
def
= N.
◮ Degree Constraints (DC):
◮ Cardinality Constraints (CC):
|RF | ≤ N ⇔ degF (AF |A∅) ≤ NF |∅
def
= N.
◮ Functional Dependencies (FDC):
AX → AY ⇔ degF (AY |AX) ≤ NY |X
def
= 1.
Bounded Treewidth Bounded (generalized) Hypertree Width Bounded fractional edge cover number Bounded fractional hypertree width Bounded submodular width
Bounded Treewidth Bounded (generalized) Hypertree Width Bounded fractional edge cover number Bounded fractional hypertree width Bounded submodular width
Database D
Datalog rule Qi
Qi(D)
RF Output Answer A propositional formula on relations Tj, j ∈ J iTime
Qo
O
Database D
Datalog rule Qi
Qi(D)
RF Output Answer A propositional formula on relations Tj, j ∈ J iTime
Qo
O
Database D
Datalog rule Qi
Qi(D)
RF Output Answer A propositional formula on relations Tj, j ∈ J iTime
Qo
O
◮ i.e. Qo evaluatable in linear time
Database D
Datalog rule Qi
Qi(D)
RF Output Answer A propositional formula on relations Tj, j ∈ J iTime
Qo
O
◮ i.e. Qo evaluatable in linear time
D| =DC |Qi(D)|
Database D
Datalog rule Qi
Qi(D)
RF Output Answer A propositional formula on relations Tj, j ∈ J iTime
Qo
O
◮ i.e. Qo evaluatable in linear time
D| =DC |Qi(D)|
◮ i.e. Qi evaluatable within its worst-case output size
Database D
Datalog rule Qi
Qi(D)
RF Output Answer A propositional formula on relations Tj, j ∈ J iTime
Qo
O
◮ i.e. Qo evaluatable in linear time
D| =DC |Qi(D)|
◮ i.e. Qi evaluatable within its worst-case output size
◮ Design Qi s.t. (a) holds and (b) as small as possible
Database D
Full conjunctive query Qi
Qi(D)
RF Output Answer T[n] iTime
Qo
Database D
Full conjunctive query Qi
Qi(D)
RF Output Answer T[n] iTime
Qo
◮ oTime = |Qi(D)| + |answer|
Database D
Full conjunctive query Qi
Qi(D)
RF Output Answer T[n] iTime
Qo
◮ oTime = |Qi(D)| + |answer|
◮ iTime = max D| =DC |Qi(D)|
◮ Known if all DC are cardinality constraints ◮ NPRR [Ngo, Porat, R´
e, Rudra PODS’12]
◮ Leapfrog-Triejoin [Veldhuizen ICDT’14] ◮ Generic Join [Ngo, R´
e, Rudra SIGMOD Records 2013]
◮ Unknown for general DC until our work
b, c, e bag a, b, c, d bag b, e, f, g, h bag h, i, j bag e, b, k bag
b, c, e bag a, b, c, d bag b, e, f, g, h bag h, i, j bag e, b, k bag
◮ Every relation is covered by some bag
b, c, e bag a, b, c, d bag b, e, f, g, h bag h, i, j bag e, b, k bag
◮ Every relation is covered by some bag
b , c, e
bag a, b , c, d bag
b , e, f, g, h
bag h, i, j bag e, b , k bag
◮ Every relation is covered by some bag ◮ Bags conntaining a given variable are connected
◮ Hypergraph H = ([n], E) ◮ A Tree Decomposition of H is a pair (T , χ) where
◮ T = (V (T ), E(T )) is a tree
◮ Hypergraph H = ([n], E) ◮ A Tree Decomposition of H is a pair (T , χ) where
◮ T = (V (T ), E(T )) is a tree ◮ χ : V (T ) → 2[n] assigns a bag χ(v) to each tree-node v ◮ Every hyperedge F ∈ E is covered by some bag (F ⊆ χ(v)) ◮ Bags containing ∀i ∈ [n] forms a subtree
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮ Qi(D) is Olteanu’s factorized database (FDB)
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮ Qi(D) is Olteanu’s factorized database (FDB) ◮ oTime = |Qi(D)| + |answer|
◮ Yannakakis for join, FDB/InsideOut for aggregates
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮ Qi(D) is Olteanu’s factorized database (FDB) ◮ oTime = |Qi(D)| + |answer|
◮ Yannakakis for join, FDB/InsideOut for aggregates
◮ iTime = max D| =DC |Qi(D)| ≤ max D| =DC max v∈V (T ) |Pv(D)|
◮ Pv : Tχ(v) ←
RF v ∈ V (T )
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮ Qi(D) is Olteanu’s factorized database (FDB) ◮ oTime = |Qi(D)| + |answer|
◮ Yannakakis for join, FDB/InsideOut for aggregates
◮ iTime = max D| =DC |Qi(D)| ≤ max D| =DC max v∈V (T ) |Pv(D)|
◮ Pv : Tχ(v) ←
RF v ∈ V (T )
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮ Qi(D) is Olteanu’s factorized database (FDB) ◮ oTime = |Qi(D)| + |answer|
◮ Yannakakis for join, FDB/InsideOut for aggregates
◮ iTime = max D| =DC |Qi(D)| ≤ max D| =DC max v∈V (T ) |Pv(D)|
◮ Pv : Tχ(v) ←
RF v ∈ V (T )
(T ,χ) max D| =CC max v∈V (T ) |Pv(D)| ≤ Nfhtw(H) ≤ Nghtw(H) ≤ Ntw(H)+1
Database D
Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮
Database D
Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮
◮ oTime = |Qi(D)| + |answer|
◮ Union of Yannakakis on all TDs
Database D
How to evaluate this? Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
◮
◮ oTime = |Qi(D)| + |answer|
◮ Union of Yannakakis on all TDs
◮ iTime = max D| =DC |Qi(D)| ≤
A1 A3 A2 A4 R12 R23 R34 R41
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A1 A4 A3 A2 A3 A4 A2 A1 A4
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A1 A4 A3 A2 A3 A4 A2 A1 A4
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A1 A4 A3 A2 A3 A4 A2 A1 A4
Database D
Multiple Disjunctive Datalog Rules! Qi
Qi(D)
RF Output Answer
TB iTime
Qo
◮ oTime = |Qi(D)| + |answer|
◮ Union of Yannakakis on all TDs
◮ iTime = max D| =DC |Qi(D)| ≤ max D| =DC max B
◮ PB :
TB ←
RF disjunctive datalog rule
Database D
Multiple Disjunctive Datalog Rules! Qi
Qi(D)
RF Output Answer
TB iTime
Qo
◮ oTime = |Qi(D)| + |answer|
◮ Union of Yannakakis on all TDs
◮ iTime = max D| =DC |Qi(D)| ≤ max D| =DC max B
◮ PB :
TB ←
RF disjunctive datalog rule
D| =CC max B
P123,124 : T123 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,124 : T134 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,234 : T134 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41
D| =DC |Qi(D)| = N2
P123,124 : T123 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,124 : T134 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,234 : T134 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41
D| =DC |Qi(D)| = N2
D| =DC |Qi(D)| = N2
P123,124 : T123 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,124 : T134 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,234 : T134 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41
D| =DC |Qi(D)| = N2
D| =DC |Qi(D)| = N2
D| =DC |Qi(D)| = N3/2
P123,124 : T123 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,124 : T134 ∨ T124 ← R12 ∧ R23 ∧ R34 ∧ R41 P134,234 : T134 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41
D| =DC |P(D)|
D| =DC |P(D)|
D| =DC |P(D)|
D| =DC log |P(D)| ≤ some function of h
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 A1 A2 a 1 1/4 b 1 2/4 b 2 1/4 A2 A3 1 c 1/4 1 d 2/4 2 c 1/4 A3 A4 c 3 2/4 d 4 2/4 d 5 A4 A1 3 b 2/4 4 a 1/4 4 b 1/4
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 Hunif(A1A2A3A4) = log |Q| A1 A2 a 1 1/4 b 1 2/4 b 2 1/4 A2 A3 1 c 1/4 1 d 2/4 2 c 1/4 A3 A4 c 3 2/4 d 4 2/4 d 5 A4 A1 3 b 2/4 4 a 1/4 4 b 1/4
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 Hunif(A1A2A3A4) = log |Q| A1 A2 a 1 1/4 b 1 2/4 b 2 1/4 A2 A3 1 c 1/4 1 d 2/4 2 c 1/4 A3 A4 c 3 2/4 d 4 2/4 d 5 A4 A1 3 b 2/4 4 a 1/4 4 b 1/4 Hunif(A1A2) ≤ log |R12|, Hunif(A2A3) ≤ log |R23|, Hunif(A3A4) ≤ log |R34|, ...
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 Hunif(A1A2A3A4) = log |Q| A1 A2 a 1 1/4 b 1 2/4 b 2 1/4 A2 A3 1 c 1/4 1 d 2/4 2 c 1/4 A3 A4 c 3 2/4 d 4 2/4 d 5 A4 A1 3 b 2/4 4 a 1/4 4 b 1/4 Hunif(A1A2) ≤ log |R12|, Hunif(A2A3) ≤ log |R23|, Hunif(A3A4) ≤ log |R34|, ... Hunif(A2|A1 = ‘a’) ≤ log
Hunif(A2|A1 = ‘b’) ≤ log
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 Hunif(A1A2A3A4) = log |Q| A1 A2 a 1 1/4 b 1 2/4 b 2 1/4 A2 A3 1 c 1/4 1 d 2/4 2 c 1/4 A3 A4 c 3 2/4 d 4 2/4 d 5 A4 A1 3 b 2/4 4 a 1/4 4 b 1/4 Hunif(A1A2) ≤ log |R12|, Hunif(A2A3) ≤ log |R23|, Hunif(A3A4) ≤ log |R34|, ... Hunif(A2|A1 = ‘a’) ≤ log
Hunif(A2|A1 = ‘b’) ≤ log
Hunif(A2|A1) ≤ log max
x
Q(A1, A2, A3, A4) ← R12 ∧ R23 ∧ R34 ∧ R41. A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 A3 A4 a 1 d 4 1/4 b 1 c 3 1/4 b 1 d 4 1/4 b 2 c 3 1/4 Hunif(A1A2A3A4) = log |Q| A1 A2 a 1 1/4 b 1 2/4 b 2 1/4 A2 A3 1 c 1/4 1 d 2/4 2 c 1/4 A3 A4 c 3 2/4 d 4 2/4 d 5 A4 A1 3 b 2/4 4 a 1/4 4 b 1/4 Hunif(A1A2) ≤ log |R12|, Hunif(A2A3) ≤ log |R23|, Hunif(A3A4) ≤ log |R34|, ... Hunif(A2|A1 = ‘a’) ≤ log
Hunif(A2|A1 = ‘b’) ≤ log
Hunif(A2|A1) ≤ log max
x
◮ Q : T[n] ←
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n])
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n]) ◮ subject to (whatever Hunif satisfies):
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n]) ◮ subject to (whatever Hunif satisfies):
◮ h is Entropic
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n]) ◮ subject to (whatever Hunif satisfies):
◮ h is Entropic ◮ There is some distribution on A[n] such that h(X) is the
marginal entropy on AX, for all X
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n]) ◮ subject to (whatever Hunif satisfies):
◮ h is Entropic ◮ There is some distribution on A[n] such that h(X) is the
marginal entropy on AX, for all X
◮ h satisfies DC
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n]) ◮ subject to (whatever Hunif satisfies):
◮ h is Entropic ◮ There is some distribution on A[n] such that h(X) is the
marginal entropy on AX, for all X
◮ h satisfies DC ◮ h(Y |X) def
= h(Y ) − h(X) ≤ log NY |X, X ⊂ Y ⊆ F ∈ E
◮ Q : T[n] ←
◮
D| =DC log |Q(D)| ≤ sup h([n]) ◮ subject to (whatever Hunif satisfies):
◮ h is Entropic ◮ There is some distribution on A[n] such that h(X) is the
marginal entropy on AX, for all X
◮ h satisfies DC ◮ h(Y |X) def
= h(Y ) − h(X) ≤ log NY |X, X ⊂ Y ⊆ F ∈ E
◮ Good Bound, but not computable!
∗ n: topological closure of Γ∗ n
n = {h : h is entropic}
◮ HDC def
◮ HDC def
D| =DC log |Q(D)| ≤
h∈Γ∗
n∩HDC
h∈Γn∩HDC h([n])
h∈SAn∩HDC h([n])
Bound Entropic Bound Polymatroid Bound Definition
h∈Γ∗
n∩HDC h([n])
h∈Γn∩HDC h([n])
Bound Entropic Bound Polymatroid Bound Definition
h∈Γ∗
n∩HDC h([n])
h∈Γn∩HDC h([n])
CC only AGM bound (Tight) AGM bound (Tight)
[Atserias et al. FOCS’08] [Atserias et al. FOCS’08]
Bound Entropic Bound Polymatroid Bound Definition
h∈Γ∗
n∩HDC h([n])
h∈Γn∩HDC h([n])
CC only AGM bound (Tight) AGM bound (Tight)
[Atserias et al. FOCS’08] [Atserias et al. FOCS’08]
CC + FD only Entropic Bound for FD Polymatroid Bound for FD
[Gottlob et al. JACM’12] [Gottlob et al. JACM’12]
(Tight [Gogacz et al. ICDT’17]) (Not tight
[our work] )
Bound Entropic Bound Polymatroid Bound Definition
h∈Γ∗
n∩HDC h([n])
h∈Γn∩HDC h([n])
CC only AGM bound (Tight) AGM bound (Tight)
[Atserias et al. FOCS’08] [Atserias et al. FOCS’08]
CC + FD only Entropic Bound for FD Polymatroid Bound for FD
[Gottlob et al. JACM’12] [Gottlob et al. JACM’12]
(Tight [Gogacz et al. ICDT’17]) (Not tight
[our work] )
DC Entropic Bound for DC Polymatroid Bound for DC (Tight
[our work] )
(Not tight
[our work] )
T:T| =P max B∈B |TB|
D| =DC log |P(D)| ≤
h∈Γ∗
n∩HDC
B∈B h(B)
h∈Γn∩HDC min B∈B h(B)
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41.
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41. max
D| =CC log |P123,234(D)| ≤
max
h∈Γn∩CC min{h(A1A2A3), h(A2A3A4)}
≤ max
h∈Γn∩CC
1 2[h(A1A2A3), h(A2A3A4)] ≤ max
h∈Γn∩CC
1 2[h(A1A2) + h(A2A3) + h(A3A4)] ≤ 3 2 log N.
D| =DC log |P(D)| ≤
h∈Γn∩HDC min B∈B h(B) = polymatroid bound.
h∈Γn∩HDC min B∈B h(B) =
h∈Γn∩HDC
h∈Γn∩HDC min B∈B h(B) =
h∈Γn∩HDC
δY |X Y |X , and
h∈Γn∩HDC min B∈B h(B) =
h∈Γn∩HDC
δY |X Y |X , and
◮ What?
◮ Compute a model for our disjunctive datalog rule ◮ Run within ˜
O
= ˜ O
N
δY |X Y |X
:
◮ What?
◮ Compute a model for our disjunctive datalog rule ◮ Run within ˜
O
= ˜ O
N
δY |X Y |X
:
◮ How? Proof as symbolic instructions
◮ Construct a Proof Sequence for the corresponding
Shannon-flow inequality
◮ Proof steps → relational operators.
|R12|, |R23|, |R34|, |R41| ≤ N
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
|R12|, |R23|, |R34|, |R41| ≤ N ⇒ |P| ≤ N 3/2 log |P| ≤ min(h(A1A2A3), h(A2A3A4)) (polymatroid bound) ≤ 1 2
≤ 1 2
≤ 3 2 log N (Cardinality constraints)
Proof sequence Proof Step h(A1A2) + h(A2A3) + h(A3A4)
h(A3A4) → h(A4|A3) + h(A3) h(A4|A3) → h(A4|A2A3) h(A2A3) + h(A4|A2A3) → h(A2A3A4) h(A1A2) → h(A1A2|A3) h(A1A2|A3) + h(A3) → h(A1A2A3)
h(A3A4) → h(A4|A3) + h(A3) h(A4|A3) → h(A4|A2A3) h(A2A3) + h(A4|A2A3) → h(A2A3A4) h(A1A2) → h(A1A2|A3) h(A1A2|A3) + h(A3) → h(A1A2A3) R34(A3, A4) → R(ℓ)
34 (A3, A4), R(h) 3
(A3)
h(A3A4) → h(A4|A3) + h(A3) h(A4|A3) → h(A4|A2A3) h(A2A3) + h(A4|A2A3) → h(A2A3A4) h(A1A2) → h(A1A2|A3) h(A1A2|A3) + h(A3) → h(A1A2A3) R34(A3, A4) → R(ℓ)
34 (A3, A4), R(h) 3
(A3) R(ℓ)
34 (A3, A4) → R(ℓ) 34 (A3, A4)
h(A3A4) → h(A4|A3) + h(A3) h(A4|A3) → h(A4|A2A3) h(A2A3) + h(A4|A2A3) → h(A2A3A4) h(A1A2) → h(A1A2|A3) h(A1A2|A3) + h(A3) → h(A1A2A3) R34(A3, A4) → R(ℓ)
34 (A3, A4), R(h) 3
(A3) R(ℓ)
34 (A3, A4) → R(ℓ) 34 (A3, A4)
R23(A2, A3) ✶ R(ℓ)
34 (A3, A4) → T234(A2, A3, A4)
h(A3A4) → h(A4|A3) + h(A3) h(A4|A3) → h(A4|A2A3) h(A2A3) + h(A4|A2A3) → h(A2A3A4) h(A1A2) → h(A1A2|A3) h(A1A2|A3) + h(A3) → h(A1A2A3) R34(A3, A4) → R(ℓ)
34 (A3, A4), R(h) 3
(A3) R(ℓ)
34 (A3, A4) → R(ℓ) 34 (A3, A4)
R23(A2, A3) ✶ R(ℓ)
34 (A3, A4) → T234(A2, A3, A4)
R12(A1, A2) → R12(A1, A2)
h(A3A4) → h(A4|A3) + h(A3) h(A4|A3) → h(A4|A2A3) h(A2A3) + h(A4|A2A3) → h(A2A3A4) h(A1A2) → h(A1A2|A3) h(A1A2|A3) + h(A3) → h(A1A2A3) R34(A3, A4) → R(ℓ)
34 (A3, A4), R(h) 3
(A3) R(ℓ)
34 (A3, A4) → R(ℓ) 34 (A3, A4)
R23(A2, A3) ✶ R(ℓ)
34 (A3, A4) → T234(A2, A3, A4)
R12(A1, A2) → R12(A1, A2) R12(A1, A2) ✶ R(h)
3
(A3) → T123(A1, A2, A3)
D| =DC log |P(D)| ≤
h∈Γn∩HDC min B∈B h(B)
Database D
Full conjunctive query Qi
Qi(D)
RF Output Answer T[n] iTime
Qo
D| =DC |Qi(D)| ≤
h∈Γn∩HDC 2h([n]) = PANDA’s runtime
Database D
Multiple Conjunctive Rules Qi
Qi(D)
RF Output Answer
Tχ(v) iTime
Qo
D| =DC |Qi(D)| ≤ max D| =DC max v∈V (T ) |Pv(D)|
(T ,χ) max v∈V (T )
h∈Γn∩CC h(χ(v)) ≤ log N · fhtw(Q)
Database D
Multiple Disjunctive Datalog Rules! Qi
Qi(D)
RF Output Answer
TB iTime
Qo
D| =DC log |Qi(D)| ≤ max D| =DC max B
B
h∈Γn∩HDC min B∈B h(B) =
h∈Γn∩HDC max B
B∈B h(B)
h∈Γn∩HDC max (T ,χ) min v∈V (T ) h(χ(v)) = log(PANDA’s runtime)
h∈Γn∩HDC max (T ,χ) min v∈V (T ) h(χ(v)) ≤ log N · subw(Q)
◮ X ∈ {Γ ∗ n, Γn, SAn} ◮ Y ∈ {HDC, HFD, HCC, log N · ED, log N · VD}
h∈X∩Y min B∈B h(B)
(T ,χ) max v∈V (T ) max h∈X∩Y h(χ(v)),
h∈X∩Y min (T ,χ) max v∈V (T ) h(χ(v)).
X Y Z Γ
∗ n
Γn SAn HDC HCC ED · log N VD · log N
LogSizeBoundX∩Y (Q)
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)
MinimaxwidthX∩Y (Q)
tw(Q) + 1 tw(Q) + 1 tw(Q) + 1 ghtw(Q) fhtw(Q) fhtw(Q) da-fhtw(Q) eda-fhtw(Q)
MaximinwidthX∩Y (Q)
tw(Q) + 1 tw(Q) + 1 tw(Q) + 1 ghtw(Q) subw(Q) da-subw(Q) eda-subw(Q)
◮ Is the entropic bound computable under CC ∪ HDC or DC?
◮ Is the entropic bound computable under CC ∪ HDC or DC? ◮ Worst-case optimal algorithm for full conjunctive queries
◮ Is the entropic bound computable under CC ∪ HDC or DC? ◮ Worst-case optimal algorithm for full conjunctive queries
◮ Worst-case optimal algorithm for disjunctive datalog
◮ Is the entropic bound computable under CC ∪ HDC or DC? ◮ Worst-case optimal algorithm for full conjunctive queries
◮ Worst-case optimal algorithm for disjunctive datalog
◮ Remove the annoying poly-log factor from PANDA
◮ Is the entropic bound computable under CC ∪ HDC or DC? ◮ Worst-case optimal algorithm for full conjunctive queries
◮ Worst-case optimal algorithm for disjunctive datalog
◮ Remove the annoying poly-log factor from PANDA ◮ Other choices for the propositional formula in the Meta
◮ Is the entropic bound computable under CC ∪ HDC or DC? ◮ Worst-case optimal algorithm for full conjunctive queries
◮ Worst-case optimal algorithm for disjunctive datalog
◮ Remove the annoying poly-log factor from PANDA ◮ Other choices for the propositional formula in the Meta
◮ What about negations?
A1 A3 A2 A4 R12 R23 R34 R41
A1 A3 A2 A4 R12 R23 R34 R41
A1 A3 A2 A4 R12 R23 R34 R41
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4 1 c 3 2 d 4
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4 1 c 3 2 d 4
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4 1 c 3 2 d 4
Inclusive Disjunction
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4 1 c 3 2 d 4
No minimal model requirement
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4 1 c 3 2 d 4
Model size is max(|T123|, |T234|) = 3
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4 1 c 3 2 d 4
Output size is the minimum over all models
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4
A minimum-sized model of size 2
A1 A3 A2 A4 R12 R23 R34 R41
A1 A2 a 1 b 1 b 2 A2 A3 1 c 1 d 2 c A3 A4 c 3 d 4 d 5 A4 A1 3 b 4 a 4 b A1 A2 A3 A4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 A1 A2 A3 b 1 c b 2 c A2 A3 A4 1 d 4
A minimum-sized model of size 2 Hence, the output size is 2
T:T| =P max B∈B |TB|
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N.
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. ◮ P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41.
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. ◮ P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41. max
D| =CC |P123,234(D)| ≤ N 3/2
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. ◮ P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41. max
D| =CC |P123,234(D)| ≤ N 3/2
◮ P ′ : T123 ← R12 ∧ R23 ∧ R34 ∧ R41.
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. ◮ P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41. max
D| =CC |P123,234(D)| ≤ N 3/2
◮ P ′ : T123 ← R12 ∧ R23 ∧ R34 ∧ R41. |P ′(D)| = N 2 , for some D
T:T| =P max B∈B |TB|
A1 A3 A2 A4 R12 R23 R34 R41
CC : |R12| ≤ N, |R23| ≤ N, |R34| ≤ N, |R41| ≤ N. ◮ P123,234 : T123 ∨ T234 ← R12 ∧ R23 ∧ R34 ∧ R41. max
D| =CC |P123,234(D)| ≤ N 3/2
◮ P ′ : T123 ← R12 ∧ R23 ∧ R34 ∧ R41. |P ′(D)| = N 2 , for some D Using Option 3, 4-cycle query answerable in ˜ O(N 3/2)-time, matching [Alon, Yuster, Zwick’97]
Q(A1, A2, A3, A4) ← R12(A1, A2), R23(A2, A3), R34(A3, A4), R41(A4, A1). A1 A3 A2 A4 R12 R23 R34 R41
◮ |R12|, |R23|, |R34|, |R41| ≤ N
|Q| ≤ N 2
Q(A1, A2, A3, A4) ← R12(A1, A2), R23(A2, A3), R34(A3, A4), R41(A4, A1). A1 A3 A2 A4 R12 R23 R34 R41
◮ |R12|, |R23|, |R34|, |R41| ≤ N
|Q| ≤ N 2
log |Q| = h(A1A2A3A4) ≤ h(A1A2) + h(A3A4) ≤ 2 log N
Q(A1, A2, A3, A4) ← R12(A1, A2), R23(A2, A3), R34(A3, A4), R41(A4, A1). A1 A3 A2 A4 R12 R23 R34 R41
◮ |R12|, |R23|, |R34|, |R41| ≤ N
|Q| ≤ N 2
log |Q| = h(A1A2A3A4) ≤ h(A1A2) + h(A3A4) ≤ 2 log N ◮ deg12(A1A2|A1), deg12(A1A2|A2) ≤ D
|Q| ≤ D · N 3/2
Q(A1, A2, A3, A4) ← R12(A1, A2), R23(A2, A3), R34(A3, A4), R41(A4, A1). A1 A3 A2 A4 R12 R23 R34 R41
◮ |R12|, |R23|, |R34|, |R41| ≤ N
|Q| ≤ N 2
log |Q| = h(A1A2A3A4) ≤ h(A1A2) + h(A3A4) ≤ 2 log N ◮ deg12(A1A2|A1), deg12(A1A2|A2) ≤ D
|Q| ≤ D · N 3/2
2 log |Q| = 2h(A1A2A3A4) ≤ h(A2A3) + h(A3A4) + h(A4A1) + h(A2|A1) + h(A1|A2) ≤ 3 log N + 2 log D
Q(A1, A2, A3, A4) ← R12(A1, A2), R23(A2, A3), R34(A3, A4), R41(A4, A1). A1 A3 A2 A4 R12 R23 R34 R41
◮ |R12|, |R23|, |R34|, |R41| ≤ N
|Q| ≤ N 2
log |Q| = h(A1A2A3A4) ≤ h(A1A2) + h(A3A4) ≤ 2 log N ◮ deg12(A1A2|A1), deg12(A1A2|A2) ≤ D
|Q| ≤ D · N 3/2
2 log |Q| = 2h(A1A2A3A4) ≤ h(A2A3) + h(A3A4) + h(A4A1) + h(A2|A1) + h(A1|A2) ≤ 3 log N + 2 log D ◮ A1 → A2,
A2 → A1 |Q| ≤ N 3/2
◮ Take a non-Shannon inequality (modified from
[Zhang-Yeung’98])
11h(ABXY C) ≤ 3h(XY ) + 3h(AX) + 3h(AY ) + h(BX) + h(BY ) + 5h(C) + h(ABXY C|AB) + h(ABXY C|AC) + 4h(ABXY C|AXY ) + h(ABXY C|BXY ) + 2h(ABXY C|XC) + 2h(ABXY C|Y C) (3)
◮ Take a non-Shannon inequality (modified from
[Zhang-Yeung’98])
11h(ABXY C) ≤ 3h(XY ) + 3h(AX) + 3h(AY ) + h(BX) + h(BY ) + 5h(C) + h(ABXY C|AB) + h(ABXY C|AC) + 4h(ABXY C|AXY ) + h(ABXY C|BXY ) + 2h(ABXY C|XC) + 2h(ABXY C|Y C) (3) ◮ Construct a query Q where (3) gives the (entropic) bound
11 log |Q| = 11h(ABXY C) ≤ 11 log N 3 + 5 log N 2 = 43 log N
◮ Take a non-Shannon inequality (modified from
[Zhang-Yeung’98])
11h(ABXY C) ≤ 3h(XY ) + 3h(AX) + 3h(AY ) + h(BX) + h(BY ) + 5h(C) + h(ABXY C|AB) + h(ABXY C|AC) + 4h(ABXY C|AXY ) + h(ABXY C|BXY ) + 2h(ABXY C|XC) + 2h(ABXY C|Y C) (3) ◮ Construct a query Q where (3) gives the (entropic) bound
11 log |Q| = 11h(ABXY C) ≤ 11 log N 3 + 5 log N 2 = 43 log N
◮ Construct a polymatroid h satisfying Q’s constraints such that
11h(ABXY C) = 44 log N
◮ Output-sensitive algorithms
◮ Output-sensitive algorithms
◮ Output-sensitive algorithms
◮ Output-sensitive algorithms
Output Cost
◮ Output-sensitive algorithms
Output Cost
◮ Submodular width as a candidate for d
◮ Output-sensitive algorithms
Output Cost
◮ Submodular width as a candidate for d
◮ Output-sensitive algorithms
Output Cost
◮ Submodular width as a candidate for d
◮ Output-sensitive algorithms
Output Cost
◮ Submodular width as a candidate for d
◮ Output-sensitive algorithms
Output Cost
◮ Submodular width as a candidate for d
◮ Our goals
◮ Output-sensitive algorithms
Output Cost
◮ Submodular width as a candidate for d
◮ Our goals
def
(T,χ)
t∈V (T)
def
(T,χ)
t∈V (T)
(T,χ)
t∈V (T)
h∈ED∩Γnh(χ(t))
def
(T,χ)
t∈V (T)
(T,χ)
t∈V (T)
h∈ED∩Γnh(χ(t))
(T,χ)
h∈ED∩Γn
t∈V (T)
def
(T,χ)
t∈V (T)
(T,χ)
t∈V (T)
h∈ED∩Γnh(χ(t))
(T,χ)
h∈ED∩Γn
t∈V (T)
def
h∈ED∩Γn
(T,χ)
t∈V (T)
def
(T,χ)
t∈V (T)
(T,χ)
t∈V (T)
h∈ED∩Γnh(χ(t))
(T,χ)
h∈ED∩Γn
t∈V (T)
def
h∈ED∩Γn
(T,χ)
t∈V (T)