Implementation

To engage the permutation cycle length implementation option, the "Enable permutation (move) cycle counting" item in the Program Settings dialog needs to be enabled. To open that dialog, the user needs to select Menu mode, and then select Change Program Settings in the Options menu.

The permutation (move) which is to have its cycle length determined can comprise any sequence of basic commands and/or macro commands as would be used in the Command Sequence input dialog. If macros are to be included they need to be loaded whenever a change of cube size or the marking for centre cubies occurs.

To initiate the permutation cycle counting the user must select an initial cube state. In Menu mode this can be done most readily by clicking the "Initialise cube state" toolbar button. The user can choose Set, Scrambled or Retrieved initial state. While it is unlikely that the Retrieved state would be chosen, it provides the only way the user can define a specific non-set state but requires the user to save that state. After the user makes the initial state selection from the "Initial Cube State" dialog, a Permutation Cycle Length Determination dialog opens. The main functions performed by the latter dialog are the acquisition of the user's permutation (move) input and application of that permutation the number of times required for the determination of the permutation cycle length. The "Permutation Cycle Length Determination" dialog also allows the user to select the cycle count to end only when the cube state and spatial orientation are the same as the initial condition, or to select it to end in any of its 24 possible spatial orientations.

When the "Permutation Cycle Length Determination" dialog closes a Permutation Cycle Length text window opens if cycle length counting has been completed. The window shows the cycle length result together with the permutation, cube size, cube style (unmarked or marked centres), initial state and the orientation option chosen as indicated above. The result can be copied and placed in an external file created by users if they wish.

When performing a permutation cycle count the program reverts to Menu mode and inhibits "Update cube display after each command" (an option shown in the Unravel Options dialog). If the clock is running before a permutation cycle length task is started it will be stopped while the task is active and will resume running when the task is complete.

The cycle length of some permutations can be very long and execution time can be correspondingly high. Cycle counting can be stopped prematurely if the user wishes or another application can be run while counting continues. More information is provided in the Permutation Cycle Length Determination dialog section.