The torus keeps its tail
Assumes The route built from the gluing and A trapped run is holding four letters.
A trapped run is holding four letters found what the heavy tail on the rhombille patch was: a run takes a combination of letters that has no extension, then re-decides everything beneath it, none of which bears on the contradiction. Letting each refusal name the decisions behind it, and jumping over the ones it does not name, finishes all 120 runs on the same seeds, the longest in 462 nodes, and leaves a restart nothing to do.
That was a cut sheet, and it ended on the obvious question. The sheets that have given this search the most trouble are glued ones. What the rim was doing took one rectangle of a twist tessellation from forty-eight nodes to more than fifty thousand by joining its opposite edges, and half the slack showed the second pair of edges costing three orders of magnitude where the first cost almost nothing. If all of that was thrashing, the torus has just been cured and the rim’s story has to be retold. If not, a torus has something a cut sheet lacks, and nobody has said what.
A cure with an edge to it
The experiment repeats the earlier one on eight sheets. Each search is run under eight seeds at a budget of 5,000 nodes, once as it stands, changing its most recent decision, and once reading its refusals, changing the most recent decision the refusal names. On a glued sheet a loop counts only if its steps round the sheet add to nothing, so the refusal’s loop is looked for among panels with a translation attached; everything else is unchanged.
On the rhombille drawing at two periods, the search finishes five of eight searches when the sheet is cut, and eight of eight reading its refusals. Glued along one pair of edges it finishes none of eight, and eight of eight reading its refusals. Glued along both it finishes none, and one.
The middle row is the striking one. A cylinder of the rhombille drawing is as hopeless as the torus for the plain search: not one of eight runs inside the budget. So the plain search could not tell a cylinder from a torus, and half the slack read the gap between them as a price paid for the second gluing. On this drawing, for this search, the cylinder’s whole difficulty was thrashing, and the torus’s mostly is not.
The other sheets show the same edge less cleanly. The honeycomb at three periods finishes seven of eight as a cylinder either way and four of eight as a torus either way, with the finishing searches getting cheaper; the square grid at four periods finishes all eight as a cylinder and five of eight as a torus, again either way; the triangular grid’s torus stays at one. On no torus here does reading refusals change how many searches finish, except the rhombille’s, by one. It lowers what the finishers pay, which is worth having, and it does not touch the others.
Two accounts that were wrong
The route built from the gluing offered a guess about why each tiling wants its own route, and said how to test it: count how each dear route fails. Each refusal is either a vertex with no consistent lettering or a loop the letters close, and if the rhombille’s dear routes failed mostly at vertices and the honeycomb’s mostly by loops round the torus, the two constructions would each be answering the failure their sheet has.
That guess is refuted outright. No vertex refuses anything, on any sheet, under either search: tens of thousands of refusals, and every one of them a loop. Propagation forces whatever a vertex can force before the vertex can run out, on a torus as on a cut sheet, so the tilings have one way of failing between them.
The account that suggests itself next is the one the cure invites. A jump can only skip what a refusal does not name, so a torus might be a sheet whose refusals name everything: a loop round a sheet with no rim passes through panels whose letters came from every part of the search, and the stack would have no innocent decisions in it. That prediction is exact and it is also wrong. A refusal names 20% of the stack on the cut rhombille, 20% on its cylinder and 24% on its torus. On the square grid the torus’s 38% is higher than the cylinder’s 30%, and on the honeycomb the torus’s 24% is lower than the cylinder’s 26%. Loop lengths do no better: the longest shortest loop is 16 creases on the cut rhombille, 26 on the cylinder the jump cures and 22 on the torus it does not.
So the two things a refusal could say about itself are both uninformative. A torus’s refusal looks like a cut sheet’s. There are as many innocent decisions to jump over, and the jumps happen: more than five hundred in a single search on some tori. They just do not take the search anywhere.
A memory does not help either
Conflict analysis has a second half, older than the first in this subject’s sources. A trapped run noted Richard Stallman and Gerald Sussman’s dependency-directed backtracking of 1977, in which the reason for a failure is kept as well as read, so that the same failure can be recognised on another branch. Here a refused loop is a statement about the letters on it and about nothing else: any lettering containing those letters closes that loop. So it stays true everywhere. Kept as a rule, it forces the last letter of the loop the other way as soon as all but one of them are held.
If a torus’s search keeps re-deriving the same loops, this should stop it.
It does not. The search keeps hundreds of distinct loops across eight runs and those rules force thousands of letters, and no torus finishes one search more. The same searches finish at very nearly the same node counts, with the refusal arriving as a broken rule rather than a failed test. It is much faster in time, about an order of magnitude on the tori here, because the expensive half of the loop test is asked far less often, and pruning on proofs alone measured how dear that half is. But time is not what the node count was reporting, and a search whose nodes do not fall has not been made cleverer. It has been given a cache.
The reason is visible in the numbers. A loop on a torus passes through up to forty creases, and a rule with forty letters on it fires only when thirty-nine are already held, by which point the branch is nearly finished anyway. A loop is a true reason for a refusal and a useless thing to learn from, at this length. The clause-learning solvers that followed GRASP derive shorter reasons than the conflict itself, by resolving it against what forced its letters, and nothing like that has been tried here.
The length of the proof
What does separate the sheets is a different kind of measurement, and it is the one the earlier essay turned up by accident. There, every stuck run turned out to be holding letters with a short proof of no extension, and the proofs were what a jump was finding. So ask that of every kind of sheet. Take a stopped run’s stack and undo decisions from the bottom, a few at a time. At each depth, the letters remaining either have an extension or do not, and when they do not, the search proves it, jumping and keeping loops. How long the proof takes, as a function of how many decisions were undone, says how far above itself a run could still see the reason for where it is.
Undo twenty decisions and the proof takes 33 nodes on the cut sheet. On the rhombille and triangular tori it takes about 2,400, and the honeycomb’s reaches the budget by eighteen. The cut sheet’s curve hardly climbs on this logarithmic scale because it is growing about linearly, by one and a half nodes a decision. The tori’s curves climb steadily, by a factor of about 1.4 for each decision undone, which is what a proof that must try both ways of a good share of its choices looks like.
The cylinder is the control, and it is the reason to believe this is the right measurement. It is the same drawing as the rhombille torus with one gluing fewer. The plain search could not tell them apart: none of eight on both. The refusal share could not, and neither could the loop length. On this curve the cylinder lies on top of the cut sheet for sixteen decisions and leaves it only near the end, at a little over a hundred nodes. The torus is five times above it by the second decision and more than twenty times above it at the twentieth.
This is what “a torus has nothing short to read” means, as far as the measurement goes. On a sheet with a rim, a run in trouble has a reason for its trouble that fits in a few dozen nodes, and a jump can find its way to it. On a sheet with no rim the reason exists, since these letters are refuted in the end, but it does not fit: showing it costs thousands of nodes. A jump takes the search to the most recent decision named, and the natural reading is that when every reason is long the decision named is always nearby, so the search goes on thrashing, one level at a time. That reading is an inference from the curves, and no refusal was traced to establish it.
One node per panel, with the rim gone said that removing a rim removes the letters that could not be wrong. There is a sharper form now. A rim is what makes a contradiction local. Its letters are not merely slack; they give a contradiction somewhere to stop.
What the route is still doing
None of this says the route has stopped mattering, and the essay this continues would be misread if it did. It found that a route built from the gluing finished six of eight searches on the rhombille torus inside twenty thousand nodes, the cheapest in 1,183, where no drawn route finished at all. The same seeds and the same budget, with the backtracking read and the loops kept, make a fair comparison.
Taking the creases the gluing joins first, the route that finished six of eight from 1,183 nodes, now finishes eight of eight, from 266. Taking first the creases a loop round the torus crosses finishes six of eight, the cheapest in 80 nodes. Nothing else in the table moves so far. The honeycomb’s three routes finish five, five and six, and its joined-creases route starts no lower than 1,976; the triangular grid’s finish two, five and three; the square grid’s three, four and four.
So the route and the jump compound on the rhombille torus, and elsewhere each buys a little. The earlier finding that each tiling wants its own construction also stands, in a sharper form: the joined route wins on the rhombille and triangular tori, and the crossing route on the honeycomb’s, still with nobody able to say why, except that vertices have been ruled out as the reason. The route, not the sheet said a single cost belongs to a pair; it now belongs to a triple, of sheet, route and how the search goes back.
A proof of nothing
The same change also reaches the case that started this line of measurement. The order that proves nothing exists collected patterns with no consistent lettering at all, and found that proving it could take fifteen steps under one rule and half a million under another, with neither rule good everywhere.
The rhombille at a turn of 0.15, unproved after sixty thousand nodes by the search’s own rule, is proved in 137 when that rule reads its refusals. The honeycomb, where the search’s own rule was already the good one, goes from fifteen nodes to nine, since there was hardly anything to skip. That earlier essay’s statement stands, that the cost of a negative is two to the power of how many free choices sit above the contradiction, but it is a statement about a search that re-decides them. The free choices can be stepped over when the contradiction does not mention them, and on this sheet it mostly does not.
Both of these are cut sheets, and they fit the account. A proof of nothing is short when the contradiction is local, which is what a rim seems to arrange.
What cannot be read off these curves
A long proof here is not a long proof. Every proof measured was found by one search with a particular route, with jumps and a memory of loops. A shorter proof of the same letters may exist; on the cut sheet a four-letter contradiction took seven nodes under a route chosen near it and more than three hundred thousand under the search’s own. So the curves measure what this search can see, and they are not a lower bound in the sense proof complexity would mean. Saying that a torus’s contradictions are not short is a reading of a measurement, and it is unproved.
Medians over the runs still refuted. As decisions are undone, some stems stop being refuted and have a lettering after all, and those drop out of the median at that depth. On the tori almost none do by twenty, and on the cut sheet a good share do. So the cut curve’s later points are drawn over fewer runs, chosen by still being lost, and the comparison is firmest before about fourteen decisions.
The sheets are few and small. Eight sheets, eight seeds each, at sizes where each search is feasible, and one budget. Every figure is about two to five periods of twist tessellations on tilings already used in this line of work. Nothing here says what a glued sheet of some other pattern would do, and the “either way” counts on the honeycomb and the square grid rest on eight runs.
The sheet is the idealised one. A glued sheet is an identification of edges and has no paper behind it, and the arcs measure layer relations between zero-thickness panels with a lattice step attached. Half the slack spelled out what this does and does not model. A torus has never been folded in any of this. The surprising connection here runs to satisfiability, where it is widely reported that a search with conflict analysis gets much further on structured problems than on random ones of similar size; the rim, on this evidence, is the structure. That is an analogy, stated as one.
What was held fixed, and what the figures require
Seeds and budgets. Every search on a glued sheet uses the seeds the route built from the gluing used, and the route comparison uses the same twenty thousand nodes, so its numbers can be read against that essay’s. The sweep across eight sheets uses 5,000 nodes, since the plain search at twenty thousand on seven sheets is far the dearest thing here.
Loops on a glued sheet. A refusal’s creases come from a breadth-first search in the sheet’s lift, inside one translation either way, which is the window the loop test itself asks about. On every sheet here the loop was found every time; a closed walk that did not fit would blame every decision, which is the old move and is sound.
The requirements. The figures require that the rhombille’s plain and jumping counts be what is stated above; that no vertex refuses anything on any sheet; that keeping loops moves no torus by more than one finished search; that the proof on the cut sheet stay under sixty nodes while every torus’s passes ten times that; that on the rhombille torus the built routes together finish more often than the drawn one; and that on the two patterns with no lettering the jumping search reports no lettering and the plain search never finds one.
Still open: what a shorter reason would buy
The account above is about the reasons a search can find, and it suggests its own test. The loops kept here are the conflicts as found, and the method that made clause learning work in satisfiability does not keep those. It resolves a conflict back through what forced its letters until it holds a short statement about a recent decision and a few old ones. Building that for loops, and asking whether reasons shorten on a torus, is one experiment with a definite answer: if the kept reasons stay long, the torus’s contradictions may really be global, and if they shorten, the curves above were a limit of this search.
The other direction is the size of a contradiction, which is a property of a sheet rather than a search. A cut rhombille patch has a four-letter one. Whether a torus has any small one at all could be asked by exhausting small sets of letters, and the answer would say whether “a rim makes a contradiction local” is true in the sense it sounds, or only in the sense that a rim lets this search find them. The cheapest route crosses later and each drawing has its own threshold measured where each sheet’s search starts to branch; re-running that sweep under the jump would say how much of each threshold was thrashing.
The habit worth carrying is about cures that work. When a fix removes a problem on one case, try it where it should fail before explaining why it worked. The cut sheet’s result was clean enough to suggest that thrashing was the whole of the matter. The torus is what says it was not, and without it the wrong account would have stayed on the record, sounding as though it had been tested.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- A proof in no nodes at all certificate · gluing · search cost
- A search with nothing to reorder backtracking · constraint propagation · search cost
- Which choice the cost lives in backtracking · constraint propagation · search cost
- A corrugation never backtracks constraint propagation · search cost
- A crumple has no tail constraint propagation · search cost
- A knife edge nine decimals wide constraint propagation · search cost
The objects this essay names
Each one links to every other essay that touches it.
BacktrackingCertificateConstraint propagationGluingMeasurementSearch cost