Американская компания Mag-Nif в 1973 году выпустила головоломку "Мозг", идейной основой которой послужила именно концепция кода Грея. Игрушка сразу же завоевала популярность и остается бестселлером производителя по сей день.
В основе кода Грея лежит двоичная система счисления, использующая всего два символа - 0 и 1. Обычная запись двоичных чисел такова: 0, 1, 10, 11, 100, 101 и так далее. То есть старшие разряды слева указывают все большие степени числа 2, а последовательность битов в целом интерпретируется как сумма этих степеней. Код же Грея демонстрирует не просто набор произвольных двоичных чисел в возрастающем порядке, а строго определенную последовательность, в которой соседние числа отличаются ровно одним разрядом. Например, последовательность 0, 1, 11, 10, 110, 111, 101, 100 является кодом Грея для чисел от 0 до 7. Заметьте, как каждое новое число получается из предыдущего путем инверсии (смены 0 на 1 или 1 на 0) лишь одного из разрядов.
Такой способ представления двоичных данных оказывается очень полезным в системах передачи информации, поскольку минимизирует вероятность ошибки из-за некорректного считывания отдельных битов. Даже если в коде Грея произойдет сбой в одном из разрядов, соседнее число будет все равно интерпретировано верно.
Суть головоломки заключается в следующем: перед игроком стопка из восьми пластиковых дисков, в каждом из которых по центру располагается небольшой штырек. Все диски соединены между собой, и их можно перемещать лишь поочередно. То есть вытащить наружу, к примеру, четвертый сверху диск невозможно, пока снаружи не окажутся три нижних.
Каждый штырек имеет свой номер от 1 до 8 и может принимать два положения: внутреннее, когда он утоплен в центре диска (обозначим его как 0), и внешнее, когда он выступает наружу (1). Получается двоичная последовательность из восьми битов, описывающая текущее состояние головоломки.
Начальное положение всех штырьков - внутрь (00000000). Финальная цель - перевести их все в положение наружу (11111111). Но совершить это напрямую, разумеется, не получится из-за ограничения на перемещение дисков. Надо действовать хитро, постепенно открывая один штырек за другим в правильной последовательности.
Именно здесь и приходится задействовать знания о коде Грея. Оказывается, что для перехода от начального состояния 00000000 к финальному 11111111 требуется совершить строго определенную цепочку из 170 шагов - опуская или выдвигая штырьки в порядке, описанном кодом Грея. Лишь следуя этой логике, можно в конечном итоге добиться желаемого результата.