SAT Solvers and What Makes Search Practical · seed 1 · A4, ink-friendly. The answer key prints on its own page for grown-ups.

Search that learns from failure

Computing · Algorithms & Data Structures · ages 22-24
Name ______________________   Date ____________
  1. What does conflict-driven clause learning add to plain backtracking?

    • A guarantee of polynomial worst case
    • Faster variable ordering only
    • A learned clause per failure that prunes repeats
  2. What does a satisfying assignment mean for the encoded problem?

    • One rule may be ignored
    • Every rule is obeyed at once
    • The search ran out of time
  3. A solver that is fast on factory scheduling instances disproves NP-completeness.

    Circle one:   True   False

  4. A solver keeps failing the same region in different branches. What went wrong?

    • It learned nothing from the failures
    • It learned too many clauses
    • It encoded too few variables
  5. A and B cannot run at the same time. Which clause encodes that?

    • A or B
    • Not-A or not-B
    • A and B
  6. An assignment satisfies 99 of 100 clauses. Is the formula satisfied?

    • Yes, nearly all hold
    • Only if the last clause is redundant
    • No, every clause must hold
  7. A new rule says task C needs task A finished first. With A-first meaning A, which clause fits C-before-A being forbidden?

    • Not-C-first or A-first
    • C-first and A-first
    • Not-C-first and not-A-first
  8. Ned says clause learning improves the worst-case complexity class. What is wrong?

    • Learning only slows solvers down
    • The worst case is unchanged; practice is what improves
    • Backtracking already learns every clause
LightMySky · lightmysky.comW1-mt_d46m2LD443-s1

Answer key

For grown-ups. Fold this page away before handing over the rest.

Search that learns from failure W1-mt_d46m2LD443-s1

  1. A learned clause per failure that prunes repeats · Each failure teaches a clause that blocks its whole region.
  2. Every rule is obeyed at once · Each clause is a rule, and all hold.
  3. False · Hardness is worst-case; structure explains the speed.
  4. It learned nothing from the failures · Learning is what stops repeat failures.
  5. Not-A or not-B · The clause rules out exactly the both-true row.
  6. No, every clause must hold · Satisfying means all clauses, with no exceptions.
  7. Not-C-first or A-first · Needing A first means no C without A: not-C-first or A-first.
  8. The worst case is unchanged; practice is what improves · Learning prunes real runs, not the complexity class.
Worksheet · LightMySky