A watch that looks less
A horizon the stream can supply gave a landmark search’s watch a sense of how long a chance lasts. The placement starts at the four corners of a weighted maze. Every window of queries the watch prices the current landmarks on the last twenty queries against four candidates near their destinations, and refits one landmark when the estimated saving pays for the refit. The horizon scales that estimate to how long traffic has lately stayed within ten cells of one destination rather than to a whole window. It was safe on every stream and saved 3.4% where the destination jumped every 2,500 queries. Where it jumped every thousand it still lost, 150.7 cells a query against the corners’ 142.7, and even a horizon read from the true future only tied them. At that pace, the page found, the looking costs what the refits save.
Its closing section proposed using the horizon for the one charge a watch controls outright. A watch whose learned horizon falls below half its interval between looks would double the interval, up to 8,000 queries; when the horizon came back to the interval, it would halve it again, down to 1,000. It predicted that at one jump in 1,000 the watch would tie the corners, about 143 cells a query, by looking every four or eight thousand queries. It would keep its 116.4 at one jump in 2,500 and match the fixed watch on every drift, where the horizon stays at the window and so would the interval. It named one way the rule could fail: traffic that switches from fast to slow, where a stretched interval would see the slow half’s first chance late.
The streams, the watches and the rule
Everything but the rule is the earlier pages’. The candidates are the four nearest the recent destinations, the restriction the candidates near where the queries end found cheap, and a refit replaces one landmark, the economy a refit that changes one landmark measured at a fifth of a full selection. Four maps of 2,500 cells, each a weighted maze with obstacles, and 30,000 queries a stream. The destination either jumps to a random open cell at random times, on average every 1,000, 2,500, 5,000 or 10,000 queries, or drifts to a neighbouring cell with a chance of 0.001 to 0.03 a query. Every search is an A* search guided by distances to four landmarks, the device where the landmarks stand introduced, and charged the cells it expands, and every refit and every look is charged its own searches. The fixed watches are reported at the better of a 1,000-query and a 2,000-query window, as the earlier pages did.
The proposal’s rule — doubling and halving — starts at an interval of 1,000 queries. After each look it reads the learned horizon, uncapped: the mean of the last five stretches of traffic within ten cells of one destination. Below half the current interval, the interval doubles; at or above the interval, it halves; in between it stays. The ten cells come from a placement after the traffic moved, which found a fitted placement’s advantage gone once the destination has moved that far. A second rule was added after the first was measured, for reasons the plates make plain: two states, an interval of 1,000 queries while the learned horizon is at least 1,000, and 8,000 while it is shorter.
Where the cells go at one jump in a thousand
Looking less halves the looking and the refits, and gives almost all of it back in the searches: the doubling watch pays 5.3 cells a query to look and 4.2 to refit against the ten-cell watch’s 11.1 and 9.4, and its searches cost 140.9 against 130.2. The sum barely moves, 150.5 against 150.7. The proposal assumed that at this pace the looks were finding chances not worth taking, so that skipping them would save their cost and lose nothing. The plate says the looks were finding chances worth taking. The ten-cell watch’s searches cost 12.5 cells a query less than the corners’ because of what its looks found; the doubling watch’s cost 1.8 less.
That is the earlier page’s finding seen from the other side. It said the looking costs what the refits save. Both halves are real, and they are tied together: each look is a chance to catch a destination early, and skipping it skips the catch with it. The doubling watch looked 14 times a stream against the ten-cell watch’s 29 and saved a seventh of what the ten-cell watch saved in searches against the corners, 1.8 cells a query against 12.5. The two-state rule does slightly better, 148.2, and is still 5.5 cells a query above the corners.
The corners pay nothing to look and nothing to refit, and at one jump in 1,000 they are the best design measured on any of the three pages. That is not a failure of tuning. A destination that lasts a thousand queries on average must repay a refit inside that thousand, after the watch notices it — and the watch cannot notice sooner than its next look, which is on average half an interval away. No interval between looks gives both the noticing and the paying time to happen inside one destination’s stay.
The cost at every pace
At one jump in 2,500 the doubling watch costs 136.7 cells a query, twenty more than the ten-cell watch’s 116.4 and ten more than the corners’. The prediction said this pace would be untouched, because the horizon there is longer than half an interval of 1,000. It was untouched only at first. At one jump in 5,000 and in 10,000 every watch looks every 1,000 queries throughout and they agree to within a cell and a half; the small gap at 10,000 is the fixed watch’s better window of 2,000, which the rule’s floor of 1,000 cannot reach.
The two-state rule is better at one jump in 2,500 than the proposal’s, 128.0 against 136.7, and still worse than the corners. Both rules have made the watch worse at the pace where it had been best. Something carries them into long intervals at a pace where long intervals cost the most.
The rule that cannot come down
Once the doubling rule reaches an interval of 8,000 queries it never comes back, because halving requires a learned horizon of 8,000 queries and no stretch of these streams lasts that long on average. The rule is asymmetric in a way that reads as reasonable and works as a ratchet. Stretching needs the horizon below half the interval; shrinking needs it above the whole interval. At 1,000 a horizon of 2,500 is above the interval, so the watch stays at 1,000. But the learned horizon is the mean of five stretches of traffic, and stretches between jumps are spread out: a run of five short ones, which a stream of 30,000 queries delivers sooner or later, pulls the mean below 500 and doubles the interval to 2,000. At 2,000 the next short run doubles it again. At 8,000 the rule asks for a horizon of 8,000 before it will halve, and a stream jumping every 2,500 queries on average cannot supply one. The interval has nowhere to go.
The stream on the plate shows the climb in three steps. At its first look, at query 1,000, a run of short stretches doubles the interval to 2,000; at its next, at 3,000, to 4,000; at 7,000, to 8,000. It looks at 15,000 and again at 23,000, finds a learned horizon under 8,000 queries, as every horizon on this stream is, and stays at 8,000. The stream jumps twelve times in its 30,000 queries, and the watch looks twice in its second half, at queries 15,000 and 23,000. Every jump after query 15,000 is a chance the watch can see only if the destination happens to still be there at one of those two moments, and a destination lasts 2,500 queries on average. The two-state watch on the same stream goes to 8,000 once, after its first look, and is back at 1,000 after its look at query 9,000 and for the rest of the stream.
The proposal’s own picture of the rule was a thermostat, one setting for each pace of traffic. What it built has an absorbing state. Its equilibrium for a steady horizon is any interval between and , which is already a watch that looks no more than once per chance, and its noise moves it upward far more easily than down.
At one jump in 2,500 the doubling watch spends 31% of the stream looking every 8,000 queries, and the two-state watch 28%. The two-state rule comes back, and still spends over a quarter of the stream at its long interval, because a mean of five stretches falls below 1,000 often enough at this pace to flip it. Each time it flips it misses the chances of up to eight thousand queries, at a pace where a chance lasts two and a half thousand. The learned horizon is a good estimate of a stream’s pace on average and a noisy one at any moment, and a rule that acts on it at the moment is acting on the noise.
How noisy is a matter of arithmetic, roughly. If the stretches between jumps were spread as waiting times between random events are, the mean of five stretches at one jump in 2,500 would have a standard deviation of about 1,100 queries, and it would fall below 1,000 — the two-state rule’s trigger — at about one look in twenty. A stream of 30,000 queries looks thirty times, so it would expect one or two such flips, each costing up to 8,000 queries at the long interval. The stretches here are not exactly those waiting times, since a jump can land within ten cells of the last destination and a stretch can end without a jump, but the order of magnitude matches the plate: a quarter of the stream at the long interval from a trigger that is wrong one time in twenty. A rule that acts on a single reading of a noisy estimate pays the estimate’s tail every time the tail comes up, and a long interval is a long time to pay it.
Drifts, and traffic that changes pace
On drifting traffic neither rule ever stretches at the three slower drifts, as predicted, and both pay for their floor: 111.4 cells a query at a step chance of 0.001 against the fixed watch’s 107.4. A drifting destination never moves ten cells in a hurry, so the learned horizon stays long and the interval stays at 1,000 queries. The fixed watches do better at 2,000, and the rules, whose floor is 1,000, cannot get there. At the fastest drift the two-state rule spends 7% of the stream at 8,000 and pays 128.0 against 123.7.
On traffic that slows halfway the doubling watch pays 128.4 cells a query against the ten-cell watch’s 127.4, the failure the proposal named, and smaller than the ones it did not. On two of the four maps it reached the slow half looking every 8,000 queries, and on all four it made no refit at all in the slow half — but neither did the fixed ten-cell watch on three of them. The slow half’s chances are long enough to be caught late. The two-state rule, which comes back, pays more here, 132.4, and nothing measured says in which half it lost the difference.
What a watch can know
Every result on this page has the same shape. A watch that looks less catches less, in proportion, because catching is what looking is. The earlier page’s conclusion — at one jump in 1,000 the looking costs what the refits save — was read as saying the looking was overpriced. It is better read as saying the chances are. At that pace a destination lasts a thousand queries on average and a refit needs a few hundred to pay, so even a watch that saw every jump the moment it happened would win only a sliver, and a horizon read from the true future did tie the corners on the earlier page and no more.
Starting from the corners put the corners at the start of every policy because they cost nothing to keep. This page shows them as more than a starting point. What the queries know that the map does not found a greedy rule choosing the corners on map after map once it had seen enough queries; here they are the right placement whenever traffic moves faster than a refit can pay, and the only open question is how a watch can recognise that pace and stop. A rule that looks less does not stop; it keeps paying for looks at a reduced rate and keeps catching a reduced share. Halving the looking is a policy about cost, and what was needed was a policy about value: a decision, made from evidence the watch already has, that at this pace no look is worth its price. A refit priced before it is made priced each refit against the saving it expected. What no policy here prices is the watch itself, against a placement that never watches.
What the streams cannot say
One horizon. Both rules read the horizon of the earlier page, the mean of five stretches within ten cells. A mean over more stretches would be steadier and slower to notice a change of pace; the ratchet would take longer to engage and so would every correct stretch. Only five was run.
One range of intervals. The rules move between 1,000 and 8,000 queries because the proposal set those bounds. A floor of 2,000, which the fixed watches preferred on drifts, would remove the drift penalty and change nothing about the ratchet.
Four maps. Every number is a mean over four maps, as on the earlier pages, and the two rules’ costs on a single map vary by several cells a query. The orderings on these plates are of means, and no plate here says whether they hold map by map.
Still open: a watch that switches itself off
The corners win at one jump in 1,000 and lose everywhere slower, and a watch cannot win there by looking less, only by not looking. A watch could compare, each time it looks, two prices: what its last few windows cost against what the corners would have cost over the same queries, which it can compute from the same twenty-query samples it already prices candidates on. When the corners would have been cheaper over the last several windows, it would return to the corners and stop looking for a long stretch, then look once to see whether the pace has changed.
The measurement that follows gives the ten-cell watch that switch, with the return judged over the last four looks and a pause of 8,000 queries before it looks again, and runs it on every pace and on the two streams that change pace. The prediction is that it reaches within two cells of the corners at one jump in 1,000, by spending most of that stream switched off, and keeps the ten-cell watch’s 116.4 at one jump in 2,500, because there the corners are never cheaper over four windows. It could fail on noise in the other direction: four windows at one jump in 2,500 sometimes hold three jumps, the corners win them, and the watch switches off for 8,000 queries at the pace where watching pays. The question is whether a watch can tell from its own costs that it should not be watching, or whether every signal a watch reads is noisy in exactly the way that sent the doubling rule to 8,000 queries and kept it there.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- An estimate borrowed from an easier problem break-even · heuristic search · landmark · preprocessing · shortest path
- A potential mended where it broke break-even · honest limit · shortest path
- How long a reweighting stays true break-even · preprocessing · shortest path
- The precondition on a function the caller writes heuristic search · parameter choice · shortest path
- A recut the law decides honest limit · parameter choice
- A search that runs backwards honest limit · preprocessing
The objects this essay names
Each one links to every other essay that touches it.
Break-evenHeuristic searchHonest limitLandmarkParameter choicePreprocessingQuery distributionShortest path