Математика кубика Рубика
Математика кубика Рубика — совокупность математических методов для изучения свойств кубика Рубика с абстрактно-математической точки зрения. Это направление математики исследует алгоритмы сборки кубика и их оптимальность. Основана на теории графов, теории групп, теории вычислимости и комбинаторике.
Существует множество алгоритмов для перевода кубика Рубика из произвольной конфигурации в конечную конфигурацию (собранный куб). В 2010 году строго доказано, что для сборки кубика Рубика из любого состояния достаточно не более 20 поворотов граней. Это число представляет собой диаметр графа Кэли группы кубика Рубика[1]. В 2014 году доказано, что для решения кубика Рубика только с помощью поворотов на 90° всегда достаточно 26 ходов.
Алгоритм, который решает головоломку за минимальное возможное количество ходов, называют алгоритмом Бога.
Общие сведения
| Математика кубика Рубика |
|---|
Обозначения
В этой статье для обозначения последовательности ходов используется система обозначений Сингмастера[2][3], предложенная Дэвидом Сингмастером в 1981 году.
Буквы обозначают поворот на 90° по часовой стрелке левой (left), правой (right), передней (front), задней (back), верхней (up) и нижней (down) граней соответственно. Повороты на 180° обозначаются добавлением справа к букве цифры 2 или верхним индексом 2 справа от буквы. Поворот на 90° против часовой стрелки обозначается штрихом ( ′ ) или добавлением верхнего индекса −1 справа от буквы. Записи и эквивалентны, как и и .
Метрики графа конфигураций
Для измерения длины решения используют различные метрики. Первый способ: за 1 ход считается поворот грани на 90° (quarter turn metric, QTM). Второй способ: за 1 ход считается любой поворот грани, в том числе на 180° (face turn metric, FTM, часто также HTM — half-turn metric). Например, F2 (поворот передней грани на 180°) — это два хода в QTM или один ход в FTM.
В текстах указывается длина последовательности с помощью нотации из числа ходов и первой буквы метрики: 14f — 14 ходов FTM, 10q — 10 ходов QTM. Чтобы указать минимальность количества ходов, используется звёздочка: 10f* — оптимальное решение в 10 ходов FTM.
Группа кубика Рубика
Кубик Рубика можно рассматривать как пример математической группы.
Каждый из шести поворотов граней кубика — элемент симметрической группы множества 48 этикеток (не считая центров). Можно пометить этикетки числами от 1 до 48 и каждому ходу сопоставить элемент .
Группа кубика Рубика тогда — подгруппа , порождаемая шестью поворотами граней:
Порядок группы равен
Каждая из конфигураций может быть решена не более чем за 20 ходов.
Наибольший порядок элемента в равен 1260. Например, последовательность необходимо повторить 1260 раз, чтобы кубик вернулся в исходное состояние[4].
Алгоритм Бога
Поиск алгоритма Бога начался не позже 1980 года, когда был создан специализированный список рассылки по кубику Рубика. С тех пор исследователи пытались найти алгоритм, позволяющий всегда собирать кубик минимальным количеством ходов. Эта задача связана с определением числа Бога — числа ходов, гарантированно достаточного для любой конфигурации.
В 2010 году программист Томас Рокики, математик Герберт Коцемба, исследователь Морли Дэвидсон и инженер компании Google Джон Детридж доказали, что кубик можно собрать из любого состояния за 20 ходов (FTM). Подсчёты потребовали 35 лет процессорного времени, предоставленного Google[5]. Детали вычислений не раскрывались. Все конфигурации были обработаны за несколько недель.
В 2014 году Рокики и Дэвидсон доказали, что кубик можно собрать максимум в 26 ходов, если разрешены только повороты на 90°.
Известны разрешимые конфигурации[6], для которых требуется минимум 17 ходов FTM или 19 ходов QTM.
Учитывая дополнительные тождества, например, коммутативность противоположных граней (L R = R L и т.д.), можно получить оценки снизу: 18f или 21q.
Долгое время эта оценка была лучшей известной, но оставалась неконструктивной — не приводилось конкретных примеров требуемых конфигураций.
Первой рассмотренной «трудной» конфигурацией стал «суперфлип» — все углы и рёбра стоят на своих местах, но все рёбра ориентированы обратно. В графе конфигураций это локальный максимум: любой ход уменьшает расстояние до решения. Предположили, что суперфлип — и есть глобальный максимум[7].
В 1992 году Дик Винтер нашёл решение суперфлипа за 20f. В 1995 году Майкл Рид доказал его оптимальность — таким образом, нижняя оценка числа Бога стала 20 FTM. В том же году найдено решение суперфлипа за 24q; оптимальность доказал Джерри Брайан. Позже Рид нашёл конфигурацию с оптимальным решением за 26q*.
Для верхней оценки достаточно указать алгоритм, собирающий кубик за конечное число ходов.
Первые оценки были получены на основе «человеческих» поэтапных методов решения, что давало оценки в сотни ходов.
В 1979 году Дэвид Сингмастер дал конкретную схему на 277 ходов; вскоре были предложены варианты на 160, а затем на 94 хода. В 1982 году журнал «Квант» опубликовал решение на 79 ходов.
В начале 1980-х англичанин Морвен Тистлетуэйт предложил алгоритм, значительно снизивший верхнюю оценку. Его детали опубликованы Хофштадтером в 1981 году в Scientific American. Алгоритм основан на теории групп и разбит на четыре этапа.
Тистлетуэйт использовал ряды подгрупп длины 4:
где
- Конфигурации, решаемые без поворотов L/R на ±90°. Порядок:
- Решение без поворотов четырёх вертикальных граней на ±90°. Порядок:
- Только повороты на 180°, «группа квадратов»; порядок:
- — только собранная конфигурация.
На каждом этапе конфигурация сводится к более сильной подгруппе — с ограничениями на разрешённые ходы. Последовательно запрещаются определённые виды вращений, и за 4 шага достигается решение.
Индексы подгрупп для равны 2048, 1082565, 29400, 663552 соответственно.
Для каждой из четырёх серий правых смежных классов строится таблица поиска всех классов, с указанием последовательности ходов для перевода в подгруппу .
Тистлетуэйт использовал предварительные «упрощающие» ходы. Изначально схема требовала 85 ходов, потом 80, 63, 52. Полный анализ дал максимумы по этапам: 7, 10, 13, 15 ходов — всего 45 ходов FTM.
Граф Шрайера — граф , ассоциированный с группой , порождающим множеством и подгруппой . Вершины — правые смежные классы с , рёбра соединяют классы .
Каждый этап алгоритма — это обход в ширину графа Шрайера .
Верхняя оценка в 45 ходов даётся формулой
где — эксцентриситет вершины , соответствующей единичному классу .
Метод использовал также Раду, Канкл и Куперман.
В 1990 году Ханс Клоостерман модифицировал метод, доказав достаточность 42 ходов.
В 1992 году Майкл Рид снизил оценку: 39f или 56q. В его схеме цепочка подгрупп иная:
Через несколько дней Дик Винтер получил 37f.
В 2002 году Райан Хайз предложил вариант для скоростной сборки.
В 1992 году Герберт Коцемба упростил схему до двух этапов:
Всё деление удобно визуализировать с помощью разметки рёбер: этикетки U и D метят «+», F/B рёбер FR, FL, BL, BR — «−», остальные — без метки.
На первом этапе конфигурация переводится в группу , на втором — в начальное (решённое) состояние. Благодаря ограничениям метка автоматически сохраняется.
Склейка этапов даёт субоптимальное решение.
Алгоритм продолжает поиск после первого найденного решения — альтернативные, пусть и длиннее на первом этапе, могут ускорить второй этап и сократить общее число ходов.
Для поиска на каждом этапе используется IDA* с эвристикой на основе подзадач.
Задача первого этапа формулируется как поиск в пространстве размерности три: координаты (x1, y1, z1):
- Ориентация 8 углов (2187 значений)
- Ориентация 12 рёбер (2048 значений)
- Расстановка 4 рёбер FR, FL, BL, BR (495 значений)
Эвристика — максимум из трёх подзадач; значения заранее вычисляются и хранятся в pattern database.
Второй этап: поиск пути в трёх координатах (x2, y2, z2):
- Перестановка 8 углов (40320 значений)
- Перестановка 8 рёбер U/D (40320)
- Перестановка 4 рёбер среднего слоя (24)
Аналогичная скоринг-эвристика.
Есть дополнительные оптимизации по скорости и памяти.
Cube Explorer — реализация алгоритма для Windows, ссылки для загрузки на сайте Коцембы. В 1992 году на ПК Atari ST решение длиной не более 22 ходов находилось за 1–2 минуты. На современных компьютерах — за секунды.
Есть онлайн-версия алгоритма.
В 1995 году Майкл Рид показал, что обе фазы требуют не более 12 и 18 ходов (FTM) соответственно — суммарно 30 ходов. Дополнительные оценки — 29f или 42q.
Алгоритм Коцембы даёт быстрые субоптимальные решения, но доказательство оптимальности может занимать много времени. В 1997 году Ричард Корф опубликовал алгоритм, находящий оптимальные решения для произвольных конфигураций. На случайной выборке из 10 состояний он нашёл решения не длиннее 18 ходов FTM[9].
Алгоритм разбивает задачу на три подзадачи:
- Только 8 углов — рёбра игнорируются;
- 6 рёбер (половина) — остальные игнорируются;
- Другие 6 рёбер.
Минимальное число для каждой — нижняя граница числа ходов для задачи целиком. С помощью IDA* с такой эвристикой и pattern database алгоритм всегда найдёт оптимальное решение.
Код на языке C доступен в.
В 2005 году Силвиу Раду улучшил оценку QTM до 40q; в 2006 году доказал достаточность 27f или 35q.
В 2007 году Дэниел Канкл и Джин Куперман доказали с помощью суперкомпьютера, что все нерешённые конфигурации решаются в 26 FTM; была проанализирована подгруппа квадратов (15 752 состояния) и всё «дотягивалось» до общего числа.
В 2008 году Томас Рокики доказал разрешимость в 25 ходов FTM. В августе 2008 — в 23f, затем в 22f. В 2009 году — 29 ходов QTM.
В 2010 году квартет Рокики, Коцемба, Дэвидсон, Детридж показал: все возможные состояния решаются не более чем за 20 ходов в FTM — это и есть точное число Бога для FTM.
В августе 2014 оформилась точная оценка 26q для QTM.
Конфигурация, максимально удалённая от решения, называется антиподом. В FTM такие конфигурации требуют 20f*, в QTM — 26q*.
В FTM известных антиподов миллионы — например, суперфлип. В QTM известна только одна такая конфигурация (и её повороты), «композиция суперфлипа и четырёх точек»[10]. Две конфигурации находятся на расстоянии 25q*, около 150 тыс. — на 24q*.
Другие головоломки
Пустой кубик — это кубик Рубика 3×3×3 без центральных элементов.
Оптимальное решение пустого суперфлипа в FTM равно 20, что есть доказательство необходимости 20 ходов. Поскольку задача схожа с оригинальной, доказательство достаточности 20 ходов применимо и здесь.
Общее число конфигураций этой головоломки (англ. Rubik's Revenge) равно
- Метрики 4×4×4
Оценки решений зависят от используемой метрики:
- q-s (quarter slice): шаг — поворот любого из 12 слоёв на 90°;
- q-w (quarter twist): поворот любого внешнего блока (грань или прилегающий слой) на 90°;
- q-b (quarter block): поворот любого блока слоёв на 90°;
- h-s, h-w, h-b: то же, разрешены и повороты на 180°.
В метрике q-b решение не длиннее, чем в q-w/q-s.
- Оценки числа Бога
В 2006–2007 годах Брюс Норског провёл 5-этапный анализ, аналогичный методу Тистлетуэйта, и получил: 82 хода в h-w, 77 в h-s, 67 в h-b.
В 2013 году Шуан Чэнь снизил оценку h-w до 57.
В 2015 году Томас Рокики подтвердил оценку h-w = 57, а также получил 56 для h-s и 53 для h-b. Позже Шуан Чэнь установил ещё лучшие верхние границы: 55 (h-w), 53 (h-s).
Текущие оценки:
| Метрика | h-s | h-w | h-b | q-s | q-w | q-b |
|---|---|---|---|---|---|---|
| Оценка снизу | 32 | 35 | 29 | 37 | 41 | 33 |
| Оценка сверху | 53 | 55 | 53 | ? | ? | ? |
В 2011 году Томас Рокики определил значения нижней границы числа Бога для кубиков n×n×n от 2×2×2 до 20×20×20.
В 2011 году показано, что для больших размеров асимптотическая оценка «числа Бога» — Θ(n² / log n).
В 2018 году было доказано, что задача нахождения оптимального решения для n×n×n — NP-полная[11].
Число возможных конфигураций для кубиков в старших размерностях быстро увеличивается. Для 4D-кубика 2×2×2×2 оно равно:
- ,
что примерно в миллиард раз больше, чем у кубика 3×3×3[12].
Для четырёхмерного кубика 3×3×3×3[13][14]:
.
Точные значения числа Бога для кубиков в старших размерностях неизвестны. Для 2⁴ и 3⁴ — вычислены только асимптотические нижние и верхние оценки (STM): 15–37 для 2⁴, 51–570 для 3⁴[15].
Мегаминкс — вариант кубика Рубика в форме додекаэдра. Число конфигураций 12-цветного мегаминкса:
- .
В 2012 году Герберт Коцемба определил нижнюю оценку числа Бога для Мегаминкса как 45 ходов (любой угол) или 55 ходов (±72°). В 2016 году уточнённая оценка — 48 ходов любого угла[16]. В 2024 году верхняя оценка числа Бога составила 128, в 2025 — понижена до 116[17][18][19].
Киломинкс — додекаэдрический аналог кубика 2×2×2. Число конфигураций:
- .
В 2018 году нижняя оценка числа Бога — 18 ходов[20], верхняя — 34[21].
Примечания
Литература
- В. Залгаллер, С. Залгаллер. Венгерский шарнирный кубик // Квант. — 1980. — № 12. — С. 17—21.
- В. Дубровский. Алгоритм волшебного кубика // Квант. — 1982. — № 7. — С. 22—25.
- В. Дубровский. Математика волшебного кубика // Квант. — 1982. — № 8. — С. 22—27, 48.
- В. Дубровский, А. Калинин. Новости кубологии // Квант. — 1992. — № 11. — С. 52—56.
- Л. А. Калужнин, В. И. Сущанский. Преобразования и перестановки. — М., 1985. — С. 143. — 160 с.
- David Singmaster. Cubic Circular. — 1981—1985.
- David Singmaster, Alexander Frey. Handbook of Cubik Math. — 1987.
- David Joyner. Adventures in group theory: Rubik's Cube, Merlin's machine, and Other Mathematical Toys. — Baltimore: Johns Hopkins University Press, 2002. — ISBN 0-8018-6947-1.
- David Joyner. Adventures in Group Theory: Rubik's Cube, Merlin's Machine, and Other Mathematical Toys. — Second edition. — JHU Press, 2008. — 328 p. — ISBN 0-801-89726-2, 978-0-801-89726-9.
- E. D. Demaine, M. L. Demaine, S. Eisenstat, A. Lubiw, A. Winslow. Algorithms for Solving Rubik's Cubes // Lecture Notes in Computer Science. — 2011. — Т. 6942. — С. 689—700. — doi:10.1007/978-3-642-23719-5_58.
Ссылки
- Константин Кноп. Кубик Рубика: штурм твердыни. Дата обращения: 20 июля 2013. Архивировано 20 октября 2009 года.
- Rik van Grol. The Quest For God’s Number (англ.). Math Horizons (ноябрь 2010). Дата обращения: 26 июля 2013.
- Jaap Scherphuis. Jaap's Puzzle Page (англ.). — Подборка информации по множеству головоломок и методов их решения. Дата обращения: 20 июля 2013.
- Herbert Kociemba. Cube Explorer 5.01 (англ.). — Домашняя страница Герберта Коцембы. Подробное описание алгоритмов, используемых в программе Cube Explorer. Дата обращения: 20 июля 2013.
- Tomas Rokicki, Herbert Kociemba, Morley Davidson, John Dethridge. God's Number is 20 (англ.). Дата обращения: 20 июля 2013.
- Martin Schönert. Cube Lovers archives converted to HTML (англ.). — 1947 articles between July 1980 and June 1996. Дата обращения: 20 июля 2013.
- Mark Longridge. Domain of the Cube Forum (англ.). — Discussions on the mathematics of the cube. Дата обращения: 20 июля 2013.
- W. D. Joyner. Lecture notes on the mathematics of the Rubik's cube (англ.). Дата обращения: 22 июля 2013. Архивировано 5 сентября 2013 года.
- Tomas Rokicki. Computers and the Cube (slides) (англ.) (3 ноября 2009). — MATH 78SI: Speedcubing: History, Theory, and Practice. Student-initiated course at Stanford (Autumn 2009). Дата обращения: 30 июля 2013.