Задача с китайскими кольцами и код Грэя

Подобно тому как мы представляли шаги решения задачи о башне последовательными двоичными числами, введем двоичный код для представления задачи с кольцами: пусть 1 представляет кольцо, находящееся на петле, а 0 — соответственно кольцо, снятое с петли. Тогда задача с пятью кольцами может быть представлена пятиразрядной последовательностью 0 и 1, так что крайний левый разряд будет соответствовать кольцу, расположенному у рукоятки. Первые четыре конфигурации в задаче с кольцами, записанные в виде таких чисел, будут иметь следующий вид.

На следующих двух шагах снимается второе, а затем первое кольцо. После этого снимается пятое кольцо. Затем первые три кольца снова одеваются на петлю, чтобы можно было снять четвертое кольцо. Чтобы удалить все пять колец, требуется 21 шаг.

Возможно, читателям будет интересно восполнить 14 недостающих кодов, решая задачу с кольцами в этой форме и следуя двум простым правилам (касающимся ограничений, связанных с расположением соседних колец):

1. Крайний правый разряд можно изменить (с 0 на 1 или с 1 на 0) в любой момент.

2. Из остальных разрядов можно изменять лишь тот, который находится непосредственно слева от крайнего справа разряда, имеющего значение 1.

На первый взгляд, кажется, что нет никакой связи между последовательностью из 21 двоичного кода, только что нами рассмотренной, и последовательностью двоичных чисел натурального ряда, возникающих при решении задачи о башне. На самом деле такая связь существует. Чтобы убедиться в этом, рассмотрим так называемый код Грэя. Инженер Ф. Грэй, работавший в 30-х годах в фирме AT&T Bell Laboratories, разработал его для исправления ошибок, возникающих при передаче информации электронными средствами. На рисунке внизу) приведены первые 22 двоичных числа натурального ряда и соответствующие коды Грэя.

При внимательном рассмотрении чисел, представленных в коде Грэя, можно заметить интересное совпадение. Коды Грэя, взятые в обратном порядке, совпадают с последовательностью конфигураций, ведущей к решению задачи «Китайские кольца»!

Таким образом, мы получили последовательность из 21 конфигурации для решения задачи с пятью кольцами, но для решения головоломки о башне с пятью дисками требуется 31 шаг. Можно предположить, что если эти задачи в каком-то смысле идентичны, то для их решения необходимо одно и то же число шагов. Несоответствие можно устранить, рассмотрев числа в коде Грэя, большие 21. Каждое из этих чисел представляет определенную конфигурацию в задаче с пятью кольцами, а последний код (соответствующий двоичному числу 11111), равный 10 000, представляет конфигурацию, в которой только одно последнее кольцо находится на петле. Это означает, что самое трудное исходное положение в задаче с кольцами такое, когда все кольца, кроме одного, ближайшего к рукоятке, сняты. При таком исходном положении число ходов, требующихся для решения задачи с n кольцами, равно 2^n - 1 (точно тому же числу, что и для задачи с n дисками). Узнай секреты джекпота и всё про реально большой куш, читай тут .