Introduction: applications Applications ◮ Identification and repair of sources of inconsistency - circuit error diagnosis; error localization in product configuration. ◮ Identification of relevant features of systems: - automatic abstraction in model checking; - environmental assumptions in formal equivalence checking. ◮ MaxSAT: debugging, optimization, bioinformatics, etc. Computation of (group-)MUSes and MaxSAT solutions ◮ Algorithms aimed at industrial instances are based on iterative calls to a SAT solver. ◮ SAT solving is the main bottleneck. ◮ Number of SAT calls is a function of the size of the input formula. ◮ In the SAT world: preprocessing is essential for efficient SAT solving. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 7
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) ◮ Variable elimination (VE) (aka DP-reduction) VE( F , x ) = F ∪ ( F x ⊗ x F ¬ x ) \ ( F x ∪ F ¬ x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) ◮ Variable elimination (VE) (aka DP-reduction) VE( F , x ) = F ∪ ( F x ⊗ x F ¬ x ) \ ( F x ∪ F ¬ x ) ◮ Self-subsuming resolution (SSR) replace ( x ∨ C ) ( ¬ x ∨ C ∨ D ) with ( x ∨ C ) ( C ∨ D ). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) ◮ Variable elimination (VE) (aka DP-reduction) VE( F , x ) = F ∪ ( F x ⊗ x F ¬ x ) \ ( F x ∪ F ¬ x ) ◮ Self-subsuming resolution (SSR) replace ( x ∨ C ) ( ¬ x ∨ C ∨ D ) with ( x ∨ C ) ( C ∨ D ). Important: a model of original formula can be reconstructed efficiently . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8
Introduction: preprocessing for MUSes and MaxSAT Input formula F preprocessor Preprocessed formula F ′ MUS extractor MaxSAT solver A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 9
Introduction: preprocessing for MUSes and MaxSAT Input formula F preprocessor Preprocessed formula F ′ MUS extractor MaxSAT solver MUS of F ′ MaxSAT solution of F ′ A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 9
Introduction: preprocessing for MUSes and MaxSAT Input formula F preprocessor Preprocessed formula F ′ MUS extractor MaxSAT solver MUS of F ′ MaxSAT solution of F ′ P -time procedure P -time procedure MUS of F MaxSAT solution of F A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 9
Outline Introduction: MUSes, MaxSAT, SAT preprocessing Direct reconstruction: techniques that work Direct reconstruction: techniques that break Sound preprocessing in Labelled CNF framework A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 10
Plain MUS: clause elimination M = M ′ F E F ′ M ′ A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 11
Plain MUS: clause elimination M = M ′ F E F ′ M ′ Prop: Any MUS of F ′ = E ( F ) is an MUS of F . Reconstruction is trivial. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 11
Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12
Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12
Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) Prop: If M ′ is an MUS of F ′ = BCP( F , l ), then M = � C ∈ M ′ support BCP ( C , F ) is an MUS of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12
Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) Prop: If M ′ is an MUS of F ′ = BCP( F , l ), then M = � C ∈ M ′ support BCP ( C , F ) is an MUS of F . Pf: Take a witness τ for C 2 in F ′ . Then, τ ∪ { l } is a witness for ( ¬ l ∨ C 2 ), while τ ∪ {¬ l } is a witness for ( l ). If τ is a witness for C 4 in F ′ , then τ ∪ { l } is a witness for C 4 in F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12
Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) Prop: If M ′ is an MUS of F ′ = BCP( F , l ), then M = � C ∈ M ′ support BCP ( C , F ) is an MUS of F . Pf: Take a witness τ for C 2 in F ′ . Then, τ ∪ { l } is a witness for ( ¬ l ∨ C 2 ), while τ ∪ {¬ l } is a witness for ( l ). If τ is a witness for C 4 in F ′ , then τ ∪ { l } is a witness for C 4 in F . Reconstruction can be done in P-time. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12
Group-MUS: monotone clause elimination Def: A clause elimination procedure E is monotone iff for any F ′ ⊆ F , E ( F ′ ) ⊆ E ( F ). Example: BCE — if C is blocked in F , its blocked in any F ′ ⊆ F . Non-example: SUB — if C 1 ⊂ C 2 in F , but C 1 is not in F ′ . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 13
Group-MUS: monotone clause elimination Def: A clause elimination procedure E is monotone iff for any F ′ ⊆ F , E ( F ′ ) ⊆ E ( F ). Example: BCE — if C is blocked in F , its blocked in any F ′ ⊆ F . Non-example: SUB — if C 1 ⊂ C 2 in F , but C 1 is not in F ′ . Prop: If E is monotone, then MUS( E ( F )) = MUS( F ), i.e. any monotone clause elimination procedure is MUS-preserving . Pf: if M ∈ MUS( E ( F )), then M ⊆ E ( F ) ⊆ F , i.e. M ∈ MUS( F ) (doesn’t matter that E is monotone); if M ∈ MUS( F ), then E ( M ) = M because E is SAT-preserving, and since M ⊆ F , we have E ( M ) ⊆ E ( F ) by monotonicity, i.e. M ∈ MUS( E ( F )). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 13
Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14
Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14
Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 Given a group-MUS M ′ of F ′ = E ( F ), let M = { G i ∈ F | G ′ i ∈ M ′ } . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14
Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 Given a group-MUS M ′ of F ′ = E ( F ), let M = { G i ∈ F | G ′ i ∈ M ′ } . Prop: If E is MUS-preserving, then M is a group-MUS of F . Note: in particular, this is true if E is monotone (e.g. BCE). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14
MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15
MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15
MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 Prop: If E is MUS-preserving, and τ is a MaxSAT solution for E ( F ), then α E ( τ ) is a MaxSAT solution for F . Pf: E is MUS-preserving ⇒ E is MCS-preserving (HS-duality), and so min-cost MCS is the same. Only MSS clauses will be eliminated. τ is a model of the MSS of E ( F ), α E ( τ ) must be a model of corresponding MSS of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15
MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 Prop: If E is MUS-preserving, and τ is a MaxSAT solution for E ( F ), then α E ( τ ) is a MaxSAT solution for F . Pf: E is MUS-preserving ⇒ E is MCS-preserving (HS-duality), and so min-cost MCS is the same. Only MSS clauses will be eliminated. τ is a model of the MSS of E ( F ), α E ( τ ) must be a model of corresponding MSS of F . Note: in particular, this is true if E is monotone (e.g. BCE). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15
Outline Introduction: MUSes, MaxSAT, SAT preprocessing Direct reconstruction: techniques that work Direct reconstruction: techniques that break Sound preprocessing in Labelled CNF framework A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 16
Plain MUS: SSR C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR support SSR (( p ∨ q ) , F ) C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR support SSR (( p ∨ q ) , F ) C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR support SSR (( p ∨ q ) , F ) MUS C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR support SSR (( p ∨ q ) , F ) C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR support SSR (( p ∨ q ) , F ) Not an MUS redundant C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: SSR support SSR (( p ∨ q ) , F ) Not an MUS redundant C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) For an MUS M ′ of F ′ = SSR( F , C , D , l ), M = � C ∈ M ′ support SSR ( C , F ) might be not an MUS of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17
Plain MUS: VE Canonical CNF on p , q , r without Canonical CNF on p , q , r without ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ s ) F R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) R F ′ = VE( F , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18
Plain MUS: VE Canonical CNF on p , q , r without Canonical CNF on p , q , r without MUS ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ x ∨ q ) ( ¬ s ) ( ¬ s ) F F R R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) ( ¬ s ) R R F ′ = VE( F , x ) F ′ = VE( F , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18
Plain MUS: VE Canonical CNF on p , q , r without Not an MUS ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) redundant ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ s ) F R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) R F ′ = VE( F , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18
Plain MUS: VE Canonical CNF on p , q , r without Canonical CNF on p , q , r without Not an MUS ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) redundant ( x ∨ p ∨ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ x ∨ q ) ( ¬ s ) ( ¬ s ) F F R R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) R F ′ = VE( F , x ) For an MUS M ′ of F ′ = VE( F , x ), M = � C ∈ M ′ support VE ( C , F ) might be not an MUS of F . Doesn’t work even if M is greedily minimized to avoid duplicate resolvents. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18
Group-MUS: subsumption G 0 G 1 G 2 F ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) G ′ G ′ G ′ 0 1 2 ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) SUBS ( F ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 19
Group-MUS: subsumption Not a group-MUS G 0 G 1 redundant G 2 F ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) G ′ G ′ G ′ 0 1 2 ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) SUBS ( F ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 19
Group-MUS: subsumption Not a group-MUS G 0 G 1 redundant G 2 F ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) G ′ G ′ G ′ 0 1 2 ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) SUBS ( F ) For a group-MUS M ′ of F ′ = E ( F ), M = { G i ∈ F | G ′ i ∈ F ′ } might be not a group-MUS of F . Note: can do certain things with subsumption: eliminate within a group, or from group-0 to other groups. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 19
Group MUS: BCP G 0 G 1 G 2 G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20
Group MUS: BCP Not a group-MUS G 0 G 1 G 2 redundant G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20
Group MUS: BCP Not a group-MUS G 0 G 1 G 2 redundant G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) BCP in the group-MUS setting is problematic. Note: again, can do certain things with BCP: propagate within a group, or from group-0 to other groups. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20
Group MUS: BCP Not a group-MUS G 0 G 1 G 2 redundant G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) BCP in the group-MUS setting is problematic. Note: again, can do certain things with BCP: propagate within a group, or from group-0 to other groups. Note: VE and SSR didn’t work for plain MUSes, and so won’t work for group-MUSes either. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20
MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21
MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21
MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) τ = {¬ p , ¬ r } is a MaxSAT solution for SUBS ( F ), cost ( τ ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21
MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) τ = {¬ p , ¬ r } is a MaxSAT solution for SUBS ( F ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21
MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) τ = {¬ p , ¬ r } is a MaxSAT solution for SUBS ( F ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. Reason: subsumption may remove some of the MUSes of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21
MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22
MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22
MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) τ = {¬ p , ¬ r } is a MaxSAT solution for VE ( F , q ), cost ( τ ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22
MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) τ = {¬ p , ¬ r } is a MaxSAT solution for VE ( F , q ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22
MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) τ = {¬ p , ¬ r } is a MaxSAT solution for VE ( F , q ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. Reason: VE changes the MUSes of F . Additional problem: what to do with weights ? A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22
MaxSAT: resolution-based preprocessing None of the resolution-based techniques are sound for MaxSAT, because the resolution rule itself is not sound. ( x ∨ C 1 ) ⊗ x ( ¬ x ∨ C 2 ) = ( C 1 ∨ C 2 ) Consider an assignment τ s.t. τ ( ¬ x ∨ C 2 ) = 0 and τ ( C 1 ) = 1. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 23
MaxSAT: resolution-based preprocessing None of the resolution-based techniques are sound for MaxSAT, because the resolution rule itself is not sound. ( x ∨ C 1 ) ⊗ x ( ¬ x ∨ C 2 ) = ( C 1 ∨ C 2 ) Consider an assignment τ s.t. τ ( ¬ x ∨ C 2 ) = 0 and τ ( C 1 ) = 1. MaxSAT Resolution rule [Bonet et al, 07] A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 23
MaxSAT: resolution-based preprocessing None of the resolution-based techniques are sound for MaxSAT, because the resolution rule itself is not sound. ( x ∨ C 1 ) ⊗ x ( ¬ x ∨ C 2 ) = ( C 1 ∨ C 2 ) Consider an assignment τ s.t. τ ( ¬ x ∨ C 2 ) = 0 and τ ( C 1 ) = 1. MaxSAT Resolution rule [Bonet et al, 07] Although sound and complete for MaxSAT solving, is not suitable for preprocessing. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 23
Summary of Direct Reconstruction Techniques that work ◮ plain-MUS: any clause elimination, BCP. ◮ group-MUS: MUS-preserving (sp. monotone) clause elimination. ◮ MaxSAT: MUS-preserving (sp. monotone) clause elimination. Techniques that break ◮ plain-MUS: VE, SSR ◮ group-MUS: SUB, BCP, VE, SSR ◮ MaxSAT: SUB, BCP, VE, SSR A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 24
Summary of Direct Reconstruction Techniques that work ◮ plain-MUS: any clause elimination, BCP. ◮ group-MUS: MUS-preserving (sp. monotone) clause elimination. ◮ MaxSAT: MUS-preserving (sp. monotone) clause elimination. Techniques that break ◮ plain-MUS: VE, SSR ◮ group-MUS: SUB, BCP, VE, SSR ◮ MaxSAT: SUB, BCP, VE, SSR Important: not known that sound direct methods are impossible . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 24
Summary of Direct Reconstruction Techniques that work ◮ plain-MUS: any clause elimination, BCP. ◮ group-MUS: MUS-preserving (sp. monotone) clause elimination. ◮ MaxSAT: MUS-preserving (sp. monotone) clause elimination. Techniques that break ◮ plain-MUS: VE, SSR ◮ group-MUS: SUB, BCP, VE, SSR ◮ MaxSAT: SUB, BCP, VE, SSR Important: not known that sound direct methods are impossible . Note: Some special cases do work: ◮ group-MUS: within groups, or from group-0 to other groups. ◮ MaxSAT: within F H , or from F H to soft clauses. Need a generic framework for guaranteed correctness-preserving application of preprocessing techniques. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 24
Outline Introduction: MUSes, MaxSAT, SAT preprocessing Direct reconstruction: techniques that work Direct reconstruction: techniques that break Sound preprocessing in Labelled CNF framework A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 25
Labelled CNF (LCNF) formulas Original motivation: generalize group-MUS to intersecting groups Note: those arise naturally in circuit-MUS and variable-MUS settings. Note: generalizes other related problems, such as MCS computation and MaxSAT. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 26
Labelled CNF (LCNF) formulas Original motivation: generalize group-MUS to intersecting groups Note: those arise naturally in circuit-MUS and variable-MUS settings. Note: generalizes other related problems, such as MCS computation and MaxSAT. The components of the framework ◮ Lbls : a countable set of labels . ◮ Labelled clause C L is a tuple � C , L � , where C is a clause, and L ⊂ Lbls is a finite set of labels. ◮ LCNF formula Φ is a set of labelled clauses. - Cls (Φ) - the “normal” clauses of Φ, i.e. � C L ∈ Φ C . - Lbls (Φ) - the labels of Φ, i.e. � C L ∈ Φ L . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 26
Labelled CNF (LCNF) formulas Original motivation: generalize group-MUS to intersecting groups Note: those arise naturally in circuit-MUS and variable-MUS settings. Note: generalizes other related problems, such as MCS computation and MaxSAT. The components of the framework ◮ Lbls : a countable set of labels . ◮ Labelled clause C L is a tuple � C , L � , where C is a clause, and L ⊂ Lbls is a finite set of labels. ◮ LCNF formula Φ is a set of labelled clauses. - Cls (Φ) - the “normal” clauses of Φ, i.e. � C L ∈ Φ C . - Lbls (Φ) - the labels of Φ, i.e. � C L ∈ Φ L . Example ( Lbls = N ): ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 26
LCNF formulas: induced subformulas Def: For an LCNF Φ, let M ⊆ Lbls (Φ). Then, Φ | M = { C L ∈ Φ | L ⊆ M } is a subformula of Φ induced by M . Alternatively: any clause that has a label outside of M is removed from Φ. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 27
LCNF formulas: induced subformulas Def: For an LCNF Φ, let M ⊆ Lbls (Φ). Then, Φ | M = { C L ∈ Φ | L ⊆ M } is a subformula of Φ induced by M . Alternatively: any clause that has a label outside of M is removed from Φ. ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ Φ | { 1 , 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ | { 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 27
LCNF formulas: induced subformulas Def: For an LCNF Φ, let M ⊆ Lbls (Φ). Then, Φ | M = { C L ∈ Φ | L ⊆ M } is a subformula of Φ induced by M . Alternatively: any clause that has a label outside of M is removed from Φ. ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ Φ | { 1 , 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ | { 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Note: Clauses with the label-set ∅ cannot be removed ⇒ a convenient way to represents G 0 clauses in group-MUS, or F H in MaxSAT. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 27
LCNF formulas: minimal unsatisfiability and MUSes Satisfiability: LCNF Φ is SAT iff Cls (Φ) is SAT. Def: M ⊆ Lbls (Φ) is an minimal unsatisfiable subformula (MUS) of Φ if Φ | M ∈ UNSAT, and ∀ l ∈ M , Φ | M \{ l } ∈ SAT I.e. the removal of any label from Φ | M makes it SAT. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 28
LCNF formulas: minimal unsatisfiability and MUSes Satisfiability: LCNF Φ is SAT iff Cls (Φ) is SAT. Def: M ⊆ Lbls (Φ) is an minimal unsatisfiable subformula (MUS) of Φ if Φ | M ∈ UNSAT, and ∀ l ∈ M , Φ | M \{ l } ∈ SAT I.e. the removal of any label from Φ | M makes it SAT. Natural mapping between CNF/group-CNF and LCNF: C 1 C 2 C 3 C 4 C 5 C 6 ( p ) ( q ) ( ¬ p ∨ ¬ q ) ( ¬ p ∨ r ) ( p ∨ q ) ( ¬ q ∨ ¬ r ) MUS is { C 1 , C 2 , C 4 , C 6 } ( p ) { 1 } ( q ) { 2 } ( ¬ p ∨ ¬ q ) { 3 } ( ¬ p ∨ r ) { 4 } ( p ∨ q ) { 5 } ( ¬ q ∨ ¬ r ) { 6 } Φ LMUS is { 1 , 2 , 4 , 6 } A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 28
LCNF formulas: minimal unsatisfiability and MUSes Satisfiability: LCNF Φ is SAT iff Cls (Φ) is SAT. Def: M ⊆ Lbls (Φ) is an minimal unsatisfiable subformula (MUS) of Φ if Φ | M ∈ UNSAT, and ∀ l ∈ M , Φ | M \{ l } ∈ SAT I.e. the removal of any label from Φ | M makes it SAT. Natural mapping between CNF/group-CNF and LCNF: G 0 G 1 G 2 ( p ) ( q ) ( ¬ p ∨ ¬ q ) ( ¬ p ∨ r ) ( p ∨ q ) ( ¬ q ∨ ¬ r ) group-MUS is { G 1 } ( p ) ∅ ( q ) ∅ ( ¬ p ∨ ¬ q ) { 1 } ( ¬ p ∨ r ) { 1 } ( p ∨ q ) { 2 } ( ¬ q ∨ ¬ r ) { 2 } Φ LMUS is { 1 } A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 28
LCNF formulas: MCSes and MaxSAT Def: S ⊆ Lbls (Φ) is a maximal satisfiable subformula (MSS) of Φ if Φ | S ∈ SAT, and ∀ l ∈ Lbls (Φ) \ S , Φ | S ∪{ l } ∈ UNSAT. Def: R ⊆ Lbls (Φ) is a minimal correction subset (MCS) of Φ if Φ | Lbls (Φ) \ R ∈ SAT, and ∀ l ∈ R , Φ | ( Lbls (Φ) \ R ) ∪{ l } ∈ UNSAT. Note: hitting sets duality between MUSes and MCSes holds for LCNFs. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 29
LCNF formulas: MCSes and MaxSAT Def: S ⊆ Lbls (Φ) is a maximal satisfiable subformula (MSS) of Φ if Φ | S ∈ SAT, and ∀ l ∈ Lbls (Φ) \ S , Φ | S ∪{ l } ∈ UNSAT. Def: R ⊆ Lbls (Φ) is a minimal correction subset (MCS) of Φ if Φ | Lbls (Φ) \ R ∈ SAT, and ∀ l ∈ R , Φ | ( Lbls (Φ) \ R ) ∪{ l } ∈ UNSAT. Note: hitting sets duality between MUSes and MCSes holds for LCNFs. MaxSAT for LCNFs: ◮ each label l has a weight w ( l ) ∈ N + ; ◮ the cost of a set of labels L is � l ∈ L w ( l ). ◮ weighted LCNF: just an LCNF + the weights for labels. ◮ a MaxSAT solution for Φ is a model of an MSS of the maximum cost . Alternatively: falsifies only the clauses of an MCS of the minimum cost . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 29
LCNF formulas: MCSes and MaxSAT Def: S ⊆ Lbls (Φ) is a maximal satisfiable subformula (MSS) of Φ if Φ | S ∈ SAT, and ∀ l ∈ Lbls (Φ) \ S , Φ | S ∪{ l } ∈ UNSAT. Def: R ⊆ Lbls (Φ) is a minimal correction subset (MCS) of Φ if Φ | Lbls (Φ) \ R ∈ SAT, and ∀ l ∈ R , Φ | ( Lbls (Φ) \ R ) ∪{ l } ∈ UNSAT. Note: hitting sets duality between MUSes and MCSes holds for LCNFs. MaxSAT for LCNFs: ◮ each label l has a weight w ( l ) ∈ N + ; ◮ the cost of a set of labels L is � l ∈ L w ( l ). ◮ weighted LCNF: just an LCNF + the weights for labels. ◮ a MaxSAT solution for Φ is a model of an MSS of the maximum cost . Alternatively: falsifies only the clauses of an MCS of the minimum cost . Note: a natural mapping between MaxSAT instances and weighted LCNFs. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 29
LCNF formulas: preprocessing Main point: For LCNF formulas MUSes and MCSes are preserved under a (suitably defined) preprocessing techniques. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 30
LCNF formulas: preprocessing Main point: For LCNF formulas MUSes and MCSes are preserved under a (suitably defined) preprocessing techniques. Subsumption elimination Theorem: Let C L 1 and C L 2 in Φ be such that C 1 ⊆ C 2 and L 1 ⊆ L 2 . Then, 1 2 any MUS of Φ \ { C L 2 2 } is an MUS of Φ, and vice versa. Note: by hitting sets duality, MCS(Φ \ { C L 2 2 } ) = MCS(Φ). Any MaxSAT solution τ for Φ \ { C L 2 2 } is a MaxSAT solution for Φ. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 30
Recommend
More recommend