• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

Method Explorer update! Returning to cubing, BLD?

ruffleduck

Member
Joined
May 9, 2021
Messages
744
Location
the chessboard
YouTube
Visit Channel
Working on an interesting (open source) program for method exploration!
  • 3x3 specific
  • Purpose: To explore and discover ways to break down steps (reducing a set of states to a subset)
    • small scale example: finding ways to solve last layer in two steps (step analysis)
    • large scale example: finding ways for breaking down the the process of solving the entirety of the Rubik's cube (method analysis)
  • Overview of program and ideas (brain dump)
    • input start and target state sets
    • see estimated complexity (number of cases) and efficiency (number of algorithms / number of cases)
    • generate algs for cases and see average movecount, average estimated speed, best cases, worst cases
      • autotransform algs to optimize speed?
    • goal: reduce complexity by breaking down by an intermediate state set
      • manually by inputting an intermediate state set, or
      • genetic algorithm to automatically find a combination of (user-defined) properties for intermediate state set?
    • repeat process with start or target set and intermediate set to break down further
No promises. This is by far the most complicated program I have attempted to build, and I can't guarantee I successfully build it. But at worst, this serves as inspiration for a more skilled programmer and method developer!
 

ruffleduck

Member
Joined
May 9, 2021
Messages
744
Location
the chessboard
YouTube
Visit Channel
Hey all!

I sort of went off track from my original Method Explorer goals. Stupidly late in the middle of programming my original ideas, I realized that the position of pieces does not matter when it comes to calculating "complexity". After this late revelation, I made a much, much simpler program that only takes into account of the number of pieces with the properties (just basic EP, EO, CP, CO).

Here is the program if you want to play with it. It's a short and sweet Python script and you just input values for START and GOAL. (EP, EO, CP, CO)

I got some interesting results with this program.

For solving the entirety of the Rubik's cube START = (0,0,0,0); END = (12,11,8,7) it gives (2, 6, 8, 3) as the least complex intermediate set of states. This means that the least complex (fewest number of cases before + after) way to solve the Rubik's cube (from the perspective of focusing on EP, EO, CP, CO apart from each other) in two steps is by first permuting 2 edges, orienting 6 edges, permuting 8 corners, and orienting 3 corners! There's many ways to interpret this, the program doesn't care about the positions of the pieces, we get to choose!

Next I would like to say that I have a growing interest in BLD solving, specifically big cubes, and might get back into cubing with BLD!
 
Top