Overlapping orbits, take 2

A week ago, I wrote a post about something I called "overlapping orbits" and a puzzle based on them.

It's been pointed out to me that my use of "orbit" is using a technical term from group theory for something other than its technical meaning. (The orbit of a thing, as I was using it there, is the set of places it can go under zero-or-more repetitions of a single move; thus, a thing has multiple orbits, one for each move. The orbit of a thing, as used in group theory, is the set of places it can go under any sequence of moves. Thus, for example, the orbit of a corner facie of a cube is the set of all corner facicles, since you can put a corner facie into any corner facicle.)

This post is to mention two things: (1) the above terminological note and (2) it occurred to me that allowing the rotations to overlap grid boundaries, or, to put it another way, doing the thing on a torus instead of a rectangular section of the Euclidean plane, might be interesting.

The way the program I mentioned last post was structured, that extension is trivial, because the program just has a list of permutations on nine objects and walks the graph induced by them. So all I had to do was augment the list of eight permutations I had (four rotations each way) by the ten more representing these crossing-the-boundary rotations.

I've done that. Of course, the graph of reachable positions is more strongly connected; the greatest distance from start is 7, with the commonest distance being 5, with 6 a close runner-up (the position counts, by distance, are 1, 18, 297, 4206, 43248, 164472, 137894, 12744).

Interestingly, a single swap of adjacent numbers is much shorter; it can be done in three moves. The procedure my program finds includes moves that overlap in ways that make it impossible to use that sequence on the original 3x3 grid for any pair of numbers, but I think I will try all possible pair-swaps in the original puzzle (well, reduced by symmetry) to see how different the resulting swap procedures are.