Skip to main content
2 of 3
Added more information about the set.
Joel Rondeau
  • 7.9k
  • 1
  • 33
  • 46

First, what do we know about this puzzle?

  • There are 578*11 = 3080 possible positions.
  • Moves do not affect each other, so if you have a good set of moves, you can do them in any order.
  • There must be at least one move of the 8 ring, but not necessarily any of the others.

Given this, it is a relatively simple algorithm to find the shortest sequence of moves.

What I did was to start with a list containing only (0,0,0,0), then for each item in that list, I did a +5,-5,+7,-7,+8,-8,+11,-11. For each item produced by this, I check if it is in the list and if not, add it to the end.

I had it stop when it got to (3,3,3,3).

(0,0,0,0) -> +5
(1,2,2,2) -> +7
(4,3,4,4) -> -8
(1,5,3,2) -> -8
(3,0,2,0) -> -8
(0,2,1,9) -> -8
(2,4,0,7) -> -8
(4,6,7,5) -> -11
(1,1,1,4) -> -11
(3,3,3,3)

So the minimum number of moves is 9. One example is(just reversing my list):
+11,+11,+8,+8,+8,+8,+8,-7,-5

Update:
The maximum distance from any position to any other position is 14. Here is a list of the distances and the number of points for each distance. This is done from (0,0,0,0), but it holds for any point.

0: 1
1: 8
2: 32
3: 84
4: 168
5: 284
6: 420
7: 397
8: 344
9: 330
10: 324
11: 324
12: 250
13: 100
14: 14

An example of an item that is 14 moves from (0,0,0,0) is (3,1,5,1), which happens to be the last item in my sequence.

The closest items with 3 0's are (0,0,0,3) and (0,0,0,8), which are 5 moves away.
The closest items with 3 0's and a 1 are (1,0,0,0) and (0,0,1,0), which are 7 moves away.
The furthest item with 3 0's and a 1 is (0,1,0,0) which is 12 moves away.
(0,0,0,1) is 8 moves away (to complete the set).

Joel Rondeau
  • 7.9k
  • 1
  • 33
  • 46