[Unofficial] 15 puzzle - 4.672 average of 12, 4.319 average of 5 (ben1996123)

Why would they ban someone for making speed puzzling videos? Actually, I'm pretty sure the ban was totally unrelated to sliding puzzles.

Yeah, I think it was due to him being annoying or something along the lines of that and being irrelevant.
 
Stefan: according to Ben, his scrambling algorithm does a large number of random 3-cycles (~3-4 times the number of pieces).

I still have a 0 second single. Unless ben also gets a 0 move scramble I can say I am better at him at something.
On 15 puzzle? I very much doubt that that happened with a proper scrambling algorithm (the probability of a solved scramble is about one in 10^13). It is almost guaranteed that you found a bug, or that the program you were using just had a bad scrambler. Something like "do X random moves" may look decent most of the time but will occasionally generate very poor scrambles.

EDIT: If it was on Ben's sim, it must have been on an old version (the new ones don't allow solved scrambles, since like v12.3) and also involved some other bug (making the program think you were doing a solve when you weren't).
 
Last edited:
I remember vcuber's scambling algorithm was flawed. Mr. Toad's and Ben's seem about equivalent. Not sure if either is random-state.
 
Why aren't all the programs using random state? It sounds like it should be easy. I wrote a sim in Excel (vba) which was random state scrambling, although I didn't investigate how to identity parity so it's not quite complete.

Generate Random state.
Check for parity.
If parity then generate again. Etc.
 
Yes you could. It would be a little more complicated given you have to keep track of the space, but yes it can work like that

It's not that difficult. Something simple like this should return a solveable random-state scramble. Just keep track on how many switches (2-cycles) you made.

Code:
A={1,2,3,...,15}
switchCnt = 0
for (i = 0, i < 13, i++){
   j = random(i, 14)
   switch(A[i],A[j])
   if (i != j)
      switchCnt++
}
if (switchCnt%2 == 1)
   switch(A[13],A[14])
return A
 
Last edited:
Back
Top