The Mathematics of Pentarot

We only deal the case if the centers do not rotate and no blocking of moves occur.

The puzzle has 36 tiles. Since single pair swaps are possible, there would be

36! = 371.993.326.789.901.217.467.999.448.150.835.200.000.000 ≈3.71993*1041

different configurations if all tiles were distinguishable. If we additionally distingush the 5 different possible orientations of the tiles we get

36! 535 =1082643071392962061415890488281250000000000000000000000000000000000

≈1.08264*1066 different configurations. 535 reflects the fact that the orientation of the last tile is forces.

For every set of k indistinguishable tiles we have to divide the above number by k!. So in the two color case we have to divide by 10! 26! since there are 10 red and 26 black tiles.

36! /(10! 26!) = 254.186.856

36! /(10! 26!) 535 ≈7.39781*1032

36! /(6! 10! 20!) = 58.521.439.856.880

36! /(6! 10! 20!) 535 ≈ 1.7032*1038

36! /(3! 3! 3! 3! 3! 21!) = 936.343.037.710.080.000

36! /(3! 3! 3! 3! 3! 21!) 535 ≈2.72512*1042

To find the single pair swap and pair twist maneuver on the preceeding page I used in IDA* search and a pattern database for 9 tiles of the 18 R and L ring tiles, which hence has 18!/9! = 17.643.225.600 entries.

The pattern database (pruning table) stores for each of the the 18!/9! positions the information how much moves are at least necessary to get the 9 tiles back to their original position (there are 168 postions which need at least 15 moves). It is possible to use only 2 bits / entry so that we "only" need about 4 GB of RAM. It takes about 1 day to compute the table and then a couple of minutes to find the maneuvers with IDA* search.

The undocumented sourcecode for the search can be found here

https://github.com/hkociemba/twocirclesFTM

< Home > <Introduction> <Useful maneuvers>

© 2020  Herbert Kociemba