SlideShare une entreprise Scribd logo
1  sur  105
How a CDCL SAT
  Solver works


       Masahiro Sakai
  Twitter: @masahiro_sakai
Abstract
• Demonstrating how a modern SAT
  solver works on a small example.
• Target Algorithm
 • Conflict-Driven Clause Learning
    (CDCL)
 • 1-UIP learning + far-backtracking
 • details are omitted efficient data
    (decision heuristics,
   structure, etc.,)
An Example Problem
• ω1: ¬x1   ¬x4   x5   • ω6: ¬x8   ¬x9

• ω2: ¬x4   x6         • ω7: ¬x8   x9

• ω3: ¬x5   ¬x6   x7

• ω4: ¬x7   x8

• ω5: ¬x2   ¬x7   x9
Decide               Implication Graph




Clause DB
   • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
   • ω2: ¬x4   x6          • ω7: ¬x8   x9
   • ω3: ¬x5   ¬x6    x7
   • ω4: ¬x7   x8
   • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1

                 x1@1




Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1

x2                                 x2@2
                 x1@1




Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3




Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4
                       ω2
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5          ω6
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4          ω6
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5          ω6
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4          ω6
                             x6@4                    x8@4

Clause DB   Conflict
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Diagnose
                      Implication Graph
                x3@3
                       ω1               x2@2   ω5
                x1@1
                            x5@4                    x9@4
                                   ω3          ω5          ω6
                       ω1
                x4@4                    x7@4
                      ω2           ω3          ω4          ω6
                            x6@4                    x8@4

Clause DB
    • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
    • ω2: ¬x4   x6           • ω7: ¬x8     x9
    • ω3: ¬x5   ¬x6    x7
    • ω4: ¬x7   x8
    • ω5: ¬x2   ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
  ω6:                 x3@3    Side
¬x8 ¬x9
                             ω1               x2@2   ω5
                      x1@1
                                  x5@4                    x9@4
                                         ω3          ω5          ω6
                             ω1
                      x4@4                    x7@4
                            ω2           ω3          ω4          ω6
                                  x6@4                    x8@4    Conflict
                                                                   Side

  Clause DB
          • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4   x6           • ω7: ¬x8     x9
          • ω3: ¬x5   ¬x6    x7
          • ω4: ¬x7   x8
          • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
  ω6:    ω4:        x3@3    Side
¬x8 ¬x9 ¬x7 x8
                           ω1               x2@2   ω5
                    x1@1
                                x5@4                    x9@4
                                       ω3          ω5          ω6
                           ω1
                    x4@4                    x7@4
                          ω2           ω3          ω4          ω6
                                x6@4                    x8@4    Conflict
                                                                 Side

  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
  ω6:    ω4:        x3@3    Side
¬x8 ¬x9 ¬x7 x8
                           ω1               x2@2   ω5
                    x1@1
                                x5@4                    x9@4
                                       ω3          ω5          ω6
                           ω1
                    x4@4                    x7@4
                          ω2           ω3          ω4          ω6
                                x6@4                    x8@4    Conflict
                                                                 Side

  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
  ω6:    ω4:          x3@3    Side
¬x8 ¬x9 ¬x7 x8
                             ω1               x2@2   ω5
¬x7 ¬x9               x1@1
                                  x5@4                    x9@4
                                         ω3          ω5          ω6
                             ω1
                      x4@4                    x7@4
                            ω2           ω3          ω4          ω6
                                  x6@4                    x8@4    Conflict
                                                                   Side

  Clause DB
          • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4   x6           • ω7: ¬x8     x9
          • ω3: ¬x5   ¬x6    x7
          • ω4: ¬x7   x8
          • ω5: ¬x2   ¬x7    x9
Diagnose
                             Implication Graph
                              Reason
  ω6:    ω4:           x3@3    Side
¬x8 ¬x9 ¬x7 x8
                              ω1               x2@2   ω5
¬x7 ¬x9      ω5:       x1@1
          ¬x2 ¬x7 x9               x5@4                    x9@4
                                          ω3          ω5          ω6
                              ω1
                       x4@4                    x7@4
                             ω2           ω3          ω4          ω6
                                   x6@4                    x8@4    Conflict
                                                                    Side

  Clause DB
          • ω1: ¬x1    ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4    x6           • ω7: ¬x8     x9
          • ω3: ¬x5    ¬x6    x7
          • ω4: ¬x7    x8
          • ω5: ¬x2    ¬x7    x9
Diagnose
                             Implication Graph
                              Reason
  ω6:    ω4:           x3@3    Side
¬x8 ¬x9 ¬x7 x8
                              ω1               x2@2   ω5
¬x7 ¬x9      ω5:       x1@1
          ¬x2 ¬x7 x9               x5@4                    x9@4
                                          ω3          ω5          ω6
                              ω1
                       x4@4                    x7@4
                             ω2           ω3          ω4          ω6
                                   x6@4                    x8@4    Conflict
                                                                    Side

  Clause DB
          • ω1: ¬x1    ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4    x6           • ω7: ¬x8     x9
          • ω3: ¬x5    ¬x6    x7
          • ω4: ¬x7    x8
          • ω5: ¬x2    ¬x7    x9
Diagnose
                             Implication Graph
                              Reason
  ω6:    ω4:           x3@3    Side
¬x8 ¬x9 ¬x7 x8
                              ω1               x2@2   ω5
¬x7 ¬x9      ω5:       x1@1
          ¬x2 ¬x7 x9               x5@4                    x9@4
                                          ω3          ω5          ω6
    ¬x2   ¬x7                 ω1
                       x4@4                    x7@4
                             ω2           ω3          ω4          ω6
                                   x6@4                    x8@4    Conflict
                                                                    Side

  Clause DB
          • ω1: ¬x1    ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4    x6           • ω7: ¬x8     x9
          • ω3: ¬x5    ¬x6    x7
          • ω4: ¬x7    x8
          • ω5: ¬x2    ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
  ω6:    ω4:                 x3@3    Side
¬x8 ¬x9 ¬x7 x8
                                    ω1               x2@2   ω5
¬x7 ¬x9        ω5:           x1@1
            ¬x2 ¬x7 x9                   x5@4                    x9@4
                                                ω3          ω5          ω6
     ¬x2     ¬x7                    ω1
                             x4@4                    x7@4
 It contains one literal
         in the current                         ω3                      ω6
                                   ω2                       ω4
  decision level (i.e. 4).
                                         x6@4                    x8@4    Conflict
                                                                          Side

  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7
           • ω4: ¬x7         x8
           • ω5: ¬x2         ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
  ω6:    ω4:                 x3@3    Side
¬x8 ¬x9 ¬x7 x8
                                    ω1               x2@2   ω5
¬x7 ¬x9        ω5:           x1@1
            ¬x2 ¬x7 x9                   x5@4                    x9@4
                                                ω3          ω5          ω6
     ¬x2     ¬x7                    ω1
                             x4@4                    x7@4
 It contains one literal
         in the current                         ω3                      ω6
                                   ω2                       ω4
  decision level (i.e. 4).
                                         x6@4                    x8@4    Conflict
                                                                          Side

  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7    • ω8: ¬x2     ¬x7
           • ω4: ¬x7         x8
           • ω5: ¬x2         ¬x7    x9       New clause is learnt !
Backtrack                   Implication Graph
  Learnt clause:
    ¬x2 ¬x7               x3@3
                                 ω1               x2@2   ω5
x2 was set at level 2     x1@1
x7 was set at level 4                 x5@4                    x9@4
                                             ω3          ω5          ω6
Assertion level of this
clause (which is the             ω1
second highest level)
                          x4@4                    x7@4
is 2.                                                                ω6
                                ω2           ω3          ω4
  Backtrack to level 2!               x6@4                    x8@4

  Clause DB
          • ω1: ¬x1       ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4       x6           • ω7: ¬x8     x9
          • ω3: ¬x5       ¬x6    x7    • ω8: ¬x2     ¬x7
          • ω4: ¬x7       x8
          • ω5: ¬x2       ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5          ω6
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4          ω6
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2   ω5
                 x1@1
                             x5@4                    x9@4
x3                                  ω3          ω5
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3          ω4
                             x6@4                    x8@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1               x2@2
                 x1@1
                             x5@4
x3                                  ω3
                        ω1
                 x4@4                    x7@4
x4
                       ω2           ω3
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8     x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4
                       ω2
                             x6@4

Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                      ω1          x2@2
                 x1@1
                             x5@4
x3
                        ω1
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3
                 x4@4
x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1               x3@3

x2                                 x2@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Backtrack             Implication Graph
x1

x2                                 x2@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1

x2                                 x2@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Deduce                Implication Graph
x1
                                          ω8
x2                                 x2@2    ¬x7@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                Implication Graph
x1
                                          ω8
x2                                 x2@2    ¬x7@2
                 x1@1
x3

x4



Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8   x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
     • ω4: ¬x7   x8
     • ω5: ¬x2   ¬x7    x9
Decide                   Implication Graph
x1                  x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3

x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Decide                   Implication Graph
x1                  x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3
                    x4@4
x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3
                    x4@4
x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                              ω8
x2                         ω1          x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3
                           ω1
                    x4@4
x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                              ω8
x2                         ω1          x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3
                           ω1
                    x4@4
x4 x4
                          ω2
                                x6@4

Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                                   ω8
x2                         ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3                                  ω3          ω3
                           ω1
                    x4@4
x4 x4
                          ω2           ω3
                                x6@4

Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Deduce                   Implication Graph
x1                  x3@3
                                                   ω8
x2                         ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3                                  ω3          ω3
                           ω1
                    x4@4
x4 x4
                          ω2           ω3
                                x6@4

Clause DB      Conflict
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                      Implication Graph
                x3@3
                                               ω8
                       ω1               x2@2    ¬x7@2
                x1@1
                            x5@4   ω3          ω3
                       ω1
                x4@4
                      ω2           ω3
                            x6@4

Clause DB
    • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
    • ω2: ¬x4   x6           • ω7: ¬x8     x9
    • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
    • ω4: ¬x7   x8
    • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:              x3@3    Side
¬x5 ¬x6 x7                                         ω8
                           ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:      ω2:     x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                  ω8
                           ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:      ω2:     x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                  ω8
                           ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                          Implication Graph
                           Reason
   ω3:      ω2:     x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                  ω8
                           ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7          x1@1
                                x5@4   ω3          ω3
                           ω1
                    x4@4
                          ω2           ω3      Conflict
                                x6@4            Side


  Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8
        • ω5: ¬x2   ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
   ω3:      ω2:       x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                    ω8
                             ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:       x1@1
         ¬x1 ¬x4 x5               x5@4   ω3          ω3
                             ω1
                      x4@4
                            ω2           ω3      Conflict
                                  x6@4            Side


  Clause DB
        • ω1: ¬x1     ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4     x6           • ω7: ¬x8     x9
        • ω3: ¬x5     ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7     x8
        • ω5: ¬x2     ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
   ω3:      ω2:       x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                    ω8
                             ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:       x1@1
         ¬x1 ¬x4 x5               x5@4   ω3          ω3
                             ω1
                      x4@4
                            ω2           ω3      Conflict
                                  x6@4            Side


  Clause DB
        • ω1: ¬x1     ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4     x6           • ω7: ¬x8     x9
        • ω3: ¬x5     ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7     x8
        • ω5: ¬x2     ¬x7    x9
Diagnose
                            Implication Graph
                             Reason
   ω3:      ω2:       x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                    ω8
                             ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:       x1@1
         ¬x1 ¬x4 x5               x5@4   ω3          ω3
  ¬x1   ¬x4   x7             ω1
                      x4@4
                            ω2           ω3      Conflict
                                  x6@4            Side


  Clause DB
        • ω1: ¬x1     ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4     x6           • ω7: ¬x8     x9
        • ω3: ¬x5     ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7     x8
        • ω5: ¬x2     ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
   ω3:      ω2:              x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                           ω8
                                    ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:              x1@1
         ¬x1 ¬x4 x5                      x5@4   ω3          ω3
  ¬x1     ¬x4    x7                 ω1
                             x4@4
 It contains one literal
         in the current                         ω3
  decision level (i.e. 4).         ω2                   Conflict
                                         x6@4            Side


  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7    • ω8: ¬x2     ¬x7
           • ω4: ¬x7         x8
           • ω5: ¬x2         ¬x7    x9
Diagnose
                                   Implication Graph
                                    Reason
   ω3:      ω2:              x3@3    Side
¬x5 ¬x6 x7 ¬x4 x6                                           ω8
                                    ω1               x2@2    ¬x7@2
¬x4 ¬x5 x7  ω1:              x1@1
         ¬x1 ¬x4 x5                      x5@4   ω3          ω3
  ¬x1     ¬x4    x7                 ω1
                             x4@4
 It contains one literal
         in the current                         ω3
  decision level (i.e. 4).         ω2                   Conflict
                                         x6@4            Side


  Clause DB
           • ω1: ¬x1         ¬x4    x5    • ω6: ¬x8     ¬x9
           • ω2: ¬x4         x6           • ω7: ¬x8     x9
           • ω3: ¬x5         ¬x6    x7    • ω8: ¬x2     ¬x7
           • ω4: ¬x7         x8           • ω9: ¬x1     ¬x4       x7
           • ω5: ¬x2         ¬x7    x9       New clause is learnt !
Backtrack                   Implication Graph
  Learnt clause:
  ¬x1 ¬x4 x7              x3@3
                                                         ω8
                                 ω1               x2@2    ¬x7@2
x1 was set at level 1
                          x1@1
x4 was set at level 4                 x5@4
x7 was set at level 2                        ω3          ω3
                                 ω1
Assertion level of this   x4@4
clause is 2.
                                ω2           ω3
  Backtrack to level 2!               x6@4

  Clause DB
          • ω1: ¬x1       ¬x4    x5    • ω6: ¬x8     ¬x9
          • ω2: ¬x4       x6           • ω7: ¬x8     x9
          • ω3: ¬x5       ¬x6    x7    • ω8: ¬x2     ¬x7
          • ω4: ¬x7       x8           • ω9: ¬x1     ¬x4      x7
          • ω5: ¬x2       ¬x7    x9
Backtrack                Implication Graph
x1                  x3@3
                                                   ω8
x2                         ω1               x2@2    ¬x7@2
                    x1@1
                                x5@4
x3 x3                                  ω3          ω3
                           ω1
                    x4@4
x4 x4
                          ω2           ω3
                                x6@4

Clause DB
        • ω1: ¬x1   ¬x4    x5    • ω6: ¬x8     ¬x9
        • ω2: ¬x4   x6           • ω7: ¬x8     x9
        • ω3: ¬x5   ¬x6    x7    • ω8: ¬x2     ¬x7
        • ω4: ¬x7   x8           • ω9: ¬x1     ¬x4      x7
        • ω5: ¬x2   ¬x7    x9
Backtrack                Implication Graph
x1
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1   ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Deduce               Implication Graph
x1
                                             ω8
x2                                    x2@2    ¬x7@2
                    x1@1
x3 x3

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8   ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8   x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2   ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1   ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Deduce               Implication Graph
x1
                                                ω8
x2                                       x2@2    ¬x7@2
                    x1@1    ω9
                                          ω9
x3 x3                            ¬x4@2

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8      x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Decide               Implication Graph
x1
                                                ω8
x2                                       x2@2    ¬x7@2
                    x1@1    ω9
                                          ω9
x3 x3                            ¬x4@2

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8      x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Decide               Implication Graph
x1                  x3@3
                                                ω8
x2                                       x2@2    ¬x7@2
                    x1@1    ω9
                                          ω9
x3 x3 x3                         ¬x4@2

x4 x4



Clause DB
        • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
        • ω2: ¬x4   x6          • ω7: ¬x8      x9
        • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
        • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
        • ω5: ¬x2   ¬x7    x9
Decide              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9
x3 x3 x3                        ¬x4@2

x4 x4 x5
                                                     x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9
x3 x3 x3                        ¬x4@2

x4 x4 x5
                                                     x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5                                             ω3

                                                         x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Decide              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5                                             ω3

                                                         x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Decide              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5           x8@5                              ω3


        x8                                               x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                                           ¬x6@4
x4 x4 x5           x8@5                              ω3


        x8                                               x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                          ω6               ¬x6@4
x4 x4 x5           x8@5        ¬x9@5                 ω3


        x8                                               x5@4

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                          ω6               ¬x6@4
x4 x4 x5           x8@5        ¬x9@5                 ω3

                     ω7         ω7                       x5@4
        x8

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Deduce              Implication Graph
x1                 x3@3
                                               ω8
x2                                      x2@2    ¬x7@2
                   x1@1    ω9
                                         ω9         ω3
x3 x3 x3                        ¬x4@2
                          ω6               ¬x6@4
x4 x4 x5           x8@5        ¬x9@5                 ω3

                     ω7         ω7                       x5@4
        x8

Clause DB     Conflict
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7    x9
Diagnose
                      Implication Graph
                x3@3
                                            ω8
                                     x2@2    ¬x7@2
                x1@1    ω9
                                      ω9         ω3
                             ¬x4@2
                       ω6               ¬x6@4
                x8@5        ¬x9@5                 ω3

                  ω7         ω7                       x5@4

Clause DB
    • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
    • ω2: ¬x4   x6          • ω7: ¬x8      x9
    • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
    • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
    • ω5: ¬x2   ¬x7    x9
Diagnose
                              Implication Graph
 ω7:                 x3@3
¬x8 x9                                                ω8
                                               x2@2    ¬x7@2
                     x1@1       ω9
                     Reason                     ω9         ω3
                      Side           ¬x4@2
                               ω6               ¬x6@4
                     x8@5           ¬x9@5                   ω3

                         ω7          ω7                         x5@4
                                     Conflict
                                      Side
 Clause DB
         • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
         • ω2: ¬x4    x6            • ω7: ¬x8        x9
         • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
         • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
         • ω5: ¬x2    ¬x7      x9
Diagnose
                            Implication Graph
 ω7:     ω6:       x3@3
¬x8 x9 ¬x8 ¬x9                                      ω8
                                             x2@2    ¬x7@2
                   x1@1       ω9
                   Reason                     ω9         ω3
                    Side           ¬x4@2
                             ω6               ¬x6@4
                   x8@5           ¬x9@5                   ω3

                       ω7          ω7                         x5@4
                                   Conflict
                                    Side
 Clause DB
       • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
       • ω2: ¬x4    x6            • ω7: ¬x8        x9
       • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
       • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
       • ω5: ¬x2    ¬x7      x9
Diagnose
                            Implication Graph
 ω7:     ω6:       x3@3
¬x8 x9 ¬x8 ¬x9                                      ω8
                                             x2@2    ¬x7@2
                   x1@1       ω9
                   Reason                     ω9         ω3
                    Side           ¬x4@2
                             ω6               ¬x6@4
                   x8@5           ¬x9@5                   ω3

                       ω7          ω7                         x5@4
                                   Conflict
                                    Side
 Clause DB
       • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
       • ω2: ¬x4    x6            • ω7: ¬x8        x9
       • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
       • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
       • ω5: ¬x2    ¬x7      x9
Diagnose
                               Implication Graph
 ω7:     ω6:          x3@3
¬x8 x9 ¬x8 ¬x9                                         ω8
                                                x2@2    ¬x7@2
    ¬x8               x1@1       ω9
                      Reason                     ω9         ω3
                       Side           ¬x4@2
                                ω6               ¬x6@4
                      x8@5           ¬x9@5                   ω3

                          ω7          ω7                         x5@4
                                      Conflict
                                       Side
 Clause DB
          • ω1: ¬x1    ¬x4      x5   • ω6: ¬x8        ¬x9
          • ω2: ¬x4    x6            • ω7: ¬x8        x9
          • ω3: ¬x5    ¬x6      x7   • ω8: ¬x2        ¬x7
          • ω4: ¬x7    x8            • ω9: ¬x1        ¬x4    x7
          • ω5: ¬x2    ¬x7      x9
Diagnose
                                     Implication Graph
 ω7:     ω6:                x3@3
¬x8 x9 ¬x8 ¬x9                                               ω8
                                                      x2@2    ¬x7@2
     ¬x8                    x1@1       ω9
                            Reason                     ω9         ω3
                             Side           ¬x4@2
It contains one literal               ω6               ¬x6@4
        in the current      x8@5           ¬x9@5                   ω3
 decision level (i.e. 5).
                                ω7          ω7                         x5@4
                                            Conflict
                                             Side
 Clause DB
           • ω1: ¬x1         ¬x4      x5   • ω6: ¬x8        ¬x9
           • ω2: ¬x4         x6            • ω7: ¬x8        x9
           • ω3: ¬x5         ¬x6      x7   • ω8: ¬x2        ¬x7
           • ω4: ¬x7         x8            • ω9: ¬x1        ¬x4    x7
           • ω5: ¬x2         ¬x7      x9
Diagnose
                                     Implication Graph
 ω7:     ω6:                x3@3
¬x8 x9 ¬x8 ¬x9                                               ω8
                                                      x2@2    ¬x7@2
     ¬x8                    x1@1       ω9
                            Reason                     ω9         ω3
                             Side           ¬x4@2
It contains one literal               ω6               ¬x6@4
        in the current      x8@5           ¬x9@5                   ω3
 decision level (i.e. 5).
                                ω7          ω7                         x5@4
                                            Conflict
                                             Side
 Clause DB
           • ω1: ¬x1         ¬x4      x5   • ω6: ¬x8 ¬x9
           • ω2: ¬x4         x6            • ω7: ¬x8 x9
           • ω3: ¬x5         ¬x6      x7   •New ¬x2 ¬x7 learnt !
                                             ω8: clause is
           • ω4: ¬x7         x8            • ω9: ¬x1 ¬x4 x7
           • ω5: ¬x2         ¬x7      x9   • ω10: ¬x8
Backtrack                   Implication Graph
  Learnt clause:
       ¬x8                x3@3
                                                      ω8
                                               x2@2    ¬x7@2
x8 was set at level 5     x1@1    ω9
                                                ω9         ω3
Assertion level of this                ¬x4@2
clause (which is the
second highest level)            ω6             ¬x6@4
is 0 by convention.       x8@5        ¬x9@5                 ω3

  Backtrack to level 0      ω7         ω7                       x5@4
  (root level)


  Clause DB
          • ω1: ¬x1       ¬x4    x5   • ω6: ¬x8      ¬x9
          • ω2: ¬x4       x6          • ω7: ¬x8      x9
          • ω3: ¬x5       ¬x6    x7   • ω8: ¬x2      ¬x7
          • ω4: ¬x7       x8          • ω9: ¬x1      ¬x4    x7
          • ω5: ¬x2       ¬x7    x9   • ω10: ¬x8
Backtrack             Implication Graph
x1               x3@3
                                             ω8
x2                                    x2@2    ¬x7@2
                 x1@1    ω9
                                       ω9         ω3
x3 x3 x3                      ¬x4@2
                        ω6             ¬x6@4
x4 x4 x5         x8@5        ¬x9@5                 ω3

                   ω7         ω7                       x5@4
      x8

Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8          • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7    x9   • ω10: ¬x8
Backtrack             Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5

      x8

Clause DB
     • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8    ¬x9
     • ω2: ¬x4   x6          • ω7: ¬x8    x9
     • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2    ¬x7
     • ω4: ¬x7   x8          • ω9: ¬x1    ¬x4   x7
     • ω5: ¬x2   ¬x7    x9   • ω10: ¬x8
Deduce              Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5

        x8

Clause DB
       • ω1: ¬x1   ¬x4    x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6          • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6    x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8          • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7    x9   • ω10: ¬x8
Deduce              Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1

x2

x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1

x2                 x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1

x2            x2                      x2@2
                   x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1

x2           x2                       x2@2
                   x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1
                                             ω8
x2           x2                       x2@2     ¬x7@2
                   x1@1
x3 x3 x3

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8    ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8    x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2    ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1    ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1
                                                ω8
x2           x2                          x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3                         ¬x4@2

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3                         ¬x4@2

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3 x3                      ¬x4@2

x4 x4 x5           ¬x8@0

        x8

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3 x3                      ¬x4@2

x4 x4 x5 x5        ¬x8@0

        x8                                            x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1    x3@3
                                                ω8
x2           x2                          x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9
x3 x3 x3 x3                      ¬x4@2

x4 x4 x5 x5        ¬x8@0

        x8                                            x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4   x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Deduce              Implication Graph
x1           x1    x3@3
                                                ω8
x2           x2                          x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9         ω3
x3 x3 x3 x3                      ¬x4@2
                                          ¬x6@4
x4 x4 x5 x5        ¬x8@0                              ω3


        x8                                                x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9         ω3
x3 x3 x3 x3                      ¬x4@2
                                          ¬x6@4
x4 x4 x5 x5        ¬x8@0                              ω3


        x8                                                x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Decide              Implication Graph
x1            x1   x3@3
                                                ω8
x2            x2                         x2@2    ¬x7@2
                   x1@1     ω9
                                          ω9         ω3
x3 x3 x3 x3                      ¬x4@2
                                          ¬x6@4
x4 x4 x5 x5        ¬x8@0                              ω3


        x8 x9      x9@5                                   x5@4

Clause DB
       • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
       • ω2: ¬x4   x6           • ω7: ¬x8      x9
       • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
       • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
       • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1        x1         x3@3
                                                  ω8
x2        x2                               x2@2    ¬x7@2
                     x1@1     ω9
                                            ω9         ω3
x3 x3 x3 x3
  All variables are
                                   ¬x4@2
                                             ¬x6@4
x4 x4 x5 x5          ¬x8@0                              ω3


      x8 x9          x9@5                                   x5@4

assigned without
Clause DB
    •    ω1:  •¬x1   ¬x4     x5       ω6: ¬x8    ¬x9
    •
    •
          conflict
         ω2:
         ω3:
              •
              •
               ¬x4
               ¬x5
                     x6
                     ¬x6     x7
                                      ω7: ¬x8
                                      ω8: ¬x2
                                                 x9
                                                 ¬x7
     •   ω4:   ¬x7   x8           •   ω9: ¬x1    ¬x4    x7
     •   ω5:   ¬x2   ¬x7     x9   •   ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB        Satisfiable
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
x1       x1      x3@3
                                              ω8
x2       x2                            x2@2    ¬x7@2
                 x1@1     ω9
                                        ω9         ω3
x3 x3 x3 x3                    ¬x4@2
                                        ¬x6@4
x4 x4 x5 x5      ¬x8@0                              ω3


      x8 x9      x9@5                                   x5@4

Clause DB
     • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
     • ω2: ¬x4   x6           • ω7: ¬x8      x9
     • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
     • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
     • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
Implication Graph
Found a model
                  x3@3
                                               ω8
     M=                                 x2@2    ¬x7@2
                  x1@1     ω9
 { x1, x2, x3,                           ω9         ω3
                                ¬x4@2
 ¬x4, x5, ¬x6                            ¬x6@4
                  ¬x8@0                              ω3
¬x7, ¬x8, x9 }
                  x9@5                                   x5@4

 Clause DB
      • ω1: ¬x1   ¬x4     x5   • ω6: ¬x8      ¬x9
      • ω2: ¬x4   x6           • ω7: ¬x8      x9
      • ω3: ¬x5   ¬x6     x7   • ω8: ¬x2      ¬x7
      • ω4: ¬x7   x8           • ω9: ¬x1      ¬x4    x7
      • ω5: ¬x2   ¬x7     x9   • ω10: ¬x8
fin.
References
• J. P. Marques-Silva and K. A. Sakallah,
  "GRASP: a search algorithm for
  propositional satisfiability," Computers,
  IEEE Transactions on, vol. 48, no. 5, pp.
  506-521, May 1999.

• Handbook of Satisfiability, A. Biere,
  M. Heule, H. Van Maaren, and T. Walsh,
  Eds. IOS Press, Feb. 2009.

Contenu connexe

Tendances

Sliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture ModelsSliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture ModelsFujimoto Keisuke
 
二次形式と素数で遊ぼう - 第2回 #日曜数学会
二次形式と素数で遊ぼう - 第2回 #日曜数学会 二次形式と素数で遊ぼう - 第2回 #日曜数学会
二次形式と素数で遊ぼう - 第2回 #日曜数学会 Junpei Tsuji
 
クラシックな機械学習の入門  11.評価方法
クラシックな機械学習の入門  11.評価方法クラシックな機械学習の入門  11.評価方法
クラシックな機械学習の入門  11.評価方法Hiroshi Nakagawa
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析Kunihiro Hisatsune
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)AtCoder Inc.
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
Link prediction
Link predictionLink prediction
Link predictionybenjo
 
Crowd Counting & Detection論文紹介
Crowd Counting & Detection論文紹介Crowd Counting & Detection論文紹介
Crowd Counting & Detection論文紹介Plot Hong
 
[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics
[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics
[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual PhysicsDeep Learning JP
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
 
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)Katsuya Ito
 
[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...
[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...
[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...Deep Learning JP
 
11 x1 t09 04 chain rule (2012)
11 x1 t09 04 chain rule (2012)11 x1 t09 04 chain rule (2012)
11 x1 t09 04 chain rule (2012)Nigel Simmons
 
決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割
決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割
決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割Ichigaku Takigawa
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料Tetsuyuki Oishi
 
AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Inc.
 
深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)Junichiro Katsuta
 

Tendances (20)

Sliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture ModelsSliced Wasserstein Distance for Learning Gaussian Mixture Models
Sliced Wasserstein Distance for Learning Gaussian Mixture Models
 
二次形式と素数で遊ぼう - 第2回 #日曜数学会
二次形式と素数で遊ぼう - 第2回 #日曜数学会 二次形式と素数で遊ぼう - 第2回 #日曜数学会
二次形式と素数で遊ぼう - 第2回 #日曜数学会
 
クラシックな機械学習の入門  11.評価方法
クラシックな機械学習の入門  11.評価方法クラシックな機械学習の入門  11.評価方法
クラシックな機械学習の入門  11.評価方法
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析
 
Union find(素集合データ構造)
Union find(素集合データ構造)Union find(素集合データ構造)
Union find(素集合データ構造)
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
Link prediction
Link predictionLink prediction
Link prediction
 
Crowd Counting & Detection論文紹介
Crowd Counting & Detection論文紹介Crowd Counting & Detection論文紹介
Crowd Counting & Detection論文紹介
 
[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics
[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics
[DL輪読会]TossingBot: Learning to Throw Arbitrary Objects with Residual Physics
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
 
[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...
[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...
[DL Hacks]Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternati...
 
11 x1 t09 04 chain rule (2012)
11 x1 t09 04 chain rule (2012)11 x1 t09 04 chain rule (2012)
11 x1 t09 04 chain rule (2012)
 
決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割
決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割
決定森回帰の信頼区間推定, Benign Overfitting, 多変量木とReLUネットの入力空間分割
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
 
AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説AtCoder Regular Contest 038 解説
AtCoder Regular Contest 038 解説
 
深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)
 

Plus de Masahiro Sakai

DeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningMasahiro Sakai
 
Towards formal verification of neural networks
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networksMasahiro Sakai
 
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習Masahiro Sakai
 
Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby projectMasahiro Sakai
 
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...Masahiro Sakai
 
SAT/SMT solving in Haskell
SAT/SMT solving in HaskellSAT/SMT solving in Haskell
SAT/SMT solving in HaskellMasahiro Sakai
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationMasahiro Sakai
 
Aluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityMasahiro Sakai
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介Masahiro Sakai
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)Masahiro Sakai
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介Masahiro Sakai
 
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...Masahiro Sakai
 
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...Masahiro Sakai
 
Relaxed Dependency Analysis
Relaxed Dependency AnalysisRelaxed Dependency Analysis
Relaxed Dependency AnalysisMasahiro Sakai
 
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...Masahiro Sakai
 
自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装Masahiro Sakai
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Masahiro Sakai
 

Plus de Masahiro Sakai (20)

DeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep Learning
 
Towards formal verification of neural networks
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networks
 
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
 
Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
 
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
 
ゼロピッチ: MOOC
ゼロピッチ: MOOCゼロピッチ: MOOC
ゼロピッチ: MOOC
 
SAT/SMT solving in Haskell
SAT/SMT solving in HaskellSAT/SMT solving in Haskell
SAT/SMT solving in Haskell
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
Introduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT EvaluationIntroduction to Max-SAT and Max-SAT Evaluation
Introduction to Max-SAT and Max-SAT Evaluation
 
Aluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through Minimality
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
Omega test and beyond
Omega test and beyondOmega test and beyond
Omega test and beyond
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
 
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
 
Relaxed Dependency Analysis
Relaxed Dependency AnalysisRelaxed Dependency Analysis
Relaxed Dependency Analysis
 
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
 
自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
 

Dernier

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Dernier (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

How a CDCL SAT solver works

  • 1. How a CDCL SAT Solver works Masahiro Sakai Twitter: @masahiro_sakai
  • 2. Abstract • Demonstrating how a modern SAT solver works on a small example. • Target Algorithm • Conflict-Driven Clause Learning (CDCL) • 1-UIP learning + far-backtracking • details are omitted efficient data (decision heuristics, structure, etc.,)
  • 3. An Example Problem • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 4. Decide Implication Graph Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 5. Decide Implication Graph x1 x1@1 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 6. Decide Implication Graph x1 x2 x2@2 x1@1 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 7. Decide Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 8. Decide Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 9. Deduce Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 10. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 11. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 ω2 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 12. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 13. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 14. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 15. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω6 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 16. Deduce Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω6 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB Conflict • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 17. Diagnose Implication Graph x3@3 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 18. Diagnose Implication Graph Reason ω6: x3@3 Side ¬x8 ¬x9 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 19. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 20. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 21. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 x1@1 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 22. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 23. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 24. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ¬x2 ¬x7 ω1 x4@4 x7@4 ω2 ω3 ω4 ω6 x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 25. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ¬x2 ¬x7 ω1 x4@4 x7@4 It contains one literal in the current ω3 ω6 ω2 ω4 decision level (i.e. 4). x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 26. Diagnose Implication Graph Reason ω6: ω4: x3@3 Side ¬x8 ¬x9 ¬x7 x8 ω1 x2@2 ω5 ¬x7 ¬x9 ω5: x1@1 ¬x2 ¬x7 x9 x5@4 x9@4 ω3 ω5 ω6 ¬x2 ¬x7 ω1 x4@4 x7@4 It contains one literal in the current ω3 ω6 ω2 ω4 decision level (i.e. 4). x6@4 x8@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9 New clause is learnt !
  • 27. Backtrack Implication Graph Learnt clause: ¬x2 ¬x7 x3@3 ω1 x2@2 ω5 x2 was set at level 2 x1@1 x7 was set at level 4 x5@4 x9@4 ω3 ω5 ω6 Assertion level of this clause (which is the ω1 second highest level) x4@4 x7@4 is 2. ω6 ω2 ω3 ω4 Backtrack to level 2! x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 28. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω6 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 ω6 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 29. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 ω5 x1@1 x5@4 x9@4 x3 ω3 ω5 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 30. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 ω4 x6@4 x8@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 31. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω3 ω1 x4@4 x7@4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 32. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 ω2 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 33. Backtrack Implication Graph x1 x3@3 x2 ω1 x2@2 x1@1 x5@4 x3 ω1 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 34. Backtrack Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4@4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 35. Backtrack Implication Graph x1 x3@3 x2 x2@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 36. Backtrack Implication Graph x1 x2 x2@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 37. Deduce Implication Graph x1 x2 x2@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 38. Deduce Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 39. Decide Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 40. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 41. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4@4 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 42. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4@4 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 43. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω1 x4@4 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 44. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω1 x4@4 x4 x4 ω2 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 45. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω3 ω3 ω1 x4@4 x4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 46. Deduce Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω3 ω3 ω1 x4@4 x4 x4 ω2 ω3 x6@4 Clause DB Conflict • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 47. Diagnose Implication Graph x3@3 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 48. Diagnose Implication Graph Reason ω3: x3@3 Side ¬x5 ¬x6 x7 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 49. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 50. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 51. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 x1@1 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 52. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 53. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 54. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ¬x1 ¬x4 x7 ω1 x4@4 ω2 ω3 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 55. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ¬x1 ¬x4 x7 ω1 x4@4 It contains one literal in the current ω3 decision level (i.e. 4). ω2 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω5: ¬x2 ¬x7 x9
  • 56. Diagnose Implication Graph Reason ω3: ω2: x3@3 Side ¬x5 ¬x6 x7 ¬x4 x6 ω8 ω1 x2@2 ¬x7@2 ¬x4 ¬x5 x7 ω1: x1@1 ¬x1 ¬x4 x5 x5@4 ω3 ω3 ¬x1 ¬x4 x7 ω1 x4@4 It contains one literal in the current ω3 decision level (i.e. 4). ω2 Conflict x6@4 Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 New clause is learnt !
  • 57. Backtrack Implication Graph Learnt clause: ¬x1 ¬x4 x7 x3@3 ω8 ω1 x2@2 ¬x7@2 x1 was set at level 1 x1@1 x4 was set at level 4 x5@4 x7 was set at level 2 ω3 ω3 ω1 Assertion level of this x4@4 clause is 2. ω2 ω3 Backtrack to level 2! x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 58. Backtrack Implication Graph x1 x3@3 ω8 x2 ω1 x2@2 ¬x7@2 x1@1 x5@4 x3 x3 ω3 ω3 ω1 x4@4 x4 x4 ω2 ω3 x6@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 59. Backtrack Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 60. Deduce Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 x3 x3 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 61. Deduce Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 ¬x4@2 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 62. Decide Implication Graph x1 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 ¬x4@2 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 63. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 64. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 65. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 66. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 ω3 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 67. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 ω3 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 68. Decide Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x8@5 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 69. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x8@5 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 70. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 71. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 72. Deduce Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 x8 Clause DB Conflict • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 73. Diagnose Implication Graph x3@3 ω8 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 74. Diagnose Implication Graph ω7: x3@3 ¬x8 x9 ω8 x2@2 ¬x7@2 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 75. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 76. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 77. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 ¬x8 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 ω6 ¬x6@4 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 78. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 ¬x8 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 It contains one literal ω6 ¬x6@4 in the current x8@5 ¬x9@5 ω3 decision level (i.e. 5). ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9
  • 79. Diagnose Implication Graph ω7: ω6: x3@3 ¬x8 x9 ¬x8 ¬x9 ω8 x2@2 ¬x7@2 ¬x8 x1@1 ω9 Reason ω9 ω3 Side ¬x4@2 It contains one literal ω6 ¬x6@4 in the current x8@5 ¬x9@5 ω3 decision level (i.e. 5). ω7 ω7 x5@4 Conflict Side Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 •New ¬x2 ¬x7 learnt ! ω8: clause is • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 80. Backtrack Implication Graph Learnt clause: ¬x8 x3@3 ω8 x2@2 ¬x7@2 x8 was set at level 5 x1@1 ω9 ω9 ω3 Assertion level of this ¬x4@2 clause (which is the second highest level) ω6 ¬x6@4 is 0 by convention. x8@5 ¬x9@5 ω3 Backtrack to level 0 ω7 ω7 x5@4 (root level) Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 81. Backtrack Implication Graph x1 x3@3 ω8 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 ¬x4@2 ω6 ¬x6@4 x4 x4 x5 x8@5 ¬x9@5 ω3 ω7 ω7 x5@4 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 82. Backtrack Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 83. Deduce Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 84. Deduce Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 85. Decide Implication Graph x1 x2 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 86. Decide Implication Graph x1 x1 x2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 87. Decide Implication Graph x1 x1 x2 x2 x2@2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 88. Deduce Implication Graph x1 x1 x2 x2 x2@2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 89. Deduce Implication Graph x1 x1 ω8 x2 x2 x2@2 ¬x7@2 x1@1 x3 x3 x3 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 90. Deduce Implication Graph x1 x1 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 91. Decide Implication Graph x1 x1 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 ¬x4@2 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 92. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 x3 ¬x4@2 x4 x4 x5 ¬x8@0 x8 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 93. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 x3 ¬x4@2 x4 x4 x5 x5 ¬x8@0 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 94. Deduce Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 x3 x3 x3 x3 ¬x4@2 x4 x4 x5 x5 ¬x8@0 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 95. Deduce Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 96. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 97. Decide Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 98. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 99. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 All variables are ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 assigned without Clause DB • ω1: •¬x1 ¬x4 x5 ω6: ¬x8 ¬x9 • • conflict ω2: ω3: • • ¬x4 ¬x5 x6 ¬x6 x7 ω7: ¬x8 ω8: ¬x2 x9 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 100. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 101. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB Satisfiable • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 102. Implication Graph x1 x1 x3@3 ω8 x2 x2 x2@2 ¬x7@2 x1@1 ω9 ω9 ω3 x3 x3 x3 x3 ¬x4@2 ¬x6@4 x4 x4 x5 x5 ¬x8@0 ω3 x8 x9 x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 103. Implication Graph Found a model x3@3 ω8 M= x2@2 ¬x7@2 x1@1 ω9 { x1, x2, x3, ω9 ω3 ¬x4@2 ¬x4, x5, ¬x6 ¬x6@4 ¬x8@0 ω3 ¬x7, ¬x8, x9 } x9@5 x5@4 Clause DB • ω1: ¬x1 ¬x4 x5 • ω6: ¬x8 ¬x9 • ω2: ¬x4 x6 • ω7: ¬x8 x9 • ω3: ¬x5 ¬x6 x7 • ω8: ¬x2 ¬x7 • ω4: ¬x7 x8 • ω9: ¬x1 ¬x4 x7 • ω5: ¬x2 ¬x7 x9 • ω10: ¬x8
  • 104. fin.
  • 105. References • J. P. Marques-Silva and K. A. Sakallah, "GRASP: a search algorithm for propositional satisfiability," Computers, IEEE Transactions on, vol. 48, no. 5, pp. 506-521, May 1999. • Handbook of Satisfiability, A. Biere, M. Heule, H. Van Maaren, and T. Walsh, Eds. IOS Press, Feb. 2009.

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n
  192. \n
  193. \n
  194. \n
  195. \n
  196. \n
  197. \n
  198. \n
  199. \n
  200. \n
  201. \n
  202. \n
  203. \n
  204. \n
  205. \n
  206. \n
  207. \n
  208. \n
  209. \n
  210. \n
  211. \n
  212. \n
  213. \n
  214. \n
  215. \n
  216. \n
  217. \n
  218. \n
  219. \n
  220. \n
  221. \n
  222. \n
  223. \n
  224. \n
  225. \n
  226. \n
  227. \n
  228. \n
  229. \n
  230. \n
  231. \n
  232. \n
  233. \n
  234. \n
  235. \n
  236. \n
  237. \n
  238. \n
  239. \n
  240. \n
  241. \n
  242. \n
  243. \n
  244. \n
  245. \n
  246. \n
  247. \n
  248. \n
  249. \n
  250. \n
  251. \n
  252. \n
  253. \n
  254. \n
  255. \n
  256. \n
  257. \n
  258. \n
  259. \n
  260. \n
  261. \n
  262. \n
  263. \n
  264. \n
  265. \n
  266. \n
  267. \n
  268. \n
  269. \n
  270. \n
  271. \n
  272. \n
  273. \n
  274. \n
  275. \n
  276. \n
  277. \n
  278. \n
  279. \n
  280. \n
  281. \n
  282. \n
  283. \n