Несмотря на то, что кубику Рубика уже много десятков лет, эта головоломка продолжает оставаться популярной. Ставятся рекорды — как людьми, так и роботами, совершенствуется алгоритм решения головоломки. Причем сейчас компьютеры уже могут научить собирать Кубик человека с любым уровнем опыта (речь здесь идет о приложениях обучающих, коих немало). Правильно собрать все грани после пары дней обучения при помощи компьютера смогут даже те, кто взял игрушку в руки в первый раз.
К слову, чемпион мира по сборке кубика Рубика (да, есть и такие чемпионы) решает головоломку всего за 4,9 секунды. Чемпиона зовут Лукас Эттер, это подросток из США. Аналогичный рекорд для роботизированной системы составляет уже 0,887 секунды (правда, этот результат еще не подтвержден). Но как научиться быстро собирать кубик Рубика самостоятельно? Можно тренироваться (на это могут уйти многие годы). А можно воспользоваться специальной программой, которая поможет собрать кубик в минимальное число ходов (так называемый алгоритм бога). Здесь никакие тренировки не нужны, приложение делает все само.
Вот так собирает кубик чемпион-человек:
А так — чемпион-компьютер:
Вообще говоря, существует множество алгоритмов для сборки головоломки. Для обычного человека среднее число ходов составляет около 40. Немногие чемпионы умеют собирать кубик по алгоритму бога. Если кратко, то так называют алгоритм, который требует для сборки любой начальной конфигурации минимальное количество ходов. Для кубика Рубика это число равно 20.
А теперь вернемся к дополненной реальности. Разработчик по имени Martin Spanel создал приложение Mistr Kostky, которое помогает собирать кубик Рубика человеку. Причем число ходов как раз то самое — ровно 20. Приложение может определять состояние 2-3 граней кубика одновременно, а для распознавания получаемых изображений используется библиотека OpenCV.
В дополненной реальности показывается, как нужно вращать грани головоломки, чтобы достичь оптимального количества ходов. Разработчик создал свою программу в рамках научной работы — он является студентом Карлова университета (Прага).
Работает программа в два этапа. На первом происходит распознавание состояния каждой грани. После того, как система завершает первый этап, начинается второй — приложение показывает пользователю, куда и как нужно вращать грани кубика для решения головоломки (иногда получается это сделать менее, чем за 20 ходов).
Интересно, что если владелец головоломки ошибается, то приложение приходится перезапускать — оно не в состоянии перестроиться «на лету». Отмечу, что приложения для решения кубика рубика появились не сейчас. Это одно из лучших, да, но еще в 2009 году в каталог приложений Apple была добавлена программа Cube Cheater. Она помогала пользователю найти решение по фотографии граней.
Изначально автор создавал свое приложение под Android, но обещал выпустить и версию под другие платформы. Вот ветка обсуждения Mistr Kostky на Reddit.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (28)
Edwardsh
01.06.2016 16:10+4а где вариант — да, периодически собираю?
KonstantinSoloviov
02.06.2016 00:34+2ага, и каждый раз поражаюсь как руки сами вспоминают все эти формулы «право-лево-двафасада_фасад_лево_двалево....» из журнала «Наука и Жизнь», а ведь сколько уж лет прошло
valemak
01.06.2016 16:15+3Программа не учит собирать Кубик Рубика, оно просто собирает вместо человека головоломку за 20 и менее ходов. Если рассматривать приложение как средство обучения сборке, то ценность равна нулю.
Алгоритм Бога опирается прежде всего на комбинаторику и вряд ли человек сможет научиться «в уме» просчитывать миллионы перестановок, чтобы найти наикратчайший способ.Welran
02.06.2016 13:16Научить вообще затруднительно. Я сколько раз пытался научится, пару дней помню, а потом забываю. Только два ряда могу собрать, причем формул для них не использую, сам когда то научился собирать.
DEamON_M
01.06.2016 16:35+1После N попыток собрать кубик Рубика без подсказок и все неудачно. Потом посмотрел схемы как собирать, но собрать я его всё равно не смог. Попробовать еще раз что ли?))
Danov
01.06.2016 16:46+2Да ничего сложного в запоминании простых формул нет. Есть на А4 инструкции со стрелками, вместо формул. Очень просто. Было бы время, например, в метро. Я 5х5 собирал в метро, пока 50 мин ехал в одну сторону. И вечером обратно. Так и выучил. Весело было смотреть на реакцию случайных зрителей. Даже ставки делали (вечером в пятницу ))) Большинству же инвариантны к кубикам. Им что 3х3, что 5х5 одно и тоже. Хорошо если название вспомнят.
Для 3х3 формулы короткие и их всего несколько штук. По началу минут десять-пятнадцать по инструкции собирать. Далее можно разогнаться до минуты. А если еще быстрее, нужно учить сотни формул. Это уже speedcubing со своими суперкубиками с суперсмазкой, чтобы не разлетались во время сборки.
Для 5х5 формул уже в разы больше и они в разы длиннее. После их изучения можно собирать и 2х2, и 3х3, и 4х4, и даже 10х10.BelBES
02.06.2016 00:31+2В чем интерес собирать по кем-то заранее выведенным формулам?
mib
02.06.2016 00:53+1Кубик приятен наощупь, его приятно крутить вертеть, как четки, попутно думать о чем-то… А если выучить 5 или 6 простых комбинаций — так его можно собирать с разными узорами. Комбинации не сложные, я запоминал так: «закрутить, навстречу, вверх, вправо, вниз, закрутить» — это 2 боковых квадратика переходят на верхнюю грань :)
olegkrasnov
02.06.2016 02:27+1В детстве специально не смотрел алгоритмы, чтобы самому их найти. Несклько штук нашел, но потом интерес пропал. Возможно на пенсии добью эту тему :)
Evir
02.06.2016 00:33+1У меня есть 4x4x4 и 5x5x5. Особых формул и не нужно почти после 3x3x3 — так же собирается одна сторона, потом прилегающие собираются (можно допереть и своим умом). Сложности бывают с последней стороной — не всегда кубих хочет «сводиться» к обычному 3x3x3. Для 4x4x4 заучивал одну «формулу» для «починки» кубика, если он к 3x3x3 не свёлся, но сейчас уже не вспомню.
Но если в конце не сошлось — можно просто замешать и со второго раза может собраться нормально и без специальных формул. Хотя для 5x5x5 это потребует много времени.
vlad72
02.06.2016 00:33+2В журнале «Наука и жизнь» были хорошие формулы.
DanXai
02.06.2016 07:27+2Да. Насколько я помню, там даже давали алгоритмы сборок с рисунком — крест по центру, квадрат в центре и т. д.
Dum_spiro_spero
02.06.2016 14:14+1Тоже в школьное время поразвлекался со сборкой по формулам. Но честно говоря не понял зачем. Кубик интересен как математический объект, интересно было бы самому повыводить эти формулы сборки или поискать новые алгоритмы. А сборка по готовым формулам — это читинг какой-то.
mwambanatanga
02.06.2016 06:47+1Есть. Валяется где-то. Периодически (на самом деле, апериодически) собираю.
Научился в отрочестве по какому-то методу (кажется, из «Юного Техника»). Желания учить более оптимальные алгоритмы и собирать на скорость — нет. Собирается — и ладно. Куда спешить-то? Она на то и забава, чтобы убивать время.
mlg
02.06.2016 07:57+1Я, кажется, из «Собеседника» выучил одну формулу. Этого было достаточно, чтобы поражать окружающих, поэтому заморачиваться дальше не стал. По моторной памяти сейчас даже записать её могу — В'П'Ф'В'ФВП.
LazyCrazy
02.06.2016 09:19+1Зато я умел быстро и аккуратно разобрать кубик на составные части и собрать его обратно! ;)
Danov
Ну… Когда давным-давно считал буквально все движения, получалось около 200 по обычным формулам. Как раз на пару минут для «обычного человека».
valemak
По опросу заметно, что marks собирать Кубик Рубика не умеет :)
marks
Спорить не буду. Но не теряю надежды найти время и научиться собирать быстро :)
valemak
Попробуйте по методике Максима Чечнёва.
saboteur_kiev
Может по опросу заметно, что у него нет проблемы с теплыми вещами? )
Aian
35 — 45 ходов — типичная сборка мирового рекордсмена по сборке на скорость, пара месяцев тренировки — 70 — 90.
Вообще, как куберу, статья сильно не понравилась, много неточностей.
«Причем сейчас компьютеры уже могут научить собирать Кубик человека с любым уровнем опыта.» Ну это вообще никак не соответствует этой вселенной. Как заметили в комментарии ниже — это ни разу не обучение — просто человек вместо компьютера крутит куб.
«чемпион мира по сборке кубика Рубика» Тут, полагаю, не только куберы со мной согласятся — более солидно определять по среднему времени. 6.54 Feliks Zemdegs. И уже очень давно. Впрочем, надо отдать должное — фигура Лукаса тоже значима не меньше, первый официальный результат меньше 5 секунд.
«Но как научиться собирать кубик Рубика самостоятельно?» — годы тренировок — не надо так. Один день учить формулы и кубик собирается на ура. Собрать быстро — другая задача, сам уже около девяти месяцев занимаюсь эти. Впрочем, опять, дело в желании и времени, Феликс в своё время за два месяца научился собирать меньше чем за 20 секунд.
«Алгоритм бога» тут тоже не алгоритм бога — программа старается найти произвольное решение <= 20, но оно может быть не минимальным, да и перебор это несерьёзно — куда интересней современные сборки КХ-шников (соревнования по сборке на количество ходов)
«Немногие чемпионы умеют собирать кубик по алгоритму бога» — на этой планете никто не знает алгоритм бога и собирать им не умеет. Лучший результат Tim Wong 19 ходов. Среднее по трём сборкам — 24.33 Marcel Peters.
«40 ходов» Не нашёл по этой ссылке упоминание сорока ходов, хотя, кажется, искал хорошо. Данный там алгоритм как раз за 100 — 200 решит головоломку, да. Нормальный ресурс — speedcubing.ru
marks
По поводу компьютеров — есть как раз обучающие программы, они и имеются в виду. Приложение, о котором говорится в материале выше не учит, это очевидно.
По поводу собирать кубик Рубика — имеется в виду скоростная сборка, вы правы. Обычно на это уходит много месяцев или лет. Достижение Феликса, скорее, исключение. Наверное, его можно назвать гением в применении к сборке кубика.
Fen1kz
TIL: Я необычный человек и мне нехватит и 500 движений чтобы собрать