deadalnix
Veteran
Here is the question.
To be really effiscient in puzzle computing, it's useful to generate an index and build a transition table from an index to another for each moves.
For exemple, on a 2x2x2, we generate a transition table for both permutation and orientation of the corener. When performing a move, we just have to look into the transition table for the new permutation and the new orientation.
This is working pretty well because set number of permutation and orientation isn't really big. The fact is also that when you have a given permutation fo corners, if you perform a given move, you get always the same new permutation, whatever is the orientation. Orientation and permutation can be independant.
For the square-one, the problem is more complex. It's impossible to do a simple thing like corner permutation and edge permutation. These permutation are making the shape of the puzzle, and so, a given move is affecting the corner permutation in a way that depends on edges orientation.
A 2 phase alg is possible making BTC+parity at phase 1 and permute everything keeping square shape at phase 2.
But I'm not satisfied with that and I'm pretty sure a smarter way to compute this puzzle is possible.
Another thing, Jaap explain on his webpage that the gos alg is calculated for the square one. Considering that the calculation involved more than 400 billions of positions, and that at least 2bits are needed for god alg, more than 100Gb of memory is needed. And computing on hard drive is just really slow (and even slower than that). How this god alg is calculated ?
To be really effiscient in puzzle computing, it's useful to generate an index and build a transition table from an index to another for each moves.
For exemple, on a 2x2x2, we generate a transition table for both permutation and orientation of the corener. When performing a move, we just have to look into the transition table for the new permutation and the new orientation.
This is working pretty well because set number of permutation and orientation isn't really big. The fact is also that when you have a given permutation fo corners, if you perform a given move, you get always the same new permutation, whatever is the orientation. Orientation and permutation can be independant.
For the square-one, the problem is more complex. It's impossible to do a simple thing like corner permutation and edge permutation. These permutation are making the shape of the puzzle, and so, a given move is affecting the corner permutation in a way that depends on edges orientation.
A 2 phase alg is possible making BTC+parity at phase 1 and permute everything keeping square shape at phase 2.
But I'm not satisfied with that and I'm pretty sure a smarter way to compute this puzzle is possible.
Another thing, Jaap explain on his webpage that the gos alg is calculated for the square one. Considering that the calculation involved more than 400 billions of positions, and that at least 2bits are needed for god alg, more than 100Gb of memory is needed. And computing on hard drive is just really slow (and even slower than that). How this god alg is calculated ?