Математика кубика Рубика
Математика кубика Рубика — совокупность математических методов для изучения свойств кубика Рубика с абстрактно-математической точки зрения. Это направление математики изучает алгоритмы сборки кубика и оценивает их. Основана на теории графов, теории групп, теории вычислимости и комбинаторике.
Существует множество алгоритмов, предназначенных для перевода кубика Рубика из произвольной конфигурации в конечную конфигурацию (собранный куб). В 2010 году строго доказано, что для перевода кубика Рубика из произвольной конфигурации в собранную конфигурацию (часто этот процесс называют «сборкой» или «решением») достаточно не более чем 20 поворотов граней[1]. Это число — диаметр графа Кэли группы кубика Рубика[2]. В 2014 году доказано, что для решения кубика Рубика только с помощью поворотов граней на 90° всегда достаточно 26 ходов[3].
Алгоритм, который решает головоломку за минимально возможное количество ходов, называют алгоритмом Бога .
Обозначения
В этой статье для обозначения последовательности поворотов граней кубика Рубика 3×3×3 используются «обозначения Сингмастера»[4][5], разработанные Дэвидом Сингмастером и опубликованные им в 1981 году.
Буквы [math]\displaystyle{ L,R,F,B,U,D }[/math] обозначают поворот на 90° по часовой стрелке левой (left), правой (right), передней (front), задней (back), верхней (up) и нижней (down) граней соответственно. Повороты на 180° обозначаются добавлением справа к букве цифры 2 или добавлением в верхнем индексе цифры 2 справа от буквы. Поворот на 90° против часовой стрелки обозначается добавлением штриха ( ′ ) или добавлением в верхнем индексе -1 справа от буквы. Так, например, записи [math]\displaystyle{ L^2 }[/math] и [math]\displaystyle{ L2 }[/math] эквивалентны, так же как записи [math]\displaystyle{ L' }[/math] и [math]\displaystyle{ L^{-1} }[/math].
Метрики графа конфигураций
Существует два наиболее распространённых способа измерения длины решения (метрики). Первый способ — одним ходом решения считается поворот грани на 90° (quarter turn metric, QTM). По второму способу, за 1 ход также считается и полуоборот грани (face turn metric, FTM, иногда это обозначают HTM — half-turn metric). Так, F2 (поворот передней грани на 180°) должен считаться за два хода в метрике QTM или за 1 ход в метрике FTM[6][7].
Для указания в тексте длины последовательности для используемой метрики используется нотация[8][9][10], состоящая из цифр числа ходов и строчной первой буквы обозначения метрики. 14f обозначает «14 ходов в метрике FTM», а 10q — «10 ходов в метрике QTM». Чтобы указать, что количество ходов является минимальным в данной метрике, используется звёздочка: 10f* обозначает оптимальность решения в 10 ходов FTM.
Группа кубика Рубика
Кубик Рубика может рассматриваться как пример математической группы.
Каждый из шести поворотов граней кубика Рубика может рассматриваться как элемент симметрической группы множества 48 этикеток кубика Рубика, не являющихся центрами граней. Более конкретно, можно пометить все 48 этикеток числами от 1 до 48 и сопоставить каждому из ходов [math]\displaystyle{ \{F,B,U,D,L,R\} }[/math] элемент симметрической группы [math]\displaystyle{ S_{48} }[/math].
Тогда группа кубика Рубика [math]\displaystyle{ G }[/math] определяется как подгруппа [math]\displaystyle{ S_{48} }[/math], порождаемая шестью поворотами граней:
- [math]\displaystyle{ G=\langle F,B,U,D,L,R\rangle. }[/math]
Порядок группы [math]\displaystyle{ G }[/math] равен [11][12]
- [math]\displaystyle{ |G| = \dfrac{8!\cdot 12!\cdot 3^8\cdot 2^{12}}{3\cdot 2\cdot 2} = 43\,252\,003\,274\,489\,856\,000 = 2^{27}\cdot 3^{14}\cdot 5^3\cdot 7^2\cdot 11. }[/math]
Каждая из [math]\displaystyle{ 4{,}325\cdot 10^{19} }[/math] конфигураций может быть решена не более чем за 20 ходов (если считать за ход любой поворот грани)[1].
Наибольший порядок элемента в [math]\displaystyle{ G }[/math] равен 1260. Например, последовательность ходов [math]\displaystyle{ (R\ U^2\ D^{\prime}\ B\ D^{\prime}) }[/math] необходимо повторить 1260 раз, прежде чем кубик Рубика вернётся в исходное состояние[13].
Алгоритм Бога
Алгоритм Бога начали искать не позже 1980 года, когда открылся список рассылки для любителей кубика Рубика[6]. С тех пор математики, программисты и любители стремились найти алгоритм Бога, чтобы на практике за минимальное число ходов собирать кубик Рубика. С этой проблемой была связана проблема определения числа Бога — числа ходов, всегда достаточного для сборки головоломки.
В 2010 году программист из Пало-Альто Томас Рокики, учитель математики из Дармштадта Герберт Коцемба, математик из Кентского университета Морли Дэвидсон и инженер компании Google Inc. Джон Детридж доказали, что кубик Рубика из любого разобранного состояния можно собрать за 20 ходов. При этом любой поворот грани считался одним ходом. Объём вычислений составил 35 лет процессорного времени, пожертвованного компанией Google[1][14][15]. Технические данные о производительности и количестве компьютеров не разглашаются. Продолжительность вычислений составляла несколько недель[16][17][18].
В 2014 году Томас Рокики и Морли Дэвидсон доказали, что кубик Рубика можно собрать не более чем в 26 ходов без использования поворотов на 180°. Объём вычислений составил 29 лет процессорного времени в суперкомпьютерном центре Огайо[3].
Нижние оценки числа Бога
Легко показать, что существуют разрешимые конфигурации[19], которые не могут быть решены менее чем в 17 ходов в метрике FTM или 19 ходов в метрике QTM.
Эту оценку можно улучшить, принимая во внимание дополнительные тождества: коммутативность поворотов двух противоположных граней (L R = R L, L2 R = R L2 и т. д.) Подобный подход позволяет получить нижнюю оценку для числа Бога в 18f или 21q[20][21].
![](https://cdn.xn--h1ajim.xn--p1ai/images/d/d2/Superflip.gif)
Эта оценка долго оставалась наилучшей известной. Она вытекает из неконструктивного доказательства, так как оно не указывает конкретный пример конфигурации, требующей для сборки 18f или 21q.
Одной из конфигураций, для которой не удавалось найти короткое решение, был так называемый «суперфлип» или «12-флип». В «Суперфлипе» все угловые и рёберные кубики находятся на своих местах, но каждый рёберный кубик ориентирован противоположно[22]. Вершина, отвечающая суперфлипу в графе кубика Рубика, — локальный максимум: любой ход из этой конфигурации уменьшает расстояние до начальной конфигурации. Это позволило предположить, что суперфлип находится на максимальном расстоянии от начальной конфигурации. То есть суперфлип — это глобальный максимум[23][24][25].
В 1992 году Дик Т. Винтер нашёл решение суперфлипа в 20f[26]. В 1995 году Майкл Рид доказал оптимальность этого решения[27], в результате чего нижняя оценка числа Бога стала равной 20 FTM. В 1995 году Майкл Рид обнаружил решение «суперфлипа» в 24q[28]. Оптимальность этого решения доказал Джерри Брайан[29]. В 1998 году Майкл Рид нашёл конфигурацию, оптимальное решение которой составляло 26q*[30].
Верхние оценки числа Бога
Чтобы получить оценку сверху для числа Бога, достаточно указать любой алгоритм сборки головоломки, состоящий из конечного числа ходов.
Первые оценки сверху для числа Бога были основаны на «человеческих» алгоритмах, состоящих из нескольких этапов. Сложение оценок сверху для каждого из этапов позволяло получить итоговую оценку порядка нескольких десятков или сотен ходов.
Вероятно, первую конкретную оценку сверху дал Дэвид Сингмастер в 1979 году. Его алгоритм сборки позволял собирать головоломку не более чем за 277 ходов[16][31]. Позднее Сингмастер сообщил, что Элвин Берлекэмп, Джон Конвей и Ричард Гай разработали алгоритм сборки, требующий не более 160 ходов. Вскоре группа «Conway’s Cambridge Cubists», составлявшая список комбинаций для одной грани, нашла 94-ходовый алгоритм[16][32]. В 1982 году в журнале «Квант» был опубликован список комбинаций, позволяющих решить кубик Рубика в 79 ходов[33].
Алгоритм Тистлетуэйта
В начале 1980-х английский математик Морвин Тистлетуэйт разработал алгоритм, позволивший значительно улучшить верхнюю оценку. Детали алгоритма опубликовал Дуглас Хофштадтер в 1981 году в журнале Scientific American. Алгоритм был основан на теории групп и включал в себя четыре этапа.
Описание
Тистлетуэйт использовал ряд подгрупп длины 4
- [math]\displaystyle{ G=G_0\supseteq G_1\supseteq G_2\supseteq G_3\supseteq G_4=\{1\}, }[/math]
где
- [math]\displaystyle{ G_0=\langle L,R,F,B,U,D\rangle. }[/math]
- Эта группа совпадает с группой кубика Рубика [math]\displaystyle{ G }[/math]. Её порядок равен[34][35]
- [math]\displaystyle{ \dfrac{8!\cdot 3^8}{3}\cdot\dfrac{12!\cdot 2^{12}}{2}\cdot \dfrac{1}{2}=43\,252\,003\,274\,489\,856\,000. }[/math]
- [math]\displaystyle{ G_1=\langle L^2,R^2,F,B,U,D\rangle. }[/math]
- Эта подгруппа включает в себя все конфигурации, которые могут быть решены без использования поворотов левой или правой граней на ±90°. Её порядок равен
- [math]\displaystyle{ \dfrac{8!\cdot 3^8}{3}\cdot 12!\cdot\dfrac{1}{2}=21\,119\,142\,223\,872\,000. }[/math]
- [math]\displaystyle{ G_2=\langle L^2,R^2,F^2,B^2,U,D\rangle. }[/math]
- Эта подгруппа включает в себя все конфигурации, которые могут быть решены при условии, что повороты четырёх вертикальных граней на ±90° запрещены. Её порядок равен
- [math]\displaystyle{ 8!\cdot (8!\cdot 4!)\cdot\dfrac{1}{2}=19\,508\,428\,800. }[/math]
- [math]\displaystyle{ G_3=\langle L^2,R^2,F^2,B^2,U^2,D^2\rangle. }[/math]
- Эта подгруппа включает в себя все конфигурации, которые могут быть решены с использованием только поворотов на 180° (half-turns). Она получила название «группа квадратов» (squares group). Её порядок равен
- [math]\displaystyle{ (4!\cdot 4)\cdot\dfrac{4!\cdot 4!\cdot 4!}{2}\cdot 1=663\,552. }[/math]
- [math]\displaystyle{ G_4=\{1\}. }[/math]
- Эта подгруппа включает в себя единственную начальную конфигурацию.
На первом этапе произвольно заданная конфигурация из группы [math]\displaystyle{ G }[/math] приводится к конфигурации, лежащей в подгруппе [math]\displaystyle{ G_1 }[/math]. Цель второго этапа состоит в том, чтобы привести кубик к конфигурации, находящейся в подгруппе [math]\displaystyle{ G_2 }[/math], не используя поворотов левой и правой граней на ±90°. На третьем этапе кубик Рубика приводится к конфигурации, принадлежащей группе [math]\displaystyle{ G_3 }[/math], при этом повороты вертикальных граней на ±90° запрещены. На заключительном, четвёртом этапе, кубик Рубика полностью собирается поворотами граней на 180°.
Индексы подгрупп [math]\displaystyle{ [G_i:G_{i+1}] }[/math] при [math]\displaystyle{ i=0,1,2,3 }[/math] равны соответственно 2048, 1082565, 29400 и 663552.
Для каждого из четырёх семейств правых смежных классов [math]\displaystyle{ G_i/G_{i+1} }[/math] строится таблица поиска [math]\displaystyle{ T_i }[/math], размер которой совпадает с индексом подгруппы [math]\displaystyle{ G_{i+1} }[/math] в группе [math]\displaystyle{ G_i }[/math]. Для каждого класса смежности по подгруппе [math]\displaystyle{ G_{i} }[/math] таблица поиска [math]\displaystyle{ T_i }[/math] содержит последовательность ходов, переводящую любую конфигурацию из этого класса смежности в конфигурацию, лежащую в самой подгруппе [math]\displaystyle{ G_i }[/math].
Чтобы уменьшить количество записей в таблицах поиска, Тистлетуэйт использовал упрощающие предварительные ходы. Первоначально он получил оценку в 85 ходов. В течение 1980 года эта оценка была снижена до 80 ходов, затем до 63 и 52[16][36]. Студенты Тистлетуэйта провели полный анализ каждого из этапов. Максимальные значения в таблицах равны 7, 10, 13 и 15 ходам FTM соответственно. Так как 7 + 10 + 13 + 15 = 45, кубик Рубика всегда может быть решён в 45 ходов FTM[25][37][38].
Граф Шрайера
Граф Шрайера — граф [math]\displaystyle{ S(G,X,H) }[/math], ассоциированный с группой [math]\displaystyle{ G }[/math], порождающим множеством [math]\displaystyle{ X=\{x_i|i\in I\} }[/math] и подгруппой [math]\displaystyle{ H\subseteq G }[/math]. Каждая вершина графа Шрайера является правым смежным классом [math]\displaystyle{ Hg=\{hg|h\in H\} }[/math] для некоторого [math]\displaystyle{ g\in G }[/math]. Рёбра графа Шрайера представляют собой пары [math]\displaystyle{ (Hg,Hgx_i) }[/math].
Каждый из четырёх этапов алгоритма Тистлетуэйта представляет собой обход в ширину графа Шрайера [math]\displaystyle{ S_i(G_i,X_i,G_{i+1}) }[/math], где [math]\displaystyle{ X_i }[/math] — порождающее множество группы [math]\displaystyle{ G_i }[/math].
Таким образом, верхняя оценка в 45 ходов равна
- [math]\displaystyle{ \sum_{i=0}^{3} \epsilon(v_i), }[/math]
где
- [math]\displaystyle{ \epsilon(v_i) }[/math] — эксцентриситет вершины [math]\displaystyle{ v_i\in S_i }[/math], соответствующей единичному смежному классу [math]\displaystyle{ G_{i+1} }[/math].
Понятие графа Шрайера было использовано в работах Раду[39], Канкла и Купермана[40].
Модификации алгоритма Тистлетуэйта
В декабре 1990 года Ханс Клоостерман использовал модифицированную версию метода Тистлетуэйта для доказательства достаточности 42 ходов[1][20][41].
В мае 1992 года Майкл Рид показал достаточность 39f или 56q[42]. В его модификации использовалась следующая цепочка подгрупп:
- [math]\displaystyle{ G_0=\langle U,F,R,L,B,D\rangle }[/math]
- [math]\displaystyle{ G_1=\langle U,R,F\rangle }[/math]
- [math]\displaystyle{ G_2=\langle U,R^2,F^2\rangle }[/math]
- [math]\displaystyle{ G_3=\{1\} }[/math]
Уже через несколько дней Дик Т. Винтер снизил оценку в метрике FTM до 37 ходов[43].
В декабре 2002 года Райан Хайз разработал вариант алгоритма Тистлетуэйта, предназначенный для скоростной сборки кубика Рубика[44].
Двухфазный алгоритм Коцембы
![](https://cdn.xn--h1ajim.xn--p1ai/thumb.php?f=Rubik-3-facelet-kociemba.png&width=300)
Алгоритм Тистлетуэйта в 1992 году улучшил учитель математики из Дармштадта Герберт Коцемба.
Описание
Коцемба сократил количество этапов алгоритма до двух[20][45][46]:
- [math]\displaystyle{ G_0=\langle U,D,L,R,F,B\rangle }[/math]
- [math]\displaystyle{ G_1=\langle U,D,L^2,R^2,F^2,B^2\rangle }[/math]
- [math]\displaystyle{ G_2=\{1\} }[/math]
Наглядное описание группы [math]\displaystyle{ G_1 }[/math] можно получить, если произвести следующую разметку[20][47]:
- Все этикетки U и D пометить знаком «+».
- Этикетки F и B на рёберных элементах FR, FL, BL и BR пометить знаком «−».
- Все остальные этикетки оставить без меток.
Тогда все конфигурации группы [math]\displaystyle{ G_1 }[/math] будут иметь одну и ту же разметку (совпадающую с разметкой на собранном кубике).
Решение состоит из двух этапов. На первом этапе заданная конфигурация [math]\displaystyle{ x\in G_0 }[/math] переводится последовательностью ходов [math]\displaystyle{ s_1 }[/math] в некоторую конфигурацию [math]\displaystyle{ x^{\prime}\in G_1 }[/math]. Иными словами, задача первого этапа — восстановить разметку, соответствующую начальной конфигурации, игнорируя цвета этикеток.
На втором этапе конфигурация [math]\displaystyle{ x^{\prime}\in G_1 }[/math] переводится последовательностью ходов [math]\displaystyle{ s_2 }[/math] в начальную конфигурацию. При этом повороты боковых граней на ±90° не используются, благодаря чему разметка автоматически сохраняется.
Склейка последовательностей ходов [math]\displaystyle{ s_1 }[/math] и [math]\displaystyle{ s_2 }[/math] является субоптимальным решением к исходной конфигурации[20][46][48].
Альтернативные субоптимальные решения
Алгоритм Коцембы не останавливается после обнаружения первого решения. Альтернативные оптимальные решения на первом этапе могут привести к более коротким решениям второго этапа, что сократит общую длину решения. Алгоритм продолжает искать также неоптимальные решения на первом этапе в порядке возрастания их длины[20][46][48].
Особенности реализации
Для поиска решений на каждом из двух этапов применяется алгоритм IDA* с эвристическими функциями, основанными на стоимостях решения соответствующих подзадач[48].
Задача первого этапа сводится к поиску пути в пространстве с тремя координатами из разметки с координатами (x1, y1, z1) в разметку (0, 0, 0)[49]:
- Ориентация x1 восьми угловых элементов (2187 значений)
- Ориентация y1 двенадцати рёберных элементов (2048 значений)
- Расстановка z1 четырёх рёберных элементов FR, FL, BL и BR (495 значений)
Рассмотрим три подзадачи поиска пути из разметки (x1, y1, z1) в разметки (x1’, y1’, 0), (x1’, 0, z1’), (0, y1’, z1’). Значение эвристической функции h1, используемой на первом этапе, равно максимальной из стоимостей решения этих подзадач. Стоимости решения подзадач предварительно вычисляются и хранятся в виде баз данных с шаблонами[50][51].
Задача второго этапа сводится к поиску пути в пространстве с тремя координатами из конфигурации (x2, y2, z2) в конфигурацию (0, 0, 0)[52]:
- Перестановка x2 восьми угловых элементов (40320 значений)
- Перестановка y2 восьми рёберных элементов верхней и нижней граней (40320 значений)
- Перестановка z2 четырёх рёберных элементов среднего слоя (24 значения)
Рассмотрим три подзадачи поиска пути из конфигурации (x2, y2, z2) в конфигурации (x2’, y2’, 0), (x2’, 0, z2’), (0, y2’, z2’). Значение эвристической функции h2, используемой на втором этапе, равно максимальной из стоимостей решения этих подзадач.
В алгоритме применяются дополнительные оптимизации, направленные на увеличение быстродействия и уменьшение памяти, занимаемой таблицами[20][45][46][53].
Программные реализации
Cube Explorer — программная реализация алгоритма для ОС Windows. Ссылки для загрузки находятся на сайте Герберта Коцембы[54]. В 1992 году на ПК Atari ST с памятью 1 Мбайт и частотой 8 МГц алгоритм позволял в течение 1-2 минут найти решение не длиннее 22 ходов[20][45]. На современном компьютере Cube Explorer позволяет за несколько секунд найти решение не длиннее 20 ходов для произвольно заданной конфигурации[45].
Существует онлайн-версия алгоритма[55].
Анализ
В 1995 году Майкл Рид показал, что первая и вторая фазы алгоритма Коцембы могут потребовать не более 12 и 18 ходов (FTM) соответственно. Из этого следует, что кубик Рубика всегда может быть решён в 30 ходов. Дополнительный анализ показал, что всегда достаточно 29f или 42q[25][56].
Алгоритм Корфа
Алгоритм Коцембы позволяет быстро находить короткие, субоптимальные решения. Тем не менее, может потребоваться значительное время, чтобы доказать оптимальность найденного решения. Был необходим специализированный алгоритм поиска оптимальных решений.
В 1997 году опубликовал алгоритм, позволявший оптимально решать произвольные конфигурации кубика Рубика. Десять выбранных случайным образом конфигураций были решены не более чем в 18 ходов FTM[57][58].
Собственно алгоритм Корфа работает следующим образом. В первую очередь определяются подзадачи, достаточно простые для того, чтобы осуществить полный перебор. Были использованы следующие три подзадачи[25]:
- Состояние головоломки определяется только восемью угловыми кубиками, положения и ориентации рёбер игнорируются.
- Состояние головоломки определяется шестью из 12 рёберных кубиков, другие кубики игнорируются.
- Состояние головоломки определяется другими шестью рёберными кубиками.
Количество ходов, необходимое для решения каждой из этих подзадач, является нижней оценкой количества ходов, необходимого для полного решения. Произвольно заданная конфигурация кубика Рубика решается с помощью алгоритма IDA*, использующего эту оценку в качестве эвристики. Стоимости решения подзадач хранятся в виде баз данных с шаблонами[50][57].
Хотя этот алгоритм будет всегда находить оптимальные решения, он не позволяет напрямую определить, как много ходов может потребоваться в худшем случае.
Реализацию алгоритма на языке C можно найти в[59].
Дальнейшие улучшения
В 2005 году результат Майкла Рида в метрике QTM улучшил Силвиу Раду до 40q[60]. В 2006 году Силвиу Раду доказал, что кубик Рубика можно собрать в 27f[39] или 35q[61].
В 2007 году Дэниел Канкл и Джин Куперман использовали суперкомпьютер для доказательства того, что все нерешённые конфигурации можно решить не более чем в 26 ходов FTM. Идея состояла в том, чтобы привести кубик Рубика в одну из 15 752 конфигураций подгруппы квадратов, каждая из которых может быть окончательно решена с помощью нескольких дополнительных ходов. Большинство конфигураций удалось решить таким образом не более чем в 26 ходов. Оставшиеся конфигурации подвергли дополнительному анализу, который показал, что они также решаются в 26 ходов[40][62].
В 2008 году Томас Рокики опубликовал вычислительное доказательство разрешимости головоломки в 25 ходов FTM[63]. В августе 2008 года Рокики объявил о доказательстве разрешимости в 23f[64]. Позже эта оценка улучшилась до 22f[65]. В 2009 году ему же удалось показать разрешимость в 29 ходов QTM[66].
В 2010 году Томас Рокики, Герберт Коцемба, Морли Дэвидсон и Джон Детридж объявили о доказательстве того, что любая конфигурация кубика Рубика может быть решена не более чем в 20 ходов в метрике FTM[1][14]. Вместе с известной ранее оценкой снизу в 20f* это стало доказательством того, что число Бога кубика Рубика в метрике FTM равно 20.
В августе 2014 года Рокики и Дэвидсон объявили, что число Бога для кубика Рубика в метрике QTM равно 26[3][67].
Поиск антиподов
Конфигурацию кубика Рубика, которая расположена на максимальном расстоянии от начальной конфигурации, называют антиподом. Любой антипод в метрике FTM имеет оптимальное решение в 20f*, а любой антипод в метрике QTM имеет оптимальное решение в 26q*[3][68].
Известно, что в метрике FTM существуют миллионы антиподов[69]. Одна из таких конфигураций — «суперфлип». Напротив, в метрике QTM на данный момент известна лишь одна конфигурация-антипод (не считая конфигураций, полученных из неё поворотами) — т.н. «композиция суперфлипа и четырёх точек» (superflip composed with four spot)[30][67][68][70]. Известны лишь две конфигурации на расстоянии 25q* от начальной конфигурации и около 80 тысяч конфигураций на расстоянии 24q*[3][69].
Асимптотические оценки
В 2011 году было показано, что число Бога кубика n × n × n является Θ(n2 / log(n))[71][72].
Другие головоломки
Void Cube
Void Cube — это кубик Рубика 3x3x3 без центральных элементов.
Длина оптимального решения «void-суперфлипа» в метрике FTM равна 20[73][74], что есть доказательство необходимости 20 ходов. Так как Void Cube — ослабленная задача[50] кубика Рубика, существующее доказательство достаточности 20 ходов для кубика Рубика[1] применимо к Void Cube. Следовательно, число Бога головоломки Void Cube в метрике FTM равно 20.
Кубик 4×4×4
![](https://cdn.xn--h1ajim.xn--p1ai/thumb.php?f=Rubiks_revenge_scrambled.jpg&width=300)
Количество конфигураций головоломки 4×4×4 (англ. Rubik's Revenge) равно[75]
- [math]\displaystyle{ \frac{8! \times 3^7 \times 24!^2}{4!^6 \times 24} = 7 401 196 841 564 901 869 874 093 974 498 574 336 000 000 000 \approx 7{,}40 \times 10^{45}. }[/math]
Метрики 4×4×4
Существует несколько способов определения метрики для кубика 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, так как в метрике q-b разрешены все ходы двух других q-метрик. То же относится к h-метрикам.
Оценки числа Бога кубика 4×4×4
В 2006—2007 гг. Брюс Норског (Bruce Norskog) провёл 5-этапный анализ кубика 4×4×4, аналогичный 4-этапному анализу, проведённому Тистлетуэйтом для кубика Рубика 3×3×3. В результате анализа были получены верхние оценки в 82 хода в метрике h-w[76], 77 ходов в метрике h-s[77][78] и 67 ходов в метрике h-b[76].
В 2011 году Томас Рокики на основании нескольких существующих идей определил нижние оценки числа Бога в шести метриках для кубических головоломок с размерами от 2×2×2 до 20×20×20[79].
В 2013 году Shuang Chen (陈霜) снизил оценку в метрике h-w с 82 до 57 поворотов[80].
В 2015 году Томас Рокики подтвердил верхнюю оценку в 57 поворотов h-w и получил новые верхние оценки в 56 h-s и 53 h-b[81]. Уже спустя несколько дней Shuang Chen (陈霜) удалось получить верхние оценки в 55 h-w и 53 h-s, переопределив этапы доказательства[82][83].
Текущие известные верхние и нижние оценки для кубика 4×4×4 в различных метриках приведены в таблице:
метрика | h-s | h-w | h-b | q-s | q-w | q-b |
---|---|---|---|---|---|---|
оценка снизу | 32 | 35 | 29 | 37 | 41 | 33 |
оценка сверху | 53 | 55 | 53 | ? | ? | ? |
![](https://cdn.xn--h1ajim.xn--p1ai/images/2/2b/Megaminx12.jpg)
Мегаминкс
Мегаминкс — простейший аналог кубика Рубика в форме додекаэдра. Количество конфигураций 12-цветного Мегаминкса равно 1,01·1068.
В 2012 году Герберт Коцемба определил нижнюю оценку числа Бога для Мегаминкса, равную 45 поворотам граней на любой угол или 55 поворотам на угол ±72°[84][85].
В 2016 году Герберт Коцемба уточнил нижнюю оценку числа Бога для Мегаминкса, повысив ее до 48 поворотов граней на любой угол[86].
См. также
Примечания
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 Rokicki, T.; Kociemba, H.; Davidson, M.; and Dethridge, J. God's Number is 20 (англ.). Дата обращения: 19 июля 2013. Архивировано 21 июля 2013 года.
- ↑ По системе образующих, состоящей из поворотов граней на ±90° и на 180°.
- ↑ 3,0 3,1 3,2 3,3 3,4 Rokicki, T. and Davidson, M. God's Number is 26 in the Quarter-Turn Metric (англ.). Дата обращения: 4 июля 2015. Архивировано 7 июля 2015 года.
- ↑ Joyner, 2002, p. 7.
- ↑ Moral and Mathematical Lessons from a Rubik Cube (англ.) // New Scientist. — 1982.
- ↑ 6,0 6,1 Jerry Slocum, David Singmaster, Wei-Hwa Huang, Dieter Gebhardt, Geert Hellings. The Cube: The Ultimate Guide to the World's Bestselling Puzzle — Secrets, Stories, Solutions. — 2009. — С. 26. — 142 с.
- ↑ Jaap Scherphuis. Useful Mathematics. Metrics (англ.) (недоступная ссылка). Дата обращения: 17 июля 2013. Архивировано 24 ноября 2012 года.
- ↑ Jerry Bryan. Notational convention (27 мая 2006). Дата обращения: 28 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ David Singmaster. Cubic Circular (англ.). — 1982. — Iss. 5 & 6. — P. 26.
- ↑ Jaap Scherphuis. Puzzle Statistics (англ.). Дата обращения: 17 июля 2013. Архивировано 21 июня 2013 года.
- ↑ Schönert, Martin Analyzing Rubik's Cube with GAP (англ.). Дата обращения: 19 июля 2013. Архивировано 20 января 2013 года.
- ↑ Jaap Scherphuis. Rubik's Cube 3x3x3 (англ.) (недоступная ссылка). Дата обращения: 19 июля 2013. Архивировано 28 июля 2013 года.
- ↑ Joyner, 2008, pp. 93, 108.
- ↑ 14,0 14,1 Herbert Kociemba. Two-Phase-Algorithm and God's Algorithm: God's number is 20 (англ.) (недоступная ссылка). Дата обращения: 23 июля 2013. Архивировано 2 мая 2013 года.
- ↑ Tomas Rokicki, Herbert Kociemba, Morley Davidson, and John Dethridge. The Diameter of the Rubik's Cube Group Is Twenty // SIAM J. Discrete Math.. — 2013. — Vol. 27, no. 2. — P. 1082–1105. — doi:10.1137/120867366.
- ↑ 16,0 16,1 16,2 16,3 Rik van Grol. The Quest For God’s Number (англ.). Math Horizons (ноябрь 2010). Дата обращения: 26 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ Stefan Edelkamp, Stefan Schrōdl. Heuristic search: theory and applications. — Morgan Kaufmann Publishers, 2012. — 712 с. — ISBN 978-0-12-372512-7.
- ↑ SIAM J. Discrete Math., 27(2), 1082–1105 . Дата обращения: 19 ноября 2013. Архивировано 3 декабря 2019 года.
- ↑ «Разрешимой» конфигурацией называется конфигурация, которая может быть переведена в собранную. Так как граф кубика Рубика ненаправленный, из этого следует, что любая конфигурация, полученная из исходной произвольной последовательностью ходов разрешима. Но существуют неразрешимые конфигурации. Например, если в собранном состоянии повернуть одну из вершин кубика на 120°, то получится неразрешимая конфигурация.
- ↑ 20,0 20,1 20,2 20,3 20,4 20,5 20,6 20,7 В. Дубровский, А. Калинин. Новости кубологии // Квант. — 1992. — № 11. — С. 52—56.
- ↑ Jaap Scherphuis. Useful Mathematics. God's Algorithm (англ.) (недоступная ссылка). Дата обращения: 17 июля 2013. Архивировано 24 ноября 2012 года.
- ↑ Michael Reid. Michael Reid's Rubik's cube page. M-symmetric positions (англ.) (24 мая 2005). Дата обращения: 17 июля 2013. Архивировано 6 июля 2015 года.
- ↑ David Singmaster. Cubic Circular (англ.). — 1982. — Iss. 5 & 6. — P. 24.
- ↑ Joyner, 2002, p. 149.
- ↑ 25,0 25,1 25,2 25,3 Stefan Pochmann. Analyzing Human Solving Methods for Rubik’s Cube and similar Puzzles (Diploma Thesis) (англ.). Архивировано 9 ноября 2014 года.
- ↑ Dik T. Winter. Kociemba's algorithm (англ.) (18 мая 1992). Дата обращения: 17 июля 2013. Архивировано 15 июля 2013 года.
- ↑ Michael Reid. superflip requires 20 face turns (англ.) (18 января 1995). Дата обращения: 17 июля 2013. Архивировано 8 июля 2013 года.
- ↑ Michael Reid. superflip (англ.) (10 января 1995). Дата обращения: 17 июля 2013. Архивировано 19 июня 2014 года.
- ↑ Jerry Bryan. Qturn Lengths of M-Symmetric Positions (англ.) (19 февраля 1995). Дата обращения: 17 июля 2013. Архивировано 20 июня 2014 года.
- ↑ 30,0 30,1 Michael Reid. superflip composed with four spot (англ.) (2 августа 1998). Дата обращения: 4 июля 2015. Архивировано 4 октября 2015 года.
- ↑ Л. А. Калужнин, В. И. Сущанский. Преобразования и перестановки. — М., 1985. — С. 143. — 160 с.
- ↑ David Singmaster. Notes on Rubik's Magic Cube (неопр.). — Enslow Publishers , 1981. — С. 30.
- ↑ В. Дубровский. Алгоритм волшебного кубика // Квант. — 1982. — № 7. — С. 22—25.
- ↑ Порядок этой и следующих трёх групп вычисляется как произведение трёх множителей, указывающих соответственно количество разрешимых конфигураций углов, количество разрешимых конфигураций рёбер и общее ограничение «чётности» разрешимой конфигурации.
- ↑ Jaap Scherphuis. Cube subgroups. Subgroups generated by face moves (англ.) (недоступная ссылка). Дата обращения: 19 июля 2013. Архивировано 20 января 2013 года.
- ↑ Mark Longridge. Progressive Improvements in Solving Algorithms (англ.). Дата обращения: 28 июля 2013. Архивировано 9 октября 2013 года.
- ↑ В. Дубровский. Математика волшебного кубика // Квант. — 1982. — № 8. — С. 22—27, 48.
- ↑ Jaap Scherphuis. Thistlethwaite's 52-move algorithm (англ.). Дата обращения: 17 июля 2013. Архивировано 28 июля 2013 года.
- ↑ 39,0 39,1 silviu. Rubik can be solved in 27f . Domain of the Cube Forum (1 апреля 2006). Дата обращения: 20 июля 2013. Архивировано 27 августа 2013 года.
- ↑ 40,0 40,1 D. Kunkle. Twenty-Six Moves Suffice for Rubik's Cube // Proceedings of the International Symposium on Symbolic and Algebraic Computation (ISSAC '07). — ACM Press, 2007.
- ↑ Michael Reid. an upper bound on god's number (англ.) (29 апреля 1992). Дата обращения: 17 июля 2013. Архивировано 24 августа 2013 года.
- ↑ Michael Reid. new upper bound (англ.) (22 мая 1992). Дата обращения: 19 июля 2013. Архивировано 24 августа 2013 года.
- ↑ Dik T. Winter. Corrected calculations are now done. (англ.) (28 мая 1992). Дата обращения: 19 июля 2013. Архивировано 20 июня 2014 года.
- ↑ Ryan Heise. The Human Thistlethwaite Algorithm (англ.). Дата обращения: 19 июля 2013. Архивировано 2 августа 2016 года.
- ↑ 45,0 45,1 45,2 45,3 Herbert Kociemba. Two-Phase Algorithm Details (англ.). Дата обращения: 20 июля 2013. Архивировано 2 мая 2013 года.
- ↑ 46,0 46,1 46,2 46,3 Jaap Scherphuis. Computer Puzzling. Kociemba's Algorithm (англ.). Дата обращения: 23 июля 2013. Архивировано 25 июня 2013 года.
- ↑ Herbert Kociemba. The Subgroup H and its cosets (англ.). Дата обращения: 23 июля 2013. Архивировано 22 мая 2013 года.
- ↑ 48,0 48,1 48,2 Herbert Kociemba. The Two-Phase-Algorithm (англ.). Дата обращения: 23 июля 2013. Архивировано 2 мая 2013 года.
- ↑ Биекция между конфигурациями и тройками координат Архивная копия от 2 мая 2013 на Wayback Machine установлена таким образом, что целевой разметке первого этапа (т.е. любой конфигурации из группы G1) соответствует тройка (0, 0, 0).
- ↑ 50,0 50,1 50,2 Стюарт Рассел, Питер Норвиг. Составление допустимых эвристических функций // Искусственный интеллект: современный подход = Artificial Intelligence: A Modern Approach. — 2-е изд.. — М.: Вильямс, 2006. — С. 170 — 173. — 1408 с. — ISBN 5-8459-0887-6.
- ↑ Англ. pattern databases. В изложении автора алгоритма Архивная копия от 2 мая 2013 на Wayback Machine — «pruning tables».
- ↑ Из-за ограничения, связанного с чётностью перестановки элементов, встречается только половина всех троек координат.
- ↑ Herbert Kociemba. Pruning Tables (англ.). Дата обращения: 23 июля 2013. Архивировано 2 мая 2013 года.
- ↑ Herbert Kociemba. Download (англ.). Дата обращения: 20 июля 2013. Архивировано 2 мая 2013 года.
- ↑ Eric Dietz. Solve Your Cube In Less Than 25 Moves (англ.). Дата обращения: 20 июля 2013. Архивировано 9 января 2022 года.
- ↑ Michael Reid. new upper bounds (англ.) (7 января 1995). Дата обращения: 19 июля 2013. Архивировано 24 августа 2013 года.
- ↑ 57,0 57,1 Richard E. Korf. Finding Optimal Solutions to Rubik's Cube Using Pattern Databases. — 1997.
- ↑ Arthur Fisher. Rubik's Reduced (англ.), Popular Science (October 1997), С. 58.
- ↑ Michael Reid. Rubik's cube page. Optimal Rubik's cube solver (28 октября 2006). Дата обращения: 20 июля 2013. Архивировано 5 июля 2015 года.
- ↑ Silviu Radu, A New Upper Bound on Rubik's Cube Group, arΧiv:math/0512485.
- ↑ silviu. Rubik can be solved in 35q . Domain of the Cube Forum (22 марта 2006). Дата обращения: 20 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ Northeastern University Researchers Solve Rubik’s Cube in 26 Moves . Дата обращения: 20 июля 2013. Архивировано 23 октября 2019 года.
- ↑ Tom Rokicki, Twenty-Five Moves Suffice for Rubik's Cube, arΧiv:0803.3435.
- ↑ rokicki. Twenty-Three Moves Suffice . Domain of the Cube Forum (29 апреля 2008). Дата обращения: 20 июля 2013. Архивировано 27 августа 2013 года.
- ↑ rokicki. Twenty-Two Moves Suffice (недоступная ссылка). Domain of the Cube Forum (12 августа 2008). Дата обращения: 20 июля 2013. Архивировано 5 декабря 2011 года.
- ↑ rokicki. Twenty-Nine QTM Moves Suffice . Domain of the Cube Forum (15 июня 2009). Дата обращения: 20 июля 2013. Архивировано 26 июля 2011 года.
- ↑ 67,0 67,1 Adam P. Goucher. Superflip composed with fourspot . Complex Projective 4-Space (25 сентября 2015). Дата обращения: 23 октября 2015. Архивировано 1 февраля 2016 года.
- ↑ 68,0 68,1 Jaap Scherphuis. Cayley Graphs. Distances (англ.). Дата обращения: 4 июля 2015. Архивировано 6 июля 2015 года.
- ↑ 69,0 69,1 Known Distance-20 Positions in the Half-Turn Metric. Known Distance-24 or Greater Positions in the Quarter-Turn Metric . Дата обращения: 4 июля 2015. Архивировано 29 июня 2015 года.
- ↑ Pretty Patterns Rubik's Cube | Edge Flip, Dot | Superflip, With 4 Dots . Дата обращения: 4 июля 2015. Архивировано 5 июля 2015 года.
- ↑ Demaine, Erik D.; Demaine, Martin L.; Eisenstat, Sarah; Lubiw, Anna & Winslow, Andrew (2011), Algorithms for Solving Rubik's Cubes, arΧiv:1106.5736v1 [cs.DS].
- ↑ Larry Hardesty. The math of the Rubik’s cube. New research establishes the relationship between the number of squares in a Rubik’s-cube-type puzzle and the maximum number of moves required to solve it (англ.). MIT News Office (29 июня 2011). Дата обращения: 23 июля 2013. Архивировано 19 сентября 2013 года.
- ↑ rokicki. Void cube diameter at least 20 (face turn metric) . Domain of the Cube Forum (19 января 2010). Дата обращения: 28 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ rokicki. Void cube diameter at least 20 (probably 20) . Speedsolving.com (19 января 2010). Дата обращения: 28 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ Jaap Scherphuis. Rubik's Revenge (англ.). Дата обращения: 28 июля 2013. Архивировано 27 июля 2013 года.
- ↑ 76,0 76,1 Bruce Norskog. New upper bounds: 82 twist turns, 67 block turns . Domain of the Cube Forum (13 августа 2007). Дата обращения: 28 июля 2013. Архивировано 29 мая 2014 года.
- ↑ Bruce Norskog. The 4x4x4 can be solved in 77 single-slice turns . Domain of the Cube Forum (26 июля 2007). Дата обращения: 28 июля 2013. Архивировано 29 мая 2014 года.
- ↑ Bigger rubik cube bound (недоступная ссылка). Project Euler. Дата обращения: 28 июля 2013. Архивировано 29 мая 2014 года.
- ↑ rokicki. Lower Bounds for n x n x n Rubik's Cubes (through n=20) in Six Metrics . Domain of the Cube Forum (18 июля 2011). Дата обращения: 28 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ CS. Solving the 4x4x4 in 57 moves(OBTM) . Domain of the Cube Forum (30 сентября 2013). Дата обращения: 19 ноября 2013. Архивировано 26 ноября 2013 года.
- ↑ rokicki. 4x4x4 upper bounds: 57 OBTM confirmed; 56 SST and 53 BT calculated. . Domain of the Cube Forum (3 марта 2015). Дата обращения: 1 июля 2015. Архивировано 29 мая 2015 года.
- ↑ CS. 4x4x4 new upper bound: 55 OBTM . Domain of the Cube Forum (3 июля 2015). Дата обращения: 1 июля 2015. Архивировано 29 мая 2015 года.
- ↑ CS. 4x4x4 new upper bound: 53 SSTM . Domain of the Cube Forum (3 сентября 2015). Дата обращения: 1 июля 2015. Архивировано 29 мая 2015 года.
- ↑ Herbert Kociemba. Megaminx needs at least 45 moves . Domain of the Cube Forum (28 февраля 2012). Дата обращения: 28 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ Herbert Kociemba. Lower bound for Megaminx in htm and qtm . Speedsolving.com (3 января 2012). Дата обращения: 28 июля 2013. Архивировано 9 ноября 2014 года.
- ↑ Lower bound for Megaminx in htm and qtm . Дата обращения: 2 сентября 2016. Архивировано 17 сентября 2016 года.
Рекомендуемая литература
- В. Залгаллер, С. Залгаллер. Венгерский шарнирный кубик // Квант. — 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.
- Reprinted in: Rik van Grol. The Quest for God's Number // The Best Writing on Mathematics 2011 / Mircea Pitici, Freeman Dyson. — Princeton University Press, 2011. — P. 27—34. — 416 p. — ISBN 1-400-83954-8, 978-1-400-83954-4.
- 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.