Kryptonite
Regular
- Joined
- Jul 16, 2010
- Messages
- 62
Hey guys! I've always loved backtracking, like you can do here. Essentially it's applying a scramble of just a few moves, then trying to undo the scramble.
In some ways it's linear FMC lite, but where you can actually achieve an optimal result. The thing is, I MUCH prefer to do this on a real physical cube, which presents some difficulties. I also wanted to create a way this could be competitive or cooperative, in the sense that you can share scrambles, whether it's to challenge (on pass/fail or time/DNF) or teach others with a scramble you've done.
The easiest way to do this, is just have another person mix the cube for you, so you gain no information from the scramble, since you've never seen it. But that's a limitation I'd like to remove. Also, I'd like this process to be automated, so many scrambles can be generated easily without human interaction.
So my recent idea was this: "encode" the BT scramble with another scramble, then the solver "decodes" it with the inverse of that scramble. My thinking is that if the length of the optimal solution to the BT and the length of the optimal solution of the encoding scramble was longer than gods number, then the optimal solution to the combination of both scrambles shouldn't give away information about the BT scramble, since it will never be in the form (encoding scramble)'(BT)'. However, the solver can easily access to the BT state by knowing the encoding scramble.
So we're doing this:
A (5f*)
B (20f*) <- Encoder
C (<=20f*) = AB <- Encoded
A = CB' <- Decoded
Specifically, the encoding scramble I've chosen is the Super Flip, because it requires gods number to solve, it's order 2, it can be generated easily, and it commutes with all other cube states. This means that it can be applied before or after the solver applies the encoded scramble, and it is encoded with the same algorithm it's decoded with, reducing complexity. Also the Super Flip can be applied with an extremely simple algorithm ((MU')^4 yz')^3, and it's easy to identify if you've done it correctly.
So my question now is, if the length of the encoded scramble is shorter than the optimal length of the BT scramble and the optimal encoding scramble, does this effectively obscure all useful information about the BT scramble from the solver? Meaning that the best way to solve the BT scramble is to actually backtrack? (Ignoring all obvious attempts to actively "cheat" using a computer)
Here's a few random scrambles I've encoded that all are (5f*) after applying the super flip--or if the super flip is applied before hand.
1) U L U' F B2 D2 R2 B L' D2 L2 B2 U' L' B2 L D2 B2
2) U F' R2 B' U2 F' R L F2 D' F B' U2 R2 D2 R' F
3) U2 L2 B U2 F2 U D' R2 F L' U R B R2 L2 U D'
4) U2 B R' L U R2 U' F B' U D R2 F' R L' D L
5) L' F B U R L' U2 F2 R2 D2 F' R2 B D2 F R2 D
Also, bonus question:
Is there an algorithm for other cube sizes that is as useful as super flip for the 3x3? It should:
A) Be as close as possible to gods number, so nearly any length BT can be used.
B) Be Order 2 so it is the same to encode as decode.
C) Commutes with all other cube states, so when it's applied is trivial.
D) Have a simple sequence, for convenience of the solver.
In some ways it's linear FMC lite, but where you can actually achieve an optimal result. The thing is, I MUCH prefer to do this on a real physical cube, which presents some difficulties. I also wanted to create a way this could be competitive or cooperative, in the sense that you can share scrambles, whether it's to challenge (on pass/fail or time/DNF) or teach others with a scramble you've done.
The easiest way to do this, is just have another person mix the cube for you, so you gain no information from the scramble, since you've never seen it. But that's a limitation I'd like to remove. Also, I'd like this process to be automated, so many scrambles can be generated easily without human interaction.
So my recent idea was this: "encode" the BT scramble with another scramble, then the solver "decodes" it with the inverse of that scramble. My thinking is that if the length of the optimal solution to the BT and the length of the optimal solution of the encoding scramble was longer than gods number, then the optimal solution to the combination of both scrambles shouldn't give away information about the BT scramble, since it will never be in the form (encoding scramble)'(BT)'. However, the solver can easily access to the BT state by knowing the encoding scramble.
So we're doing this:
A (5f*)
B (20f*) <- Encoder
C (<=20f*) = AB <- Encoded
A = CB' <- Decoded
Specifically, the encoding scramble I've chosen is the Super Flip, because it requires gods number to solve, it's order 2, it can be generated easily, and it commutes with all other cube states. This means that it can be applied before or after the solver applies the encoded scramble, and it is encoded with the same algorithm it's decoded with, reducing complexity. Also the Super Flip can be applied with an extremely simple algorithm ((MU')^4 yz')^3, and it's easy to identify if you've done it correctly.
So my question now is, if the length of the encoded scramble is shorter than the optimal length of the BT scramble and the optimal encoding scramble, does this effectively obscure all useful information about the BT scramble from the solver? Meaning that the best way to solve the BT scramble is to actually backtrack? (Ignoring all obvious attempts to actively "cheat" using a computer)
Here's a few random scrambles I've encoded that all are (5f*) after applying the super flip--or if the super flip is applied before hand.
1) U L U' F B2 D2 R2 B L' D2 L2 B2 U' L' B2 L D2 B2
2) U F' R2 B' U2 F' R L F2 D' F B' U2 R2 D2 R' F
3) U2 L2 B U2 F2 U D' R2 F L' U R B R2 L2 U D'
4) U2 B R' L U R2 U' F B' U D R2 F' R L' D L
5) L' F B U R L' U2 F2 R2 D2 F' R2 B D2 F R2 D
Also, bonus question:
Is there an algorithm for other cube sizes that is as useful as super flip for the 3x3? It should:
A) Be as close as possible to gods number, so nearly any length BT can be used.
B) Be Order 2 so it is the same to encode as decode.
C) Commutes with all other cube states, so when it's applied is trivial.
D) Have a simple sequence, for convenience of the solver.