drmaxsat with maxhs: first contactsat2019.tecnico.ulisboa.pt/content/morgado.pdf · drmaxsat with...

63
DRMaxSAT with MaxHS: First Contact A.Morgado 1 A.Ignatiev 1,4 M.L.Bonet 2 J.Marques-Silva 1 S.Buss 3 1 Faculty of Science,University of Lisbon, Portugal 2 Computer Science, Universidad Polit´ ecnica de Cataluna, Barcelona, Spain 3 Department of Mathematics, University of California, San Diego, USA 4 ISDCT SB RAS, Irkutsk, Russia SAT 2019

Upload: others

Post on 20-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

  • DRMaxSAT with MaxHS: First Contact

    A.Morgado1 A.Ignatiev1,4 M.L.Bonet2 J.Marques-Silva1

    S.Buss3

    1 Faculty of Science,University of Lisbon, Portugal

    2 Computer Science, Universidad Politécnica de Cataluna, Barcelona, Spain

    3 Department of Mathematics, University of California, San Diego, USA

    4 ISDCT SB RAS, Irkutsk, Russia

    SAT 2019

  • Motivation

    • Success of Conflict-Driven Clause Learning (CDCL) demonstratesthe reach of the Resolution proof system

    • From proof complexity point of view, Resolution is regarded as arather weak proof system• Recent efforts for developing efficient implementations of stronger

    proof systems:

    – Extended Resolution (ExtRes)– DRAT– Cutting Planes (CP)– Dual-Rail Maximum Satisfiability (DRMaxSAT)

  • Motivation

    • Success of Conflict-Driven Clause Learning (CDCL) demonstratesthe reach of the Resolution proof system

    • From proof complexity point of view, Resolution is regarded as arather weak proof system

    • Recent efforts for developing efficient implementations of strongerproof systems:

    – Extended Resolution (ExtRes)– DRAT– Cutting Planes (CP)– Dual-Rail Maximum Satisfiability (DRMaxSAT)

  • Motivation

    • Success of Conflict-Driven Clause Learning (CDCL) demonstratesthe reach of the Resolution proof system

    • From proof complexity point of view, Resolution is regarded as arather weak proof system• Recent efforts for developing efficient implementations of stronger

    proof systems:

    – Extended Resolution (ExtRes)– DRAT– Cutting Planes (CP)– Dual-Rail Maximum Satisfiability (DRMaxSAT)

  • DRMaxSAT - General Idea

    • Translates a CNF formula F using the Dual-Rail Encoding• Uses a MaxSAT algorithm to obtain the cost of the encoded

    formula

    • Determines the satisfiability of F based on the cost of the encodedformula

  • DRMaxSAT - Previous work 1/3

    Weighted DRMaxSAT simulates general resolution.

    DRMaxSAT refutes in polynomial time:

    • Pigeonhole Principle (PHP)• Doubled Pigeonhole principle (2PHP)

    MaxSAT algorithms based on:

    • MaxSAT Resolution [AAAI18]• Core-Guided MaxSAT Algorithms [SAT17]

    • Hitting Set-based MaxSAT Approach: MaxHS-like Algorithm [SAT19]

  • DRMaxSAT - Previous work 1/3

    Weighted DRMaxSAT simulates general resolution.

    DRMaxSAT refutes in polynomial time:

    • Pigeonhole Principle (PHP)• Doubled Pigeonhole principle (2PHP)

    MaxSAT algorithms based on:

    • MaxSAT Resolution [AAAI18]• Core-Guided MaxSAT Algorithms [SAT17]

    • Hitting Set-based MaxSAT Approach: MaxHS-like Algorithm [SAT19]

  • DRMaxSAT - Previous work 1/3

    Weighted DRMaxSAT simulates general resolution.

    DRMaxSAT refutes in polynomial time:

    • Pigeonhole Principle (PHP)• Doubled Pigeonhole principle (2PHP)

    MaxSAT algorithms based on:

    • MaxSAT Resolution [AAAI18]• Core-Guided MaxSAT Algorithms [SAT17]

    • Hitting Set-based MaxSAT Approach: MaxHS-like Algorithm [SAT19]

  • DRMaxSAT - Previous work 1/3

    Weighted DRMaxSAT simulates general resolution.

    DRMaxSAT refutes in polynomial time:

    • Pigeonhole Principle (PHP)• Doubled Pigeonhole principle (2PHP)

    MaxSAT algorithms based on:

    • MaxSAT Resolution [AAAI18]• Core-Guided MaxSAT Algorithms [SAT17]

    • Hitting Set-based MaxSAT Approach: MaxHS-like Algorithm [SAT19]

  • DRMaxSAT - Previous work 2/3

    0 20 40 60 80 100instances

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1600

    1800

    CPU

    time

    (s)

    MaxHSMSCGLMHSLMHS-nesOpenWBO16Eva500alingeling

    PHP

    0 10 20 30 40 50 60 70instances

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1600

    1800

    CPU

    time

    (s)

    MaxHSMSCGLMHSLMHS-nesOpenWBO16Eva500alingeling

    2PHP

  • Outline

    Basic MaxHS Algorithm

    DRMaxSAT

    DRMaxSAT/basic MaxHS vs Pigeonhole Principle

    DRMaxSAT/basic MaxHS vs Doubled Pigeonhole Principle

    Conclusions

  • Outline

    Basic MaxHS Algorithm

    DRMaxSAT

    DRMaxSAT/basic MaxHS vs Pigeonhole Principle

    DRMaxSAT/basic MaxHS vs Doubled Pigeonhole Principle

    Conclusions

  • SAT

    • F - CNF formula: conjunction of clauses• Clause: disjunction of literals• Literal: variable x or its completement ¬x• A - Assignment: mapping from variables to {0, 1}

    • SAT problem: Given F determine if there is an assignment A forF that satisfies all its clauses, otherwise F is unsatisfiable.

  • MaxSAT

    • Partial MaxSAT problem < H,S >:– H - set of hard clauses– S - set of soft clauses

    Goal: Find an assignment A that satisfies all clauses in H andmaximizes the number of satisfied clauses in S

    • Cost of an assignment: number of unsatisfied clauses in S

  • MaxSAT

    • Partial MaxSAT problem < H,S >:– H - set of hard clauses– S - set of soft clauses

    Goal: Find an assignment A that satisfies all clauses in H andmaximizes the number of satisfied clauses in S

    • Cost of an assignment: number of unsatisfied clauses in S

  • Basic MaxHS-like Algorithm

    • MaxHS is a relatively recent MaxSAT approach:– based on the hitting set duality between MCSes and MUSes– results in simpler oracle calls, but at the cost of possibly

    exponentially larger number of calls

    Input : < H,S > WCNF formula1 K ← ∅2 while true do3 h← MinimumHS(K )4 (st, µ)← SAT(H ∪ S \ h)5 if st then return µ6 K ← K ∪ {µ}

  • Basic MaxHS-like Algorithm

    • MaxHS is a relatively recent MaxSAT approach:– based on the hitting set duality between MCSes and MUSes– results in simpler oracle calls, but at the cost of possibly

    exponentially larger number of calls

    Input : < H,S > WCNF formula1 K ← ∅2 while true do3 h← MinimumHS(K )4 (st, µ)← SAT(H ∪ S \ h)5 if st then return µ6 K ← K ∪ {µ}

  • Example Basic MaxHS-like Algorithm

    H = {(¬x1 ∨ ¬x2)} S = {s1 : (x1), s2 : (x2), s3 : (¬x2)}

    MHS SAT

    h = {},S \ h = {(x1), (x2), (¬x2)}

    Unsat, Core: (¬x1 ∨ ¬x2), (x1), (x2)

    New set to hit: k1 = {s1, s2}

    h = {s1}, S \ h = {(x2), (¬x2)}

    Unsat, Core: (x2), (¬x2)

    New set to hit: k2 = {s2, s3}

    h = {s2}, S \ h = {(x1), (¬x2)}

    Sat

  • Example Basic MaxHS-like Algorithm

    H = {(¬x1 ∨ ¬x2)} S = {s1 : (x1), s2 : (x2), s3 : (¬x2)}

    MHS SATh = {},S \ h = {(x1), (x2), (¬x2)}

    Unsat, Core: (¬x1 ∨ ¬x2), (x1), (x2)

    New set to hit: k1 = {s1, s2}

    h = {s1}, S \ h = {(x2), (¬x2)}

    Unsat, Core: (x2), (¬x2)

    New set to hit: k2 = {s2, s3}

    h = {s2}, S \ h = {(x1), (¬x2)}

    Sat

  • Example Basic MaxHS-like Algorithm

    H = {(¬x1 ∨ ¬x2)} S = {s1 : (x1), s2 : (x2), s3 : (¬x2)}

    MHS SATh = {},S \ h = {(x1), (x2), (¬x2)}

    Unsat, Core: (¬x1 ∨ ¬x2), (x1), (x2)

    New set to hit: k1 = {s1, s2}

    h = {s1}, S \ h = {(x2), (¬x2)}

    Unsat, Core: (x2), (¬x2)

    New set to hit: k2 = {s2, s3}

    h = {s2}, S \ h = {(x1), (¬x2)}

    Sat

  • Example Basic MaxHS-like Algorithm

    H = {(¬x1 ∨ ¬x2)} S = {s1 : (x1), s2 : (x2), s3 : (¬x2)}

    MHS SATh = {},S \ h = {(x1), (x2), (¬x2)}

    Unsat, Core: (¬x1 ∨ ¬x2), (x1), (x2)

    New set to hit: k1 = {s1, s2}

    h = {s1}, S \ h = {(x2), (¬x2)}

    Unsat, Core: (x2), (¬x2)

    New set to hit: k2 = {s2, s3}

    h = {s2}, S \ h = {(x1), (¬x2)}

    Sat

  • Example Basic MaxHS-like Algorithm

    H = {(¬x1 ∨ ¬x2)} S = {s1 : (x1), s2 : (x2), s3 : (¬x2)}

    MHS SATh = {},S \ h = {(x1), (x2), (¬x2)}

    Unsat, Core: (¬x1 ∨ ¬x2), (x1), (x2)

    New set to hit: k1 = {s1, s2}

    h = {s1}, S \ h = {(x2), (¬x2)}

    Unsat, Core: (x2), (¬x2)

    New set to hit: k2 = {s2, s3}

    h = {s2}, S \ h = {(x1), (¬x2)}

    Sat

  • Example Basic MaxHS-like Algorithm

    H = {(¬x1 ∨ ¬x2)} S = {s1 : (x1), s2 : (x2), s3 : (¬x2)}

    MHS SATh = {},S \ h = {(x1), (x2), (¬x2)}

    Unsat, Core: (¬x1 ∨ ¬x2), (x1), (x2)

    New set to hit: k1 = {s1, s2}

    h = {s1}, S \ h = {(x2), (¬x2)}

    Unsat, Core: (x2), (¬x2)

    New set to hit: k2 = {s2, s3}

    h = {s2}, S \ h = {(x1), (¬x2)}

    Sat

  • Outline

    Basic MaxHS Algorithm

    DRMaxSAT

    DRMaxSAT/basic MaxHS vs Pigeonhole Principle

    DRMaxSAT/basic MaxHS vs Doubled Pigeonhole Principle

    Conclusions

  • DRMaxSAT: DRE

    Dual-Rail Encoding (DRE) [DAC87, AI99]

    Input: F CNF formula with N variables X = {x1, . . . , xN}

    Output: MaxSAT problem < H,S >:• for each xi ∈ X :

    – associate new variables pi and ni

    xi = 1 iff pi = 1, and xi = 0 iff ni = 1

    – add to S the clauses (pi ) and (ni )– add to H the clause (¬pi ∨ ¬ni ) (P clauses)

    • for each clause c ∈ F add to H the clause c ′:– if xi ∈ c then ¬ni ∈ c ′– if ¬xi ∈ c then ¬pi ∈ c ′

  • DRMaxSAT: DRE

    Dual-Rail Encoding (DRE) [DAC87, AI99]

    Input: F CNF formula with N variables X = {x1, . . . , xN}

    Output: MaxSAT problem < H,S >:

    • for each xi ∈ X :– associate new variables pi and ni

    xi = 1 iff pi = 1, and xi = 0 iff ni = 1

    – add to S the clauses (pi ) and (ni )– add to H the clause (¬pi ∨ ¬ni ) (P clauses)

    • for each clause c ∈ F add to H the clause c ′:– if xi ∈ c then ¬ni ∈ c ′– if ¬xi ∈ c then ¬pi ∈ c ′

  • DRMaxSAT: DRE

    Dual-Rail Encoding (DRE) [DAC87, AI99]

    Input: F CNF formula with N variables X = {x1, . . . , xN}

    Output: MaxSAT problem < H,S >:• for each xi ∈ X :

    – associate new variables pi and ni

    xi = 1 iff pi = 1, and xi = 0 iff ni = 1

    – add to S the clauses (pi ) and (ni )– add to H the clause (¬pi ∨ ¬ni ) (P clauses)

    • for each clause c ∈ F add to H the clause c ′:– if xi ∈ c then ¬ni ∈ c ′– if ¬xi ∈ c then ¬pi ∈ c ′

  • DRMaxSAT: DRE

    Dual-Rail Encoding (DRE) [DAC87, AI99]

    Input: F CNF formula with N variables X = {x1, . . . , xN}

    Output: MaxSAT problem < H,S >:• for each xi ∈ X :

    – associate new variables pi and ni

    xi = 1 iff pi = 1, and xi = 0 iff ni = 1

    – add to S the clauses (pi ) and (ni )– add to H the clause (¬pi ∨ ¬ni ) (P clauses)

    • for each clause c ∈ F add to H the clause c ′:– if xi ∈ c then ¬ni ∈ c ′– if ¬xi ∈ c then ¬pi ∈ c ′

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    • MaxSAT problem < H,S >• for x1:

    – create p1 and n1– add (p1), (n1) to S– add (¬p1 ∨ ¬n1) to H

    • for x2:– create p2 and n2– add (p2), (n2) to S– add (¬p2 ∨ ¬n2) to H

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    • MaxSAT problem < H,S >

    • for x1:– create p1 and n1– add (p1), (n1) to S– add (¬p1 ∨ ¬n1) to H

    • for x2:– create p2 and n2– add (p2), (n2) to S– add (¬p2 ∨ ¬n2) to H

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    • MaxSAT problem < H,S >• for x1:

    – create p1 and n1– add (p1), (n1) to S– add (¬p1 ∨ ¬n1) to H

    • for x2:– create p2 and n2– add (p2), (n2) to S– add (¬p2 ∨ ¬n2) to H

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    • MaxSAT problem < H,S >

    • for (¬x1 ∨ ¬x2):– add (¬p1 ∨ ¬p2) to H

    • for (x1), (x2), (¬x2):– add (¬n1), (¬n2), (¬p2) to H

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    MaxSAT problem < H,S >

    :

    S ={(p1), (n1), (p2), (n1)}

    H ={(¬p1 ∨ ¬n1), (¬p2 ∨ ¬n2),(¬p1 ∨ ¬p2),(¬n1), (¬n2), (¬p2)}

    MaxSAT Cost: 3

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    MaxSAT problem < H,S > :

    S ={(p1), (n1), (p2), (n1)}

    H ={(¬p1 ∨ ¬n1), (¬p2 ∨ ¬n2),(¬p1 ∨ ¬p2),(¬n1), (¬n2), (¬p2)}

    MaxSAT Cost: 3

  • DRMaxSAT: DRE Example

    F = {(¬x1 ∨ ¬x2), (x1), (x2), (¬x2)}

    MaxSAT problem < H,S > :

    S ={(p1), (n1), (p2), (n1)}

    H ={(¬p1 ∨ ¬n1), (¬p2 ∨ ¬n2),(¬p1 ∨ ¬p2),(¬n1), (¬n2), (¬p2)}

    MaxSAT Cost: 3

  • DRMaxSAT

    TheoremF is satisfiable iff there is a truth assignment satisfying H that satisfiesat least N clauses in S. [SAT17]

    Example: N = 2 and MaxSAT cost 3, thus F is unsatisfiable.

  • DRMaxSAT

    TheoremF is satisfiable iff there is a truth assignment satisfying H that satisfiesat least N clauses in S. [SAT17]

    Example: N = 2 and MaxSAT cost 3, thus F is unsatisfiable.

  • Outline

    Basic MaxHS Algorithm

    DRMaxSAT

    DRMaxSAT/basic MaxHS vs Pigeonhole Principle

    DRMaxSAT/basic MaxHS vs Doubled Pigeonhole Principle

    Conclusions

  • Pigeonhole Principle

    Pigeonhole Principle: If m + 1 pigeons are distributed by m holes, thenat least one hole contains more than one pigeon.

    Propositonal encoding of PHPm+1m

    • Variables: xij , i ∈ [m + 1], j ∈ [m]

    xij = 1 iff pigeon i is place in hole j

    N = (m + 1)m

    • Contraints:m+1∧i=1

    (xi1 ∨ . . . ∨ xim)

    m∧j=1

    m∧i1=1

    m+1∧i2=1

    (¬xi1j ∨ ¬xi2j)

  • Pigeonhole Principle

    Pigeonhole Principle: If m + 1 pigeons are distributed by m holes, thenat least one hole contains more than one pigeon.

    Propositonal encoding of PHPm+1m

    • Variables: xij , i ∈ [m + 1], j ∈ [m]

    xij = 1 iff pigeon i is place in hole j

    N = (m + 1)m

    • Contraints:m+1∧i=1

    (xi1 ∨ . . . ∨ xim)

    m∧j=1

    m∧i1=1

    m+1∧i2=1

    (¬xi1j ∨ ¬xi2j)

  • Pigeonhole Principle

    Pigeonhole Principle: If m + 1 pigeons are distributed by m holes, thenat least one hole contains more than one pigeon.

    Propositonal encoding of PHPm+1m

    • Variables: xij , i ∈ [m + 1], j ∈ [m]

    xij = 1 iff pigeon i is place in hole j

    N = (m + 1)m

    • Contraints:m+1∧i=1

    (xi1 ∨ . . . ∨ xim)

    m∧j=1

    m∧i1=1

    m+1∧i2=1

    (¬xi1j ∨ ¬xi2j)

  • DRE of Pigeonhole Principle

    DRE(PHPm+1m ):• for each xij , i ∈ [m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =m∧

    i1=1

    m+1∧i2=1

    (¬pi1j ∨ ¬pi2j)

    PHPm+1m unsatisfiable if cost ≥ N + 1 = (m + 1)m + 1

  • DRE of Pigeonhole Principle

    DRE(PHPm+1m ):• for each xij , i ∈ [m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =m∧

    i1=1

    m+1∧i2=1

    (¬pi1j ∨ ¬pi2j)

    PHPm+1m unsatisfiable if cost ≥ N + 1 = (m + 1)m + 1

  • DRE of Pigeonhole Principle

    DRE(PHPm+1m ):• for each xij , i ∈ [m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =m∧

    i1=1

    m+1∧i2=1

    (¬pi1j ∨ ¬pi2j)

    PHPm+1m unsatisfiable if cost ≥ N + 1 = (m + 1)m + 1

  • DRE of Pigeonhole Principle

    DRE(PHPm+1m ):• for each xij , i ∈ [m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =m∧

    i1=1

    m+1∧i2=1

    (¬pi1j ∨ ¬pi2j)

    PHPm+1m unsatisfiable if cost ≥ N + 1 = (m + 1)m + 1

  • Computing MaxSAT cost of DRE(PHPm+1m )

    Proposition

    Given < Li ,S > there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of 1 in polynomial time.

    Proof Idea:

    • Core obtained by unit propagation• Only one set to hit• cost is 1

  • Computing MaxSAT cost of DRE(PHPm+1m )

    Proposition

    Given < Li ,S > there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of 1 in polynomial time.

    Proof Idea:

    • Core obtained by unit propagation• Only one set to hit• cost is 1

  • Computing MaxSAT cost of DRE(PHPm+1m )

    Proposition

    Given there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of m in polynomial time.

    Proof Idea:

    • Order the clauses in the SAT solver (via an ordering of thevariables)

    • Cores induce sets to hit in MHS that correspond to a known graph(a clique or a clique plus one extra vertex)

    • Last iteration corresponds to a clique of size m + 1, with minimumhitting set of size m (cost)

  • Computing MaxSAT cost of DRE(PHPm+1m )

    Proposition

    Given there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of m in polynomial time.

    Proof Idea:

    • Order the clauses in the SAT solver (via an ordering of thevariables)

    • Cores induce sets to hit in MHS that correspond to a known graph(a clique or a clique plus one extra vertex)

    • Last iteration corresponds to a clique of size m + 1, with minimumhitting set of size m (cost)

  • Computing MaxSAT cost of DRE(PHPm+1m )

    Proposition

    Given there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of m in polynomial time.

    Proof Idea:

    • Order the clauses in the SAT solver (via an ordering of thevariables)

    • Cores induce sets to hit in MHS that correspond to a known graph(a clique or a clique plus one extra vertex)

    • Last iteration corresponds to a clique of size m + 1, with minimumhitting set of size m (cost)

  • Computing MaxSAT cost of DRE(PHPm+1m )

    Proposition

    Given there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of m in polynomial time.

    Proof Idea:

    • Order the clauses in the SAT solver (via an ordering of thevariables)

    • Cores induce sets to hit in MHS that correspond to a known graph(a clique or a clique plus one extra vertex)

    • Last iteration corresponds to a clique of size m + 1, with minimumhitting set of size m (cost)

  • Outline

    Basic MaxHS Algorithm

    DRMaxSAT

    DRMaxSAT/basic MaxHS vs Pigeonhole Principle

    DRMaxSAT/basic MaxHS vs Doubled Pigeonhole Principle

    Conclusions

  • Doubled Pigeonhole Principle

    Doubled Pigeonhole Principle: If 2m + 1 pigeons are distributed by mholes, then at least one hole contains more than two pigeons.

    Propositonal encoding of 2PHP2m+1m

    • Variables: xij , i ∈ [2m + 1], j ∈ [m]

    xij = 1 iff pigeon i is place in hole j

    N = (2m + 1)m

    • Contraints:2m+1∧i=1

    (xi1 ∨ . . . ∨ xim)

    m∧j=1

    2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬xi1j ∨ ¬xi2j ∨ ¬xi3j)

  • Doubled Pigeonhole Principle

    Doubled Pigeonhole Principle: If 2m + 1 pigeons are distributed by mholes, then at least one hole contains more than two pigeons.

    Propositonal encoding of 2PHP2m+1m

    • Variables: xij , i ∈ [2m + 1], j ∈ [m]

    xij = 1 iff pigeon i is place in hole j

    N = (2m + 1)m

    • Contraints:2m+1∧i=1

    (xi1 ∨ . . . ∨ xim)

    m∧j=1

    2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬xi1j ∨ ¬xi2j ∨ ¬xi3j)

  • Doubled Pigeonhole Principle

    Doubled Pigeonhole Principle: If 2m + 1 pigeons are distributed by mholes, then at least one hole contains more than two pigeons.

    Propositonal encoding of 2PHP2m+1m

    • Variables: xij , i ∈ [2m + 1], j ∈ [m]

    xij = 1 iff pigeon i is place in hole j

    N = (2m + 1)m

    • Contraints:2m+1∧i=1

    (xi1 ∨ . . . ∨ xim)

    m∧j=1

    2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬xi1j ∨ ¬xi2j ∨ ¬xi3j)

  • DRE of Doubled Pigeonhole Principle

    DRE(2PHP2m+1m ):• for each xij , i ∈ [2m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [2m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬pi1j ∨ ¬pi2j ∨ ¬pi2j)

    2PHPm+1m unsatisfiable if cost ≥ N + 1 = (2m + 1)m + 1

  • DRE of Doubled Pigeonhole Principle

    DRE(2PHP2m+1m ):• for each xij , i ∈ [2m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [2m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬pi1j ∨ ¬pi2j ∨ ¬pi2j)

    2PHPm+1m unsatisfiable if cost ≥ N + 1 = (2m + 1)m + 1

  • DRE of Doubled Pigeonhole Principle

    DRE(2PHP2m+1m ):• for each xij , i ∈ [2m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [2m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬pi1j ∨ ¬pi2j ∨ ¬pi2j)

    2PHPm+1m unsatisfiable if cost ≥ N + 1 = (2m + 1)m + 1

  • DRE of Doubled Pigeonhole Principle

    DRE(2PHP2m+1m ):• for each xij , i ∈ [2m + 1], j ∈ [m]:

    – associate variables pij and nij– add soft clauses (pij), (nij)– add hard P-clause (¬pij ∨ ¬nij)

    • for each i ∈ [2m + 1]:

    Li = (¬ni1 ∨ . . . ∨ ¬nim)

    • for each j ∈ [m]:

    Mj =2m−1∧i1=1

    2m∧i2=1

    2m+1∧i3=3

    (¬pi1j ∨ ¬pi2j ∨ ¬pi2j)

    2PHPm+1m unsatisfiable if cost ≥ N + 1 = (2m + 1)m + 1

  • Computing MaxSAT cost of DRE(2PHP2m+1m )

    Proposition

    Given there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of 2m − 1 in polynomial time.

    Proof Idea:

    • Order the clauses in the SAT solver (via an ordering of thevariables)

    • Cores induce sets to hit in MHS that correspond to a knownstructure (a set of all triplets, or a set of all triplets plus sometriplets containing and additional element)

    • Last iteration corresponds to a minimum hitting set of size 2m − 1(cost)

  • Computing MaxSAT cost of DRE(2PHP2m+1m )

    Proposition

    Given there is an execution of the basic MaxHS algorithmthat computes a MaxSAT cost of 2m − 1 in polynomial time.

    Proof Idea:

    • Order the clauses in the SAT solver (via an ordering of thevariables)

    • Cores induce sets to hit in MHS that correspond to a knownstructure (a set of all triplets, or a set of all triplets plus sometriplets containing and additional element)

    • Last iteration corresponds to a minimum hitting set of size 2m − 1(cost)

  • Outline

    Basic MaxHS Algorithm

    DRMaxSAT

    DRMaxSAT/basic MaxHS vs Pigeonhole Principle

    DRMaxSAT/basic MaxHS vs Doubled Pigeonhole Principle

    Conclusions

  • Conclusions

    • MaxHS-like MaxSAT algorithms show good performance ondual-rail encoded families of benchmarks• Showed that DRMaxSAT using Basic MaxHS Algorithm can refute

    in polynomial time:

    – Pigeonhole Principle– Doubled Pigeonhole Principle

    • Future work will seek to :– understand how MaxHS-like algorithms compare with core-guided

    algortihms– search for other principles (hard for resolution) for which

    DRMaxSAT may be beneficial

    Basic MaxHS AlgorithmDRMaxSATDRMaxSAT/basic MaxHS vs Pigeonhole PrincipleDRMaxSAT/basic MaxHS vs Doubled Pigeonhole PrincipleConclusions