@DrRocket:
Nope, what you describe is (was) the first step of the problem. Starting with all permutations on a set of 8 elements (just to be precise: 8!) the task is to reduce identical permutations. Identical means here, that grouping the digits in tuples, each tuple should only appear once no matter of the order.
Example:
78123546 is equivalent to 78354612.
Write this as {78}{12}{35}{46} and {78}{35}{46}{12} this becomes obvious but a pictures is easy done.
So the 8! permutations will reduce to 105 configurations. That was the formulae you've posted. In [permutations.txt] you can find the list of these sets.
Let's say I pick the set: [1, 4, 2, 5, 3, 6, 7, 8]. Assume I print this on a piece of paper and rotate the paper by 90, 180 and 270 degress
And now lets rename the nodes.
16273458 [1, 6, 2, 7, 3, 4, 5, 8]
14273856 [1, 4, 2, 7, 3, 8, 5, 6]
I included the bracket-version so you can easily find them back in the permutations.txt
The task is to minimise the 105 configuration so that all missing sets can be produced by rotating the remaining ones.
I hope the explanation is not too long I just want to make sure it's comprehensible.
@imatfaal:
Alright, lets see if I get you right ^^
Assuming the left example from my first post 17 26 35 48:
1 maps to 7 => 6 jumps
2 maps to 6 => 4 jumps
3 maps to 5 => 2 jumps
4 maps to 8 => 4 jumps
5 maps to 3 => 6 jumps (5->6->7->8->1->2->3 , yeah we can call this modulo....)
6 maps to 2 => 4 jumps
7 maps to 1 => 2 jumps
8 maps to 4 => 4 jumps
reading the jump column from the top to the bottom we get your posted sequence 64246424
Same argumentation maps 13 26 48 57 to 24642464 (right hand side example, previous post).
And yeah for sure all digits will add up to 32.
Mapping in a nutshell:
A: 17 26 35 48 -> 64246424
B: 13 26 48 57 -> 24642464
We've rotated A once to get B. It seems like we can take the first 2 digits of our "jump sequence" and place these at the end of the number to get the jump sequence of B.
64246424 ->rotate-> 24642464
That looks good. While writing this I try out if this works for the for examples posted in this code.
Start with A=14253678 and get the jump sequence jump(A)=33355517
Successive move the first to digits to the end of the number:
jB = 35551733
jC = 55173335
jD = 17333555
Now lets transform these jump sequences back to the usual identifiers.
B* = 14273856
C* = 16273458
D* = 12364758
Recall our configurations from above:
12364758, 16273458, 14273856
WOW! That looks really good. All jump sequences add up to 32 and to avoid back transformation one could also calculate the jump sequences for B, C and D and compare these to the produced once.
-scratch-
I will implement this and will see where I end up with that. A very big thank you for this amazing idea (yeah, I'm stunned ^^).
However, I would still like to see a theoretical approach to validate the result. The problem is really interesting me!
permutations.txt