thewca / tnoodle-lib

scrambling code portion of TNoodle
GNU General Public License v3.0
39 stars 15 forks source link

Simplifying scrambles for big cubes #17

Open jfly opened 9 years ago

jfly commented 9 years ago

See email thread here https://groups.google.com/d/msg/wca-software-public/xSX4kH_uzkc/htTY1VLM-v0J.

The gist of it:

Jaap suggests the following: 1) scramble single moves 2) scramble double moves 3) scramble triple moves 4) 5 sets of (single, double, triple move)

(for 7x7)

lgarron commented 9 years ago

We should consider using 3x3x3 scrambles for the first stage, or the first few stages. That will give us maximum randomness for the move set.

torchlight commented 7 years ago

For 555, if we generate a scramble with ~20 double moves for a random 333 state, followed by 40 random moves (both single and double), the resulting distribution of the centre states is significantly closer to uniform than just 60 random moves. I posted an analysis to the SS forums a few months ago; taking a random state as a reference, solving the first centre takes ~0.25 moves less with 60 random moves, compared to ~0.002 moves less with (wide random state) + (40 random moves).

I haven't done any similar analysis for 666 and up, but I'd expect that starting a 666/777 scramble with a 444/333 random state (resp.) with wide moves would scramble the centres more effectively than just applying random moves, and definitely more effectively than starting the scramble with outer layer moves, then moving inwards.

jfly commented 7 years ago

This sounds like some very cool analysis! Anything better than what we currently have seems like something worth pursuing. Here's a list of steps I think we should go through to before making this change:

  1. (Ideally) Get someone (maybe Bruce Norskog?) to verify your findings.
  2. Ask members of the community to try out your proposed scrambles, and collect their feedback. This will require implementing a scrambler that they can easily use. One way of doing this would be to implement it in TNoodle (something that may need to happen anyways).
  3. Start a discussion with the WRC with the findings from above.
  4. If the WRC is supportive of this, then implement this in TNoodle (if this was not already done in step 2), and release it!

@torchlight, would you be interested in taking the lead on this project?

gregorbg commented 4 years ago

This sounds like a very nice and useful project. Ping @torchlight to see if you would still be interested.