βIt would be a mistake to think that solving problems is a purely intellectual affair; determination and emotions play an important role.β
βThe worst may happen if the student embarks upon computations or constructions without having understood the problem.β
β George PΓ³lya, How to Solve It: A New Aspect of Mathematical Method
An algorithm for solving the Hamiltonian cycle problem deterministically and in linear time on all instances of discocube graphs (tested for up to 350 million vertices). Discocube graphs are 3-dimensional grid graphs derived from: a polycube of an octahedron | a Hauy construction of an octahedron using cubes as identical building blocks | the accretion of cubes around a central cube forming an octahedron at the limit | the set of points in a 3-dimensional square grid graph contained within an octahedron...
Planar embedding of a cube and a discocube. from the set of all graphs G, where the order of G is of the Uncentered octahedral numbers A130809, only the first two instances shown above; n[0] and n[1] are planarly embeddable i.e., it can be represented on a two-dimensional surface without any of its edges crossing.
This algorithm is an artist's rendering of a graph object using programming as a language (versus painting or singing about a mountain) and means by which to describe the body of his muse (a graph object) as an endless contour drawing (Hamiltonian cycle). After thousands of studies, drawings, and a little math: this is a story of how solving specific aethetic goals can yield results. When a graph becomes an artist's muse, how does the artist go about rendering their vision as a painter paints a portrait and makes it their own? Do I draw functions with my mind's eye as I would imagine a sculpture? Art studies forms, the curvature of the neck as it disappears behind the back, the color of skin in the foreground, the play of colors and contrasts... So in this project, I studied the discocube as a body, where each turn was conceptualized not as a discrete math object but as movement of the body, resulting in more doodles and sketches than pages of equations. The result is a family of algorithms for solving various types of hamiltonian cycles (always turning, etc...), of which this repo is the simplest and most descriptive.
The first eleven discocubes and their respective orders (number of nodes)
Why weave()? Finding the solution to the problem reminded me of macramΓ©, of tying knots, weaving and how repeating certain movements resulted in certain patterns. I followed the thought further and asked myself if there was a 'weave' I could use to expose underlying unit structure and repeat this throughout to get an initial solution which could later be mutated to produce a more polished solution. The code is structured around the process of weaving a piece of tapestry, from spinning the yarn to incorporating the weft into the warps.
This algorithm has no while loops, and will terminate after a series of steps have been performed. The strength of this algorithm is knowing exactly when and where and what is to happen, thereby reducing the amount of calculations needed, which is surprising as the creative process in creating this was anything but deterministic. This algorithm aims, with enough optimizations, to be able to find the hamiltonian cycle for graphs up to a billion vertices. It takes only a little bit less time to certify a solution as it does to find it.
I'll close with this:
βA great discovery solves a great problem, but there is a grain of discovery in the solution of any problem. Your problem may be modest, but if it challenges your curiosity and brings into play your inventive faculties, and if you solve it by your own means, you may experience the tension and enjoy the triumph of discovery.β β George PΓ³lya, How to Solve It: A New Aspect of Mathematical Method
Goal: Optimize the algorithm so that it is able to solve instances of over a billion vertices:
TO BE CONTINUED TO: | π³ 1000 | βοΈ 1_337_336_000 |
What started as a hack-your-own version of a depth-first-search-with-shortcuts for the discocube graph (solving up to 960 vertices), metastasized into pages of overgrown mixin classes mysteriously coupled to each another like overgrown vines pushing me deeper and deeper into the underbelly of its mutant tentacles. Although it was able to solve instances of over a million vertices, it had the clarity of primordial soup. So, as a sadistic gardener I painstakingly pruned my own unescapable web (all those letters you haven't opened yet?) of thorny vines into presentable tiny bonsai trees. So what is a bonsai if not a tree in intimate scope?
To paraphrase Hauy:
When solving problems that involve analyzing how nature progresses, we are led by very rapid methods to results that are not immediately obvious. These results may appear paradoxical and surprising. However, if we take the time to carefully examine the steps we took to reach these results, we will begin to understand the underlying principles that led to these outcomes. By going back over the process step by step, we can better understand the logic behind the final results.
The result of this creative process is a family of algorithms developed specifically to solve various graph problems on the disoocube graph, 3d grid graph and hexprism honeycomb diamond graphs. The algorithm presented in this repository is the least complex, also making it the fastest. It does the job, solving the hamiltonian cycle problem for over millions of vertices in reasonable time (milliseconds vs. years), while other algorithms in the family take longer but they also have other objectives; like forming an always turning cycle with even edge distribution across all axes. But that's beyond the scope of this repo.
Eventually this repository will include other linear time algorithms for solving the hamiltonian cycle problem in 3d grid graphs and also in solid grid graphs (a side-effect of the research), addressing some open issues raised in the graph theory research literature.
As each solution is as unique as a fingerprint, or a diamond it allows one to have their own digital version of a discocube, which is also an instruction for building your own.
Discocubes as glb, using different mirrored texture yields personalized results and unique reflections meaning each discocube has its own reflection/shadow fingerprint! With millions of combinations available (glass texture/image/color, mirror texture/image/color, edge texture/image/color), the possibilities are endless!
The always turning hamiltonian cycle digital discocubes are not produced by the algorithm in this repo, but by another polynomial-time algorithm.
To use the package via the command line, navigate to the root directory of the project in your terminal and run the following command:
cargo run --release [Graph start instance] [Graph end instance]
cargo run --release 1 100
build > run > make > solve > certify > for each graph starting from 32 to 1.373 million vertices.
I wonder if this could be a goal. Reduce the algorithm until it is as fast as the algorithm that certifies the graph.
| π³ 100 | βοΈ 1373600 | π TO SOLVE: 0.53748536 | π HamCycle | π TO CERTIFY: 0.33031258
// Used to certify if the sequence is a Hamiltonian cycle, chain or broken.
pub mod certify {
use super::{
fmt,
Itertools,
Adjacency, Solution
};
#[derive(PartialEq)]
pub enum SequenceID {
Broken,
HamChain,
HamCycle,
}
impl fmt::Display for SequenceID {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
SequenceID::Broken => write!(f, "Broken"),
SequenceID::HamChain => write!(f, "HamChain"),
SequenceID::HamCycle => write!(f, "HamCycle"),
}
}
}
pub fn id_seq(seq: &Solution, adj: &Adjacency) -> SequenceID {
if seq.iter().duplicates().count() > 0 || seq.len() != adj.len() {
return SequenceID::Broken;
}
match seq
.windows(2)
.all(|window| adj[&window[0]].contains(&window[1]))
{
true if adj[&seq[seq.len() - 1]].contains(&seq[0]) => SequenceID::HamCycle,
true => SequenceID::HamChain,
false => SequenceID::Broken,
}
}
}
Running times for the first 500 instances: graphs with 8 to 167_668_000 vertices (to be continued until 1000th order (over 1 billion)):
| π³ 1 | βοΈ 8 | π 0.0000010 | π HamCycle |
| π³ 2 | βοΈ 32 | π 0.0000021 | π HamCycle |
| π³ 3 | βοΈ 80 | π 0.0000207 | π HamCycle |
| π³ 4 | βοΈ 160 | π 0.0000376 | π HamCycle |
| π³ 5 | βοΈ 280 | π 0.0000457 | π HamCycle |
| π³ 6 | βοΈ 448 | π 0.0000612 | π HamCycle |
| π³ 7 | βοΈ 672 | π 0.0000849 | π HamCycle |
| π³ 8 | βοΈ 960 | π 0.0001190 | π HamCycle |
| π³ 9 | βοΈ 1_320 | π 0.0001546 | π HamCycle |
| π³ 10 | βοΈ 1_760 | π 0.0001940 | π HamCycle |
| π³ 11 | βοΈ 2_288 | π 0.0002370 | π HamCycle |
| π³ 12 | βοΈ 2_912 | π 0.0003046 | π HamCycle |
| π³ 13 | βοΈ 3_640 | π 0.0003566 | π HamCycle |
| π³ 14 | βοΈ 4_480 | π 0.0004434 | π HamCycle |
| π³ 15 | βοΈ 5_440 | π 0.0005282 | π HamCycle |
| π³ 16 | βοΈ 6_528 | π 0.0006934 | π HamCycle |
| π³ 17 | βοΈ 7_752 | π 0.0008181 | π HamCycle |
| π³ 18 | βοΈ 9_120 | π 0.0009507 | π HamCycle |
| π³ 19 | βοΈ 10_640 | π 0.0010603 | π HamCycle |
| π³ 20 | βοΈ 12_320 | π 0.0013304 | π HamCycle |
| π³ 21 | βοΈ 14_168 | π 0.0015334 | π HamCycle |
| π³ 22 | βοΈ 16_192 | π 0.0018256 | π HamCycle |
| π³ 23 | βοΈ 18_400 | π 0.0020479 | π HamCycle |
| π³ 24 | βοΈ 20_800 | π 0.0023825 | π HamCycle |
| π³ 25 | βοΈ 23_400 | π 0.0027736 | π HamCycle |
| π³ 26 | βοΈ 26_208 | π 0.0029853 | π HamCycle |
| π³ 27 | βοΈ 29_232 | π 0.0033606 | π HamCycle |
| π³ 28 | βοΈ 32_480 | π 0.0038334 | π HamCycle |
| π³ 29 | βοΈ 35_960 | π 0.0043816 | π HamCycle |
| π³ 30 | βοΈ 39_680 | π 0.0050111 | π HamCycle |
| π³ 31 | βοΈ 43_648 | π 0.0057679 | π HamCycle |
| π³ 32 | βοΈ 47_872 | π 0.0060557 | π HamCycle |
| π³ 33 | βοΈ 52_360 | π 0.0068013 | π HamCycle |
| π³ 34 | βοΈ 57_120 | π 0.0077425 | π HamCycle |
| π³ 35 | βοΈ 62_160 | π 0.0087764 | π HamCycle |
| π³ 36 | βοΈ 67_488 | π 0.0093920 | π HamCycle |
| π³ 37 | βοΈ 73_112 | π 0.0101394 | π HamCycle |
| π³ 38 | βοΈ 79_040 | π 0.0122911 | π HamCycle |
| π³ 39 | βοΈ 85_280 | π 0.0123574 | π HamCycle |
| π³ 40 | βοΈ 91_840 | π 0.0136622 | π HamCycle |
| π³ 41 | βοΈ 98_728 | π 0.0148989 | π HamCycle |
| π³ 42 | βοΈ 105_952 | π 0.0162773 | π HamCycle |
| π³ 43 | βοΈ 113_520 | π 0.0180751 | π HamCycle |
| π³ 44 | βοΈ 121_440 | π 0.0194382 | π HamCycle |
| π³ 45 | βοΈ 129_720 | π 0.0214285 | π HamCycle |
| π³ 46 | βοΈ 138_368 | π 0.0229243 | π HamCycle |
| π³ 47 | βοΈ 147_392 | π 0.0254875 | π HamCycle |
| π³ 48 | βοΈ 156_800 | π 0.0280501 | π HamCycle |
| π³ 49 | βοΈ 166_600 | π 0.0298669 | π HamCycle |
| π³ 50 | βοΈ 176_800 | π 0.0325643 | π HamCycle |
| π³ 51 | βοΈ 187_408 | π 0.0355896 | π HamCycle |
| π³ 52 | βοΈ 198_432 | π 0.0389029 | π HamCycle |
| π³ 53 | βοΈ 209_880 | π 0.0408493 | π HamCycle |
| π³ 54 | βοΈ 221_760 | π 0.0440270 | π HamCycle |
| π³ 55 | βοΈ 234_080 | π 0.0482504 | π HamCycle |
| π³ 56 | βοΈ 246_848 | π 0.0510917 | π HamCycle |
| π³ 57 | βοΈ 260_072 | π 0.0539111 | π HamCycle |
| π³ 58 | βοΈ 273_760 | π 0.0570619 | π HamCycle |
| π³ 59 | βοΈ 287_920 | π 0.0626398 | π HamCycle |
| π³ 60 | βοΈ 302_560 | π 0.0665345 | π HamCycle |
| π³ 61 | βοΈ 317_688 | π 0.0696655 | π HamCycle |
| π³ 62 | βοΈ 333_312 | π 0.0756095 | π HamCycle |
| π³ 63 | βοΈ 349_440 | π 0.0812501 | π HamCycle |
| π³ 64 | βοΈ 366_080 | π 0.0855361 | π HamCycle |
| π³ 65 | βοΈ 383_240 | π 0.0897376 | π HamCycle |
| π³ 66 | βοΈ 400_928 | π 0.0939994 | π HamCycle |
| π³ 67 | βοΈ 419_152 | π 0.0992696 | π HamCycle |
| π³ 68 | βοΈ 437_920 | π 0.1073214 | π HamCycle |
| π³ 69 | βοΈ 457_240 | π 0.1160096 | π HamCycle |
| π³ 70 | βοΈ 477_120 | π 0.1238002 | π HamCycle |
| π³ 71 | βοΈ 497_568 | π 0.1302345 | π HamCycle |
| π³ 72 | βοΈ 518_592 | π 0.1427145 | π HamCycle |
| π³ 73 | βοΈ 540_200 | π 0.1481154 | π HamCycle |
| π³ 74 | βοΈ 562_400 | π 0.1528944 | π HamCycle |
| π³ 75 | βοΈ 585_200 | π 0.1619013 | π HamCycle |
| π³ 76 | βοΈ 608_608 | π 0.1697858 | π HamCycle |
| π³ 77 | βοΈ 632_632 | π 0.1802106 | π HamCycle |
| π³ 78 | βοΈ 657_280 | π 0.1929411 | π HamCycle |
| π³ 79 | βοΈ 682_560 | π 0.1991495 | π HamCycle |
| π³ 80 | βοΈ 708_480 | π 0.2135235 | π HamCycle |
| π³ 81 | βοΈ 735_048 | π 0.2184628 | π HamCycle |
| π³ 82 | βοΈ 762_272 | π 0.2459208 | π HamCycle |
| π³ 83 | βοΈ 790_160 | π 0.2592264 | π HamCycle |
| π³ 84 | βοΈ 818_720 | π 0.2696866 | π HamCycle |
| π³ 85 | βοΈ 847_960 | π 0.2710578 | π HamCycle |
| π³ 86 | βοΈ 877_888 | π 0.2800946 | π HamCycle |
| π³ 87 | βοΈ 908_512 | π 0.2869450 | π HamCycle |
| π³ 88 | βοΈ 939_840 | π 0.3290268 | π HamCycle |
| π³ 89 | βοΈ 971_880 | π 0.3456512 | π HamCycle |
| π³ 90 | βοΈ 1_004_640 | π 0.3538976 | π HamCycle |
| π³ 91 | βοΈ 1_038_128 | π 0.3681797 | π HamCycle |
| π³ 92 | βοΈ 1_072_352 | π 0.3963305 | π HamCycle |
| π³ 93 | βοΈ 1_107_320 | π 0.4033277 | π HamCycle |
| π³ 94 | βοΈ 1_143_040 | π 0.4153683 | π HamCycle |
| π³ 95 | βοΈ 1_179_520 | π 0.4387953 | π HamCycle |
| π³ 96 | βοΈ 1_216_768 | π 0.4771417 | π HamCycle |
| π³ 97 | βοΈ 1_254_792 | π 0.4902358 | π HamCycle |
| π³ 98 | βοΈ 1_293_600 | π 0.4930317 | π HamCycle |
| π³ 99 | βοΈ 1_333_200 | π 0.5267313 | π HamCycle |
| π³ 100 | βοΈ 1_373_600 | π 0.5552125 | π HamCycle |
| π³ 101 | βοΈ 1_414_808 | π 0.5823348 | π HamCycle |
| π³ 102 | βοΈ 1_456_832 | π 0.5761076 | π HamCycle |
| π³ 103 | βοΈ 1_499_680 | π 0.6100927 | π HamCycle |
| π³ 104 | βοΈ 1_543_360 | π 0.6406497 | π HamCycle |
| π³ 105 | βοΈ 1_587_880 | π 0.6618903 | π HamCycle |
| π³ 106 | βοΈ 1_633_248 | π 0.6993168 | π HamCycle |
| π³ 107 | βοΈ 1_679_472 | π 0.7392572 | π HamCycle |
| π³ 108 | βοΈ 1_726_560 | π 0.7754343 | π HamCycle |
| π³ 109 | βοΈ 1_774_520 | π 0.7944393 | π HamCycle |
| π³ 110 | βοΈ 1_823_360 | π 0.8072736 | π HamCycle |
| π³ 111 | βοΈ 1_873_088 | π 0.8542167 | π HamCycle |
| π³ 112 | βοΈ 1_923_712 | π 0.8878529 | π HamCycle |
| π³ 113 | βοΈ 1_975_240 | π 0.8812421 | π HamCycle |
| π³ 114 | βοΈ 2_027_680 | π 0.9601020 | π HamCycle |
| π³ 115 | βοΈ 2_081_040 | π 0.9935364 | π HamCycle |
| π³ 116 | βοΈ 2_135_328 | π 1.0323677 | π HamCycle |
| π³ 117 | βοΈ 2_190_552 | π 1.0316335 | π HamCycle |
| π³ 118 | βοΈ 2_246_720 | π 1.1275588 | π HamCycle |
| π³ 119 | βοΈ 2_303_840 | π 1.1763284 | π HamCycle |
| π³ 120 | βοΈ 2_361_920 | π 1.2075880 | π HamCycle |
| π³ 121 | βοΈ 2_420_968 | π 1.2717817 | π HamCycle |
| π³ 122 | βοΈ 2_480_992 | π 1.2900746 | π HamCycle |
| π³ 123 | βοΈ 2_542_000 | π 1.2972989 | π HamCycle |
| π³ 124 | βοΈ 2_604_000 | π 1.3435471 | π HamCycle |
| π³ 125 | βοΈ 2_667_000 | π 1.4070555 | π HamCycle |
| π³ 126 | βοΈ 2_731_008 | π 1.4372251 | π HamCycle |
| π³ 127 | βοΈ 2_796_032 | π 1.4794157 | π HamCycle |
| π³ 128 | βοΈ 2_862_080 | π 1.5322369 | π HamCycle |
| π³ 129 | βοΈ 2_929_160 | π 1.5380286 | π HamCycle |
| π³ 130 | βοΈ 2_997_280 | π 1.6097608 | π HamCycle |
| π³ 131 | βοΈ 3_066_448 | π 1.6794202 | π HamCycle |
| π³ 132 | βοΈ 3_136_672 | π 1.7742593 | π HamCycle |
| π³ 133 | βοΈ 3_207_960 | π 1.8197930 | π HamCycle |
| π³ 134 | βοΈ 3_280_320 | π 1.8474405 | π HamCycle |
| π³ 135 | βοΈ 3_353_760 | π 1.9404466 | π HamCycle |
| π³ 136 | βοΈ 3_428_288 | π 1.9601974 | π HamCycle |
| π³ 137 | βοΈ 3_503_912 | π 2.0513310 | π HamCycle |
| π³ 138 | βοΈ 3_580_640 | π 2.0951188 | π HamCycle |
| π³ 139 | βοΈ 3_658_480 | π 2.1660309 | π HamCycle |
| π³ 140 | βοΈ 3_737_440 | π 2.2257590 | π HamCycle |
| π³ 141 | βοΈ 3_817_528 | π 2.2943380 | π HamCycle |
| π³ 142 | βοΈ 3_898_752 | π 2.3628054 | π HamCycle |
| π³ 143 | βοΈ 3_981_120 | π 2.4565878 | π HamCycle |
| π³ 144 | βοΈ 4_064_640 | π 2.4630859 | π HamCycle |
| π³ 145 | βοΈ 4_149_320 | π 2.5294545 | π HamCycle |
| π³ 146 | βοΈ 4_235_168 | π 2.6146848 | π HamCycle |
| π³ 147 | βοΈ 4_322_192 | π 2.7125676 | π HamCycle |
| π³ 148 | βοΈ 4_410_400 | π 2.7204847 | π HamCycle |
| π³ 149 | βοΈ 4_499_800 | π 2.8164327 | π HamCycle |
| π³ 150 | βοΈ 4_590_400 | π 2.9506035 | π HamCycle |
| π³ 151 | βοΈ 4_682_208 | π 2.9311955 | π HamCycle |
| π³ 152 | βοΈ 4_775_232 | π 2.9945934 | π HamCycle |
| π³ 153 | βοΈ 4_869_480 | π 3.1270444 | π HamCycle |
| π³ 154 | βοΈ 4_964_960 | π 3.1455088 | π HamCycle |
| π³ 155 | βοΈ 5_061_680 | π 3.3308525 | π HamCycle |
| π³ 156 | βοΈ 5_159_648 | π 3.3205125 | π HamCycle |
| π³ 157 | βοΈ 5_258_872 | π 3.4157286 | π HamCycle |
| π³ 158 | βοΈ 5_359_360 | π 3.5471230 | π HamCycle |
| π³ 159 | βοΈ 5_461_120 | π 3.6002979 | π HamCycle |
| π³ 160 | βοΈ 5_564_160 | π 3.8180778 | π HamCycle |
| π³ 161 | βοΈ 5_668_488 | π 3.8757975 | π HamCycle |
| π³ 162 | βοΈ 5_774_112 | π 3.9876018 | π HamCycle |
| π³ 163 | βοΈ 5_881_040 | π 4.0251026 | π HamCycle |
| π³ 164 | βοΈ 5_989_280 | π 4.0782704 | π HamCycle |
| π³ 165 | βοΈ 6_098_840 | π 4.3708367 | π HamCycle |
| π³ 166 | βοΈ 6_209_728 | π 4.4891286 | π HamCycle |
| π³ 167 | βοΈ 6_321_952 | π 4.4396729 | π HamCycle |
| π³ 168 | βοΈ 6_435_520 | π 4.7049131 | π HamCycle |
| π³ 169 | βοΈ 6_550_440 | π 4.8034945 | π HamCycle |
| π³ 170 | βοΈ 6_666_720 | π 4.8120036 | π HamCycle |
| π³ 171 | βοΈ 6_784_368 | π 5.0999947 | π HamCycle |
| π³ 172 | βοΈ 6_903_392 | π 5.1406999 | π HamCycle |
| π³ 173 | βοΈ 7_023_800 | π 5.2226992 | π HamCycle |
| π³ 174 | βοΈ 7_145_600 | π 5.4760885 | π HamCycle |
| π³ 175 | βοΈ 7_268_800 | π 5.5385985 | π HamCycle |
| π³ 176 | βοΈ 7_393_408 | π 5.6618280 | π HamCycle |
| π³ 177 | βοΈ 7_519_432 | π 5.6368289 | π HamCycle |
| π³ 178 | βοΈ 7_646_880 | π 5.9726715 | π HamCycle |
| π³ 179 | βοΈ 7_775_760 | π 5.8712640 | π HamCycle |
| π³ 180 | βοΈ 7_906_080 | π 6.3023825 | π HamCycle |
| π³ 181 | βοΈ 8_037_848 | π 6.3492045 | π HamCycle |
| π³ 182 | βοΈ 8_171_072 | π 6.5235395 | π HamCycle |
| π³ 183 | βοΈ 8_305_760 | π 6.8535862 | π HamCycle |
| π³ 184 | βοΈ 8_441_920 | π 6.8551383 | π HamCycle |
| π³ 185 | βοΈ 8_579_560 | π 7.0290108 | π HamCycle |
| π³ 186 | βοΈ 8_718_688 | π 7.2782393 | π HamCycle |
| π³ 187 | βοΈ 8_859_312 | π 7.1627302 | π HamCycle |
| π³ 188 | βοΈ 9_001_440 | π 6.5989094 | π HamCycle |
| π³ 189 | βοΈ 9_145_080 | π 6.9484482 | π HamCycle |
| π³ 190 | βοΈ 9_290_240 | π 7.1640368 | π HamCycle |
| π³ 191 | βοΈ 9_436_928 | π 7.4092646 | π HamCycle |
| π³ 192 | βοΈ 9_585_152 | π 7.0487099 | π HamCycle |
| π³ 193 | βοΈ 9_734_920 | π 7.8608513 | π HamCycle |
| π³ 194 | βοΈ 9_886_240 | π 7.5017881 | π HamCycle |
| π³ 195 | βοΈ 10_039_120 | π 8.8736382 | π HamCycle |
| π³ 196 | βοΈ 10_193_568 | π 9.1231308 | π HamCycle |
| π³ 197 | βοΈ 10_349_592 | π 8.9380989 | π HamCycle |
| π³ 198 | βοΈ 10_507_200 | π 9.3729649 | π HamCycle |
| π³ 199 | βοΈ 10_666_400 | π 9.9800529 | π HamCycle |
| π³ 200 | βοΈ 10_827_200 | π 9.6292152 | π HamCycle |
| π³ 201 | βοΈ 10_989_608 | π 10.3535652 | π HamCycle |
| π³ 202 | βοΈ 11_153_632 | π 9.9995518 | π HamCycle |
| π³ 203 | βοΈ 11_319_280 | π 10.8522596 | π HamCycle |
| π³ 204 | βοΈ 11_486_560 | π 9.9973278 | π HamCycle |
| π³ 205 | βοΈ 11_655_480 | π 10.0661449 | π HamCycle |
| π³ 206 | βοΈ 11_826_048 | π 10.5527630 | π HamCycle |
| π³ 207 | βοΈ 11_998_272 | π 10.0613995 | π HamCycle |
| π³ 208 | βοΈ 12_172_160 | π 10.3916283 | π HamCycle |
| π³ 209 | βοΈ 12_347_720 | π 11.3493938 | π HamCycle |
| π³ 210 | βοΈ 12_524_960 | π 11.0978727 | π HamCycle |
| π³ 211 | βοΈ 12_703_888 | π 11.7553492 | π HamCycle |
| π³ 212 | βοΈ 12_884_512 | π 11.7754831 | π HamCycle |
| π³ 213 | βοΈ 13_066_840 | π 12.2666359 | π HamCycle |
| π³ 214 | βοΈ 13_250_880 | π 11.4517202 | π HamCycle |
| π³ 215 | βοΈ 13_436_640 | π 12.8435555 | π HamCycle |
| π³ 216 | βοΈ 13_624_128 | π 12.4718933 | π HamCycle |
| π³ 217 | βοΈ 13_813_352 | π 12.2922544 | π HamCycle |
| π³ 218 | βοΈ 14_004_320 | π 13.0266390 | π HamCycle |
| π³ 219 | βοΈ 14_197_040 | π 13.2950439 | π HamCycle |
| π³ 220 | βοΈ 14_391_520 | π 13.9172525 | π HamCycle |
| π³ 221 | βοΈ 14_587_768 | π 13.8073683 | π HamCycle |
| π³ 222 | βοΈ 14_785_792 | π 15.7910948 | π HamCycle |
| π³ 223 | βοΈ 14_985_600 | π 16.9914913 | π HamCycle |
| π³ 224 | βοΈ 15_187_200 | π 16.2843609 | π HamCycle |
| π³ 225 | βοΈ 15_390_600 | π 17.7109051 | π HamCycle |
| π³ 226 | βοΈ 15_595_808 | π 17.9329987 | π HamCycle |
| π³ 227 | βοΈ 15_802_832 | π 16.9582157 | π HamCycle |
| π³ 228 | βοΈ 16_011_680 | π 19.2418537 | π HamCycle |
| π³ 229 | βοΈ 16_222_360 | π 19.1698818 | π HamCycle |
| π³ 230 | βοΈ 16_434_880 | π 19.6889629 | π HamCycle |
| π³ 231 | βοΈ 16_649_248 | π 19.8991928 | π HamCycle |
| π³ 232 | βοΈ 16_865_472 | π 21.5891342 | π HamCycle |
| π³ 233 | βοΈ 17_083_560 | π 20.3988705 | π HamCycle |
| π³ 234 | βοΈ 17_303_520 | π 21.7813530 | π HamCycle |
| π³ 235 | βοΈ 17_525_360 | π 21.0040817 | π HamCycle |
| π³ 236 | βοΈ 17_749_088 | π 21.1004257 | π HamCycle |
| π³ 237 | βοΈ 17_974_712 | π 21.8259106 | π HamCycle |
| π³ 238 | βοΈ 18_202_240 | π 21.2663593 | π HamCycle |
| π³ 239 | βοΈ 18_431_680 | π 23.2225170 | π HamCycle |
| π³ 240 | βοΈ 18_663_040 | π 22.7874584 | π HamCycle |
| π³ 241 | βοΈ 18_896_328 | π 22.8182411 | π HamCycle |
| π³ 242 | βοΈ 19_131_552 | π 25.7061996 | π HamCycle |
| π³ 243 | βοΈ 19_368_720 | π 23.7010460 | π HamCycle |
| π³ 244 | βοΈ 19_607_840 | π 24.9740658 | π HamCycle |
| π³ 245 | βοΈ 19_848_920 | π 25.3079643 | π HamCycle |
| π³ 246 | βοΈ 20_091_968 | π 27.0324688 | π HamCycle |
| π³ 247 | βοΈ 20_336_992 | π 27.4217663 | π HamCycle |
| π³ 248 | βοΈ 20_584_000 | π 26.6019325 | π HamCycle |
| π³ 249 | βοΈ 20_833_000 | π 27.6203270 | π HamCycle |
| π³ 250 | βοΈ 21_084_000 | π 28.2027264 | π HamCycle |
| π³ 251 | βοΈ 21_337_008 | π 27.0395622 | π HamCycle |
| π³ 252 | βοΈ 21_592_032 | π 28.6985397 | π HamCycle |
| π³ 253 | βοΈ 21_849_080 | π 29.4975128 | π HamCycle |
| π³ 254 | βοΈ 22_108_160 | π 29.6304131 | π HamCycle |
| π³ 255 | βοΈ 22_369_280 | π 30.6687088 | π HamCycle |
| π³ 256 | βοΈ 22_632_448 | π 30.4113617 | π HamCycle |
| π³ 257 | βοΈ 22_897_672 | π 29.9068413 | π HamCycle |
| π³ 258 | βοΈ 23_164_960 | π 31.8059349 | π HamCycle |
| π³ 259 | βοΈ 23_434_320 | π 32.5649033 | π HamCycle |
| π³ 260 | βοΈ 23_705_760 | π 43.0857239 | π HamCycle |
| π³ 261 | βοΈ 23_979_288 | π 35.0142784 | π HamCycle |
| π³ 262 | βοΈ 24_254_912 | π 34.9660568 | π HamCycle |
| π³ 263 | βοΈ 24_532_640 | π 37.7527428 | π HamCycle |
| π³ 264 | βοΈ 24_812_480 | π 35.2763977 | π HamCycle |
| π³ 265 | βοΈ 25_094_440 | π 35.9335899 | π HamCycle |
| π³ 266 | βοΈ 25_378_528 | π 35.7696381 | π HamCycle |
| π³ 267 | βοΈ 25_664_752 | π 36.4937744 | π HamCycle |
| π³ 268 | βοΈ 25_953_120 | π 37.5988083 | π HamCycle |
| π³ 269 | βοΈ 26_243_640 | π 38.6533852 | π HamCycle |
| π³ 270 | βοΈ 26_536_320 | π 37.9381294 | π HamCycle |
| π³ 271 | βοΈ 26_831_168 | π 38.3561020 | π HamCycle |
| π³ 272 | βοΈ 27_128_192 | π 40.8908157 | π HamCycle |
| π³ 273 | βοΈ 27_427_400 | π 40.7272644 | π HamCycle |
| π³ 274 | βοΈ 27_728_800 | π 42.1620789 | π HamCycle |
| π³ 275 | βοΈ 28_032_400 | π 43.5559692 | π HamCycle |
| π³ 276 | βοΈ 28_338_208 | π 43.0557137 | π HamCycle |
| π³ 277 | βοΈ 28_646_232 | π 43.3311501 | π HamCycle |
| π³ 278 | βοΈ 28_956_480 | π 42.8031197 | π HamCycle |
| π³ 279 | βοΈ 29_268_960 | π 42.8381500 | π HamCycle |
| π³ 280 | βοΈ 29_583_680 | π 44.9772606 | π HamCycle |
| π³ 281 | βοΈ 29_900_648 | π 43.9280205 | π HamCycle |
| π³ 282 | βοΈ 30_219_872 | π 46.0957870 | π HamCycle |
| π³ 283 | βοΈ 30_541_360 | π 45.5541229 | π HamCycle |
| π³ 284 | βοΈ 30_865_120 | π 47.6350288 | π HamCycle |
| π³ 285 | βοΈ 31_191_160 | π 45.8156738 | π HamCycle |
| π³ 286 | βοΈ 31_519_488 | π 49.6814232 | π HamCycle |
| π³ 287 | βοΈ 31_850_112 | π 50.4522057 | π HamCycle |
| π³ 288 | βοΈ 32_183_040 | π 52.4631805 | π HamCycle |
| π³ 289 | βοΈ 32_518_280 | π 51.8870506 | π HamCycle |
| π³ 290 | βοΈ 32_855_840 | π 50.3747063 | π HamCycle |
| π³ 291 | βοΈ 33_195_728 | π 52.7208900 | π HamCycle |
| π³ 292 | βοΈ 33_537_952 | π 52.0394096 | π HamCycle |
| π³ 293 | βοΈ 33_882_520 | π 55.0489998 | π HamCycle |
| π³ 294 | βοΈ 34_229_440 | π 53.3723679 | π HamCycle |
| π³ 295 | βοΈ 34_578_720 | π 55.3163872 | π HamCycle |
| π³ 296 | βοΈ 34_930_368 | π 54.2411690 | π HamCycle |
| π³ 297 | βοΈ 35_284_392 | π 51.9341431 | π HamCycle |
| π³ 298 | βοΈ 35_640_800 | π 51.9760246 | π HamCycle |
| π³ 299 | βοΈ 35_999_600 | π 55.4841614 | π HamCycle |
| π³ 300 | βοΈ 36_360_800 | π 54.6801987 | π HamCycle |
| π³ 301 | βοΈ 36_724_408 | π 54.8235283 | π HamCycle |
| π³ 302 | βοΈ 37_090_432 | π 54.9316254 | π HamCycle |
| π³ 303 | βοΈ 37_458_880 | π 56.6585999 | π HamCycle |
| π³ 304 | βοΈ 37_829_760 | π 56.6689377 | π HamCycle |
| π³ 305 | βοΈ 38_203_080 | π 58.0978699 | π HamCycle |
| π³ 306 | βοΈ 38_578_848 | π 60.0594254 | π HamCycle |
| π³ 307 | βοΈ 38_957_072 | π 58.4241867 | π HamCycle |
| π³ 308 | βοΈ 39_337_760 | π 60.0390778 | π HamCycle |
| π³ 309 | βοΈ 39_720_920 | π 58.0487709 | π HamCycle |
| π³ 310 | βοΈ 40_106_560 | π 63.4117470 | π HamCycle |
| π³ 311 | βοΈ 40_494_688 | π 64.7791367 | π HamCycle |
| π³ 312 | βοΈ 40_885_312 | π 63.1891747 | π HamCycle |
| π³ 313 | βοΈ 41_278_440 | π 62.3610802 | π HamCycle |
| π³ 314 | βοΈ 41_674_080 | π 62.7601547 | π HamCycle |
| π³ 315 | βοΈ 42_072_240 | π 70.5453110 | π HamCycle |
| π³ 316 | βοΈ 42_472_928 | π 64.9709167 | π HamCycle |
| π³ 317 | βοΈ 42_876_152 | π 67.3512802 | π HamCycle |
| π³ 318 | βοΈ 43_281_920 | π 66.5858994 | π HamCycle |
| π³ 319 | βοΈ 43_690_240 | π 63.9276123 | π HamCycle |
| π³ 320 | βοΈ 44_101_120 | π 69.6732635 | π HamCycle |
| π³ 321 | βοΈ 44_514_568 | π 69.3464203 | π HamCycle |
| π³ 322 | βοΈ 44_930_592 | π 70.3431854 | π HamCycle |
| π³ 323 | βοΈ 45_349_200 | π 73.5013657 | π HamCycle |
| π³ 324 | βοΈ 45_770_400 | π 79.6885605 | π HamCycle |
| π³ 325 | βοΈ 46_194_200 | π 74.0430298 | π HamCycle |
| π³ 326 | βοΈ 46_620_608 | π 75.2163620 | π HamCycle |
| π³ 327 | βοΈ 47_049_632 | π 78.0254517 | π HamCycle |
| π³ 328 | βοΈ 47_481_280 | π 80.5947723 | π HamCycle |
| π³ 329 | βοΈ 47_915_560 | π 79.0147934 | π HamCycle |
| π³ 330 | βοΈ 48_352_480 | π 84.0448608 | π HamCycle |
| π³ 331 | βοΈ 48_792_048 | π 75.8492889 | π HamCycle |
| π³ 332 | βοΈ 49_234_272 | π 81.1769180 | π HamCycle |
| π³ 333 | βοΈ 49_679_160 | π 81.2884064 | π HamCycle |
| π³ 334 | βοΈ 50_126_720 | π 82.8648071 | π HamCycle |
| π³ 335 | βοΈ 50_576_960 | π 86.6697006 | π HamCycle |
| π³ 336 | βοΈ 51_029_888 | π 80.7290878 | π HamCycle |
| π³ 337 | βοΈ 51_485_512 | π 87.1696930 | π HamCycle |
| π³ 338 | βοΈ 51_943_840 | π 88.1169586 | π HamCycle |
| π³ 339 | βοΈ 52_404_880 | π 89.6203918 | π HamCycle |
| π³ 340 | βοΈ 52_868_640 | π 88.3642960 | π HamCycle |
| π³ 341 | βοΈ 53_335_128 | π 91.5185699 | π HamCycle |
| π³ 342 | βοΈ 53_804_352 | π 90.6791458 | π HamCycle |
| π³ 343 | βοΈ 54_276_320 | π 93.8216400 | π HamCycle |
| π³ 344 | βοΈ 54_751_040 | π 97.2271423 | π HamCycle |
| π³ 345 | βοΈ 55_228_520 | π 98.5113297 | π HamCycle |
| π³ 346 | βοΈ 55_708_768 | π 98.7739105 | π HamCycle |
| π³ 347 | βοΈ 56_191_792 | π 100.9957047 | π HamCycle |
| π³ 348 | βοΈ 56_677_600 | π 101.0744858 | π HamCycle |
| π³ 349 | βοΈ 57_166_200 | π 102.4343033 | π HamCycle |
| π³ 350 | βοΈ 57_657_600 | π 99.1940536 | π HamCycle |
| π³ 351 | βοΈ 58_151_808 | π 99.3149796 | π HamCycle |
| π³ 352 | βοΈ 58_648_832 | π 106.0990753 | π HamCycle |
| π³ 353 | βοΈ 59_148_680 | π 105.4814377 | π HamCycle |
| π³ 354 | βοΈ 59_651_360 | π 105.9914627 | π HamCycle |
| π³ 355 | βοΈ 60_156_880 | π 107.3770676 | π HamCycle |
| π³ 356 | βοΈ 60_665_248 | π 112.0929108 | π HamCycle |
| π³ 357 | βοΈ 61_176_472 | π 113.0250702 | π HamCycle |
| π³ 358 | βοΈ 61_690_560 | π 112.2821579 | π HamCycle |
| π³ 359 | βοΈ 62_207_520 | π 113.3290863 | π HamCycle |
| π³ 360 | βοΈ 62_727_360 | π 118.3366318 | π HamCycle |
| π³ 361 | βοΈ 63_250_088 | π 114.1650162 | π HamCycle |
| π³ 362 | βοΈ 63_775_712 | π 119.7422180 | π HamCycle |
| π³ 363 | βοΈ 64_304_240 | π 118.4231873 | π HamCycle |
| π³ 364 | βοΈ 64_835_680 | π 119.1417236 | π HamCycle |
| π³ 365 | βοΈ 65_370_040 | π 122.5782623 | π HamCycle |
| π³ 366 | βοΈ 65_907_328 | π 122.3472290 | π HamCycle |
| π³ 367 | βοΈ 66_447_552 | π 121.7662506 | π HamCycle |
| π³ 368 | βοΈ 66_990_720 | π 128.8301849 | π HamCycle |
| π³ 369 | βοΈ 67_536_840 | π 127.1080475 | π HamCycle |
| π³ 370 | βοΈ 68_085_920 | π 129.2564545 | π HamCycle |
| π³ 371 | βοΈ 68_637_968 | π 142.4124908 | π HamCycle |
| π³ 372 | βοΈ 69_192_992 | π 138.0613861 | π HamCycle |
| π³ 373 | βοΈ 69_751_000 | π 138.7724304 | π HamCycle |
| π³ 374 | βοΈ 70_312_000 | π 137.8485718 | π HamCycle |
| π³ 375 | βοΈ 70_876_000 | π 141.4355316 | π HamCycle |
| π³ 376 | βοΈ 71_443_008 | π 142.3190918 | π HamCycle |
| π³ 377 | βοΈ 72_013_032 | π 138.6949768 | π HamCycle |
| π³ 378 | βοΈ 72_586_080 | π 139.6701355 | π HamCycle |
| π³ 379 | βοΈ 73_162_160 | π 140.9620361 | π HamCycle |
| π³ 380 | βοΈ 73_741_280 | π 147.0547333 | π HamCycle |
| π³ 381 | βοΈ 74_323_448 | π 147.3148956 | π HamCycle |
| π³ 382 | βοΈ 74_908_672 | π 154.1600494 | π HamCycle |
| π³ 383 | βοΈ 75_496_960 | π 148.8446350 | π HamCycle |
| π³ 384 | βοΈ 76_088_320 | π 159.7727356 | π HamCycle |
| π³ 385 | βοΈ 76_682_760 | π 153.8689575 | π HamCycle |
| π³ 386 | βοΈ 77_280_288 | π 153.9478607 | π HamCycle |
| π³ 387 | βοΈ 77_880_912 | π 152.6566315 | π HamCycle |
| π³ 388 | βοΈ 78_484_640 | π 154.2044067 | π HamCycle |
| π³ 389 | βοΈ 79_091_480 | π 151.8361816 | π HamCycle |
| π³ 390 | βοΈ 79_701_440 | π 159.2859039 | π HamCycle |
| π³ 391 | βοΈ 80_314_528 | π 157.1283112 | π HamCycle |
| π³ 392 | βοΈ 80_930_752 | π 163.1609955 | π HamCycle |
| π³ 393 | βοΈ 81_550_120 | π 168.0905151 | π HamCycle |
| π³ 394 | βοΈ 82_172_640 | π 174.3224030 | π HamCycle |
| π³ 395 | βοΈ 82_798_320 | π 173.4094696 | π HamCycle |
| π³ 396 | βοΈ 83_427_168 | π 166.3798370 | π HamCycle |
| π³ 397 | βοΈ 84_059_192 | π 174.8748474 | π HamCycle |
| π³ 398 | βοΈ 84_694_400 | π 171.5663300 | π HamCycle |
| π³ 399 | βοΈ 85_332_800 | π 176.2673798 | π HamCycle |
| π³ 400 | βοΈ 85_974_400 | π 181.5958099 | π HamCycle |
| π³ 401 | βοΈ 86_619_208 | π 180.0063477 | π HamCycle |
| π³ 402 | βοΈ 87_267_232 | π 179.0526123 | π HamCycle |
| π³ 403 | βοΈ 87_918_480 | π 182.1016083 | π HamCycle |
| π³ 404 | βοΈ 88_572_960 | π 180.8249359 | π HamCycle |
| π³ 405 | βοΈ 89_230_680 | π 180.9492340 | π HamCycle |
| π³ 406 | βοΈ 89_891_648 | π 190.3913879 | π HamCycle |
| π³ 407 | βοΈ 90_555_872 | π 192.4388580 | π HamCycle |
| π³ 408 | βοΈ 91_223_360 | π 191.1726532 | π HamCycle |
| π³ 409 | βοΈ 91_894_120 | π 201.1885529 | π HamCycle |
| π³ 410 | βοΈ 92_568_160 | π 198.3737030 | π HamCycle |
| π³ 411 | βοΈ 93_245_488 | π 194.6151276 | π HamCycle |
| π³ 412 | βοΈ 93_926_112 | π 205.8743744 | π HamCycle |
| π³ 413 | βοΈ 94_610_040 | π 205.3444519 | π HamCycle |
| π³ 414 | βοΈ 95_297_280 | π 204.2312012 | π HamCycle |
| π³ 415 | βοΈ 95_987_840 | π 214.5655060 | π HamCycle |
| π³ 416 | βοΈ 96_681_728 | π 204.0137482 | π HamCycle |
| π³ 417 | βοΈ 97_378_952 | π 212.5135193 | π HamCycle |
| π³ 418 | βοΈ 98_079_520 | π 225.6294098 | π HamCycle |
| π³ 419 | βοΈ 98_783_440 | π 209.5414124 | π HamCycle |
| π³ 420 | βοΈ 99_490_720 | π 205.7293549 | π HamCycle |
| π³ 421 | βοΈ 100_201_368 | π 228.3509674 | π HamCycle |
| π³ 422 | βοΈ 100_915_392 | π 229.7209167 | π HamCycle |
| π³ 423 | βοΈ 101_632_800 | π 233.1378174 | π HamCycle |
| π³ 424 | βοΈ 102_353_600 | π 222.1818085 | π HamCycle |
| π³ 425 | βοΈ 103_077_800 | π 232.3297272 | π HamCycle |
| π³ 426 | βοΈ 103_805_408 | π 229.1684723 | π HamCycle |
| π³ 427 | βοΈ 104_536_432 | π 243.6679382 | π HamCycle |
| π³ 428 | βοΈ 105_270_880 | π 236.8065186 | π HamCycle |
| π³ 425 | βοΈ 103_077_800 | π 232.3297272 | π HamCycle |
| π³ 426 | βοΈ 103_805_408 | π 229.1684723 | π HamCycle |
| π³ 427 | βοΈ 104_536_432 | π 243.6679382 | π HamCycle |
| π³ 428 | βοΈ 105_270_880 | π 236.8065186 | π HamCycle |
| π³ 425 | βοΈ 103_077_800 | π 232.3297272 | π HamCycle |
| π³ 426 | βοΈ 103_805_408 | π 229.1684723 | π HamCycle |
| π³ 427 | βοΈ 104_536_432 | π 243.6679382 | π HamCycle |
| π³ 428 | βοΈ 105_270_880 | π 236.8065186 | π HamCycle |
| π³ 429 | βοΈ 106_008_760 | π 238.1333313 | π HamCycle |
| π³ 430 | βοΈ 106_750_080 | π 246.2862091 | π HamCycle |
| π³ 431 | βοΈ 107_494_848 | π 246.6469116 | π HamCycle |
| π³ 432 | βοΈ 108_243_072 | π 262.9234924 | π HamCycle |
| π³ 433 | βοΈ 108_994_760 | π 249.9560699 | π HamCycle |
| π³ 434 | βοΈ 109_749_920 | π 251.8942566 | π HamCycle |
| π³ 440 | βοΈ 114_354_240 | π 260.3761292 | π HamCycle |
| π³ 441 | βοΈ 115_133_928 | π 263.5421143 | π HamCycle |
| π³ 442 | βοΈ 115_917_152 | π 259.1378784 | π HamCycle |
| π³ 443 | βοΈ 116_703_920 | π 270.7347717 | π HamCycle |
| π³ 444 | βοΈ 117_494_240 | π 288.3459778 | π HamCycle |
| π³ 445 | βοΈ 118_288_120 | π 278.2333679 | π HamCycle |
| π³ 446 | βοΈ 119_085_568 | π 280.1857910 | π HamCycle |
| π³ 447 | βοΈ 119_886_592 | π 299.4025269 | π HamCycle |
| π³ 448 | βοΈ 120_691_200 | π 303.8379517 | π HamCycle |
| π³ 449 | βοΈ 121_499_400 | π 315.9012451 | π HamCycle |
| π³ 450 | βοΈ 122_311_200 | π 314.5906372 | π HamCycle |
| π³ 451 | βοΈ 123_126_608 | π 326.6910400 | π HamCycle |
| π³ 452 | βοΈ 123_945_632 | π 334.6388855 | π HamCycle |
| π³ 453 | βοΈ 124_768_280 | π 340.3795471 | π HamCycle |
| π³ 454 | βοΈ 125_594_560 | π 345.4236450 | π HamCycle |
| π³ 455 | βοΈ 126_424_480 | π 332.5567932 | π HamCycle |
| π³ 456 | βοΈ 127_258_048 | π 346.8245544 | π HamCycle |
| π³ 457 | βοΈ 128_095_272 | π 355.9805908 | π HamCycle |
| π³ 458 | βοΈ 128_936_160 | π 359.0083313 | π HamCycle |
| π³ 459 | βοΈ 129_780_720 | π 375.8215637 | π HamCycle |
| π³ 460 | βοΈ 130_628_960 | π 376.1432495 | π HamCycle |
| π³ 461 | βοΈ 131_480_888 | π 376.5814209 | π HamCycle |
| π³ 462 | βοΈ 132_336_512 | π 397.5814209 | π HamCycle |
| π³ 463 | βοΈ 133_195_840 | π 377.2076111 | π HamCycle |
| π³ 464 | βοΈ 134_058_880 | π 375.8837280 | π HamCycle |
| π³ 465 | βοΈ 134_925_640 | π 388.6386108 | π HamCycle |
| π³ 466 | βοΈ 135_796_128 | π 395.4193420 | π HamCycle |
| π³ 467 | βοΈ 136_670_352 | π 388.5943604 | π HamCycle |
| π³ 468 | βοΈ 137_548_320 | π 379.1246338 | π HamCycle |
| π³ 469 | βοΈ 138_430_040 | π 392.6550903 | π HamCycle |
| π³ 470 | βοΈ 139_315_520 | π 388.9270325 | π HamCycle |
| π³ 471 | βοΈ 140_204_768 | π 318.1142578 | π HamCycle |
| π³ 472 | βοΈ 141_097_792 | π 355.8233643 | π HamCycle |
| π³ 473 | βοΈ 141_994_600 | π 344.4631348 | π HamCycle |
| π³ 474 | βοΈ 142_895_200 | π 345.8013916 | π HamCycle |
| π³ 475 | βοΈ 143_799_600 | π 352.4673462 | π HamCycle |
| π³ 476 | βοΈ 144_707_808 | π 343.4831543 | π HamCycle |
| π³ 477 | βοΈ 145_619_832 | π 365.9343567 | π HamCycle |
| π³ 478 | βοΈ 146_535_680 | π 377.1398010 | π HamCycle |
| π³ 479 | βοΈ 147_455_360 | π 365.9949951 | π HamCycle |
| π³ 480 | βοΈ 148_378_880 | π 386.4993591 | π HamCycle |
| π³ 481 | βοΈ 149_306_248 | π 373.3592224 | π HamCycle |
| π³ 482 | βοΈ 150_237_472 | π 370.6579895 | π HamCycle |
| π³ 483 | βοΈ 151_172_560 | π 372.9201965 | π HamCycle |
| π³ 484 | βοΈ 152_111_520 | π 392.2236938 | π HamCycle |
| π³ 485 | βοΈ 153_054_360 | π 391.6574402 | π HamCycle |
| π³ 486 | βοΈ 154_001_088 | π 376.3860474 | π HamCycle |
| π³ 487 | βοΈ 154_951_712 | π 394.4570312 | π HamCycle |
| π³ 488 | βοΈ 155_906_240 | π 390.2160034 | π HamCycle |
| π³ 489 | βοΈ 156_864_680 | π 388.6850586 | π HamCycle |
| π³ 490 | βοΈ 157_827_040 | π 403.0396729 | π HamCycle |
| π³ 491 | βοΈ 158_793_328 | π 407.4985352 | π HamCycle |
| π³ 492 | βοΈ 159_763_552 | π 409.3179932 | π HamCycle |
| π³ 493 | βοΈ 160_737_720 | π 412.5714417 | π HamCycle |
| π³ 494 | βοΈ 161_715_840 | π 410.0222778 | π HamCycle |
| π³ 495 | βοΈ 162_697_920 | π 418.6289673 | π HamCycle |
| π³ 496 | βοΈ 163_683_968 | π 418.1947937 | π HamCycle |
| π³ 497 | βοΈ 164_673_992 | π 439.4223633 | π HamCycle |
| π³ 498 | βοΈ 165_668_000 | π 438.3364868 | π HamCycle |
| π³ 499 | βοΈ 166_666_000 | π 492.7932739 | π HamCycle |
| π³ 500 | βοΈ 167_668_000 | π 516.4312134 | π HamCycle |
| π³ 501 | βοΈ 168_674_008 | π 524.0866699 | π HamCycle |
| π³ 502 | βοΈ 169_684_032 | π 511.3805542 | π HamCycle |
| π³ 503 | βοΈ 170_698_080 | π 514.9252930 | π HamCycle |
| π³ 504 | βοΈ 171_716_160 | π 522.7913818 | π HamCycle |
| π³ 505 | βοΈ 172_738_280 | π 505.0050659 | π HamCycle |
| π³ 506 | βοΈ 173_764_448 | π 521.3956299 | π HamCycle |
| π³ 507 | βοΈ 174_794_672 | π 534.2333374 | π HamCycle |
| π³ 508 | βοΈ 175_828_960 | π 533.0936279 | π HamCycle |
| π³ 509 | βοΈ 176_867_320 | π 530.5546265 | π HamCycle |
| π³ 510 | βοΈ 177_909_760 | π 537.9629517 | π HamCycle |
| π³ 511 | βοΈ 178_956_288 | π 554.1561279 | π HamCycle |
| π³ 512 | βοΈ 180_006_912 | π 562.2781372 | π HamCycle |
| π³ 513 | βοΈ 181_061_640 | π 536.6725464 | π HamCycle |
| π³ 514 | βοΈ 182_120_480 | π 558.1255493 | π HamCycle |
| π³ 515 | βοΈ 183_183_440 | π 559.7949829 | π HamCycle |
| π³ 516 | βοΈ 184_250_528 | π 553.7504272 | π HamCycle |
| π³ 517 | βοΈ 185_321_752 | π 568.6388550 | π HamCycle |
| π³ 518 | βοΈ 186_397_120 | π 566.1765747 | π HamCycle |
| π³ 519 | βοΈ 187_476_640 | π 554.7770996 | π HamCycle |
| π³ 520 | βοΈ 188_560_320 | π 567.4897461 | π HamCycle |
| π³ 521 | βοΈ 189_648_168 | π 582.4830933 | π HamCycle |
| π³ 512 | βοΈ 180_006_912 | π 562.2781372 | π HamCycle |
| π³ 513 | βοΈ 181_061_640 | π 536.6725464 | π HamCycle |
| π³ 514 | βοΈ 182_120_480 | π 558.1255493 | π HamCycle |
| π³ 515 | βοΈ 183_183_440 | π 559.7949829 | π HamCycle |
| π³ 516 | βοΈ 184_250_528 | π 553.7504272 | π HamCycle |
| π³ 517 | βοΈ 185_321_752 | π 568.6388550 | π HamCycle |
| π³ 518 | βοΈ 186_397_120 | π 566.1765747 | π HamCycle |
| π³ 519 | βοΈ 187_476_640 | π 554.7770996 | π HamCycle |
| π³ 520 | βοΈ 188_560_320 | π 567.4897461 | π HamCycle |
| π³ 521 | βοΈ 189_648_168 | π 582.4830933 | π HamCycle |
| π³ 522 | βοΈ 190_740_192 | π 569.0377197 | π HamCycle |
| π³ 523 | βοΈ 191_836_400 | π 597.1223755 | π HamCycle |
| π³ 524 | βοΈ 192_936_800 | π 601.2348633 | π HamCycle |
| π³ 525 | βοΈ 194_041_400 | π 580.0333862 | π HamCycle |
| π³ 526 | βοΈ 195_150_208 | π 507.3114014 | π HamCycle |
| π³ 527 | βοΈ 196_263_232 | π 502.4771118 | π HamCycle |
| π³ 528 | βοΈ 197_380_480 | π 511.4998169 | π HamCycle |
| π³ 529 | βοΈ 198_501_960 | π 509.7370605 | π HamCycle |
| π³ 530 | βοΈ 199_627_680 | π 520.2709961 | π HamCycle |
| π³ 531 | βοΈ 200_757_648 | π 518.3181152 | π HamCycle |
| π³ 532 | βοΈ 201_891_872 | π 504.7783813 | π HamCycle |
| π³ 533 | βοΈ 203_030_360 | π 535.0303345 | π HamCycle |
| π³ 534 | βοΈ 204_173_120 | π 544.2910156 | π HamCycle | 51.5 GB
| π³ 535 | βοΈ 205_320_160 | π 531.3876953 | π HamCycle | 53.3 GB
| π³ 536 | βοΈ 206_471_488 | π 566.9558716 | π HamCycle | 54.6 GB
| π³ 537 | βοΈ 207_627_112 | π 573.6485596 | π HamCycle |
| π³ 538 | βοΈ 208_787_040 | π 555.6110229 | π HamCycle |
| π³ 539 | βοΈ 209_951_280 | π 570.1338501 | π HamCycle |
| π³ 540 | βοΈ 211_119_840 | π 565.0805664 | π HamCycle |
| π³ 541 | βοΈ 212_292_728 | π 563.1724243 | π HamCycle |
| π³ 542 | βοΈ 213_469_952 | π 572.6234131 | π HamCycle |
| π³ 543 | βοΈ 214_651_520 | π 595.1621094 | π HamCycle |
| π³ 544 | βοΈ 215_837_440 | π 595.5155029 | π HamCycle | 55.8
| π³ 545 | βοΈ 217_027_720 | π 614.3336182 | π HamCycle | 56.8
| π³ 546 | βοΈ 218_222_368 | π 676.3571167 | π HamCycle |
| π³ 547 | βοΈ 219_421_392 | π 706.4018555 | π HamCycle |
| π³ 548 | βοΈ 220_624_800 | π 707.0447388 | π HamCycle |
| π³ 549 | βοΈ 221_832_600 | π 690.8361206 | π HamCycle |
| π³ 550 | βοΈ 223_044_800 | π 601.1645508 | π HamCycle | 51.6
| π³ 551 | βοΈ 224_261_408 | π 666.2920532 | π HamCycle | 53.5
| π³ 552 | βοΈ 225_482_432 | π 707.9029541 | π HamCycle |
| π³ 553 | βοΈ 226_707_880 | π 748.0688477 | π HamCycle |
| π³ 554 | βοΈ 227_937_760 | π 676.2214966 | π HamCycle |
| π³ 555 | βοΈ 229_172_080 | π 712.5463867 | π HamCycle |
| π³ 556 | βοΈ 230_410_848 | π 714.9957275 | π HamCycle | 56.1
| π³ 557 | βοΈ 231_654_072 | π 714.2865601 | π HamCycle | 53.5
| π³ 558 | βοΈ 232_901_760 | π 738.4812622 | π HamCycle | 53.1
| π³ 559 | βοΈ 234_153_920 | π 678.1728516 | π HamCycle | 61.1
| π³ 560 | βοΈ 235_410_560 | π 741.5216064 | π HamCycle | 58.2 / i32 to i16
| π³ 561 | βοΈ 235_410_560 | π 739.4226074 | π HamCycle | 60.3
| π³ 562 | βοΈ 237_937_312 | π 751.3547363 | π HamCycle | 60.3
| π³ 563 | βοΈ 239_207_440 | π 751.3547363 | π HamCycle | 58.6 / 71.4
| π³ 563 | βοΈ 239_207_440 | π 807.9031982 | π HamCycle |
| π³ 564 | βοΈ 240_482_080 | π 800.5877686 | π HamCycle |
| π³ 565 | βοΈ 241_761_240 | π 803.6581421 | π HamCycle |
| π³ 566 | βοΈ 243_044_928 | π 814.1091919 | π HamCycle |
| π³ 567 | βοΈ 244_333_152 | π 862.6309204 | π HamCycle |
| π³ 568 | βοΈ 245_625_920 | π 827.5814819 | π HamCycle | 63.7
| π³ 569 | βοΈ 246_923_240 | π 795.9773560 | π HamCycle |
| π³ 570 | βοΈ 248_225_120 | π 830.3286133 | π HamCycle | 60.2 / 73.2
| π³ 571 | βοΈ 249_531_568 | π **** killed | π ???????? | 60.7 / 69.8
| π³ 572 | βοΈ 250_842_592 | π 842.4531250 | π HamCycle | 60.5 / 73.2
| π³ 573 | βοΈ 252_158_200 | π 832.7617188 | π HamCycle | 61.5 / 85.4
| π³ 574 | βοΈ 253_478_400 | π 923.9602661 | π HamCycle |
| π³ 575 | βοΈ 254_803_200 | π 766.1255493 | π HamCycle |
| π³ 576 | βοΈ 256_132_608 | π 774.5940552 | π HamCycle |
| π³ 577 | βοΈ 257_466_632 | π 791.0694580 | π HamCycle |
| π³ 578 | βοΈ 258_805_280 | π 807.0501709 | π HamCycle | 60.4 / 70.2
| π³ 579 | βοΈ 260_148_560 | π 824.6404419 | π HamCycle |
| π³ 580 | βοΈ 261_496_480 | π 872.5145264 | π HamCycle | 61.8 / 111.1
| π³ 581 | βοΈ 262_849_048 | π 837.4335327 | π HamCycle |
| π³ 582 | βοΈ 264_206_272 | π 891.2608643 | π HamCycle |
| π³ 583 | βοΈ 265_568_160 | π 905.2769165 | π HamCycle |
| π³ 584 | βοΈ 266_934_720 | π 857.3369751 | π HamCycle |
| π³ 585 | βοΈ 268_305_960 | π 872.7847290 | π HamCycle | 62.6 / 73.3
| π³ 586 | βοΈ 269_681_888 | π 874.3071289 | π HamCycle |
| π³ 587 | βοΈ 271_062_512 | π 945.0466919 | π HamCycle |
| π³ 588 | βοΈ 272_447_840 | π 922.8352661 | π HamCycle |
| π³ 589 | βοΈ 273_837_880 | π 904.4743652 | π HamCycle | 62.1 / 74.5
| π³ 590 | βοΈ 275_232_640 | π 1047.4342041 | π HamCycle |
| π³ 591 | βοΈ 276_632_128 | π 1068.1927490 | π HamCycle |
| π³ 592 | βοΈ 278_036_352 | π 1068.0819092 | π HamCycle |
| π³ 593 | βοΈ 279_445_320 | π 1085.4078369 | π HamCycle | 62.0 / 76.6
| π³ 594 | βοΈ 280_859_040 | π 1087.4641113 | π HamCycle |
| π³ 595 | βοΈ 282_277_520 | π 1064.1060791 | π HamCycle | 62.0 / 77.6
| π³ 596 | βοΈ 283_700_768 | π 1065.7447510 | π HamCycle |
| π³ 597 | βοΈ 285_128_792 | π 1075.8626709 | π HamCycle |
| π³ 598 | βοΈ 286_561_600 | π 1125.0163574 | π HamCycle |
| π³ 599 | βοΈ 287_999_200 | π 1105.4565430 | π HamCycle | 61.2 / 79.9
| π³ 600 | βοΈ 289_441_600 | π 1137.9167480 | π HamCycle |
| π³ 601 | βοΈ 290_888_808 | π 1183.4355132 | π HamCycle |
| π³ 602 | βοΈ 292_340_832 | π 1202.5359846 | π HamCycle |
| π³ 603 | βοΈ 293_797_680 | π 1240.7123410 | π HamCycle |
| π³ 604 | βοΈ 295_259_360 | π 1256.9564694 | π HamCycle |
| π³ 605 | βοΈ 296_725_880 | π 1243.0841124 | π HamCycle |
| π³ 606 | βοΈ 298_197_248 | π 1273.3368623 | π HamCycle |
| π³ 607 | βοΈ 299_673_472 | π 1264.3157187 | π HamCycle |
| π³ 608 | βοΈ 301_154_560 | π 1310.4387956 | π HamCycle |
| π³ 609 | βοΈ 302_640_520 | π 1231.1969285 | π HamCycle | 60.4 / 79.6
| π³ 610 | βοΈ 304_131_360 | π 1295.3673169 | π HamCycle |
| π³ 611 | βοΈ 305_627_088 | π 1309.5391812 | π HamCycle |
| π³ 612 | βοΈ 307_127_712 | π 1283.9041247 | π HamCycle |
| π³ 613 | βοΈ 308_633_240 | π 1316.5825417 | π HamCycle |
| π³ 614 | βοΈ 310_143_680 | π 1335.3164145 | π HamCycle | 57.9 / 79.3
| π³ 615 | βοΈ 311_659_040 | π 1339.8711837 | π HamCycle | 58.6 / 81.7
| π³ 616 | βοΈ 313_179_328 | π 1356.7494135 | π HamCycle |
| π³ 617 | βοΈ 314_704_552 | π 1349.0923216 | π HamCycle |
| π³ 618 | βοΈ 316_234_720 | π 1316.2991972 | π HamCycle |
| π³ 619 | βοΈ 317_769_840 | π 1339.4341435 | π HamCycle |
| π³ 620 | βοΈ 319_309_920 | π 1270.0123817 | π HamCycle |
| π³ 621 | βοΈ 320_854_968 | π 1267.0729675 | π HamCycle |
| π³ 622 | βοΈ 322_404_992 | π 1312.5234320 | π HamCycle |
| π³ 623 | βοΈ 323_960_000 | π 1315.1709561 | π HamCycle | 60.5 / 83.7
| π³ 624 | βοΈ 325_520_000 | π 1331.8412612 | π HamCycle | 60.5 / 83.7
| π³ 625 | βοΈ 327_085_000 | π 979.7814374 | π HamCycle |
| π³ 626 | βοΈ 328_655_008 | π 993.1074312 | π HamCycle |
| π³ 627 | βοΈ 330_230_032 | π 979.7983576 | π HamCycle |
| π³ 650 | βοΈ 367_858_400 | π 544.9634414 | π HamCycle |
| π³ 655 | βοΈ 376_399_680 | π 576.5380445 | π HamCycle | 36.3 / 40.4
| π³ 656 | βοΈ 378_123_648 | π 614.6512895 | π HamCycle |
| π³ 657 | βοΈ 379_852_872 | π 533.8238574 | π HamCycle |
| π³ 800 | βοΈ 685_228_800 | π 1213.5303298 | π HamCycle |
| π³ 1000 | βοΈ1_337_336_000 | π 3049.7146123 | π HamCycle | 17.5 / 22.9
UPDATE 1: TO BE CONTINUALLY OPTIMIZED TO SOLVE UP TO: | π³ 1000 | βοΈ 1_337_336_000 BILLION VERTICES
UPDATE 2: ACTUALLY NOT, AS IT WOULD REQUIRE THE AMOUNT OF MEMORY LISTED BELOW TO ACCOMPLISH THE TASK.. (actually not!) -> get get rid of the graph! see UPDATE 5
UPDATE 3: JOIN VERTICES + VI INTO A SINGLE STRUCTURE: AN INDEXABLE HASHMAP. LIKE AN ORDERED DICT IN PYTHON.
UPDATE 4: USING INDEXMAP RESULTS IN LONGER TIMES PROBABLY OWING TO HAVING TO ACCESS vertn[n].1 etc... vs. adj[n]
| π³ 100 | βοΈ 1373600 | π 1.3939092 | π HamCycle |
UPDATE 5: Also the possibility of using a distributed graph engine on a memory cloud:
https://www.graphengine.io/downloads/papers/Trinity.pdf
UPDATE 6: just got rid of all the unnecessary load and reduced the memory down to just the tour at maximum x 3. Got rid of verts, vi_map, adj.
making a billion graph takes milliseconds.
ORDER | VERTS | TOUR | VI_MAP | ADJ | TOTAL |
---|---|---|---|---|---|
200M | 7.6 GB | 0.8 GB | 8.4 GB | 2.4 GB | 18.2 GB |
250M | 11.7 GB | 1.3 GB | 14.0 GB | 3.8 GB | 31.8 GB |
300M | 16.7 GB | 1.8 GB | 21.0 GB | 5.9 GB | 45.4 GB |
350M | 22.6 GB | 2.3 GB | 30.0 GB | 8.4 GB | 63.3 GB |
400M | 29.4 GB | 3.1 GB | 42.0 GB | 12.0 GB | 86.5 GB |
450M | 37.2 GB | 3.8 GB | 58.0 GB | 16.0 GB | 115.0 GB |
500M | 46.0 GB | 4.6 GB | 80.0 GB | 22.0 GB | 153.6 GB |
550M | 55.8 GB | 5.5 GB | 108.0 GB | 29.0 GB | 198.3 GB |
600M | 66.6 GB | 6.6 GB | 144.0 GB | 37.0 GB | 254.6 GB |
650M | 78.4 GB | 7.8 GB | 188.0 GB | 46.0 GB | 320.2 GB |
700M | 91.2 GB | 9.1 GB | 240.0 GB | 56.0 GB | 417.3 GB |
750M | 105.0 GB | 10.5 GB | 302.0 GB | 67.0 GB | 484.5 GB |
800M | 119.8 GB | 12.0 GB | 376.0 GB | 79.0 GB | 586.8 GB |
850M | 135.6 GB | 13.6 GB | 462.0 GB | 92.0 GB | 703.2 GB |
900M | 152.4 GB | 15.2 GB | 562.0 GB | 106.0 GB | 836.6 GB |
950M | 170.2 GB | 17.0 GB | 678.0 GB | 121.0 GB | 1.005 TB |
1B | 189.0 GB | 18.9 GB | 810.0 GB | 137.0 GB | 1.154 TB |
This package is licensed under the MIT license.
Thanks for making it this far!