Intelligence, Agency & Consciousness · Paper 0083

When a complete guess climbs one flip at a time

GSAT begins with every variable assigned, scores the entire formula and flips one variable whose reversal gives the best neighbouring score. It can cross flat plateaux, restart from a fresh guess and find models far beyond the reach of the complete procedure tested in 1992: while remaining unable to prove that no model exists.

Intelligence, Agency & Consciousness · Paper 0083

When a complete guess climbs one flip at a time

Rajesh Ranjan Mahapatra

GSAT begins with every variable assigned, scores the entire formula and flips one variable whose reversal gives the best neighbouring score. It can cross flat plateaux, restart from a fresh guess and find models far beyond the reach of the complete procedure tested in 1992: while remaining unable to prove that no model exists.

© 2026 Rajesh Ranjan Mahapatra. 29 min read

When a complete guess climbs one flip at a timeAll AI Research Library

TLDR

Five-point orientation
  1. Start complete. GSAT samples a full truth assignment, so every clause is immediately satisfied or unsatisfied and every one-variable neighbour has a definite score.
  2. Flip the best neighbour. At each step it reverses a variable whose flip maximises the increase in satisfied clauses, choosing randomly among ties.
  3. Cross flat ground. Sideways moves with zero improvement are essential in the paper’s tests; requiring strict improvement makes success collapse on random SAT and N-queens.
  4. Restart within a budget. MAX-FLIPS bounds one trajectory and MAX-TRIES bounds fresh starts. Randomness changes both the initial state and tied choices.
  5. Success is a model, failure is not a proof. A returned assignment is directly checkable. Exhausting the budget means only “not found”, never “unsatisfiable”.
01 · the change of viewpoint

Search for an interpretation instead of a refutation

Selman, Levesque and Mitchell place model-finding beside theorem-proving and ask whether a deliberately incomplete local method can solve useful SAT instances that defeat complete search within available resources.

Propositional satisfiability asks whether some assignment of truth values makes a formula true. In conjunctive normal form, the formula is an AND of clauses and every clause is an OR of literals. A model satisfies every clause. The decision problem is NP-complete, yet a solver’s practical objective may be narrower: find one model quickly when a model exists.

Theorem-proving attacks the complementary side. To establish that a formula F is unsatisfiable, derive a proof of contradiction or prove ¬F valid in a sound and complete system. Complete backtracking and resolution can certify negative answers, but their search can grow explosively. GSAT gives up the certificate of impossibility in exchange for a very different state space.

The distinction changes what an intermediate state means. A partial-assignment prover accumulates commitments and propagates consequences; a contradiction triggers retreat. GSAT always holds a complete interpretation. Some clauses fail, but the state remains well-defined and can be evaluated by the number of clauses it satisfies. Unsatisfied clauses become a gradient-like defect rather than an immediate dead end.

The authors connect this choice to AI tasks. Deductive queries can be reduced to unsatisfiability, but planning, diagnosis and interpretation can also be formulated as finding models. They suggest that reasoning traditionally cast as theorem proving may sometimes scale better after a model-finding reformulation. This is a methodological proposal, not an equivalence of guarantees.

GSAT’s output contract is asymmetric. If it returns an assignment, checking every original clause establishes correctness: success is sound. If it exhausts its budget, a model may still exist elsewhere in the Boolean hypercube. The message “no satisfying assignment found” is an honest report about one finite search, not a semantic judgement about the formula.

Model-finding and theorem-proving take different routesA formula branches left to a complete assignment with a check mark and right to a proof tree ending in contradiction; only the proof route certifies unsatisfiability.formula FMODEL-FINDINGassignment ✓THEOREM-PROVINGrefutation ⊥a missing model is not yet a refutation
Figure 1 · Two search products, two guarantees. A model can be verified directly. Failure to find one does not supply the proof object needed to establish unsatisfiability.Source scope: Selman, Levesque and Mitchell, introduction and applications.

Worked example 1 · one checked witness

For F=(a∨b)∧(¬a∨c), assignment a=true, b=false, c=true satisfies both clauses. Evaluating those clauses is a complete certificate of satisfiability. A million failed random assignments would not certify the opposite, because the successful witness could simply be the next state never sampled.

Causal probe 1 · swap the application’s required answer

If the task needs any valid timetable, a sound model finder may be enough. If the task must certify that no timetable exists, GSAT’s negative output is unusable by itself. The same search speed has different value because the required epistemic product changed.

02 · the GSAT loop

Random assignment, bounded flips, bounded tries

The algorithm is a nested budget: explore one local trajectory for at most MAX-FLIPS moves, then discard it and begin again, for at most MAX-TRIES initial assignments.

At the start of each try, independently assign every variable true or false. Before each flip, test whether the current assignment satisfies all clauses. If so, return it. Otherwise calculate what would happen if each variable reversed, and select a variable whose flip gives the largest increase in the total number of satisfied clauses.

When several variables share the best score, GSAT chooses randomly among them. Tie randomness matters because a deterministic rule can reconstruct the same cycle. Random starts diversify large-scale location; random ties diversify the path inside one neighbourhood. The algorithm’s outcome is therefore a distribution over runs rather than a single fixed runtime.

MAX-FLIPS decides how long to exploit one basin before restarting. The paper offers a rough guideline of a few times the number of variables, while its table uses larger settings for some difficult random instances. MAX-TRIES normally reflects the total time the application can spend. Both are resource policies, not logical parameters.

If the best available flip improves the clause count, GSAT climbs. If the best change is zero, it moves sideways along a plateau. The pseudocode selects the largest increase even when all increases are negative; the authors note rare successful trajectories containing decreasing moves, while their focused discussion and comparison centre on admitting sideways moves rather than stopping at strict local optima.

After MAX-FLIPS without a model, all information in the current assignment is discarded. Original GSAT does not learn clauses, preserve tabu memory or estimate which restart state is promising. This simplicity makes its mechanism easy to inspect and also exposes what later stochastic local-search procedures would add.

for try = 1 … MAX-TRIES T ← random complete assignment for flip = 1 … MAX-FLIPS if T satisfies every clause: return T choose p whose reversal maximises satisfied(T ⊕ p) break ties randomly T ← T ⊕ p return “no satisfying assignment found”
Nested GSAT tries and flipsAn outer circular restart arrow surrounds an inner chain of assignments linked by one-variable flips and ending either in a model or a budget boundary.TRY: sample a complete assignment0110011100111011 ✓one bit changes per FLIPMAX-FLIPS → restart
Figure 2 · Exploit locally, diversify globally. The inner loop changes one bit at a time; the outer loop abandons the trajectory and resamples the entire assignment.Source scope: primary paper, Figure 1 and parameter discussion.

Worked example 2 · interpreting “6.4 tries”

With MAX-FLIPS=250, a reported 6.4 tries means six complete 250-flip trajectories failed and the seventh succeeded after roughly 0.4×250=100 flips. The decimal is not a probability; it records where the final success occurred inside its try.

Causal probe 2 · make MAX-FLIPS equal to one

Each restart can inspect only a random assignment and one neighbour. Diversity rises but local improvement cannot accumulate. Increasing MAX-FLIPS tests whether solutions require a sustained climb; increasing MAX-TRIES instead tests whether lucky starting basins are the scarce resource.

03 · the Boolean hypercube

Every assignment has exactly one neighbour per variable

For n variables, GSAT walks the n-dimensional Boolean hypercube. Vertices are complete interpretations; an edge joins assignments with Hamming distance one.

A formula with n variables has 2ⁿ complete assignments. From any assignment, reversing variable p moves along one of n edges. GSAT does not consider multi-variable jumps inside a try. Its neighbourhood is uniform in size even though the clause landscape over those vertices can be jagged, flat or deceptive.

Define S(T) as the number of clauses satisfied by assignment T. The gain of flipping p is Δ(p|T)=S(T⊕p)−S(T). GSAT selects an element of arg max Δ. This objective ignores how strongly a clause is satisfied: a clause with three true literals and a clause with one true literal both contribute one point.

That coarseness is intentional. S is cheap to define, comparable across neighbours and reaches its exact maximum only at a model. But it creates plateaux: many assignments can satisfy the same number of clauses while differing greatly in which clauses fail and how close they are to a model.

An efficient implementation need not recount every clause after every hypothetical flip. For each variable, one can track clauses the flip would make and clauses it would break. Gain equals make minus break. After the chosen flip, update scores only for clauses containing that variable and the variables sharing those clauses. This is implementation logic consistent with the objective, though the paper’s central presentation abstracts from low-level data structures.

The hypercube view clarifies incompleteness. Greedy moves examine only adjacent vertices and restarts sample only finitely many regions. The algorithm may never visit the one vertex: or narrow basin: containing a model. Randomness reduces systematic repetition but does not turn bounded sampling into exhaustive enumeration.

GSAT walking a four-variable hypercube projectionSixteen assignment nodes form a four by four projection. A teal path changes one bit at a time and climbs towards a pulsing model node.0000one-bit neighboursmodel
Figure 3 · Locality is Hamming distance one. The two-dimensional drawing projects a four-dimensional cube; each move reverses exactly one variable even when the path looks diagonal in logical effect.Source scope: primary paper’s local-search description; hypercube rendering is explanatory.

Worked example 3 · make minus break

At T, flipping p would newly satisfy four currently false clauses but would make two currently true clauses false. Its gain is +2. Flipping q makes three and breaks none, so gain +3 and q wins even if p appears in more clauses overall.

Causal probe 3 · score satisfied literals instead of clauses

A clause already satisfied by one literal can absorb extra true literals without improving the real objective. The altered landscape may favour oversatisfying easy clauses while hard clauses remain false. Comparing trajectories isolates why the paper counts clauses rather than literal occurrences.

04 · sideways moves

Flat score does not mean identical future

GSAT continues when the best available move leaves the number of satisfied clauses unchanged. The paper’s ablation shows that this apparently unproductive motion is essential.

A strict hill climber stops or restarts whenever no positive-gain neighbour exists. Yet a plateau can contain many assignments with the same score. One boundary vertex may have an improving edge even though the current vertex does not. Sideways moves traverse this neutral network until the search reaches an exit.

Because ties are random, GSAT does not follow one fixed plateau path. It may revisit vertices or oscillate, but MAX-FLIPS bounds the cost. Random restart supplies another attempt if the walk fails to find an exit. The method accepts wasted neutral steps because strict monotonicity can strand it much earlier.

The ablation is unusually clear. On 50-variable hard random formulas, the strict-improvement version solved 69 per cent of 100 satisfiable instances within 1,000 tries, versus 100 per cent for all moves. On 100-variable formulas it solved 39 per cent even with 100,000 tries, while all moves solved every tested instance. Parameters and machines belong with these numbers.

The N-queens contrast is sharper. For the 30-queen encoding, strict improvement still eventually solved every instance but averaged about 50,000 tries and 30 hours. With sideways moves, the reported run used one try and 2.5 seconds. Equal-score motion was not cosmetic noise; it connected the initial basin to a productive exit.

The paper notes rare successful sequences containing score-decreasing flips, but concentrates on sideways moves and ignores the rare downhill cases in this comparison. Later algorithms would formalise noise strategies that deliberately accept non-greedy movement. Canon 0084 takes up that extension.

A plateau with one improving exitFive equal-height nodes cross a plateau; a moving dot travels sideways to the only rising edge towards a model.Δ = 0 · random tied movesMODELsame clause count · different neighbours
Figure 4 · A neutral move can change available futures. Clause score stays level across the plateau, but only some plateau vertices touch an improving edge.Source scope: primary paper, “Limitations and sideways moves” and Table 4.

Worked example 4 · zero gain, new opportunity

Assignment T satisfies 19 of 20 clauses. Every flip either loses a clause and gains one or performs worse, so the best gain is zero. After a tied flip to T′, a different variable can be reversed to satisfy the final clause without breaking any. Restarting at T would discard a path whose value appears only one step later.

Causal probe 4 · prohibit only zero-gain flips

Keep random starts, tie-breaking and positive moves unchanged. The large drop in the paper’s Table 4 identifies plateau traversal as the changed causal link. It does not prove every zero-gain flip helps; most may merely buy a chance to reach the few that do.

05 · random restarts

Failure inside one basin need not govern the next

A local trajectory inherits the accidents of its initial assignment. Restarts convert one potentially pathological climb into repeated independent or weakly dependent chances.

If the probability that one try finds a model within MAX-FLIPS is p and tries are independent, the probability of at least one success after k tries is 1−(1−p)ᵏ. This elementary relation explains why a modest per-try success rate can become reliable under repetition. It also shows why runtime must be reported with success probability.

Actual tries need not be identically distributed when pseudorandom generation, formula symmetry or deterministic tie handling introduces correlations. The formula can also contain basins with radically different escape probabilities. Still, fresh complete assignments reduce dependence on one early commitment more aggressively than local backtracking.

MAX-FLIPS mediates a classic exploration–exploitation trade-off. Too small and the search abandons promising plateau crossings; too large and it spends most of its budget wandering inside a basin with negligible success chance. The paper reports that application families often admit a parameter setting usable across their instances, but this remains empirical tuning.

MAX-TRIES is not evidence about unsatisfiability. Increasing it raises the chance of discovering an existing model but never supplies a finite threshold after which non-discovery becomes a proof. An application may interpret the budget statistically or operationally: “no witness found in ten minutes”: provided it does not change the logical claim.

Restart statistics should include the distribution, not only the mean. One run may succeed immediately and another may consume the whole budget. Later work on heavy-tailed search made this issue explicit. The 1992 paper already embeds the practical response: bound the local run and try again.

Repeated tries accumulate success probabilitySix restart arcs land in different basins; most end at red barriers and one reaches a green model basin. A rising probability curve appears below.✓fresh assignments sample different basinsnumber of trieschance of ≥1 success
Figure 5 · Repetition changes confidence, not logical status. Independent successful chances accumulate, but even an extremely small failure probability is not an unsatisfiability certificate.Source scope: GSAT’s MAX-TRIES design; probability curve is an explanatory derivation.

Worked example 5 · from per-try chance to budget

If p=0.02, one try succeeds only two per cent of the time. After 100 independent tries, success probability is 1−0.98¹⁰⁰≈0.867. After 300 it is about 0.998. A runtime claim without k or an accuracy target hides the central trade-off.

Causal probe 5 · restart from the same assignment

If tie-breaking is deterministic, every try repeats the same flips and failure. Keep MAX-TRIES fixed but randomise only the initial assignment, then only ties. Comparing success reveals which source of diversification prevents recurrence on that formula.

06 · hard random SAT

Difficulty concentrates near a satisfiability transition

Random formula experiments are meaningful only when the generator actually produces hard instances. The paper targets 3CNF near the clause density where satisfiable and unsatisfiable cases occur with roughly equal probability.

Choose N variables, K=3 literals per clause and L clauses. Each clause selects three variables and independently negates each with probability one half. Difficulty depends critically on density L/N. At low density, many assignments satisfy the formula; at very high density, contradictions become easy to expose. Around the transition, solutions are scarce enough to be difficult while unsatisfiability is not yet obvious.

The authors use approximately L≈4.3N for the tested sizes, noting convergence near 4.25 for more than 150 variables and that the exact point was then unknown. Modern threshold estimates should not be imported into a reconstruction of their experimental design. The important control is that comparisons use the hard region rather than easy random samples.

This corrects a known evaluation trap. Earlier average-case results could make complete search look polynomial because the sampled formulas were so satisfiable that random guessing also found models quickly. Benchmark generation is part of the experiment: an algorithm cannot demonstrate hardness-handling on a distribution that rarely generates hard cases.

For smaller sizes, the authors used the complete DP procedure to select satisfiable test instances. For larger formulas DP became impractical, so GSAT was run on instances of initially unknown status and results were reported when models were found. Unsatisfiable formulas are uninformative for a GSAT success test because it will mechanically consume its flip-and-try budget and return non-discovery.

The comparison shows a sharp growth difference on their machine and implementations. DP becomes impractical around the 140-variable region, while GSAT finds models at 300 variables and on some 500-variable formulas. The headline “order of magnitude larger” refers to solvable variable scale in this hard random setting, not a general complexity bound.

Easy-hard-easy pattern over clause densityA difficulty curve peaks near 4.3 clauses per variable, while a satisfiable-probability curve falls through one half at the same region.clause density L/N≈4.3search difficultyP(satisfiable)high
Figure 6 · The generator has a difficulty control. The qualitative peak and falling satisfiability curve explain why density must accompany random-SAT results.Source scope: primary paper’s hard-random-formula section and Mitchell, Selman and Levesque (1992).

Worked example 6 · same N, different experiment

Ten thousand variables with twenty thousand 3-clauses have density 2 and were reported easy for DP. Two hundred and fifty variables with 1,062 clauses have density about 4.25 and were beyond practical DP in the study. Variable count alone reverses the apparent ranking of difficulty.

Causal probe 6 · hold N fixed and sweep density

Generate formulas at L/N=2, 3, 4.3, 6 and 10 with identical sampling rules. Record satisfiable fraction and conditional time separately. A peak near the transition shows that “random SAT” is not one stable benchmark class.

07 · comparative evidence

GSAT’s scale grows gently where DP’s tested tree explodes

Table 1 reports both time and search work. The authors use flips versus DP binary choices to argue that the gap is not merely an implementation accident, while the comparison remains historically bounded.

At 50 variables and 215 clauses, GSAT used MAX-FLIPS 250, averaged 6.4 tries and took about 0.4 seconds; DP took about 1.4 seconds. At 100 variables and 430 clauses, GSAT averaged 42.5 tries and six seconds, while DP used roughly 84,000 binary choices and 2.8 minutes. By 140 variables and 602 clauses, GSAT’s reported average remained 14 seconds while DP took about 4.7 hours.

Beyond that point the table does not provide DP results. GSAT’s selected satisfiable instances at 200, 250, 300, 400 and 500 variables took from minutes to roughly 1.6 hours under rising flip budgets. Finding any model at those sizes was striking relative to the tested complete baseline, but it does not say how often an unknown random instance was unsatisfiable or how a later complete solver would perform.

Both programs were written in C and run under UNIX on a MIPS machine. The paper counts DP tree choices and GSAT flips to supplement clock time. These operations are not equal-cost units, yet their different growth patterns support the claim that timing is not solely a coding peculiarity.

The comparison uses the Davis–Putnam label for a backtracking procedure with unit propagation. SAT terminology and implementations have since changed. Canon 0082 already showed how Chaff’s propagation, learning and branching engineering transformed complete search. Reading GSAT’s 1992 advantage as a modern local-search-versus-CDCL ranking would be anachronistic.

The result should therefore be stated narrowly and strongly: on hard satisfiable random 3CNF drawn near the chosen transition, the original implementation found models for instances far larger than the complete DP procedure could practically solve, with substantially slower observed growth in its search-work measure. Its failures remained non-conclusive.

Historical GSAT and DP scale comparisonA red DP time curve rises steeply and ends near 140 variables; a teal GSAT curve grows more gradually through 500 variables.variables in hard random 3CNFDP practical series endsGSAT finds selected modelstime / search work
Figure 7 · Different tested growth regimes. The curves are qualitative summaries of Table 1, not fitted complexity laws; DP data end where the experiment became impractical.Source scope: primary paper, Table 1 and discussion.

Worked example 7 · do not extend the missing curve

DP has no 500-variable time in the table. Extrapolating its earlier depth into astronomical years illustrates risk but is not a measured result. The defensible comparison at 500 variables is that GSAT found selected models while the study did not run a practical DP baseline there.

Causal probe 7 · match success probability before timing

A complete solver eventually answers every instance; GSAT’s time depends on an allowed failure rate. Compare them only after fixing a satisfiable set and requiring, say, 99 per cent model-finding success. Otherwise a shorter GSAT budget can look arbitrarily fast by returning non-discovery more often.

08 · structured formulae

Generic local search survives large encodings, with uneven results

The paper tests graph colouring, N-queens and Boolean induction to show that GSAT’s performance is not confined to uniform random 3CNF. The cases also reveal encoding costs and important losses.

For a 125-vertex graph, the 18-colour SAT encoding contains 2,250 variables and 89,288 clauses. GSAT found a colouring in approximately five hours; specialised algorithms in the cited study ranged from about 20 minutes to 1.7 hours. DP ran longer without a model. GSAT was slower than domain methods but surprisingly viable after generic encoding.

The 17-colour encoding contained 2,125 variables and 83,272 clauses. Initial random-start GSAT did not find the likely optimal colouring. A footnote reports later success using non-completely-random initial assignments suggested by Geoff Hinton. This is evidence that initial-state structure matters, not permission to count the original experiment as a clean success.

The N-queens encoding uses one variable per board square, long clauses requiring at least one queen in each row and binary clauses excluding attacks in rows, columns and diagonals. At N=100 it has 10,000 variables and about 1.6 million clauses. GSAT reported 5,076 flips, one try and 195 seconds.

For N above 30, the runs found solutions on the first try, and flips scaled around 0.5N². A random Boolean assignment places roughly half the N² possible queens, most of which must be removed, so this is near a simple lower bound for that starting representation. The authors note that starting with about N queens reduces the needed order to N in later work.

Boolean-induction results are deliberately mixed. GSAT is comparable overall to an integer-programming method, but one reported instance takes 2,764 seconds versus 78 seconds for integer programming, while others favour GSAT dramatically. The table supports broad applicability and heterogeneity, not uniform domination.

Three structured domains translated to SATA graph, chessboard and logic circuit each flow through a CNF funnel into the same GSAT flip engine.graph colouring♛♛N-queensBoolean inductionCNF → GSAT
Figure 8 · One engine, three encodings. Genericity is purchased with polynomial expansion and loss of domain-specific moves; performance remains an empirical question for each representation.Source scope: primary paper’s graph colouring, N-queens and Boolean-induction sections.

Worked example 8 · why a generic encoding grows

N-queens uses N² square variables. Pairwise attack exclusions contribute on the order of N³ clauses, alongside long row clauses. The 100-queen instance therefore expands to about 1.6 million clauses even though the original problem statement needs only a board size.

Causal probe 8 · preserve one queen per row in the state representation

Replace N² independent bits with one column choice per row. Moves relocate a queen rather than flip a square. If search accelerates, the gain comes from encoding valid structure into the neighbourhood, not from a different definition of the solution.

09 · deceptive formulae

A local score can point away from the only viable choice

The authors construct a satisfiable family in which many clauses reward setting one pivotal variable false, although the formula can be satisfied only when that variable is true.

The first small group of clauses forces variable 1 to be positive in every model. A much larger group contains its negative literal, so changing 1 to false immediately satisfies many clauses. The greedy clause-count signal therefore pulls search towards the wrong half of the hypercube.

Once variable 1 is false, improving the residual score cannot repair the fundamental mistake without accepting a sufficiently unattractive intermediate move. Ordinary GSAT may solve the family only when a random restart begins near a satisfying assignment. As the construction grows, that favourable region can occupy an exponentially small fraction of states.

This is not a bug in gain calculation. The local objective is exactly maximised at each step, but it is not a reliable potential function for distance to a model. Clause count measures current satisfaction, not the number or accessibility of models downstream. A greedy algorithm can execute its rule perfectly and still be globally misled.

The counterexample also limits “statistically minimal errors”. Rare under tested applications is not impossible, and constructed families are relevant whenever an adversary or generator can exploit the heuristic. A safe use of GSAT must treat budget exhaustion as uncertainty and retain another route when negative conclusions matter.

Later stochastic local-search methods add noise, clause weighting, focused moves and adaptive mechanisms to escape such traps. None eliminates NP-completeness or makes every landscape benign. The enduring lesson is to pair performance distributions with explicit failure semantics.

A deceptive score points away from the model basinA large downhill arrow labelled immediate clause gain points left to a red dead basin, while a smaller uphill route on the right reaches the unique model.x₁ = ?many clauses · no modelx₁=true · modellarger immediate gainglobally necessary
Figure 9 · Greedy truth count is not model distance. Numerous easy clauses can outweigh the few constraints that determine global feasibility.Source scope: primary paper’s constructed limitation.

Worked example 9 · majority evidence can be structurally wrong

Ninety clauses contain ¬x and are easy to satisfy with x=false, while five linked clauses collectively force x=true in every complete model. A one-step score prefers false by a wide margin. Logical necessity is conjunctive and can be hidden behind a small number of clauses.

Causal probe 9 · duplicate the misleading clauses

Logical models do not change when a clause is copied, but clause-count gain changes in proportion to duplication. If the trajectory flips, the heuristic is responding to representation multiplicity rather than new semantic information.

10 · soundness, incompleteness and use

“Found” and “not found” live in different logical categories

The paper calls GSAT a sound but incomplete model finder. That compact phrase should govern every interface, benchmark and downstream decision.

Soundness on success is elementary and strong. The solver returns a complete assignment only after checking that it satisfies the input formula. A separate verifier can repeat that test in linear time in the number of literal occurrences. Randomness affects how the witness is found, not whether the witness is valid.

Incompleteness concerns both satisfiable and unsatisfiable inputs. On a satisfiable formula, GSAT may miss every model within its budget. On an unsatisfiable formula, it necessarily misses, but its execution looks operationally similar. The final state cannot distinguish “no model exists” from “search did not reach one”.

This limits theorem-proving uses, where the desired result often is precisely unsatisfiability. It favours constructive applications such as finding a plan, configuration, interpretation or vivid model. The authors propose generating one or more vivid representations offline, then answering later queries efficiently against them. Such answers inherit the coverage limits of the sampled models.

For first-order problems with finite Herbrand universes, grounding yields a finite propositional search. The paper suggests iterative expansion for larger universes as a future direction. That proposal adds another incompleteness boundary: failure at one finite universe size says nothing final about larger domains.

A responsible interface should return a witness plus verification details on success, and a resource statement on failure: tries, flips, time, seeds and best score reached. Replacing that statement with “false” or “unsatisfiable” changes the semantics and can make a useful heuristic dangerously misleading.

GSAT’s asymmetric output contractA green branch from the search box reaches a verified model; a red branch reaches a budget report and stops before an unsatisfiable claim behind a locked gate.bounded GSAT runMODEL FOUNDverify every clauseBUDGET EXHAUSTEDno conclusion about SAT≠ UNSAT
Figure 10 · Only the successful branch has a semantic certificate. The unsuccessful branch reports an execution boundary; it cannot cross the locked logical gate to unsatisfiability.Source scope: primary paper’s limitations and applications sections.

Worked example 10 · planning under two contracts

If GSAT returns a sequence of actions satisfying all encoded preconditions and goals, execute only after independently validating the plan. If it returns no plan, increase the budget, change the encoding or invoke a complete solver. Do not tell the operator the goal is unreachable.

Causal probe 10 · relabel non-discovery as UNSAT

Run on the paper’s deceptive satisfiable family. The unchanged search now emits false negative claims. The error comes entirely from the interface contract, demonstrating that epistemic correctness is not secured by an internally correct flip routine.

11 · executable landscape laboratory

Recount every neighbour and audit the greedy choice

Choose a four-variable formula, a starting assignment and a trajectory length. The laboratory enumerates all sixteen vertices, scores every one-bit neighbour and follows a deterministic member of the best-gain tie set.

Current assignment
Current score
Best flip set
Last action

The random-like landscape contains six three-literal clauses. The plateau landscape contains a ridge on which several assignments share the same clause count. The deceptive landscape repeats semantically redundant clauses so the local count can pull away from a model even though the model set is unchanged by duplication.

Each square represents one assignment in binary order abcd. Fill intensity records satisfied clauses; a teal ring marks the current state; green rings mark models. Neighbour outlines show the four states reachable by one flip. The button chooses the alphabetically first variable among the maximum-gain tie set so the demonstration is reproducible; original GSAT breaks such ties randomly.

Three exact audits cover every formula and all sixteen assignments. First, incremental make-minus-break gain is compared with a full clause recount for every possible flip. Second, each laboratory choice must belong to the exhaustive arg-max set. Third, every vertex labelled a model is reevaluated against every original clause. These tests validate local mechanics, not the 1992 performance claims.

Worked example 11 · read the tie set

If a has gain +1, b has 0, c has +1 and d has −2, the best set is {a,c}. The laboratory takes a for reproducibility; GSAT samples between a and c. Both are greedy choices even though their later paths may diverge.

Causal probe 11 · duplicate one satisfied clause

Select the deceptive landscape and compare the best set with the plateau case. Models remain semantic properties of the conjunction, but gain weights shift because clause multiplicity changes the counting objective.

12 · reproduction and review

Separate mechanism tests from historical performance claims

To reproduce GSAT, preserve the complete-assignment state, clause-count objective, one-variable neighbourhood, random tie-breaking, sideways moves, MAX-FLIPS restarts and MAX-TRIES termination. Record random seeds. Return “not found” rather than unsatisfiable. Independently verify every model.

For efficient scoring, store each variable’s positive and negative clause occurrences, current true-literal counts per clause and make/break totals. After a flip, update only affected clauses. Cross-check incremental values against full recounts on small random formulas before using the fast path.

Recreate hard random 3CNF with documented N, L, K, duplicate policy and negation sampling. Separate satisfiable and unsatisfiable populations using an independent complete solver; otherwise GSAT’s non-discovery contaminates runtime with unknown status. Report success probability, conditional time-to-model and censored failures.

Reproduce structured encodings exactly, including symmetry and initial-assignment policy. Generic CNF and domain-preserving local search have different neighbourhoods. For historical comparisons, preserve binaries, compiler, machine, timeouts and parameter grids where possible; otherwise label results as a modern reimplementation rather than a replication.

Audit rare losses and adversarial families alongside averages. Sweep MAX-FLIPS and MAX-TRIES under a fixed total budget. Compare strict improvement, sideways movement and controlled noise. The object is not to make one curve flattering but to reveal which landscapes each policy can and cannot traverse.

Worked example 12 · accuracy belongs beside time

Configuration A finds 95 of 100 known models in one second; B finds all 100 in three seconds. Reporting only average successful time can make A look categorically better while hiding its five censored failures. A proper comparison states budget, accuracy and conditional time together.

Causal probe 12 · reuse one lucky seed

A single demonstration becomes perfectly reproducible but ceases to estimate the randomised algorithm’s distribution. Publish the seed for audit, then repeat over independently chosen seeds to measure robustness rather than one favourable path.

Two comprehensive reviews

Fidelity, teaching and implementation review

Review one: scholarship. The reconstruction preserves complete interpretations, CNF clause count, Hamming-one neighbours, maximum-gain flips, random tie-breaking, nested flip/try budgets, sideways motion, rare downhill qualification, sound-success/incomplete-failure semantics, hard-random density control, DP comparison, structured encodings, the adversarial variable-1 family, vivid-model applications and the absence of an unsatisfiability certificate.

Review two: teaching and execution. Ten paper-specific SVGs explain output contracts, the nested loop, hypercube locality, plateaux, restart probability, the transition region, historical scaling, structured encodings, deceptive gradients and soundness asymmetry. Twelve examples and twelve causal probes isolate distinct links. The laboratory enumerates complete small landscapes instead of animating an untested path.

Evidence and AI-telltale review. Claims retain year, machine, generator, density, status-selection and parameter boundaries. The account includes the failed 17-colouring, the Boolean-induction loss, missing DP results at large N and the constructed exponential trap. It does not equate random non-discovery with proof, call clause count a true distance metric or compare 1992 DP directly with modern CDCL.

Accessibility and responsive review. Each SVG has a unique title, description, caption and source scope; colour is redundant with labels and geometry; motion stops under reduced-motion preference. Controls are visibly labelled, changing output uses text and a live region, the claim table scrolls narrowly, and grids collapse at 900 and 600 pixels. Tests name their exact semantic oracle.

Review questionPass conditionFailure caught
Does a flip score mean what the text says?Incremental gain equals full recount for every variable and assignment.Stale make/break data or wrong literal polarity.
Is the move actually greedy?Chosen variable belongs to the exhaustive maximum-gain set.Tie or ordering code selecting a lower-gain neighbour.
Is a reported success real?Every clause evaluates true under the returned assignment.Score-cache error or premature success.
Is failure labelled honestly?Budget exhaustion reports non-discovery only.False unsatisfiability claims.
Memory studio

Twelve handles for recall

01 · Complete stateEvery variable has a value from the first step.
02 · ScoreCount satisfied clauses, not satisfied literals.
03 · NeighbourReverse exactly one variable.
04 · GainClauses made minus clauses broken.
05 · Greedy setChoose any variable attaining maximum gain.
06 · Random tieEqual immediate scores can lead to different futures.
07 · SidewaysZero improvement can cross a plateau.
08 · MAX-FLIPSBound one local trajectory.
09 · MAX-TRIESBound fresh random starts.
10 · Hard regionRandom 3SAT difficulty depends on clause density.
11 · Sound successA model is independently checkable.
12 · Incomplete failureNot found never means unsatisfiable.
Place in the canon

From complete conflict memory to incomplete landscape motion

Canon 0082 engineered complete SAT search: Chaff’s watched literals accelerate BCP, learned clauses preserve proofs of failure, and VSIDS lets conflicts steer future decisions. Canon 0083 starts at the opposite representational pole. GSAT assigns every variable, tolerates violated clauses and follows a scalar score through neighbouring complete interpretations.

The contrast is not simply old versus new or exact versus approximate. A Chaff-style solver is strongest when it can exploit implication and prove impossibility; GSAT is strongest when a model basin is accessible through local improvement and only a witness is required. Both use restarts, but one restarts with learned clauses while original GSAT restarts without memory.

Canon 0084, Selman, Kautz and Cohen’s “Noise Strategies for Improving Local Search” (1994), will intervene on GSAT’s greedy rule. Random walk and mixed strategies deliberately loosen maximum-gain choice so search can escape plateaux and local traps that sideways motion alone does not reliably traverse.

Interpretive synthesis

A crude evaluative signal can organise vast search: and still mislead

GSAT compresses a formula’s immediate state into one number: clauses satisfied. That number turns a discrete logical space into a navigable landscape. The signal is weak: one bit of clause improvement says little about global model geometry: but it is available at every complete assignment.

Sideways moves reveal why evaluation cannot be equated with progress. Two states can have the same score and radically different escape routes. Agency in this mechanism consists not only of preferring improvement but of spending bounded effort when improvement is temporarily invisible.

Restarts acknowledge another limit: local history can become a liability. Original GSAT discards the whole state rather than diagnose why it failed. This makes it computationally light and epistemically forgetful. Chaff, by contrast, restarts with proof-derived memory. The comparison separates diversification from learning.

The model-finding perspective also changes the product of reasoning. A witness is a positive construction that can be checked without replaying search. A proof of absence requires a different object. Treating these products separately prevents a fast heuristic from being asked to certify what its state does not encode.

GSAT therefore supplies a clean model of bounded rational search: choose a measurable objective, inspect local alternatives, accept neutral motion, restart under a resource budget and verify success. Its impressive competence on selected landscapes and its explicit blind spots both follow from that design. Neither competence nor failure semantics imply consciousness.

Publication brief

What this companion adds

This companion reconstructs GSAT from model-finding semantics through complete assignments, clause-count gain, Hamming-one motion, random ties, sideways moves, restart budgets, hard-random density, the 1992 DP comparison, structured encodings, deceptive formulae, application boundaries and honest output contracts.

The primary source is Bart Selman, Hector Levesque and David Mitchell, “A New Method for Solving Hard Satisfiability Problems”, Proceedings of AAAI-92, pages 440–446 (1992). The official seven-page AAAI scan, including all four experimental tables and the constructed limitation, was inspected against the canon record.

Ten accessible animated SVGs, twelve worked examples, twelve causal probes, twelve memory cards, a review ledger and a three-formula exhaustive landscape laboratory make the local-search mechanism auditable. Exact tests verify flip gains, greedy selection and every reported model.

References

Primary and contextual sources

  1. Bart Selman, Hector Levesque and David Mitchell, “A New Method for Solving Hard Satisfiability Problems”, Proceedings of AAAI-92, 440–446 (1992). Official AAAI paper.
  2. David Mitchell, Bart Selman and Hector Levesque, “Hard and Easy Distributions of SAT Problems”, Proceedings of AAAI-92, 459–465 (1992).
  3. Steven Minton, Mark D. Johnston, Andrew B. Philips and Philip Laird, “Minimizing Conflicts: A Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems”, Artificial Intelligence 58, 161–205 (1992).
  4. Christos H. Papadimitriou, “On Selecting a Satisfying Truth Assignment”, FOCS 1991, 163–169.
  5. Ian P. Gent and Toby Walsh, “An Empirical Analysis of Search in GSAT”, Journal of Artificial Intelligence Research 1, 47–59 (1993), arXiv:cs/9309101.
  6. Bart Selman, Henry A. Kautz and Bram Cohen, “Noise Strategies for Improving Local Search”, Proceedings of AAAI-94, 337–343 (1994).
  7. Bart Selman, Henry Kautz and Bram Cohen, “Local Search Strategies for Satisfiability Testing”, DIMACS Series in Discrete Mathematics and Theoretical Computer Science 26, 521–532 (1996).
  8. Jian Gu, “Efficient Local Search for Very Large-Scale Satisfiability Problems”, SIGART Bulletin 3(1), 8–12 (1992); cited by the primary paper as independent related work.