Could you evaluate our cube solver?

Update for those who tested the solver: we worked hard on a new version and expect to put it online somewhere this week. We'll keep you informed!
 
Thanks all for the replies. Our conclusions are that we got a lot more work to do. We will skip the debugging of the current solver and try to implement Kociemba's method directly and of cause work on the bugs of the user interface some of you mentioned. Thanks!
Which Kociemba's method would that be?
1. The Java packages
A working version of the two-phase-algorithm is not too easy to program. For demonstration purposes I wrote a Java package which implements the two-phase-algorithm in its simplest form without any symmetry reductions.
The package org.kociemba.twophase, the sourcecode and the corresponding javadocs are included in the file twophase.jar . The little Java program GUI_example.jar (Version 2009.02.16), which is an executable jar file shows an example how to use the package.
2. The Optimal Cube Solver in the Quarter Turn Metric
3. The built-in web-interface to the two-phase-algorithm
 
Well the new plan was to make a PHP version of it which would eliminate the requirement of the java plugin. Halfway and many many hours later we discovered that PHP memory management is so inefficient it would take the server gigabytes of memory to solve the cube and that is for one person alone! So then we decided to use Kociemba's own solver (and give him the credit he deserves!) and connect it to our existing (and now even improved!) flash interface. Though we started with are own solver, I think this will improve the ease of use for non-cubers greatly. The new solver is now online at http://www.solveyourrubikscube.com/solver.php !
 
[..] the requirement of the java plugin.
Java can run server-side, too.

PHP memory management is so inefficient it would take the server gigabytes of memory to solve the cube
It doesn't need to take much memory at all. With smaller or no tables the solver will just be slower. But I agree that PHP is a really bad language for this.

I tried superflip, but it only does one cube rotation and no moves at all: http://www.solveyourrubikscube.com/...414546434616462636212625232121516141343536323.
 
I think they must be working on it or something, as I get the same behavior as the last two posters: It does a rotation and nothing else, leaving the cube scrambled.

Brian.
 
The cube interface does not work well. The cube rotates too fast. You can't see what's at the sides. It is too hard to control.
 
It works with google chrome: Takes around one minute on my system to solve it before it presents the solution to you. However, in firefox, it never finishes the solve. It just says "solving". Now admittedly, I push firefox very hard and currently have 16 different firefox windows open with multiple tabs in most of those windows, so maybe my firefox needs to be restarted to work with this.

Otherwise, the solutions are good. A U perm took 16 moves, while a random hand scramble took 21. It's also slow enough on slow to follow, yet not so slow that it makes you want to cry in frustration. The speed is just about perfect I'd say.

Brian.
 
Thanks all for testing & responses! Firefox had a plugin detection problem which has been fixed but will be improved later so it will not say solving but something like detecting plugins.
 
Firefox now appears to work with the solver. However, on "difficult" solves, it times out on me and says "your computer may be too slow to solve this in a reasonable amount of time". This system isn't the fastest, but it's not that old: It's a P4 2.8 gHz, dual core.

On one hand scramble it worked fine. It also "solved" a solved cube (in 12 moves, which was funny to watch). But then I gave it a superflip and got the error message. I'm guessing you have a 60 second timeout built in to it? Maybe give the user the option to continue instead? Or make the timeout a little longer?

Brian.
 
Before you worry about timeouts and stuff like that, can you at least make sure that, 100% of the time that you are given a valid cube, you return a solution? If someone just wants to solve their cube they won't care that your program can't calculate a 20-move one fast enough, because they'll be fine with a 100-move solution as long as it works. If you are not given a valid cube, it would be helpful to immediately be sent back to the page where you enter in the cube's colors, so that you are at least given a chance to fix any mistakes you might have made.

The rotation on the page to enter in colors could use some work, too. It seems that it rotates just based on the position, so if you just tap Ctrl then your cube will rotate to some random position depending on where your mouse is. Instead, see if you can make it so that the cube only rotates when the user holds control and drags their mouse (in the direction they want it to rotate).
 
uhh I tried it with a solved cube. It did 16 moves and it rendered an unsolved cube.
 
uhh I tried it with a solved cube. It did 16 moves and it rendered an unsolved cube.

That implies incorrect "solved" validation - maybe an orientation issue??

In any case, just a simple question. Why try to duplicate Cube Explorer when nothing new is being offered.

And finally a simple question? Is the cube being solved by some javascript client side or entirely solved on server side. The latter would be a bad idea!!

Per
 
Back
Top