Packing of regular heptagons in the P2 group using the hypertorus IGO revisited.

I’ve been trying to get a better solution to the heptagon packing in P2 than previously( https://milotorda.net/index.php/packing-of-regular-heptagons-in-the-p2-group-using-the-hypertorus-igo/  ) and I did. It just take long. The decay of the neighbourhoods has to be very slow ie. 1/1.25. The density of the structure is 0.892690680150324.

Left: Found configuration; Right: Zoom of the configuration

Packing of regular octagons in the P1 group using the hypertorus IGO

I’ve searched the P1 group to find the densest packing of regular octagons since since the densest packing of convex set with central symmetry in the plane is a lattice packing ie a member of P1 plane group. The density I found is 0.906163653094707. The analytical result for the optimal density is ~ 0.906163678643946. Packing Regular Octagons ). The minimum distance between the octagons in the packing is 1.950763550695456e-09.

Left: Found configuration; Right: Zoom of the configuration

Packing of regular pentagons in the P2 group using the hypertorus IGO

Finally some good results. I’ve used the hypertorus IGO to search the P2 plane group for the optimal packing of the of regular pentagons. The density found by the first run of the algorithm was 0.921310671743827. The optimal packing of regular pentagons proved by Hales and Kusner is ~0.921310674166737 ( https://milotorda.net/index.php/plane-group-packings-with-regular-pentagons/ ). The minimum distance between the pentagons in the packing is 3.937183912228193e-11. The algorithm can refine this just needs to run longer.

Left: Found configuration; Right: Zoom of the configuration

 

Exploration of IGO with adaptive learning rates and shrinkage covariance

Setting: adaptive learning rates with 2*delta and delta set to eta_{*}/3. 100 samples per run. Starting distribution: uniform. Shrinkage covariance computed with this: http://ledoit.net/shrinkDiag.m

Starting learning rates: eta_d=10; eta_D=10; iterations=1000; runs=1;

Starting learning rates: eta_d=10; eta_D=10; iterations=100; runs=10;

Starting learning rates: eta_d=10; eta_D=1; iterations=100; runs=10;

Starting learning rates: eta_d=10; eta_D=10; iterations=100; runs=10;

Starting learning rates: eta_d=1; eta_D=1; iterations=100; runs=10;