The Chase

Algorithms

Side

This algorithm produces all numbers having the same total stopping time than a given seed, using the coalescence of threads described in a `2^n` basis.
For example in basis 16:
`{:(16x,rarr,8x,rarr,4x,rarr,2x,rarr,x), (16x+1,rarr,24x+2,rarr,12x+1,rarr,18x+2,rarr,9x+1), (16x+2,rarr,8x+1,rarr,12x+2,rarr,6x+1,rarr,9x+2), (16x+3,rarr,24x+5,rarr,36x+8,rarr,18x+4,rarr,9x+), (16x+4,rarr,8x+2,rarr,4x+1,rarr,6x+2,rarr,3x+1), (16x+5,rarr,24x+8,rarr,12x+4,rarr,6x+2,rarr,3x+1), (16x+6,rarr,8x+3,rarr,12x+5,rarr,18x+8,rarr,9x+4), (16x+7,rarr,24x+11,rarr,36x+17,rarr,54x+26,rarr,27x+13), (16x+8,rarr,8x+4,rarr,4x+2,rarr,2x+1,rarr,3x+2), (16x+9,rarr,24x+14,rarr,12x+7,rarr,18x+11,rarr,27x+17), (16x+10,rarr,8x+5,rarr,12x+8,rarr,6x+4,rarr,3x+2), (16x+11,rarr,24x+17,rarr,36x+26,rarr,18x+13,rarr,27x+20), (16x+12,rarr,8x+6,rarr,4x+3,rarr,6x+5,rarr,9x+8), (16x+13,rarr,24x+20,rarr,12x+10,rarr,6x+5,rarr,9x+8), (16x+14,rarr,8x+7,rarr,12x+11,rarr,18x+17,rarr,27x+26), (16x+15,rarr,24x+23,rarr,36x+35,rarr,54x+53,rarr,81x+80):}`

Thus, those properties:

  • `16x+2` and `16x+3` have the same Total Stopping Time.
  • `16x+4` and `16x+5` have the same Total Stopping Time.
  • `16x+8` and `16x+10` have the same Total Stopping Time.
  • `16x+12` and `16x+13` have the same Total Stopping Time.
When a candidate belongs to an equivalence class modulo 16 among those, a other can be generated.
The current Side algorithm uses an `2^(19)` (524288) basis: 393904 properties

Up and Down

Up and Down algorithms use the properties of general threads built in a `2^n*3^p` basis.
Those threads link equivalence classes with `U`, `D`, `T` and `B` functions:
`2^n3^p*x+ a \stackrel"thread"rarr 2^(n’)3^(p’)*x+ b`
A local completeness is defined by `(p’-p)/(n’-n)`.
As all (good) candidates have a completeness above 0,6, any local completeness above 0,6 doesn’t reduce the potential of the generated candidates using this thread.
For example:
`8x+3 \stackrel"U"rarr 12x+5 \stackrel"U"rarr 18x+8 \stackrel"D"rarr 9x+4`
The local completeness is of `2//3 gt 0,6`
`48x+24 \stackrel"D"rarr 24x+12 \stackrel"D"rarr 12x+6 \stackrel"D"rarr 6x+3 \stackrel"U"rarr 9x+5 \stackrel"T"rarr 18x+10 \stackrel"T"rarr 36x+20 \stackrel"B"rarr 24x+13 \stackrel"T"rarr 48x+26 \stackrel"B"rarr 32x+17`
The local completeness is `1 gt 0,6`
Down:
if `(8x+3)` is a good candidate of Total stopping time `s`, `(9x+4)` is a good candidate of Total stopping time `s-3`
if `(32x+17)` is a good candidate of Total stopping time `s`, `(48x+24)` is a good candidate of Total stopping time `s-1`
Up:
if `(9x+4)` is a good candidate of Total stopping time `s`, `(8x+3)` is a good candidate of Total stopping time `s+3`
if `(48x+24)` is a good candidate of Total stopping time `s`, `(32x+17)` is a good candidate of Total stopping time `s+1`
Currently the algorithms use all properties for basis bellow 600000, there are 326 of them.

Dive

The Dive algorithm is using brute force to search for new candidates at the level immediately bellow the current candidate, so it tries for a candidate `x` all numbers between `x/3-d` and `x/3+d`, `d` being the width of the search.
If the candidate is not the absolute record for it’s total stopping time and its residue, we will eventually find a `y` in the area of `x/3` having the same total stopping time.

Strategy

The strategy is to improve a set of good candidate loop the following process:

  • Run Side, Up and Down until no new candidates are generated.
  • In the process the number of candidate is multiplied by several hundreds. Clean the set of candidates by discarding all candidates under presets level limits.
  • Run Dive with increasing width until a new candidate is found or maximum width is reached.
  • Clean the set of candidates by discarding all candidates included in another candidate’s Dive search interval.
By construction, all these algorithms can only produce new candidates or records of the same residue than the candidates they are applying to , so the process is applied to each residue file.

Limits

Candidates generation is currently limited to 3 levels bellow local record (of the same residue) and 5 levels bellow global record (any residue)
Candidates generation is currently limited to Class 20000.