Permutation Cycle Length Determination

The main functions performed by this dialog are acquiring the user's permutation (move) input and applying that in the determination of the permutation cycle length. Further information on the permutation cycle length topic is given within the Permutation cycle length topic.

"Enter permutation (move or command sequence)" text box

The required permutation is to be entered here. If loaded, macros can be included in the permutation text string.

"Allow any spatial orientation to end count" check box

The state of the cube is considered the same for all 24 possible spatial orientations. If the "Allow any spatial orientation to end count" checkbox is checked all of the spatial orientations will be tested for each application of the permutation. In some cases that will result in a lower cycle count but can significantly increase the count period. If the checkbox is unchecked (the default status), the count will stop only when the original state and spatial orientation is detected. For most situations this latter option would be satisfactory.

Start button clicked (or <enter> typed)

When the Start button is first clicked, the validity of the permutation is first checked in the foreground and, if invalid, an error message will appear. When a valid entry is detected permutation counting commences using a background thread.

Stop button clicked (or alt+P typed)

Clicking the Stop button will stop the counting process. Because some cycle lengths can be very long and the task completion time high, it is advantageous to be able to interrupt the counting task without the need to shut down javaw.exe via the computer's Task Manager. The counting task will continue if the Start button is clicked again.

Help button clicked (or alt+R typed)

The Help button can be clicked at any time to display the information shown here.

Repeat button clicked (or alt+R typed)

Clicking the Repeat button does everything that clicking the Cancel button does but includes the additional directive that the dialog be repeated with cube size, centre cubie marking status and initial cube state unchanged.

Cancel button clicked (or alt+C typed)

Clicking the Cancel button or the Close button, or typing <esc> will firstly stop the background permutation counting task if it is still running and then close the dialog. When the dialog closes a result dialog will appear if the counting has finished. It would show all the parameters that can affect cycle length together with the cycle length value when the counting ends.

"Permutation cycle count" text box

This text box is updated on each count cycle and the rapid updating is a clear sign that the counting task has not reached completion. When the permutation cycle count is complete no further updating occurs and the text box shows the permutation cycle length. The user can interrupt the counting by clicking the Stop button and resume counting by clicking the Start button.

The cycle count limit is (264 - 1) which equals 9,223,372,036,854,775,807. For permutations that have very long cycle lengths the time to completion can be very long. While the counting must reach completion or be manually stopped before further actions can proceed for the Unravel program, the user can run other programs while counting is in progress.