Who found it, and when

A failure teaches a schedule nothing

The universal restart schedule costs 6.3 times the cutoff chosen by hindsight on the one folding search with a heavy tail, and the obvious repair is a schedule that learns its scale from the attempts it has already made. It cannot. A failed attempt costs exactly its cutoff and reports only that the run needed more, so every rule that chooses the next cutoff from its own failures writes down the same list whatever happens — a fixed schedule in disguise. On the measured runs, doubling after every failure costs at least 3.6 times the hindsight, and growing by half at least 2.4. What does come near is information from outside the run: the universal schedule given the longest search on four other patches as its unit costs 1.7 times the hindsight. The field that supplied the schedule reached the same conclusion, and answered it by watching runs from the inside.

Assumes What the hindsight was worth and Stopping is cheaper than finishing.

What the hindsight was worth priced a borrowed result on a folding search. The search looks for a consistent mountain-valley lettering of the rhombille tessellation patch; it finishes in eighty-four nodes on its best run and not at all inside twenty thousand on two runs in five, and stopping every attempt at a hundred nodes and starting again costs 512 in expectation. That cutoff was read off 120 measured runs afterwards. The universal schedule of Luby, Sinclair and Zuckerman, which knows nothing about the runs, costs 3,222 — 6.3 times as much — and a larger unit brings it close to the hindsight, at the price of knowing what unit to choose.

It ended with the middle course that seems to sit between knowing nothing and knowing everything. Estimate the scale of the running times from the attempts already made, and set the unit from the estimate. Every failed attempt carries information about the distribution — at the least, that runs of that length fail — and a schedule that adjusted as it went might recover most of the factor of six.

It cannot, and the reason is short enough to state before measuring anything.

A restart rule is a list written in advanceFive rules for choosing the next restart cutoff from the failures so far, with the cutoffs each chooses for its first twelve attempts. Because a failure carries only the fact of failing, each list is the same whatever happens, so every rule that learns from its own failures is a fixed schedule in disguise.each rule's cutoffs for its first twelve attempts, written down before any attempt is madea failed attempt costs its cutoff and says only that the run needed more, so nothing else could set the next onedouble after every failure1 2 4 8 16 32 64 128 256 512 1024 2048double after every failure, from sixteen16 32 64 128 256 512 1024 2048 4096 8192 16384 32768grow by half after each failure1 2 3 4 6 8 12 18 26 39 58 87universal, unit of one1 1 2 1 1 2 4 1 1 2 1 1universal, unit from other patches53 53 106 53 53 106 212 53 53 106 53 53the same twelve numbers come out whichever runs fail, which is what makes each rule a fixed sequence
Fig. 1 Five rules for choosing the next restart cutoff from the failures so far, and the cutoffs each chooses for its first twelve attempts. The lists are the same whichever runs fail, because a failure carries nothing but the fact of failing.

What a failed attempt reports

A restart schedule runs an attempt with some cutoff cc. Either the attempt finishes before cc, and the whole job is over, or it reaches cc and is stopped. In the second case it has cost exactly cc, and the only thing learnt is that this run needed more than cc. The number of nodes the run would eventually have taken is not observed; that is what stopping it means.

So consider any rule that chooses the next cutoff from what it has seen. Before the first attempt it has seen nothing, and chooses some c1c_1. If the job is still running at the second attempt, the first attempt failed, and what it has seen is “an attempt at c1c_1 failed” — which it could have predicted with certainty, since otherwise the job would be over. Every history a rule can observe while still running is the history in which every earlier attempt failed, and there is exactly one such history for each attempt number.

A rule that learns from its failures therefore chooses the cutoff for attempt ii as a function of ii alone. It is a fixed list, written down in advance, and its expected cost is computed exactly as any fixed list’s is:

E[cost]=iPr(attempts 1i1 fail)E[min(X,ci)],\mathbb{E}[\text{cost}] = \sum_i \Pr(\text{attempts } 1 \ldots i-1 \text{ fail}) \cdot \mathbb{E}[\min(X, c_i)],

with XX the running time of a fresh attempt. The first figure writes down five rules’ lists. Doubling after every failure is 1, 2, 4, 8, …; growing by half is 1, 2, 3, 4, 6, 8, 12, …; the universal schedule is 1, 1, 2, 1, 1, 2, 4, … . Nothing any attempt does could change a single entry.

And no list beats the hindsight cutoff

Luby, Sinclair and Zuckerman proved the other half in the same 1993 paper. When the distribution of running times is known, the best strategy of any kind is a fixed cutoff repeated forever — the one minimising one attempt’s expected cost divided by its chance of succeeding. Every list, adaptive-looking or not, is a strategy, so no list can cost less than the best fixed cutoff for that distribution.

Put together, the two halves close the question the earlier essay left. A schedule reading its own failures is a list; no list beats the hindsight cutoff; and which list comes nearest depends on the distribution, which is exactly what the schedule does not know. The gap between knowing nothing and knowing the cutoff cannot be crossed by watching failures, because failures are the one observation that knowing nothing already predicts.

What the lists cost on the measured runs

Learning from failures, and from other patternsThe expected cost of finding a lettering under several rules that choose each restart cutoff from the failures so far, against the best fixed cutoff read off the runs and against the universal schedule given a unit taken from other patches' searches. Only the borrowed unit comes near the hindsight cutoff.the expected cost of the whole job under rules that learn from their own failures, in nodeson the rhombille patch, over the same 120 measured runs; the dark bar borrows its unit from other patchesbest fixed, 100512chosen after seeing the runsdouble after every failure1820at least 3.56 times the best fixeddouble after every failure, from sixteen1805at least 3.53 times the best fixedgrow by half after each failure1204at least 2.35 times the best fixeduniversal, unit of one32226.30 times the best fixeduniversal, unit from other patches8721.70 times the best fixeda rule that reads only its own failures cannot beat the best fixed cutoff, and cannot know which that is
Fig. 2 The expected cost of finding a lettering of the rhombille patch under five restart rules, against the best fixed cutoff read off the runs. Four rules read only their own failures; the fifth takes its unit from other patches’ searches. The rules marked as bounds reach the measurement’s budget still unfinished and are counted only up to it.

The prices are exact expectations over the same 120 runs the hindsight cutoff was read from.

Doubling after every failure costs at least 1,820 nodes, 3.56 times the hindsight. It spends its early attempts far below the eighty-four nodes the fastest run needs, which costs little, and then doubles past the hundred-node sweet spot to 128, 256, 512 and beyond, where each failed attempt is expensive and the chance of failing is still about two in three. Doubling from sixteen costs about the same, at least 1,805: skipping the cheap early attempts saves almost nothing, because they were nearly free.

Growing by half after each failure does better, at least 1,204 — 2.35 times — because it lingers longer near the right scale: its cutoffs run 58, 87, 130, 195, 292, spending several attempts in the range where a run of this search is likeliest to finish.

The universal schedule at a unit of one costs 3,222, the worst of the rules measured here, and that is its design: it spends a fixed share of effort at every scale, including the ones far below where anything finishes, in exchange for a guarantee that holds on every distribution. The geometric rules have no such guarantee and do better here only because this search’s tail happens to suit them.

Three of the four are lower bounds. The measurement stops each run at twenty thousand nodes, and a list whose cutoffs pass that while there is still a real chance of failing cannot be priced beyond it; the true cost is at least what is shown. None of them comes within a factor of two of the hindsight, and none could, since the one list that would is the constant hundred that only hindsight chose.

Why the lists that do well do well here

It would be a mistake to read the ranking of the four lists as a ranking of the rules. On a different search the order could reverse, and the reason is visible in the fixed-cutoff curve drawn further down.

Stopping is cheaper than finishing found that this search’s expected cost under a fixed cutoff is nearly flat from a hundred nodes to two hundred — 512, 532, 530 — and climbs steeply after. A list does well here if it spends many attempts in that flat stretch and few beyond it, and growing by half does exactly that by accident of its ratio: five of its cutoffs lie between 58 and 292. Doubling puts only two there, and the universal schedule, at a unit of one, reaches a cutoff of 128 only on its 255th attempt.

On a search whose flat stretch sat at ten thousand nodes, growing by half would take about two dozen attempts to get there and doubling fifteen, and the universal schedule would be the only one with a guarantee on how much it wasted on the way. The geometric rules are not learning; they are guessing the scale in a particular shape, and a guess that fits one distribution is a guess that misfits another.

The difficulty was in the coin located the source of this search’s tail in the randomisation of the letter order itself, which is also why a restart helps at all: each attempt draws a new order, so each attempt is a fresh chance at an easy run. That independence is what makes the expected cost a clean sum, and it is also what makes a failure uninformative — a new draw owes nothing to the draw before it.

What the hindsight was worthThe expected cost of finding a lettering by restarting on the universal schedule, at several choices of its unit, against the best fixed cutoff read off the measured runs. At a unit of one node — the schedule that assumes nothing — the cost is a little over six times the hindsight cutoff's.the bar is what the whole job costs in expectation, in nodeson the rhombille patch, over the same 120 measured runs as the fixed cutoffsbest fixed, 100512chosen after seeing the runsunit 132226.30 times the best fixedunit 424864.86 times the best fixedunit 1617503.42 times the best fixedunit 6410141.98 times the best fixedunit 2567461.46 times the best fixeda unit of one assumes nothing about the runs; every larger unit is a guess at their scale
Fig. 3 The universal schedule on the same runs at units of one to 256 nodes, beside the best fixed cutoff. Each unit is a fixed list chosen in advance, and the ones near the scale of the runs come close to the hindsight — which is why the question is where a unit can come from.

The units on that figure make the same point from the other direction. Every unit is a guess made before the first attempt, and a guess near the scale of the runs does well while a guess far below does badly; the entire difference between the rows is information about the scale that no row acquired by running. What remains is where such a guess could honestly come from.

Information from outside the run

Four patches the search walks through, and one it does notThe same search run from a hundred and twenty different seeds on each of five patches, and the middle result. Four of the patches cost between twenty-five and fifty-six nodes whatever the seed. The fifth runs from eighty-four nodes to past the budget, on the same pattern and the same code.the bar is the middle run of a hundred and twentysame pattern, same code — only the order the letters are tried in differsthe square patch2725 at best · 27 at the middle · 36 at worstthe elongated patch3432 at best · 34 at the middle · 39 at worstthe hexagonal patch4339 at best · 43 at the middle · 51 at worstthe triangular patch4539 at best · 45 at the middle · 53 at worstthe rhombille patch16684 at best · 166 at the middle · 48 of 120 unfinished at 20000an unfinished run is left out of the middle rather than counted as its budget
Fig. 4 The same search run 120 times on each of five tessellation patches, with the middle result and the extremes. Four patches finish between 25 and 53 nodes on every run; the rhombille runs from 84 to past the budget.

The fifth bar in the second figure is the universal schedule with a unit chosen differently. The search has been run on four other patches — the square, elongated, hexagonal and triangular — and on none of them does it ever take more than 53 nodes. Take that as the unit, so the schedule’s cutoffs are 53, 53, 106, 53, 53, 106, 212, …, and its expected cost on the rhombille patch is 872: 1.70 times the hindsight, against 6.30 for a unit of one.

That unit is not hindsight about the rhombille patch; it was fixed before a single rhombille run. It is a statement about how long this search takes on patterns of this kind, and it is information the rhombille runs themselves could never have supplied, because it came from runs that succeeded. A search that fails tells a schedule nothing; a search that succeeds elsewhere tells it the scale of success.

The price is an assumption. Borrowing a unit assumes the new pattern’s easy runs look like the old patterns’ runs, and the rhombille patch is exactly the pattern where that assumption is least safe: its fastest run, 84 nodes, is longer than every run on every other patch. The borrowed unit worked because it undershot by less than a factor of two, and the universal schedule’s structure — every scale tried, each half as often as the one below — absorbs an undershoot at a logarithmic price.

The field found this first

Results about folding keep turning out to have been found elsewhere first, and this one was.

The restart result is from Luby, Sinclair and Zuckerman, 1993, and the impossibility here is a direct reading of it: their optimal strategy for a known distribution and their universal strategy for an unknown one bracket every schedule that sees only failures. What the study of search did next is the part that matters.

Gomes, Selman and Kautz, 1998, established that randomised restarts are what make heavy-tailed combinatorial search practical, which is the cure that was named first. And in 2002, Kautz, Horvitz, Ruan, Gomes and Selman proposed dynamic restart policies: rather than learning from the bare fact of failure, they watched each run from the inside — features of the search’s state in its first few hundred steps — and used a model trained on many previous runs to predict whether this run was a long one. That is the move the argument here forces. A schedule can learn while searching only if the run reports more than whether it has finished, and a prediction built from features needs a population of earlier runs to be trained on, which is information from outside the run in exactly the sense the borrowed unit is.

So the field’s answer to “can the unit be learnt while searching” was the same as the arithmetic’s: not from failures, and yes from observations of the run’s interior backed by other instances. The tail was named somewhere else found the heavy tail described in that field before it was met on a crease pattern; the limit on learning was described there too, implicitly in 1993 and explicitly in 2002.

What a run of this search could report

The dynamic-policy idea translates directly, and it is worth saying what the features would be.

The lettering search assigns a letter to a crease, propagates what the vertex conditions force, and backtracks when a vertex has no consistent letter. A run that is going to be long has, early on, made a choice high in its tree that it will spend thousands of nodes failing to recover from. The order that proves nothing exists found the cost of a refutation set by how many free choices sit above the contradiction, which is a quantity visible within a few dozen nodes: the depth of the deepest backtrack so far, the number of creases still free, the number of vertices whose letters were forced rather than chosen.

None of those is measured here, and a policy built on them would need the 120 runs split into ones it learns from and ones it is tested on. What the arithmetic establishes is that such features are necessary for learning within a run, not that these particular ones suffice.

Stopping early costs less than finishingWhat a cutoff-and-restart strategy would have cost on the one patch whose search has a long tail. Each bar is the expected total for stopping every attempt at that many nodes and starting again with a fresh order: one attempt's cost divided by the chance that attempt succeeds.the bar is what the whole job costs if every attempt is stopped thereon the rhombille patch, read off 120 measured runsstop at 10051219% of runs finish by thenstop at 15053226% of runs finish by thenstop at 20053033% of runs finish by thenstop at 500105435% of runs finish by thenstop at 1000162442% of runs finish by thenstop at 5000569749% of runs finish by thena run that never finished counts as above every cutoff, so the tail is read conservatively
Fig. 5 What stopping every attempt at a single fixed cutoff costs on the rhombille patch, from fifty nodes to five thousand. The minimum is near a hundred; a list that learns only from failures can at best keep returning near it, and cannot know to.

What the pricing assumes

Attempts are independent. Each restart starts the search with a fresh random order, so its running time is a fresh draw from the same distribution. That independence is bought with the search’s own coin, and restarting what cannot be restarted is the reminder of what that means: taking the coin out gives a deterministic search that finishes the same patch in eighty nodes and has nothing left to reseed, so every schedule priced here is a schedule for a tail the randomisation created in the first place. A restart that kept anything from the previous attempt — a learnt clause, a remembered forced letter — would violate this, and would also be a way of carrying information from failures that the argument above excludes by assumption.

The distribution is the empirical one. The 120 measured runs stand for the search’s running-time distribution, with unfinished runs treated as longer than every cutoff; the geometric rules’ costs are lower bounds for that reason.

Cost is counted in nodes. Restarting has overhead in practice — re-reading the pattern, re-initialising the search — and a schedule with many short attempts pays more of it than the node count shows. The universal schedule’s many unit-length attempts would pay most.

What the argument does not settle

It does not say borrowing a unit is safe. The borrowed unit came from four patches whose searches never have a tail at all, and it happened to be the right order of magnitude for the one that does. A pattern whose easy runs were a hundred times longer than its neighbours’ would defeat it, and the only protection is the universal schedule’s logarithmic insurance.

It does not measure a dynamic policy. The features named above are candidates; whether any of them separates long rhombille runs from short ones within fifty nodes is untested.

It does not say the coin should be kept at all. The deterministic search on the same patch costs eighty nodes, less than a sixth of the hindsight cutoff’s 512 and less than every schedule here, so the whole comparison is among ways of managing a tail that a different design of the search does not have. The schedules are the right answer to a randomised search and not necessarily the right answer to the patch.

And it does not apply to a search that reports progress. The argument is about a schedule that observes only success or failure. A search that could say how close it was to finishing would give a schedule something to learn from, and most real searches can say something.

Still open: whether a run of fifty nodes can tell it is long

The borrowed unit recovered most of the gap and a dynamic policy might recover more, and the natural next measurement is the one that would say which.

Record, for each of the 120 runs, the state of the search at fifty nodes — its deepest backtrack, its free creases, its forced letters — and ask whether those numbers separate the runs that finish by a hundred from the runs that do not. If a single feature does it, a policy that restarts runs showing that feature would cost less than the hindsight fixed cutoff, which no list can, because it would be using information no list has. That is the precise sense in which watching the inside of a run is worth more than hindsight about its length.

Sideways from here, the borrowed unit suggests a question about the tessellations rather than the search. The rhombille patch is the one whose tiles are not regular, and the propagation that never had to work found the twist construction doing real work there for the first time. Whether a pattern’s irregularity predicts its search’s tail — so that a unit could be borrowed from patterns of the same irregularity rather than from all patterns — would turn the choice of unit from a guess into a measurement.

The habit worth carrying is about learning from outcomes. Before building something that adapts, list what it can actually observe while it is still running. If the only observation available is one the system’s own continued existence already implies — the job is not done, so every attempt so far has failed — then the adaptation is a fixed plan with a story attached, and the information it needs has to come from somewhere else.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.

The objects this essay names

Each one links to every other essay that touches it.

HeuristicRandomised algorithmRediscoveryRestartSearch costWorst-case analysis