A search with nothing to reorder
Assumes Two refusals that refuse differently and Which choice the cost lives in.
This collection asks two search questions about a crease pattern and they are entirely different questions with entirely different machinery behind them.
The first is about letters: is there an assignment of mountains and valleys whose implied statements about which panel lies above which do not contradict one another? The second is about stackings: given the letters, is there an actual ordering of the panels that satisfies the two non-crossing rules, so that no panel passes through another?
The two refuse different patterns, which is the reason both exist. What is less obvious, and much sharper, is that they respond to a reordering of their own decisions in opposite ways.
The first search: order is everything
The lettering search propagates. Writing a letter on one crease forces letters on others through the conditions at their shared vertices, those force more, and the forcing runs until it stops deciding anything. Then the search branches on a crease the propagation has left free, and the propagation runs again.
Because of that, the order the search takes its decisions in changes which parts of the sheet get settled and when — and therefore how big a subtree the search commits to before anything objects. Replacing one line’s coin toss with a constant turns a cost that ranges from eighty-six steps to fifteen thousand into a flat eighty. Branching on a different rule turns a quarter of a million steps into sixty-three, or fifteen into half a million, depending on the pattern.
Four orders of magnitude, in both directions, from nothing but the order.
The second search: order is nothing
The ordering search places panels from the bottom upward. At each height it tries each unplaced panel in turn, checks the constraints whose panels are all now placed, and either continues or backs out.
Permuting which panel is called which changes the order it tries them in, exactly as changing the branching rule changes the lettering search’s order. Twelve permutations were tried on each of seven patterns.
The node counts are identical. Not close: identical, on every permutation of every pattern, from the fold-and-cut triangle’s 1,636 to the hexagon twist’s 1,188,571.
Why one moves and the other cannot
The reason is a single structural difference and it is worth stating carefully.
The ordering search checks. At each node it asks whether the partial ordering built so far violates any constraint whose panels are all placed, and that question is about the arrangement rather than about the search. Every partial ordering that survives the checks is visited, and every one that does not is refused at the moment it is built. So the set of nodes the search visits is exactly the set of surviving partial orderings — a property of the crease pattern, computed by nobody’s choice — and permuting the labels visits the same set in a different sequence.
The lettering search propagates. At each node it deduces letters that follow from the ones already chosen, and what it can deduce depends on which letters those are. Two different orders reach different partial states, deduce different amounts and prune different subtrees, so the set of nodes visited is genuinely different from one order to the next.
Propagation is the whole of the difference. A search that only tests has a fixed tree of surviving prefixes and no order can shrink it; a search that deduces has a tree whose shape it partly determines.
The one line that separates them
It is worth putting the two searches side by side at the level of what happens at a node, because the difference is genuinely one step.
Both maintain a partial answer and extend it. Both check whether the partial answer is already impossible. Both back out when it is. The lettering search does one further thing: before choosing what to decide next, it deduces — running the vertex conditions to a fixed point and writing in every letter that follows from what is already fixed.
That step is what makes an order matter, and the mechanism is direct. Deduction consumes the freedom in the problem, and how much it consumes depends on what was fixed first. Fix a crease whose vertex is nearly determined and the deduction cascades; fix one whose vertex is wide open and it does nothing. So two orders arrive at states of different sizes, and the trees below those states are different trees.
Without deduction there are no states of different sizes. Every node is a partial ordering of a fixed length, the check on it is the same check whatever route reached it, and the tree is the same tree read in a different sequence.
Which is the better place to be
Neither, and the pair is worth having precisely because they trade against each other.
The ordering search’s cost is predictable. A pattern of thirteen panels costs 1,188,571 nodes and will cost that whatever anybody does, so the cost can be estimated in advance from the pattern and a budget can be set with confidence. It is also enormous, growing roughly factorially, which is why the search refuses more than eighteen panels rather than sampling and calling the result a count.
The lettering search’s cost is unpredictable and usually tiny. It runs on patterns of two hundred and eighty-two creases in eighty steps, which the ordering search could not approach — and the same search on the same pattern can cost three orders of magnitude more with one line changed, which took a great while to notice.
So one search is cheap and treacherous and the other is expensive and honest, and a collection that wants both cheapness and predictability is asking for something neither offers.
The expensive search is exponential, not factorial
The ordering search’s cost is described as growing roughly factorially, and its own node counts say otherwise by a wide margin — which changes what its refusal threshold means.
Three data points are given. Seven panels cost 1,636 nodes; nine cost between seven and nine thousand; thirteen cost 1,188,571.
Between nine and thirteen the count multiplies by about a hundred and fifty, over four extra panels — a factor of 3.5 per panel. Between seven and nine it is 2.2 per panel. Factorial growth over the same four panels would have multiplied by , which is seventeen thousand.
So the search is exponential at a base near three, and it is more than a hundred times slower than factorial over the measured range. The constraints are pruning hard enough to turn into something like , which is a very large saving that the description hides.
Which is where the refusal threshold comes from
That rate explains the cut-off, and it makes it look like a decision rather than a resignation.
Extrapolating from thirteen panels at 3.5 per panel: fourteen is four million, sixteen is fifty million, and eighteen is about six hundred million nodes. That is the order of a budget a build can just about contemplate and comfortably above one it can afford, which is exactly where the search refuses.
Under a factorial reading the same threshold would sit at , six quadrillion, and the refusal would look absurdly conservative — a search declining at a point it could have reached a dozen panels earlier. Under the measured rate it sits where a budget sits.
So the eighteen is calibrated to the real growth rate, whether or not anybody worked it out, and the factorial description makes the machinery sound cruder than it is.
It also changes what a modest improvement would buy. Halving the base from 3.5 to 1.75 — which a stronger constraint might do — would move the threshold from eighteen panels to about thirty, since is roughly . Against a factorial the same improvement would buy two panels. The search is in the regime where a better bound is worth a dozen panels rather than one, which is a much better reason to work on it than the one the essay’s closing section gives.
What this says about improving a search
The practical residue is a diagnostic, and it is one question rather than a procedure.
Does the search deduce anything? If it only generates candidates and tests them, no ordering heuristic will help, because the set of survivors is fixed and heuristics only reorder a fixed set. Effort belongs somewhere else entirely — a stronger constraint, a symmetry to quotient by, a bound to prune with.
If it deduces, ordering is worth attention and is worth measuring separately for its two halves, because the two choices a search makes are not the same choice and the one that gets the attention is not reliably the one that is costing.
That question is cheap to answer and it went unasked here for a long time, during which considerable effort went into a distribution that a search-without-propagation could not have produced.
Why the expensive search is not simply improved
The obvious response to a search whose cost cannot be reordered is to give it a deduction step, and it is worth saying why that is a substantial piece of work rather than an afternoon’s.
The lettering search’s deduction is cheap because the vertex conditions are local: everything they say concerns the creases meeting at one point, so propagating them is a sweep over vertices with a small table at each. The ordering search’s constraints are not local in that sense. A taco constraint involves four panels that may lie anywhere on the sheet, a tortilla constraint involves three, and deducing from them means reasoning about relations between panels rather than about a neighbourhood.
That is not impossible — it is the difference between testing a partial order and maintaining one, and there is a well-developed way to do it — but it changes the search’s character entirely and it would forfeit the one virtue it currently has. A predictable factorial cost is a bad cost that can be planned around; an unpredictable one that is usually much better and occasionally worse is what the other search offers, and this collection now has a good deal of evidence about how easy that is to misread.
The meshes, which show both at once
The six quadrilateral meshes are the cleanest available demonstration because both searches run on the same six objects.
Their letters are consistent on all six, found in five or six steps apiece with no backtracking anywhere — the first search’s ordinary behaviour on a small regular pattern. Four of the six have no stacking at all, and establishing that costs between seven and nine thousand nodes each.
Three orders of magnitude between the two questions on identical inputs, with the cheap one answering a necessary condition and the expensive one answering the real question. That gap is the reason the cheap test is worth running first, and the reason its answer must never be reported as the answer.
What a person does instead
Neither search resembles what a folder does, and the second one is the more instructive mismatch.
Asked which panel goes on top, a folder does not enumerate arrangements. They fold the sheet and look. The paper performs the search by being paper — every constraint the ordering search tests is enforced automatically, because material cannot pass through material — and the answer arrives in the time it takes to collapse the model.
That is why the enormous cost of the ordering search is not a statement about folding being hard. It is a statement about deciding without folding being hard, which is a different task that only exists because a crease pattern can be drawn and reasoned about before any paper is committed. The first thing about layers is the observation that a folder learns the answer without ever framing the question.
What the search buys is the ability to answer for a pattern that has not been folded and possibly cannot be — including, crucially, the ability to return no, which a sheet of paper cannot do convincingly. A folder who fails to fold something has learned that they failed.
Which theorem was checked, and how
The order-invariance is asserted rather than observed. Each pattern’s panels are relabelled by twelve permutations, the ordering search is run on each, and the assertion requires that the node count and the number of orderings found be identical across all twelve. Either differing would mean the search was reading something it should not — a panel’s index rather than its geometry — which is the defect this check exists to catch.
The lettering results are checked as they are everywhere here: every witness written back onto its pattern and put past the four conditions at every interior vertex and a folded sheet rebuilt from scratch, and every exhaustion agreed by more than one order.
What the picture cannot show
The permutations. A figure showing twelve identical numbers is a figure showing one number, and the interesting content is the absence of variation rather than any value — which is why the claim is carried by an assertion rather than by a chart.
Nor does order-invariance mean the ordering search cannot be improved. It means it cannot be improved by reordering. Adding propagation to it — deducing that one panel must lie above another from constraints already fixed, rather than merely testing — would change everything, including making its cost order-dependent. That is a considerable piece of work, it is the obvious next thing, and it would trade the search’s predictability for the other search’s unpredictability rather than getting both.
And seven patterns is seven. The invariance follows from the search’s structure and would be surprising to find violated, which is why it is written as an assertion over whatever patterns are to hand rather than as a survey.
What it would take to be wrong
The claim that an exhaustive test-only search cannot be reordered is close to a tautology once stated, and it is worth naming the two ways the measurement could nonetheless have come out otherwise — because both are real defects that this check is really looking for.
The search could read an index. If any constraint were expressed in terms of a panel’s number rather than its geometry — a comparison, a sort, a tie broken by index — then relabelling would change what the search accepts, and the node counts would diverge. That is an easy mistake to make and a hard one to notice, since the search would still return correct-looking answers on every pattern anybody tried.
The search could prune inconsistently. It refuses a partial ordering the moment a constraint whose panels are all placed is violated, and “all placed” depends on the order the panels were placed in. So a constraint could in principle be checked earlier under one labelling than another, refusing a prefix sooner and visiting fewer nodes. The counts being identical says that every prefix is refused by some constraint at the same depth regardless — which is a stronger and less obvious statement than the tautology, and it is the part worth having measured.
Twelve permutations on seven patterns is not a proof of either, and it is enough that a systematic version of either defect would have shown.
The reading that transfers
Outside this subject the distinction has a short name and a long history: generate-and-test against constraint propagation, and the difference between them is exactly the difference measured here.
A generate-and-test search enumerates candidates and rejects the bad ones. Its cost is the number of candidates that survive whatever partial checking it can do, that number is a property of the problem, and no reordering touches it. Everything that helps such a search is a stronger check — something that rejects more, earlier.
A propagating search deduces consequences and then chooses. Its cost depends on which consequences it has drawn when it chooses, so ordering is decisive, and the two orders it chooses in are not one knob but two.
The diagnostic that follows is a single question and it takes a minute: does anything in this search deduce? Answering no means ordering heuristics are wasted effort. Answering yes means they are worth attention and worth measuring in both halves. It is a cheap question and this collection went a long way without asking it.
Where the ladder goes next
There is a third way to ask about a folded state, and it has no discrete choices at all: a motion has no letters to choose, where the fold angles are continuous and solved rather than searched — which removes the ordering question entirely and introduces a different failure in its place.
What this makes readable
Essays that name this one as a prerequisite.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- Pruning on proofs alone constraint propagation · exhaustive search · search · search cost
- The cost of proving something false constraint propagation · exhaustive search · search · search cost
- A collision is an order layer ordering · non-crossing condition · quadrilateral mesh
- Half the slack backtracking · constraint propagation · search cost
- Which condition does the refusing constraint propagation · search · search cost
- A corrugation never backtracks constraint propagation · search cost
What links here
Every essay whose body links to this one.
The objects this essay names
Each one links to every other essay that touches it.
BacktrackingConstraint propagationExhaustive searchLayer orderingNon-crossing conditionQuadrilateral meshSearchSearch cost