GSAT

Repeat a specified MAX-TRIES number of times:

  1. Select a random interpretation .
  2. If , then return .
  3. Repeat a specified MAX-FLIPS number of times:
    1. Select a variable such that flip(I,p) satisfies the greatest number of clauses in .
    2. Let = flip(I,p)
    3. If , then return .
    4. If no model has been found, return "don't know".

If there are multiple candidates for flipping, we select from the set of candidates using a uniform random function.

GSAT with walks

Similar to GSAT above, but with the following modifications to step 3.1:

  • Follow the same behaviour as GSAT with probability ,
  • With probability , randomly select among all variables false in .

Walk Sat (WSAT)

Similar to GSAT above, but with the following replacement for step 3.1:

  • Randomly select a clause such that .
  • Randomly select variable from .