Size Bounds: Input ◮ A full conjunctive query � Q ( A [ n ] ) :- R F ( A F ) F ∈E ◮ A [ n ] = { A 1 , . . . , A n } is the full set of attributes ◮ A F = { A f | f ∈ F ⊆ [ n ] } is a subset ◮ Degree Constraints ( DC ): deg F ( A Y | A X ) ≤ N Y | X , X ⊂ Y ⊆ F ∈ E ◮ Cardinality Constraints ( CC ): | R F | ≤ N F |∅ ◮ Functional Dependencies ( FD ): A X → A Y Bound Idea 6/22
Size Bounds: Input ◮ A full conjunctive query � Q ( A [ n ] ) :- R F ( A F ) F ∈E ◮ A [ n ] = { A 1 , . . . , A n } is the full set of attributes ◮ A F = { A f | f ∈ F ⊆ [ n ] } is a subset ◮ Degree Constraints ( DC ): deg F ( A Y | A X ) ≤ N Y | X , X ⊂ Y ⊆ F ∈ E ◮ Cardinality Constraints ( CC ): | R F | ≤ N F |∅ ◮ Functional Dependencies ( FD ): A X → A Y Bound Idea log | Q | ≤ maximum h ( A 1 , . . . , A n ) 6/22
Size Bounds: Input ◮ A full conjunctive query � Q ( A [ n ] ) :- R F ( A F ) F ∈E ◮ A [ n ] = { A 1 , . . . , A n } is the full set of attributes ◮ A F = { A f | f ∈ F ⊆ [ n ] } is a subset ◮ Degree Constraints ( DC ): deg F ( A Y | A X ) ≤ N Y | X , X ⊂ Y ⊆ F ∈ E ◮ Cardinality Constraints ( CC ): | R F | ≤ N F |∅ ◮ Functional Dependencies ( FD ): A X → A Y Bound Idea log | Q | ≤ maximum h ( A 1 , . . . , A n ) over all entropies h 6/22
Size Bounds: Input ◮ A full conjunctive query � Q ( A [ n ] ) :- R F ( A F ) F ∈E ◮ A [ n ] = { A 1 , . . . , A n } is the full set of attributes ◮ A F = { A f | f ∈ F ⊆ [ n ] } is a subset ◮ Degree Constraints ( DC ): deg F ( A Y | A X ) ≤ N Y | X , X ⊂ Y ⊆ F ∈ E ◮ Cardinality Constraints ( CC ): | R F | ≤ N F |∅ ◮ Functional Dependencies ( FD ): A X → A Y Bound Idea log | Q | ≤ maximum h ( A 1 , . . . , A n ) over all entropies h such that h satisfies degree constraints of Q 6/22
Size Bounds: Preliminaries ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints HDC def � � = h | h ( Y | X ) ≤ log N Y | X , ∀ ( X, Y, N Y | X ) 7/22
Size Bounds: Preliminaries ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints HDC def � � = h | h ( Y | X ) ≤ log N Y | X , ∀ ( X, Y, N Y | X ) ◮ Γ ∗ n is the set of entropic functions 7/22
Size Bounds: Preliminaries ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints HDC def � � = h | h ( Y | X ) ≤ log N Y | X , ∀ ( X, Y, N Y | X ) ◮ Γ ∗ n is the set of entropic functions ∗ n is the topological closure of Γ ∗ ◮ Γ n 7/22
Size Bounds: Preliminaries ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints HDC def � � = h | h ( Y | X ) ≤ log N Y | X , ∀ ( X, Y, N Y | X ) ◮ Γ ∗ n is the set of entropic functions ∗ n is the topological closure of Γ ∗ ◮ Γ n ◮ Γ n is the set of polymatroids , i.e. functions h : 2 [ n ] → R + satisfying h ( X ∪ Y ) + h ( X ∩ Y ) ≤ h ( X ) + h ( Y ) , X, Y ⊆ [ n ] (submodularity) h ( X ) ≤ h ( Y ) , X ⊆ Y ⊆ [ n ] (monotonicity) h ( ∅ ) = 0 (strictness) 7/22
Size Bounds: Preliminaries ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints HDC def � � = h | h ( Y | X ) ≤ log N Y | X , ∀ ( X, Y, N Y | X ) ◮ Γ ∗ n is the set of entropic functions ∗ n is the topological closure of Γ ∗ ◮ Γ n ◮ Γ n is the set of polymatroids , i.e. functions h : 2 [ n ] → R + satisfying h ( X ∪ Y ) + h ( X ∩ Y ) ≤ h ( X ) + h ( Y ) , X, Y ⊆ [ n ] (submodularity) h ( X ) ≤ h ( Y ) , X ⊆ Y ⊆ [ n ] (monotonicity) h ( ∅ ) = 0 (strictness) ∗ Γ ∗ ⊂ Γ ⊂ Γ n n n ���� ���� ���� topological closure of Γ ∗ polymatroids entropic functions n 7/22
Size Bounds for Full Conjunctive Queries ∗ Γ ∗ ⊂ Γ ⊂ Γ n n n ���� ���� ���� topological closure of Γ ∗ polymatroids entropic functions n 8/22
Size Bounds for Full Conjunctive Queries ∗ Γ ∗ ⊂ Γ ⊂ Γ n n n ���� ���� ���� topological closure of Γ ∗ polymatroids entropic functions n Bound Entropic Bound Polymatroid Bound log | Q | ≤ log | Q | ≤ max n ∩ HDC h ([ n ]) h ∈ Γ n ∩ HDC h ([ n ]) max Definition h ∈ Γ ∗ 8/22
Size Bounds for Full Conjunctive Queries ∗ Γ ∗ ⊂ Γ ⊂ Γ n n n ���� ���� ���� topological closure of Γ ∗ polymatroids entropic functions n Bound Entropic Bound Polymatroid Bound log | Q | ≤ log | Q | ≤ max n ∩ HDC h ([ n ]) h ∈ Γ n ∩ HDC h ([ n ]) max Definition h ∈ Γ ∗ AGM bound (Tight) AGM bound (Tight) CC only [Atserias et al. FOCS’08] [Atserias et al. FOCS’08] 8/22
Size Bounds for Full Conjunctive Queries ∗ Γ ∗ ⊂ Γ ⊂ Γ n n n ���� ���� ���� topological closure of Γ ∗ polymatroids entropic functions n Bound Entropic Bound Polymatroid Bound log | Q | ≤ log | Q | ≤ max n ∩ HDC h ([ n ]) h ∈ Γ n ∩ HDC h ([ n ]) max Definition h ∈ Γ ∗ AGM bound (Tight) AGM bound (Tight) CC only [Atserias et al. FOCS’08] [Atserias et al. FOCS’08] Entropic Bound for FD Polymatroid Bound for FD CC + FD only [Gottlob et al. JACM’12] [Gottlob et al. JACM’12] (Tight [Gogacz et al. ICDT’17] ) (Not tight [Our work] ) 8/22
Size Bounds for Full Conjunctive Queries ∗ Γ ∗ ⊂ Γ ⊂ Γ n n n ���� ���� ���� topological closure of Γ ∗ polymatroids entropic functions n Bound Entropic Bound Polymatroid Bound log | Q | ≤ log | Q | ≤ max n ∩ HDC h ([ n ]) h ∈ Γ n ∩ HDC h ([ n ]) max Definition h ∈ Γ ∗ AGM bound (Tight) AGM bound (Tight) CC only [Atserias et al. FOCS’08] [Atserias et al. FOCS’08] Entropic Bound for FD Polymatroid Bound for FD CC + FD only [Gottlob et al. JACM’12] [Gottlob et al. JACM’12] (Tight [Gogacz et al. ICDT’17] ) (Not tight [Our work] ) Entropic Bound for DC Polymatroid Bound for DC DC (Tight [Our work] ) (Not tight [Our work] ) 8/22
Table of Contents Size Bounds for Full Conjunctive Queries Size Bounds for Disjunctive Datalog Algorithms for Disjunctive Datalog Algorithms for Conjunctive Queries 9/22
Disjunctive Datalog � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 a 1 d 4 b 1 c 3 b 1 d 4 b 2 c 3 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 2 A 3 A 4 a 1 d 4 b 1 c 1 d 4 b 1 c 3 b 2 c 2 c 3 b 1 d 4 2 d 4 b 2 c 3 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 2 A 3 A 4 a 1 d 4 b 1 c 1 d 4 b 1 c 3 b 2 c 2 c 3 b 1 d 4 2 d 4 b 2 c 3 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 2 A 3 A 4 a 1 d 4 b 1 c 1 d 4 b 1 c 3 b 2 c 2 c 3 b 1 d 4 2 d 4 b 2 c 3 Model size is max( | T 123 | , | T 234 | ) = 3 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 2 A 3 A 4 a 1 d 4 b 1 c 1 d 4 b 1 c 3 b 2 c 2 c 3 b 1 d 4 2 d 4 b 2 c 3 Output size is the minimum over all models 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 2 A 3 A 4 a 1 d 4 b 1 c 1 d 4 b 1 c 3 b 2 c b 1 d 4 A minimum-sized model of size 2 b 2 c 3 10/22
Disjunctive Datalog A 2 R 12 R 23 � � A 1 A 3 P : T B ( A B ) :- R F ( A F ) R 41 R 34 B ∈B F ∈E A 4 P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 1 A 2 A 2 A 3 A 3 A 4 A 4 A 1 a 1 1 c c 3 3 b b 1 1 d d 4 4 a b 2 2 c d 5 4 b A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 2 A 3 A 4 a 1 d 4 b 1 c 1 d 4 b 1 c 3 b 2 c b 1 d 4 A minimum-sized model of size 2 b 2 c 3 ⇒ Output size is 2 10/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E | P ( D ) | def = min = P max B ∈B | T B | T : T | 11/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) A 2 R 12 R 23 B ∈B F ∈E A 1 A 3 | P ( D ) | def R 41 R 34 = min = P max B ∈B | T B | T : T | A 4 11/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) A 2 R 12 R 23 B ∈B F ∈E A 1 A 3 | P ( D ) | def R 41 R 34 = min = P max B ∈B | T B | T : T | A 4 | R 12 | ≤ N, | R 23 | ≤ N, | R 34 | ≤ N, | R 41 | ≤ N. D : 11/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) A 2 R 12 R 23 B ∈B F ∈E A 1 A 3 | P ( D ) | def R 41 R 34 = min = P max B ∈B | T B | T : T | A 4 | R 12 | ≤ N, | R 23 | ≤ N, | R 34 | ≤ N, | R 41 | ≤ N. D : P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- ◮ R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . 11/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) A 2 R 12 R 23 B ∈B F ∈E A 1 A 3 | P ( D ) | def R 41 R 34 = min = P max B ∈B | T B | T : T | A 4 | R 12 | ≤ N, | R 23 | ≤ N, | R 34 | ≤ N, | R 41 | ≤ N. D : P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- ◮ R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . | P ( D ) | ≤ N 3 / 2 , for all D 11/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) A 2 R 12 R 23 B ∈B F ∈E A 1 A 3 | P ( D ) | def R 41 R 34 = min = P max B ∈B | T B | T : T | A 4 | R 12 | ≤ N, | R 23 | ≤ N, | R 34 | ≤ N, | R 41 | ≤ N. D : P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- ◮ R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . | P ( D ) | ≤ N 3 / 2 , for all D P ′ : T 123 ( A 1 , A 2 , A 3 ) :- ◮ R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . 11/22
Disjunctive Datalog: Output Size � � P : T B ( A B ) :- R F ( A F ) A 2 R 12 R 23 B ∈B F ∈E A 1 A 3 | P ( D ) | def R 41 R 34 = min = P max B ∈B | T B | T : T | A 4 | R 12 | ≤ N, | R 23 | ≤ N, | R 34 | ≤ N, | R 41 | ≤ N. D : P : T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- ◮ R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . | P ( D ) | ≤ N 3 / 2 , for all D P ′ : T 123 ( A 1 , A 2 , A 3 ) :- ◮ R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . | P ′ ( D ) | = N 2 , for some D 11/22
Disjunctive Datalog: Size Bounds � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E def | P ( D ) | = min = P max B ∈B | T B | T : T | 12/22
Disjunctive Datalog: Size Bounds � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E def | P ( D ) | = min = P max B ∈B | T B | T : T | Recall that: ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints ∗ Γ ∗ ⊂ ⊂ Γ Γ n ◮ n n ���� ���� ���� polymatroids entropic functions topological closure of Γ ∗ n 12/22
Disjunctive Datalog: Size Bounds � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E def | P ( D ) | = min = P max B ∈B | T B | T : T | Recall that: ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints ∗ Γ ∗ ⊂ ⊂ Γ Γ n ◮ n n ���� ���� ���� polymatroids entropic functions topological closure of Γ ∗ n Theorem log | P ( D ) | 12/22
Disjunctive Datalog: Size Bounds � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E def | P ( D ) | = min = P max B ∈B | T B | T : T | Recall that: ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints ∗ Γ ∗ ⊂ ⊂ Γ Γ n ◮ n n ���� ���� ���� polymatroids entropic functions topological closure of Γ ∗ n Theorem log | P ( D ) | ≤ max min B ∈B h ( B ) ∗ h ∈ Γ n ∩ HDC � �� � entropic bound 12/22
Disjunctive Datalog: Size Bounds � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E def | P ( D ) | = min = P max B ∈B | T B | T : T | Recall that: ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints ∗ Γ ∗ ⊂ ⊂ Γ Γ n ◮ n n ���� ���� ���� polymatroids entropic functions topological closure of Γ ∗ n Theorem log | P ( D ) | ≤ max B ∈B h ( B ) min ≤ max B ∈B h ( B ) min h ∈ Γ n ∩ HDC ∗ h ∈ Γ n ∩ HDC � �� � � �� � entropic bound polymatroid bound 12/22
Disjunctive Datalog: Size Bounds � � P : T B ( A B ) :- R F ( A F ) B ∈B F ∈E def | P ( D ) | = min = P max B ∈B | T B | T : T | Recall that: ◮ HDC is the set of functions h : 2 [ n ] → R + satisfying the degree constraints ∗ Γ ∗ ⊂ ⊂ Γ Γ n ◮ n n ���� ���� ���� polymatroids entropic functions topological closure of Γ ∗ n Theorem log | P ( D ) | ≤ max min B ∈B h ( B ) ≤ max B ∈B h ( B ) min h ∈ Γ n ∩ HDC ∗ h ∈ Γ n ∩ HDC � �� � � �� � entropic bound polymatroid bound (asymptotically tight!) 12/22
Table of Contents Size Bounds for Full Conjunctive Queries Size Bounds for Disjunctive Datalog Algorithms for Disjunctive Datalog Algorithms for Conjunctive Queries 13/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog 14/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog ◮ computes a model 14/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog ◮ computes a model ◮ within the polymatroid bound: 14/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog ◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model . 14/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog ◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model . ◮ Outline 14/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog ◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model . ◮ Outline ◮ Construct a Proof Sequence for the bound. 14/22
PANDA ( P roof- A ssisted e N tropic D egree- A ware) ◮ An algorithm for disjunctive datalog ◮ computes a model ◮ within the polymatroid bound: ◮ the worst-case size of the minimum model . ◮ Outline ◮ Construct a Proof Sequence for the bound. ◮ Interpret each proof step as an algorithmic step. 14/22
PANDA ◮ Polymatroid bound: h ∈ Γ n ∩ HDC min max B ∈B h ( B ) 15/22
PANDA ◮ Polymatroid bound: h ∈ Γ n ∩ HDC min max B ∈B h ( B ) � h ∈ Γ n ∩ HDC min max B ∈B h ( B ) = max λ B h ( B ) ◮ h ∈ Γ n ∩ HDC B ∈B 15/22
PANDA ◮ Polymatroid bound: h ∈ Γ n ∩ HDC min max B ∈B h ( B ) � h ∈ Γ n ∩ HDC min max B ∈B h ( B ) = max λ B h ( B ) ◮ h ∈ Γ n ∩ HDC B ∈B � � λ B · h ( B ) ≤ δ Y | X · h ( Y | X ) ◮ � �� � B ∈B ( X,Y,N Y | X ) ≤ log N Y | X 15/22
PANDA ◮ Polymatroid bound: h ∈ Γ n ∩ HDC min max B ∈B h ( B ) � h ∈ Γ n ∩ HDC min max B ∈B h ( B ) = max λ B h ( B ) ◮ h ∈ Γ n ∩ HDC B ∈B � � λ B · h ( B ) ≤ δ Y | X · h ( Y | X ) ◮ � �� � B ∈B ( X,Y,N Y | X ) ≤ log N Y | X ◮ Proof Sequence Given X ⊆ Y : h ( X ) + h ( Y | X ) → h ( Y ) h ( Y ) → h ( X ) + h ( Y | X ) h ( Y ) → h ( X ) h ( Y | X ) → h ( Y ∪ Z | X ∪ Z ) 15/22
PANDA ◮ Polymatroid bound: h ∈ Γ n ∩ HDC min max B ∈B h ( B ) � h ∈ Γ n ∩ HDC min max B ∈B h ( B ) = max λ B h ( B ) ◮ h ∈ Γ n ∩ HDC B ∈B � � λ B · h ( B ) ≤ δ Y | X · h ( Y | X ) ◮ � �� � B ∈B ( X,Y,N Y | X ) ≤ log N Y | X ◮ Proof Sequence Given X ⊆ Y : h ( X ) + h ( Y | X ) → h ( Y ) (join) h ( Y ) → h ( X ) + h ( Y | X ) (data partition) h ( Y ) → h ( X ) (projection) h ( Y | X ) → h ( Y ∪ Z | X ∪ Z ) (nothing) ◮ Algorithmic Sequence 15/22
PANDA ◮ Polymatroid bound: h ∈ Γ n ∩ HDC min max B ∈B h ( B ) � h ∈ Γ n ∩ HDC min max B ∈B h ( B ) = max λ B h ( B ) ◮ h ∈ Γ n ∩ HDC B ∈B � � λ B · h ( B ) ≤ δ Y | X · h ( Y | X ) ◮ � �� � B ∈B ( X,Y,N Y | X ) ≤ log N Y | X ◮ Proof Sequence Given X ⊆ Y : h ( X ) + h ( Y | X ) → h ( Y ) (join) h ( Y ) → h ( X ) + h ( Y | X ) (data partition) h ( Y ) → h ( X ) (projection) h ( Y | X ) → h ( Y ∪ Z | X ∪ Z ) (nothing) ◮ Algorithmic Sequence Theorem PANDA solves any disjunctive datalog rule P in time within the polymatroid bound of P . 15/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) 2 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) → h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) → h ( A 2 A 3 A 4 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) → h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) → h ( A 2 A 3 A 4 ) h ( A 1 A 2 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) → h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) → h ( A 2 A 3 A 4 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) → h ( A 1 A 2 ) → h ( A 1 A 2 | A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) → h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) → h ( A 2 A 3 A 4 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) → h ( A 1 A 2 ) → h ( A 1 A 2 | A 3 ) h ( A 1 A 2 | A 3 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) → h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) → h ( A 2 A 3 A 4 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) → h ( A 1 A 2 ) → h ( A 1 A 2 | A 3 ) � � h ( A 1 A 2 | A 3 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) → h ( A 1 A 2 | A 3 ) + h ( A 3 ) → h ( A 1 A 2 A 3 ) 16/22
PANDA : Example A 2 R 12 R 23 T 123 ( A 1 , A 2 , A 3 ) ∨ T 234 ( A 2 , A 3 , A 4 ) :- P : A 1 A 3 R 12 ( A 1 , A 2 ) , R 23 ( A 2 , A 3 ) , R 41 R 34 R 34 ( A 3 , A 4 ) , R 41 ( A 4 , A 1 ) . A 4 | P | ≤ N 3 / 2 | R 12 | , | R 23 | , | R 34 | , | R 41 | ≤ N ⇒ 1 � � log | P | ≤ min( h ( A 1 A 2 A 3 ) , h ( A 2 A 3 A 4 )) ≤ h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 2 1 3 � � ≤ h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) ≤ 2 log N 2 � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 3 A 4 ) → h ( A 3 A 4 ) → h ( A 4 | A 3 ) + h ( A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 3 ) + h ( A 3 ) → h ( A 4 | A 3 ) → h ( A 4 | A 2 A 3 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) + h ( A 3 ) → h ( A 2 A 3 ) + h ( A 4 | A 2 A 3 ) → h ( A 2 A 3 A 4 ) � � h ( A 1 A 2 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) → h ( A 1 A 2 ) → h ( A 1 A 2 | A 3 ) � � h ( A 1 A 2 | A 3 ) + h ( A 2 A 3 A 4 ) + h ( A 3 ) → h ( A 1 A 2 | A 3 ) + h ( A 3 ) → h ( A 1 A 2 A 3 ) h ( A 1 A 2 A 3 ) + h ( A 2 A 3 A 4 ) 16/22
Recommend
More recommend