Tool Assisted Solving ""event"" idea

edward_9x

Veteran
Joined
May 31, 2023
Messages
316
Location
Inside your monitor
I have a crazy, and very fun idea. I know the WCA would never do something like this, but here it goes: Tool Assisted Speedsolving! What does this mean?

Imagine an event where the participants program a computer algorithm to generate the best speed-optimal possible solution to a scramble it can think of. It can be represented in terms of traditional speedsolving methods (Think CFOP, Roux, ZZ), or maybe it can generate a badly-fingertrickable 20-mover, or whatever. As long as: a solution (maybe in STM, with a standardized notation syntax) solves the scramble in at most 15 seconds or so, it is proven that the program was written by the participant, and the program is open source and not malicious, then *it is approved.*

After you upload your program, you are given a cube, you start the timer, execute the solution you generated on the screen as fast as you can, and you stop the timer. People race against each other to see who wrote the coolest, most elegant/ergonomic/most optimized solver. Obviously, you won't make the solver during comp, because this sort of stuff takes a long time to master. Think of how you use the same cube every time during comp: the exact same way, you can work on your "cube number-cruncher 9000" during your free time.

Cool things/Pros:
- You can use ZBLL or other giant algsets without learning them! Just read the notation on the screen.
- Maybe crazy, somewhat-fingertrickable, 20 movers can compete with normal methods? Or, perhaps, there could be a movecount limit of around 30, much more fair IMO.
- People can try developing specialized methods for this event, given that the barrier for entry (alg learning) is eliminated. All that matters is how good your solver is and how fast you can turn. Maybe you could design a solver that switches between methods/algsets or morphs between steps/does unstructured stuff but is fast. Maybe special techniques for this hypothetical event could be created.
- This would probably make for a good spectator event.

Cons:
- People can just steal other people's ideas for solvers
- If an idea becomes non-viable after something new/faster appears, people will probably abandon it quickly

Thoughts?
 
Last edited:
I like the sound of this, even though the wca would never even dream of having an event like this. One thing i can think of is that better hardware/computers can handle more generation and filtration of algorithms, and obviously hardware is limited by what is available/budget
No need to gen algs on the fly! You can just hardcode them in/whatever. Your algorithm can be as rigurous and structured or "on the fly" as possible. I'm pretty sure 90% of people would opt for the second option, given how you do everything from scratch (and how hard it is to create what is basically a cube explorer clone).
 
Last edited:
Apologies for bumping this thread.

I finished writing my multi-method solver. The average ZZ solve takes about 1-3 minutes or so, depending on how fast the EOLine/left block are found. Roux takes too much, and CFOP can actually be near instantaneous, depending on how easy the cross is, given that the rest of the solve is just alg spam. This tells me I need to improve my graph searching strategy.

Does anyone else have a solver implemented? A race would be fun.
 
Apologies for bumping this thread.

I finished writing my multi-method solver. The average ZZ solve takes about 1-3 minutes or so, depending on how fast the EOLine/left block are found. Roux takes too much, and CFOP can actually be near instantaneous, depending on how easy the cross is, given that the rest of the solve is just alg spam. This tells me I need to improve my graph searching strategy.

Does anyone else have a solver implemented? A race would be fun.
My kubesolver.com is quite decent for that. The source code is MIT- licenced.
You can use it via command line (easy integration with any programming language on windows and Linux system) you can generate any-gen solutions of any subset of the cube (that can be abstracted to peelingsockets off the cube).
Unfortunately won't work for things like EO in Zz
 
Apologies for bumping this thread.

I finished writing my multi-method solver. The average ZZ solve takes about 1-3 minutes or so, depending on how fast the EOLine/left block are found. Roux takes too much, and CFOP can actually be near instantaneous, depending on how easy the cross is, given that the rest of the solve is just alg spam. This tells me I need to improve my graph searching strategy.

Does anyone else have a solver implemented? A race would be fun.
Honestly for me I think the optimal solution would be faster as I can scramble in like 7 secs but average 15 normally. What do you average for a standard speedsolve?

Also I think this could work better as an FMC event where you find your solution but your score is based on the time you get after the 1 hour.
 
Honestly for me I think the optimal solution would be faster as I can scramble in like 7 secs but average 15 normally. What do you average for a standard speedsolve?
Well, my program can currently find a solution in a few seconds/couple of minutes, depending on the method, as I've said.

Using ZZ, I (the human, not the program) average around 15-20 seconds per solve. Scrambles take about 7-10 seconds, so they are also faster for me, yeah.

Though, it is no easy work to write a solver that uses Kociemba's two-phase algorithm from scratch, where said solver also needs to be very fast and optimized. Remember, using solving software made by others would be against the rules. So your solves would probably just look like "normal" solves for the most part.

Also, keep in mind that plain alg-spam CFOP solves are easier to implement on average, given that the cross is the only thing which needs an actual graph search. The rest is also just pair spam and algs, which I'm pretty sure some people can execute faster than the unergonomic "L2 U2 B F' R D' L"-type stuff you usually see in scrambles.

Also I think this could work better as an FMC event where you find your solution but your score is based on the time you get after the 1 hour.
Probably =)
 
> Remember, using solving software made by others would be against the rules. So your solves would probably just look like "normal" solves for the most part.

I have a strong feeling that using libraries that only solve the cube or it's subset should be allowed, so that the competitor can focus on the logic of actually implementing the method solving part itself.

To show what I mean - I have made video of how to make a very simple and crude method solver using kubesolver and python in 15 minutes. I think it's a good start to focus work on actual method solver without having to deal with writing the low-level cube solver.

and the python code I wrote for this video is here: https://kubesolver.com/bad_solver.txt (change the
 
Back
Top