TNoodle 0.13.5

Announced by Lucas Garron on

TNoodle-WCA-0.13.5 is now available from https://www.worldcubeassociation.org/regulations/scrambles/
The following change has been made since TNoodle-WCA-0.13.4:

  • Fix a bug where Skewb scrambles could be shorter than the 11 moves they should be.

Per the WCA Regulations, an official scramble sequence for Skewb must produce a random state (4b3) from those that require at least 7 moves (4b3c) to solve.

In order to make it hard to distinguish scrambles with short solutions on a scramble sheet, TNoodle was designed to ensure that all generated Skewb scramble sequences are at least 11 moves (even if there is an optional solution with fewer moves). However, a thread safety bug in TNoodle before version 0.13.5 made it possible for scramble sequences to be truncated, such that:

  • a truncated scramble sequence would be used if it required at least 7 moves to solve (still satisfying Regulation 4b3c), but
  • the truncation did not preserve the random scramble distribution (violating Regulation 4b3).

More details are available at the TNoodle project on GitHub.

An analysis of solution lengths for historical scrambles suggests that this did not affect the distribution of states for the vast majority of past competitions. However, it did result in a significant bias of states towards shorter optimal solutions for at least one major competition (CubingUSA Nationals 2018), which led to the discovery of this bug. We would like to thank Sébastien Auroux for bringing it to our attention, and Tim Reynolds for working with Jeremy Fleischman to identify and prepare a fix for TNoodle over the past weekend.

We do not believe that this bug was purposely used by anyone to gain an advantage. However, we are still working to complete the analysis before posting an entry to the WRC incidents log.

Please remember that official competitions must use a current version of the official scramble program. This is always available from:
https://www.worldcubeassociation.org/regulations/scrambles/