# Request easy(for computer) algorithms for big cubes



## Zhiguo (Mar 1, 2010)

A friend asks me to write a program to solve 20x20x20 cube.
Optimal algorithms are not necessary.
Usual easy algorithms will be enough.
So, would you like to suggest me some algorithms that could solve 20x20x20 cubes, and at the same time as easy(to program) as possible?


Thanks in advance! ^_^ Any help will be appreciated!

P.S. I know how to solve a 3x3x3 cube, but I am not an enthusiast of it. So please suggest easy algorithms. It needs not be fast.


----------



## TMOY (Mar 1, 2010)

A program which does BLD solving ? That's weird.


----------



## Toad (Mar 1, 2010)

TMOY said:


> A program which does BLD solving ? That's weird.



What? :confused:


----------



## TMOY (Mar 1, 2010)

This is the BLD section here. The Puzzle theory section would probably have been more appropriate.
Anyway, a few basic commutators are enough to solve the whole cube up to parities.


----------



## Toad (Mar 1, 2010)

TMOY said:


> *This is the BLD section here*. The Puzzle theory section would probably have been more appropriate.
> Anyway, a few basic commutators are enough to solve the whole cube up to parities.



Haha I didn't notice


----------



## deepSubDiver (Mar 1, 2010)

Walbeehm algorithm can solve n^3 cubes quicky. A solution in with ~4500 moves in one second for a 20^3 cube.


----------



## Zhiguo (Mar 1, 2010)

Sorry, but someone(she is not an expert either) suggests that BLD algorithms may be easier to implement in computer programming language...


----------



## TheBB (Mar 1, 2010)

Only marginally easier I think, and the move count will be way higher.

But yeah, if you absolutely want BLD-style, then just look up commutators.


----------



## Zhiguo (Mar 2, 2010)

Sorry, but what do you mean by commutators? 
According to my search, commutators are just notations of basic operations.
Any solution to a cube can be represented as a seqence of commutators, isn't it?

Besides, can you recommend an easy BLD algorithm for me to learn?


----------



## Sakarie (Mar 2, 2010)

http://solvethecube.110mb.com/commutators.html

I heard this one ROCKS! for blindfolded:

R' U R U' R2 F' U' F U x R U R' U' R2


----------



## cmhardw (Mar 2, 2010)

You may want to e-mail this person as to what computer solver they used for their video.








Zhiguo said:


> Sorry, but what do you mean by commutators?
> According to my search, commutators are just notations of basic operations.



As for how commutators relate to cubing we generally say they are permutations of the form ABA'B' where both A and B are permutations in and of themselves.

A good example:
A = M
B = E

ABA'B' becomes:
M E M' E' which is a commutators that achieves a patter with the centers. If you use commutators where the B part is a single slice or face turn, and the A part is a 3 move conjugate maneuver (XYX') then you can achieve some very powerful, and useful effects on the cube.

A good example of this would be:
A: R' D R
B: U

ABA'B' becomes:
R' D R U R' D' R' U' which is a very quick, easy, and intuitive corner 3 cycle for blindfolded solving.



Zhiguo said:


> Any solution to a cube can be represented as a seqence of commutators, isn't it?



No, this is not true. However, it is *very* close to being true. To be very precise:

Any legal state of an n x n x n cube may be solved using only commutators as long as the parity of all piece orbits is even.

Basically commutators only solve even permutations. So, any scrambled state of any cube can be solved by first figuring out the parity state of the wing edges, corners, and central edges (if they exist). Next you will apply up to, but no more than, n/2 quarter turns of the necessary layers for an even cube or (n-1)/2 quarter turns of the necessary layers for an odd cube. It is possible that you don't need to apply any quarter turns to affect parity. After doing this you will have restored all piece obits to even parity, and the cube can now be solved using commutators.

Commutators, in my opinion, would be a terribly inefficient algorithm for solving the general n x n x n cube on a computer. Basically you would need very close to 9 moves on average to solve 2 pieces.

There are 6n^2 - 12n + 8 pieces to the n x n x n cube, and some of them are likely to be solved. However, for the sake of argument consider that they are all unsolved. This means it will take you approximately:

(9/2) * (6n^2 - 12n + 8) = 27n^2 - 54n + 36 turns to solve the cube

Keep in mind that I am ignoring the parity fix turns at the beginning, as this is only an estimate. This would result in approximately 264000 turns to solve a 100x100x100 cube using commutators. Or for a better example approximately 250 turns to solve a 4x4x4 when computer algorithms, and even people (!), are capable of solving it in less than 100 turns.

Chris


----------



## deadalnix (Mar 2, 2010)

The video have to be a reverse scramble.


----------



## Zhiguo (Mar 8, 2010)

cmhardw said:


> You may want to e-mail this person as to what computer solver they used for their video.
> ...
> Chris



Thank you very much for your help and patience!
I will read carefully and think carefully about what you write, which will need some time...


----------



## adityamishra (Sep 28, 2015)

Zhiguo said:


> Thank you very much for your help and patience!
> I will read carefully and think carefully about what you write, which will need some time...



https://github.com/aditya-r-m/Rubiks-Cube

Here, this is the link to my minor project in college. emulator and solver algorithm in Java for cube of any size.
If you are interested in learning more about my code and algorithm used, feel free to contact me.


----------

