Download - ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Transcript
Page 1: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

ILP Modulo Data

Pete Manolios Vasilis Papavasileiou Mirek Riedewald

Northeastern University

{pete,vpap,mirek}@ccs.neu.edu

October 23, 2014

Page 2: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n

xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 3: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n

xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 4: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n

xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 5: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n

xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 6: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n

xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 7: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ n

xi = xj, 1 ≤ i < j ≤ n∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 8: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ nxi = xj, 1 ≤ i < j ≤ n

∑{i | 1≤i≤n,si=s} ai ≤

∑1≤i≤n ai/3, for every sector s∑

{i | 1≤i≤n,ci=small} ai ≤∑

1≤i≤n ai/4

Page 9: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ nxi = xj, 1 ≤ i < j ≤ n∑

{i | 1≤i≤n,si=s} ai ≤∑

1≤i≤n ai/3, for every sector s

∑{i | 1≤i≤n,ci=small} ai ≤

∑1≤i≤n ai/4

Page 10: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Id Cap Sector1 (EMC) large tech2 (FII) medium financials3 (AKR) small retail… … …

Id Diff1 1282 1173 89… …

Id Amountx1 a1x2 a2… …xn an

stocks quotes

portfolio

%maximizeΣ1≤i≤nai · disubject to(xi, ci, si) ∈ stocks, 1 ≤ i ≤ n(xi, di) ∈ quotes, 1 ≤ i ≤ nxi = xj, 1 ≤ i < j ≤ n∑

{i | 1≤i≤n,si=s} ai ≤∑

1≤i≤n ai/3, for every sector s∑{i | 1≤i≤n,ci=small} ai ≤

∑1≤i≤n ai/4

Page 11: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Motivation

The Logic ∆

Efficient Solving

Experimental Evaluation

Page 12: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Motivation

The Logic ∆

Efficient Solving

Experimental Evaluation

Page 13: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

• SQL

Query Languages

• QFLIA

Constraint Languages

• ∆

Page 14: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

• SQL

Query Languages

• QFLIA

Constraint Languages

• ∆

Page 15: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

• SQL

Query Languages

• QFLIA

Constraint Languages

• ∆

Page 16: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

• SQL

Query Languages

• QFLIA

Constraint Languages

• ∆

Page 17: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

• SQL

Query Languages

• QFLIA

Constraint Languages

• ∆

Page 18: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

∆ ::= QFLIA % Relational Operators

Page 19: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Input Table

portfolio =

{(1, (x1, a1)),(2, (x2, a2)),. . . ,

(n, (xn, an))}

Page 20: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Input Table

portfolio =

{(1, (x1, a1)),(2, (x2, a2)),. . . ,

(n, (xn, an))}

unique ID

Page 21: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Input Table

portfolio =

{(1, (x1, a1)),(2, (x2, a2)),. . . ,

(n, (xn, an))}

unique ID

stock ID

Page 22: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Input Table

portfolio =

{(1, (x1, a1)),(2, (x2, a2)),. . . ,

(n, (xn, an))}

unique ID

stock ID

amount

Page 23: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Cross Product

portfolio× portfolio

Page 24: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 25: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 26: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 27: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 28: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 29: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 30: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

σ

⟨σ p : first( left(p)) = first( right(p)) ∧second( left(p)) = second( right(p))

: portfolio × portfolio ⟩

i.e.,

{(q, r) | q = (q1, (q2, q3)) ∈ portfolio,

r = (r1, (r2, r3)) ∈ portfolio,

q1 = r1,q2 = r2}

Page 31: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Constraints

¬∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

¬∨

(q1, (q2, q3)) ∈ portfolio,(r1, (r2, r3)) ∈ portfolio

[q1 = r1 ∧ q2 = r2]

O(n2) entries (general case: O(nn))

Page 32: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Constraints

¬∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

∃∃D : D is not empty

Page 33: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Constraints

¬∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

¬∨

(q1, (q2, q3)) ∈ portfolio,(r1, (r2, r3)) ∈ portfolio

[q1 = r1 ∧ q2 = r2]

O(n2) entries (general case: O(nn))

Page 34: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Constraints

¬∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

¬∨

(q1, (q2, q3)) ∈ portfolio,(r1, (r2, r3)) ∈ portfolio

[q1 = r1 ∧ q2 = r2]

O(n2) entries (general case: O(nn))

Page 35: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Motivation

The Logic ∆

Efficient Solving

Experimental Evaluation

Page 36: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

F ∈ ∃∆

iff

{F ∈ ∆∃∃ only appears with positive polarity in F

Page 37: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))

q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))

p 7→ (q, r)

(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2

q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))

Page 38: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))

q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))

p 7→ (q, r)

(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2

q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))

Page 39: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))

q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))

p 7→ (q, r)

(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2

q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))

Page 40: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))

q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))

p 7→ (q, r)

(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2

q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))

Page 41: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

∃∃

⟨σ p : first(left(p)) = first(right(p)) ∧second(left(p)) = second(right(p))

: portfolio × portfolio ⟩

p ∈ [portfolio× portfolio]∧ first(left(p)) = first(right(p))∧ second(left(p)) = second(right(p))

q ∈ portfolio∧ r ∈ portfolio∧ first(left((q, r))) = first(right((q, r)))∧ second(left((q, r))) = second(right((q, r)))

p 7→ (q, r)

(q1, (q2, q3)) ∈ portfolio∧ (r1, (r2, r3)) ∈ portfolio∧ q1 = r1∧ q2 = r2

q 7→ (q1, (q2, q3))r 7→ (r1, (r2, r3))

Page 42: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Table Membership

(x1, . . . , xk) ∈ {(y1,1, . . . , y1,k), . . . , (yl,1, . . . , yl,k)}

table (concrete and symbolic data)

Page 43: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Table Membership

(x1, . . . , xk) ∈ {(y1,1, . . . , y1,k), . . . , (yl,1, . . . , yl,k)}

table (concrete and symbolic data)

Page 44: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

ILP % T [CAV 2013]

stably-infinite

Data

QFLIA

∃∆

Page 45: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

ILP % T [CAV 2013]

stably-infinite

Data

QFLIA

∃∆

Page 46: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

ILP % T [CAV 2013]

stably-infinite

Data

QFLIA

∃∆

Page 47: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

ILP % T [CAV 2013]

stably-infinite

Data

QFLIA

∃∆

Page 48: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

ILP % T [CAV 2013]

stably-infinite

Data

QFLIA

∃∆

Page 49: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Branching and Propagation Modulo Data

Input

C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧

. . .

{C}

−→Branch{C · x < 2, C · x ≥ 2}−→

Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→

D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .

{(1, 2),(2, 3),

(3, 2),

(a, b)}

{(1, 2),(a, b)}

{(2, 3),(3, 2),

(a, b)}

{(2, 3)(3, 2)}

{(2, 3)(3, 2),

(a, b)}

(x, y) ∈

(x, y) ∈(x, y) ∈

(x, y) ∈(x, y) ∈

x < 2 x ≥ 2

x = a x = a

Page 50: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Branching and Propagation Modulo Data

Input

C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧

. . .

{C}

−→Branch{C · x < 2, C · x ≥ 2}−→

Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→

D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .

{(1, 2),(2, 3),

(3, 2),

(a, b)}

{(1, 2),(a, b)}

{(2, 3),(3, 2),

(a, b)}

{(2, 3)(3, 2)}

{(2, 3)(3, 2),

(a, b)}

(x, y) ∈

(x, y) ∈(x, y) ∈

(x, y) ∈(x, y) ∈

x < 2 x ≥ 2

x = a x = a

Page 51: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Branching and Propagation Modulo Data

Input

C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧

. . .

{C}−→

Branch{C · x < 2, C · x ≥ 2}

−→Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→

D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .

{(1, 2),(2, 3),

(3, 2),

(a, b)}

{(1, 2),(a, b)}

{(2, 3),(3, 2),

(a, b)}

{(2, 3)(3, 2)}

{(2, 3)(3, 2),

(a, b)}

(x, y) ∈

(x, y) ∈(x, y) ∈

(x, y) ∈(x, y) ∈

x < 2 x ≥ 2

x = a x = a

Page 52: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Branching and Propagation Modulo Data

Input

C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧

. . .

{C}−→

Branch{C · x < 2, C · x ≥ 2}−→

Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}

−→D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .

{(1, 2),(2, 3),

(3, 2),

(a, b)}

{(1, 2),(a, b)}

{(2, 3),(3, 2),

(a, b)}

{(2, 3)(3, 2)}

{(2, 3)(3, 2),

(a, b)}

(x, y) ∈

(x, y) ∈(x, y) ∈

(x, y) ∈(x, y) ∈

x < 2 x ≥ 2

x = a x = a

Page 53: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Branching and Propagation Modulo Data

Input

C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧

. . .

{C}−→

Branch{C · x < 2, C · x ≥ 2}−→

Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→

D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}

−→ . . .

{(1, 2),(2, 3),

(3, 2),

(a, b)}

{(1, 2),(a, b)}

{(2, 3),(3, 2),

(a, b)}

{(2, 3)(3, 2)}

{(2, 3)(3, 2),

(a, b)}

(x, y) ∈

(x, y) ∈(x, y) ∈

(x, y) ∈(x, y) ∈

x < 2 x ≥ 2

x = a x = a

Page 54: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Branching and Propagation Modulo Data

Input

C(x, y, a, b, . . .) ∧(x, y) ∈ {(1, 2), (2, 3), (3, 2), (a, b)} ∧

. . .

{C}−→

Branch{C · x < 2, C · x ≥ 2}−→

Branch{C · x < 2, C · x ≥ 2 · x = a, C · x ≥ 2 · x = a}−→

D-Learn{C · x < 2, C · 2 ≤ x ≤ 3 · x = a, C · x ≥ 2 · x = a}−→ . . .

{(1, 2),(2, 3),

(3, 2),

(a, b)}

{(1, 2),(a, b)}

{(2, 3),(3, 2),

(a, b)}

{(2, 3)(3, 2)}

{(2, 3)(3, 2),

(a, b)}

(x, y) ∈

(x, y) ∈(x, y) ∈

(x, y) ∈(x, y) ∈

x < 2 x ≥ 2

x = a x = a

Page 55: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Motivation

The Logic ∆

Efficient Solving

Experimental Evaluation

Page 56: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

http://scip.zib.de

http://caml.inria.fr

https://github.com/vasilisp/inez

Page 57: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

Benchmarks

http://www.ccs.neu.edu/home/vpap/fmcad-2014.html

Page 58: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

1

10

100

1000

1 10 100 1000

Inez

Tim

e (s

)

InezDB Time (s)

Page 59: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

1

10

100

1000

1 10 100 1000

Z3

Tim

e (s

)

InezDB Time (s)

Page 60: ILP Modulo Data - pdfs.semanticscholar.org › 548b › 88932a21456c403ee0ae32… · Id Cap Sector 1(EMC) large tech 2(FII) medium financials 3(AKR) small retail … … … Id Diff

The End