Как сложить кубик Рубика новичку по алгоритму бога? Дополненная реальность приходит на помощь



    Несмотря на то, что кубику Рубика уже много десятков лет, эта головоломка продолжает оставаться популярной. Ставятся рекорды — как людьми, так и роботами, совершенствуется алгоритм решения головоломки. Причем сейчас компьютеры уже могут научить собирать Кубик человека с любым уровнем опыта (речь здесь идет о приложениях обучающих, коих немало). Правильно собрать все грани после пары дней обучения при помощи компьютера смогут даже те, кто взял игрушку в руки в первый раз.

    К слову, чемпион мира по сборке кубика Рубика (да, есть и такие чемпионы) решает головоломку всего за 4,9 секунды. Чемпиона зовут Лукас Эттер, это подросток из США. Аналогичный рекорд для роботизированной системы составляет уже 0,887 секунды (правда, этот результат еще не подтвержден). Но как научиться быстро собирать кубик Рубика самостоятельно? Можно тренироваться (на это могут уйти многие годы). А можно воспользоваться специальной программой, которая поможет собрать кубик в минимальное число ходов (так называемый алгоритм бога). Здесь никакие тренировки не нужны, приложение делает все само.

    Вот так собирает кубик чемпион-человек:


    А так — чемпион-компьютер:


    Вообще говоря, существует множество алгоритмов для сборки головоломки. Для обычного человека среднее число ходов составляет около 40. Немногие чемпионы умеют собирать кубик по алгоритму бога. Если кратко, то так называют алгоритм, который требует для сборки любой начальной конфигурации минимальное количество ходов. Для кубика Рубика это число равно 20.

    А теперь вернемся к дополненной реальности. Разработчик по имени Martin Španěl создал приложение Mistr Kostky, которое помогает собирать кубик Рубика человеку. Причем число ходов как раз то самое — ровно 20. Приложение может определять состояние 2-3 граней кубика одновременно, а для распознавания получаемых изображений используется библиотека OpenCV.

    В дополненной реальности показывается, как нужно вращать грани головоломки, чтобы достичь оптимального количества ходов. Разработчик создал свою программу в рамках научной работы — он является студентом Карлова университета (Прага).

    Работает программа в два этапа. На первом происходит распознавание состояния каждой грани. После того, как система завершает первый этап, начинается второй — приложение показывает пользователю, куда и как нужно вращать грани кубика для решения головоломки (иногда получается это сделать менее, чем за 20 ходов).



    Интересно, что если владелец головоломки ошибается, то приложение приходится перезапускать — оно не в состоянии перестроиться «на лету». Отмечу, что приложения для решения кубика рубика появились не сейчас. Это одно из лучших, да, но еще в 2009 году в каталог приложений Apple была добавлена программа Cube Cheater. Она помогала пользователю найти решение по фотографии граней.

    Изначально автор создавал свое приложение под Android, но обещал выпустить и версию под другие платформы. Вот ветка обсуждения Mistr Kostky на Reddit.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Есть ли у вас кубик Рубика?

    Поддержать автора
    Поделиться публикацией

    Комментарии 28

      +4
      Да, и я регулярно пытаюсь его собрать
      Чего пытаться? Берешь и собираешь.
      Для обычного человека среднее число ходов составляет около 40
      Ну… Когда давным-давно считал буквально все движения, получалось около 200 по обычным формулам. Как раз на пару минут для «обычного человека».
        +5
        По опросу заметно, что marks собирать Кубик Рубика не умеет :)
          +1
          Спорить не буду. Но не теряю надежды найти время и научиться собирать быстро :)
          –1
          Может по опросу заметно, что у него нет проблемы с теплыми вещами? )
          +9
          35 — 45 ходов — типичная сборка мирового рекордсмена по сборке на скорость, пара месяцев тренировки — 70 — 90.
          Вообще, как куберу, статья сильно не понравилась, много неточностей.
          «Причем сейчас компьютеры уже могут научить собирать Кубик человека с любым уровнем опыта.» Ну это вообще никак не соответствует этой вселенной. Как заметили в комментарии ниже — это ни разу не обучение — просто человек вместо компьютера крутит куб.
          «чемпион мира по сборке кубика Рубика» Тут, полагаю, не только куберы со мной согласятся — более солидно определять по среднему времени. 6.54 Feliks Zemdegs. И уже очень давно. Впрочем, надо отдать должное — фигура Лукаса тоже значима не меньше, первый официальный результат меньше 5 секунд.
          «Но как научиться собирать кубик Рубика самостоятельно?» — годы тренировок — не надо так. Один день учить формулы и кубик собирается на ура. Собрать быстро — другая задача, сам уже около девяти месяцев занимаюсь эти. Впрочем, опять, дело в желании и времени, Феликс в своё время за два месяца научился собирать меньше чем за 20 секунд.
          «Алгоритм бога» тут тоже не алгоритм бога — программа старается найти произвольное решение <= 20, но оно может быть не минимальным, да и перебор это несерьёзно — куда интересней современные сборки КХ-шников (соревнования по сборке на количество ходов)
          «Немногие чемпионы умеют собирать кубик по алгоритму бога» — на этой планете никто не знает алгоритм бога и собирать им не умеет. Лучший результат Tim Wong 19 ходов. Среднее по трём сборкам — 24.33 Marcel Peters.
          «40 ходов» Не нашёл по этой ссылке упоминание сорока ходов, хотя, кажется, искал хорошо. Данный там алгоритм как раз за 100 — 200 решит головоломку, да. Нормальный ресурс — speedcubing.ru
            –2
            По поводу компьютеров — есть как раз обучающие программы, они и имеются в виду. Приложение, о котором говорится в материале выше не учит, это очевидно.

            По поводу собирать кубик Рубика — имеется в виду скоростная сборка, вы правы. Обычно на это уходит много месяцев или лет. Достижение Феликса, скорее, исключение. Наверное, его можно назвать гением в применении к сборке кубика.
            +3
            TIL: Я необычный человек и мне нехватит и 500 движений чтобы собрать
            +4
            а где вариант — да, периодически собираю?
              +2
              ага, и каждый раз поражаюсь как руки сами вспоминают все эти формулы «право-лево-двафасада_фасад_лево_двалево....» из журнала «Наука и Жизнь», а ведь сколько уж лет прошло
                0
                Присоединяюсь. Собираю 3х3, 4х4, 7х7. Остальные ещё мне не попались=)
                +3
                Программа не учит собирать Кубик Рубика, оно просто собирает вместо человека головоломку за 20 и менее ходов. Если рассматривать приложение как средство обучения сборке, то ценность равна нулю.

                Алгоритм Бога опирается прежде всего на комбинаторику и вряд ли человек сможет научиться «в уме» просчитывать миллионы перестановок, чтобы найти наикратчайший способ.
                  0
                  Научить вообще затруднительно. Я сколько раз пытался научится, пару дней помню, а потом забываю. Только два ряда могу собрать, причем формул для них не использую, сам когда то научился собирать.
                  +1
                  После N попыток собрать кубик Рубика без подсказок и все неудачно. Потом посмотрел схемы как собирать, но собрать я его всё равно не смог. Попробовать еще раз что ли?))
                    +2
                    Да ничего сложного в запоминании простых формул нет. Есть на А4 инструкции со стрелками, вместо формул. Очень просто. Было бы время, например, в метро. Я 5х5 собирал в метро, пока 50 мин ехал в одну сторону. И вечером обратно. Так и выучил. Весело было смотреть на реакцию случайных зрителей. Даже ставки делали (вечером в пятницу ))) Большинству же инвариантны к кубикам. Им что 3х3, что 5х5 одно и тоже. Хорошо если название вспомнят.

                    Для 3х3 формулы короткие и их всего несколько штук. По началу минут десять-пятнадцать по инструкции собирать. Далее можно разогнаться до минуты. А если еще быстрее, нужно учить сотни формул. Это уже speedcubing со своими суперкубиками с суперсмазкой, чтобы не разлетались во время сборки.

                    Для 5х5 формул уже в разы больше и они в разы длиннее. После их изучения можно собирать и 2х2, и 3х3, и 4х4, и даже 10х10.
                      +2

                      В чем интерес собирать по кем-то заранее выведенным формулам?

                        +1
                        Кубик приятен наощупь, его приятно крутить вертеть, как четки, попутно думать о чем-то… А если выучить 5 или 6 простых комбинаций — так его можно собирать с разными узорами. Комбинации не сложные, я запоминал так: «закрутить, навстречу, вверх, вправо, вниз, закрутить» — это 2 боковых квадратика переходят на верхнюю грань :)
                          +1
                          В детстве специально не смотрел алгоритмы, чтобы самому их найти. Несклько штук нашел, но потом интерес пропал. Возможно на пенсии добью эту тему :)
                            +2
                            У меня два слоя получалось собрать без алгоритмов, дальше уже никак.
                          +1
                          У меня есть 4x4x4 и 5x5x5. Особых формул и не нужно почти после 3x3x3 — так же собирается одна сторона, потом прилегающие собираются (можно допереть и своим умом). Сложности бывают с последней стороной — не всегда кубих хочет «сводиться» к обычному 3x3x3. Для 4x4x4 заучивал одну «формулу» для «починки» кубика, если он к 3x3x3 не свёлся, но сейчас уже не вспомню.
                          Но если в конце не сошлось — можно просто замешать и со второго раза может собраться нормально и без специальных формул. Хотя для 5x5x5 это потребует много времени.
                        +1
                        Я 3 на 3 не могу собрать, а есть ведь и такое
                        +2
                        В журнале «Наука и жизнь» были хорошие формулы.
                          +2
                          Да. Насколько я помню, там даже давали алгоритмы сборок с рисунком — крест по центру, квадрат в центре и т. д.
                            +1
                            Тоже в школьное время поразвлекался со сборкой по формулам. Но честно говоря не понял зачем. Кубик интересен как математический объект, интересно было бы самому повыводить эти формулы сборки или поискать новые алгоритмы. А сборка по готовым формулам — это читинг какой-то.
                            +1
                            Есть. Валяется где-то. Периодически (на самом деле, апериодически) собираю.

                            Научился в отрочестве по какому-то методу (кажется, из «Юного Техника»). Желания учить более оптимальные алгоритмы и собирать на скорость — нет. Собирается — и ладно. Куда спешить-то? Она на то и забава, чтобы убивать время.
                              +1
                              Я, кажется, из «Собеседника» выучил одну формулу. Этого было достаточно, чтобы поражать окружающих, поэтому заморачиваться дальше не стал. По моторной памяти сейчас даже записать её могу — В'П'Ф'В'ФВП.
                                +1
                                Зато я умел быстро и аккуратно разобрать кубик на составные части и собрать его обратно! ;)

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.