Interestingly, the rules only stipulate a minimum of two moves to solve. The implementation details of the official scrambling program may be stricter though
The scrambling program tnoodle is open source and you can check out the implementation. [0]
I haven't verified myself, but I do think there is checking involved for some of the events (at least 3x3, 2x2, skewb, square-1, and pyraminx) to make sure the puzzles hit the minimum move limit. Other events like 5x5+ just use a sufficient number of random moves, because it would take too long to find and verify optimal solutions.
I can say in practice that the 2 move limit for 3x3 isn't a problem. I work on some personal projects related to cubing and was exploring the database [1] which has many historical scrambles. The shortest scramble ever generated was 12 moves long [2], and, from what I could tell from an extended inspection, is only "kind of" lucky. It's possible that some other simpler solves exist in the database but I haven't set my computer to crunch out the optimal solutions just yet.
I'm not particularly worried about really-short scrambles being randomly generated; my back of the envelope calculations suggest 3x3 scrambles of 8 moves or less as being one in 3.6 billion, while ~310,000 have been generated since 2014 and I estimate a seventh of them are never used (extra scrambles generated for a round if something goes wrong like the timer malfunctioning, the judge not following protocol, etc.).
I haven't verified myself, but I do think there is checking involved for some of the events (at least 3x3, 2x2, skewb, square-1, and pyraminx) to make sure the puzzles hit the minimum move limit. Other events like 5x5+ just use a sufficient number of random moves, because it would take too long to find and verify optimal solutions.
I can say in practice that the 2 move limit for 3x3 isn't a problem. I work on some personal projects related to cubing and was exploring the database [1] which has many historical scrambles. The shortest scramble ever generated was 12 moves long [2], and, from what I could tell from an extended inspection, is only "kind of" lucky. It's possible that some other simpler solves exist in the database but I haven't set my computer to crunch out the optimal solutions just yet.
I'm not particularly worried about really-short scrambles being randomly generated; my back of the envelope calculations suggest 3x3 scrambles of 8 moves or less as being one in 3.6 billion, while ~310,000 have been generated since 2014 and I estimate a seventh of them are never used (extra scrambles generated for a round if something goes wrong like the timer malfunctioning, the judge not following protocol, etc.).
[0] https://github.com/thewca/tnoodle
[1] https://www.worldcubeassociation.org/results/misc/export.htm...
[2] https://www.worldcubeassociation.org/competitions/SofiaAutum...