22
В. Дубровский
Математика
волшебного кубика
«Квант» уже расссказывает подробно о конструкции венгерского «волшебного кубика» и алгоритмах решения этой головоломки*). Вслед за кубиком на свет появился целая серия похожих на него игр. Математический теории таких игр и посвящена наша статья. А для любителей практической игры в кубик мы приводим принципально схему рекордно короткого алгоритма волшебного кубика, основанную на этой теории.
Волшебный кубик задает вопросы
Условимся называть различные варианты сборки волшебного кубика, возникающие при произвольной расстановке 8 угловых маленьких кубков по вершинам волшебного куба и 12 средних — по ребрам, его состояниеми. Центральные кубики во всех состояниях расположены одинаково — так же, как в нулевом состоянии, когда каждой граны волшебного кубика оказывается законным, то есть можно ли, собрав маленькие кубики в произвольном порядке, получить затем нулевое состояние поворотами граней? Если нет, то как узнать, законно ли данное состояние и вообще, связанные ли два данных состояния? Сколько существует законных
*) «Квант», 1980, № 12, с. 17; 1982, № 3, с. 20 и № 7, с. 22; см. также «Нуука и жизнь», 1981, № 3, с. 131 и 1982, № 2, с. 97.
23
Рис. 1. Нулевое состояние. Скрытий угловой кубик имеет номер 9, скрытие средние — номера 10, 11, 12. На скрыты ребрах стрелки сопправлены со стрелками на симметричных им относительной центра куба ребрах.
состояний, других словами — сколько разных раскрасков волшебного кубика можно получить, врашая его грани? Каково максимальное число попарно не связанных состояний? Прежде всего разберемся,
Как задавать состояние
Чтобы полностью описать состояние волшебного кубика, надо для каждой malенького кубика указыва место, которое он занимает, и его ориентацию на этом месте — каждый угловой кубик можно помещить в одно и то же «гнездо» треяя, а средний — двумя способами.
Представим, что волшебный кубик находится в нулевом состоянии. Перенумерем его вершины и находящиеся в них угловые кубики числами от 1 до 8, а ребра и соответствующие средние кубики — числа от 1 до 12. Кроме того, на каждом ребре волшебного куба выберем определенное направление (мысленно на рис. 1) и на рисунем стрелку того же направления на соответствующем среднем кубике (рис. 1).
Тепер местонахождение -го углового (-го среднего) кубика в состоянии можно задать номером той вершины (того ребра), где он находится (здесь , …, 8, , …, 12).
Чтобы задать ориентацию угловых кубков, выделим пару противоположных граней волшебного куба, например его горизонтальные грани. Для определения противоположим, что верхний центральный кубик —
синний, а нижний — зеленьй*). Каждый угловой кубик имеет либо одну грань синего цвета, либо одну грань зеленного цвета; угол или , на котором следует этот кубик в его «гнезде» вокруг диагонали большого куба против часовий стрелки**), чтобы эта (синяя либо зелена) грань стала горизонтальной, будем называть уелом поворота данного углового кубика в состоянии и обозначать , где — номер кубика.
Оrientation -го среднего кубика в состоянии заданным углом между направлением на нем стрелкой и направлением ребра, на котором он находится (-го ребра). Угол может равнять или ; будем называть его уелом поворота -го среднего кубика в состоянии .
Что общего у связанных состояний
Нам надо выяснить, в каком случае два состояния связанных друг с другом. С этой целью проследим, как изменяются характеристики состояния и при поворотах граней. Начнем с угловой поворотов. Легко проверить, что
А. Углы поворотов угловых кубков не изменяются при поворотах четырех вертикальных граней на и при произвольных поворотах горизонтальных граней.
В. Углы поворотов средних кубков не изменяются при поворотах двух противоположных (правой илевой на рис. 1) граней на и при произвольных поворотах对立ных граней.
В. При повороте любой вертикальной грани на к углам поворотов двух кубков, стоящих в ее противоположных вершинах, добавляется по ), а к углам
*) Между прочит, кубик раскрашивают по-разному. Мы имеем в виду куб, у которой зелена и синяя грани противоположны.
**) Разумеется, не разушая волшебный куб, реализно повернуть его угловой кубик в своей гнезде нельзя — мы здесь определяем теоретическое понятие.
***) Как это принято, углы поворотов мы складываем с точностью до , например и т. д.
24
Рис. 2. После поворота правой грани на 90° по часовой стрелке. Здесь , , , , , .
поворотов двух ее других угловых кубков добавляется по 240°.
Г. При повороте правой или левой (рис. 2) грани на ±90° меняются углы поворотов всех четырех средних кубков этой грани.
Отсюда немедленно вытекает, что суммы углов поворотов всех угловых и всех средних кубков
остаются постоянными при всех поворотах граней. Такие характеристики состояния называются инварантами (от латинского «не изменяющийся»). Значения любого инваранта для двух связанных состояний и , очевидно, совпадают. Поэтому равенства и являются необходимыми условиями связанности состояний. Вскоре мы увидим, что, присоединив к ним аналогичное равенство для еще одного инваранта, мы получим и достаточно условия. Но, прежде чем определить этот третий инварант, нам предется сделать небольшое отсутствие
О перестановках
Перестановкой конечного множества называется любое отображение этого множества на себя. Таким образом, определенная выше функция , заданная на множестве {1, …, 8}, является перестановкой этого множества, а — перестановка множества {1, …, 12}. С любой операцией также связаны две перестановки и этих же множества: если нулевое состояние переводится операцией в состояние , то, по определению, , . Другими словами, и — это номера тех мест (см. рис. 1), которые занимают в результате операции угловой кубик, стоящий на -м месте, и средний кубик, стоящий на -м месте.
Выполнить одну за другой перестановки и одного и того же множества, мы снова получим его отображение на себя — перестановку . Она называется композицией и : .
Задача 2. Пусть операция переводит волшебный кубик из состояния . Докажите, что , . Докажите также, что , где — композиция операций и .
Пусть — произвольная перестановка множества {1, 2, …, }. Нарисуем одну под другой две строчки по точек. Если при перестановке число переходит в , соединим -ю точку верхней строки отрезком с -й точкой нижней строки — мы получим граф перестановки (рис. 3). Обозначим через число точки пересечения отрезков графа (точку, в которой пересекается больше двух отрезков, сосчитаем столько раз, сколько пар отрезков ее содержит). Перестановка называется четной (нечетной), если
26
грань выбранного среднего кубика белой наклейкой, а белую — синей. Получим состояние . Переведем его в и симметм наклейки — получится состояние . Следовательно, состояние и связаны. Аналогично доказывается, что любые два состояния с одинаковыми инвариантами связаны. Таким образом, каждый из наборов значений инвариантов , и (А принимает три значения: , и , — два: и , — тоже два: 1 и —1) определяет класс попарно связанных состояния с этим набором инвариантов, причем состояние из разных классов не связаны; один из классов образован законными состояниями.
Задача 4. Докажите, что число состояний во всех классах одинаково и равно .
Задача 5. Докажите, что значения инвариантов , , зависит только от состояния волшебного кубика, но не от выбора пары граней, направленной на ребрах и нумерации вершин и ребер.
Рекордный алгоритм
В журнале «Сайентифик Америкэн» (1981 г., № 3) описана общая идеяrekordно короткого алгоритма волшебного кубика, приуманного английским математиком M. Тистлетуэйтом. Получясь этим алгоритмом, можно перейти от любого законного состояния к нулевому не более, чем за 52 хода*). Алгоритм Тистлетуэйта коренным образом отличается от алгоритмов, которые описаны в упомянутых нами выше статьях. В общих чертах его схема такова.
Введем три ограничения на допустимые повороты граней:
- запрещается поворачивать две противоположные вертикальные грани (допустим, правую илевую на рис. 1) на ±90°;
- запрещается поворачивать какую бы то ни было вертикальную грань на ±90°;
- запрещаются все повороты граней на ±90°.
Обозначим через , , совокупность всех операций, удовлетворяющих соответствию (например, — это всевозможные последовательности поворотов граней на
*) В том же журнале сообщается, что в действительности всегда достаточно 23 ходов (!), причем уменьшить это число нельзя. Судя по всему, пока столбок короткий реализый алгоритм решия кубика не найден.
180°), а через , , — класс всех состояний, получаемых из нулевого операции из , , . Ясно, что и что любые два состояния из класса связаны друг с другом операцией из . Весь алгоритм разбивает на четыре этапа. На первом выполняется такая операция (без ограничений на ходы), которая переводит исходное состояние в какое-нибудь состояние . В дальнейшем разшагются только операции из . На втором этап с помощью операции выполняется в состояние , на третьем с помощью операции — в состояние . Наконец, на четвертом этап, вращая грани только на 180°, мы должны получить из состояния нулевое состояние .
Очевидно, попав после очередного этапа в класс , мы его уже не покидаем, так что достижения всех предыдущих этапов сохраняются автоматически. Кроме того, вплоть до последнего этапа не нужно «загорать» маленькие места. Но основное достоинство этой схемы в том, что она городадо лучше обчувных приспособления к просчету на ЭВМ. Веряно, это и сыграло решающего роль при «установлении мирового рекорда».
Прежде, чем составлять по этой схеме алгоритм, надо выяснить, что из себя представляют классы состояния , , . Тут-то нам и пригодятся инварианты. С классами и разобраться легко. Вспомним свойства и углов поворотов маленьких кубков, мы видим, что улыб повторных средних кубков инвариантных относительной операции из (свойство ), улыб повторных угловых кубков инвариантных относительной операции из (свойство ). Легко заметить также, что при операциях из четыре средних кубика, расположенных в горизонтальном «среднем слое» между вершней и нижней гранями, могут меняться местами только между собой, так что состав этого слое остается неизменным.
Задача 6. Докажите, что величины , и (j=1, …, 12) образуют полную систему инвариантов относительной операции из , а , (i=1, …, 8), (j=1, …, 12) и состав горизонтального среднего слое — относительной операции из .
Столь же просто убедиться, что при операциях из , кроме инвариантов, перечислены в задание 6, сохраняются также составы двух вертикальных средних слоев и составы двух четверок угловых кубков, образующих правильные тетраэды (на рис. 1 в одну
27
из них входят угловые кубики 1, 3, 5, 7, а в другой — 2, 4, 6, 8). Но это еще не все! Имеется еще один инвариант относительно набора операций , описывающий зависимость между перестановками угловых кубков внутри четверок. Возьмем любые два кубика одной из четверок. Они прилежаатровно к одной из граней куба. Если это права или левая грань, то скажем, что эти кубики занимают 1-ю позицию, если передняя или задняя — то 2-ю, если верхняя или нижняя — то 3-ю. Ясно, что вторая пара кубков этой четверки всегда занимает ту же позицию, что и первый. Для простоты ограничения состояниями , у которых состав четверок «правильный» (как в нульевом состоянии). Расмотрим первый четверку и определим перестановку множество {1, 2, 3}, полагая , если пара кубков этой четверки, занимающая i-ю позицию в состоянии , занимает j-ю позицию в состоянии . Аналогично, для второй четверки определим перестановку . Наш последний инвариант — это перестановка ). Он может принимать любое из 3!=6 значений.
Задача 7. Докажите, что действительно инвариант относительно и что вместе с инвариантами, перечисленных выше, он образует полную систему для .
Тепер ясно, что на каждом этапе алгоритма следует стремиться к тому, чтобы значения очередной порции найdenных нами инвариантов стали таким же, как для нульового состояния.
Мы предлагаем читателям самостоятельное разработать алгоритм или его отдельные этапы по указанной схеме и прислать в редакцию своих вариантов. Лучшие из них будут опубликованы.
Понграмм в другие игры
Далее неискшенные в математике люди сразу признают в волшебном кубике «родственника» замененной головоломки «15» Сэма Лойда, хотя внешне они совершенно не похожи. Сходство заключено в общей структуре этих игры, которое можно описать так: имеется некая система, способная孵ать в различных состояниях, среди которых одно («нулевое») состояние выделено. Задча состоит в том, чтобы перевести произвольное заданное состояние в нульевое, пользовясь определенным набором стандартных преобразований системы (в случае волшебного кубика — поворотами граней на или ), которые можно назвать элементарными операциями или ходами. При этом любой ход обратим (то есть, сделав его, мы всегда можем одним ходом вернуться в исходное состояние).
Так же, как и для волшебного кубика, в общем случае определяются понятия операции, связанных с состояниями, инварианта. Еще одно полезное понятие — орбита состояния: так называют множество всех состояния, связанных с данным. В частности, как мы видели, множество состояния волшебного кубика распадается на 12 орбит.
Мы предлагаем читателю ряд задач, посвященных исследованию игрузанного типа. В задачах 8—10 требуется доказать некоторые общие свойства этих игры (приводятся только их формулировки). В задачах 11—16 рассматриваются различные примеры, причем дает только описание игры, а ответить нужно на следующие вопросы: 1) каков полный набор инвариантов данной игры? 2) как перевести одно из двух связанных состояния в другое? 3) каково число орбит и состояния в одной орбите?
Задание 8.
-
Будем писать , если состояния и связаны. Тогда для любых состояния 1) . Другими словами, отношение есть отношение эквивалентности.
-
Орбиты любых двух состояния и либо совпадают (если ), либо не имеют общих элементов.
-
Если всякая операция, переводящая в себя хотя бы одно состояние, переводит в себя и любое другое состояние, то число состояние во всех орбитах одинаково, а число всех состояния , где — число орбит. Проверьте, что указанное свойства операции справедливо для волшебного кубика.
-
Исследуйте игры, отличующие от «волшебного кубика» только набор элементов операций: 1) разрешено врашать только 2 (3, 4 или 5) грани; 2) ход — это поворот пары противоположных граней (одной по, а другой против часовой стрелки) на один и тот же угол; 3) соответствен, обе грани по часовой стрелке.
(Окончание см. на с. 48)