3 ms·
Thanks for keeping track. Quite fascinating how algorithms employing so much randomization can arrive at such structure and symmetry. Finally got a < 376.0 fro
by zero_iq 8y ago
Thanks for keeping track. Quite fascinating how algorithms employing so much randomization can arrive at such structure and symmetry.
Finally got a < 376.0 from my own code using simulated annealing method...
375.998672775885
[[13 20 7 18 5 10]
[ 9 15 2 23 12 16]
[ 4 22 24 1 3 21]
[17 11 6 19 14 8]]
...only to realise it's the same as yours, but with the rows reversed! Rather surprised, but I now wonder if there is only a small number of very-low-scoring solutions. So perhaps this is less of a coincidence than it first appears.
I'm now using a much more aggressive temperature drop-off to find decent candidates early, followed by a tempering phase to search for nearby solutions, and a final cool-off to refine the final answer. I'm still using only random pair swaps in Python, so probably wasting a lot of cycles, but I'm still quite surprised how quickly it converges to some pretty decent scores. Beyond that I'm just going to try lots of random starting layouts.
I'm interested to see if my method can find any of the other posted solutions or (fingers crossed!) any new ones, but I may need to crunch through a lot more candidates... I will have to translate from Python into something faster to up my game!
- zimpenfish 8y agoNot entirely scientific but starting from the trivial 1-24 board, I did 100M random swaps (in Go, keeping all of them, takes about 4 minutes) and counted how many scores were in each bucket of 10 (ie 370-379.99, 380-389.99, etc.) Having done this a few times and never got anything in 37, I'm thinking the number of solutions below 380 must be relatively small, yeah. 37 0 38 2377 39 1103812 40 16535778 41 39376324 42 29525491 43 10609914 44 2394340 45 395239 46 51463 47 4880 48 363 49 19 50 0