Как стать автором
Обновить

Число бога для кубика Рубика равно 20

Время на прочтение2 мин
Количество просмотров4.7K
Существует множество алгоритмов, которые собирают кубик Рубика — более или менее эффективно. Те из них, которые может выучить и применять средний смертный, обычно требуют более 40 ходов. Алгоритмом бога называют алгоритм, использующий для сборки любой начальной конфигурации минимальное количество ходов (термин связан с концепцией всеведения и применяется также для ряда других механических и логических задач). Число бога, соответственно, определяют как количество ходов, требующееся этому алгоритму в худшем случае. Так вот, для кубика Рубика это число равно 20.

Немного истории


Сам кубик был придуман в 1974 году. Теоретические исследования кубика сосредотачивались на оценке нижней и верхней границ максимального количества ходов для решения кубика.

К 1980 году нижняя граница была оценена как 18: существенно разных последовательностей ходов длиной 17 и менее оказалось меньше, чем конфигураций кубика. Эта оценка продержалась 15 лет — до 1995 года, когда Майкл Рейд (Michael Reid) доказал, что для конфигурации «superflip» (правильные уголки и перепутанные середины сторон) нужно ровно 20 ходов.

Тем временем оценка верхней границы снижалась чаще, но медленнее: в 1981 году она равнялась 52, в 1995 тот же Майкл Рейд получил величину 29, в 2008 Томаш Рокицки (Tomas Rokicki) уменьшил ее до 25-23-22 (оценка в 23 хода даже удостоилась статьи на Хабре :-)), и вот наконец в июле 2010 тот же Томаш Рокицки вместе с Morley Davidson, John Dethridge и Herbert Kociemba получили окончательный результат — 20 ходов.

Как?


Всего существует 8! * 37 * 12! * 210 = 43,252,003,274,489,856,000 ~ 4.3 * 1019 конфигураций кубика. С использованием симметрий и покрытия множеств они свелись к 55,882,296 существенно разным конфигурациям, которые пришлось честно решать. Для упрощения задачи для каждой конфигурации искали не оптимальное решение (оно же решение бога), а решение за 20 или менее ходов.

Наконец, конфигурации были распределены между множеством компьютеров Гугл, и вычисления завершились всего за несколько недель. На хорошем компьютере (Intel Nehalem, four-core, 2.8GHz) эти вычисления заняли бы 1.1 миллиард секунд, или 35 лет.

Реакция


Хотя кубик Рубика многие критикуют за отсутствие практической ценности, полученный результат все-таки интересен — хотя бы своей окончательностью, поскольку ни верхняя, ни нижняя граница не могут быть сдвинуты дальше. Широко известная (а вы сами увлекались кубиком?) открытая задача решена, можно поздравить иссдедователей и переключиться на что-то другое.

Забавно, что многие люди, узнающие об этом результате, укоризненно высказываются в том плане, что Гуглу некуда девать вычислительные мощности, которыми можно решить проблему рака. Ну, если кто-то действительно может найти лечение рака всего лишь за 35 CPU-лет (и несколько лет своей работы), я думаю, Гугл с удовольствием ему их выделит.

Источники


1. God's Number is 20
2. Кубик Рубика в Википедии
3. Обсуждение новости на reddit
Теги:
Хабы:
Всего голосов 37: ↑33 и ↓4+29
Комментарии22

Публикации

Истории

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург