I was wondering, is this essentially the same scrambler that is at
http://www.cubing.net/sq1/? Apparently the one at
www.cubing.net is now the official scrambler, since competitions have been told to start using that this weekend.
I'm about to post the weekly competition, and I wanted to switch to the new official one, to try it out.
The code at first looks quite different, but both of them have Lucas's name on them - is the one at
www.cubing.net a "cleaned-up" version? I didn't really read through the code to see if they were fundamentally the same or not (I'm lazy)
Yes. The Square-1 scrambler at
http://www.cubing.net/sq1/? is
Mark 2 with
everything but Square-1 hidden.
I wrote the scrambler in this post first, then incorporated into a general scrambler, which became Mark 2. Since then, the code has been cleaned up a little more (and the Square-1 code is also faster).
Since it's temporary, I was going to leave it to the WCA to announce if it wanted.
(Basically, I poked Tyson and said "We really need to switch to a random-state Square-1 scrambler", and he sent out an email making this one temporarily the official one.)
I also noticed that the scrambler at
www.cubing.net has a tendency not to generate slashes at the end. In an admittedly small sampling, I noticed that only 8 of the first 40 scrambles I tried ended in slashes. I can see how optimized scrambles might work out that way, but I was just wondering - do you think that result is expected?
It depends on the solver. Apart from sampling a bunch of scrambles, I have no idea what the distribution of final moves will be.
Also note that this scrambler does not follow official Square-1 scrambling notation. I'm going to push to have the notation reverted to include slashes for 2012, because it's 1) not much longer, 2) not as confusing to novice scramblers, 3) clear about the final move.
As for the length, it looked like the average length was several slice moves shorter than the old generated scrambles. However, it also looked like there were fewer 0s in the scrambles, so I'm not sure it's actually much easier to scramble.
Yeah, I think it's a bit shorter, which is good - faster and fewer chances for errors. Hopefully having fewer 0s doesn't mean more errors, though.
One thing to consider is that random-turn Square-1 scrambler would have to be significantly longer to be sufficiently random.
Edit: I just actually tried a few of the scrambles. I didn't realize that it starts off solving the cubic version, then moves away from square at the end. So it's kind of like one of my BLD solves in reverse - cool! That actually makes it much easier to scramble - the puzzle stays cubic until the last 7 or fewer moves or so. So if you mess up early, you'll know you did, and it will be relatively easy to solve and try again since you don't have to get to square (unless you mess up at the end). This seems a lot nicer than the old scrambler, actually.
Yeah, it's a solver! It solves into cube shape with the correct parity, and then searches within cube shape. (The scramble is the reverse solution of a randomly generated state.) The middle slice is actually given a random orientation via a hack; adding it toe the solver made the solver significantly slower, but the middle slice parity of an algorithm can be changed by doing something like replacing a (x, 0) move with (x, 0) (6, 0) / (6, 0) / (6, 0) / = (x + 6, 0) /(6, 0) /(6, 0) /. This is even more efficient if there's a (6, 0) in the scramble.
As for staying in cube shape longer, that's a good point! I'll try to make sure to write this down somewhere, since this seems like it could be a very useful property.