Як скласти кубик Рубіка новачкові за алгоритмом бога Доповнена реальність приходить на допомогу

рубіка

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

До речі, чемпіон світу зі збирання кубика Рубіка (так, є й такі чемпіони) вирішує головоломку лише за 4,9 секунди. Чемпіона звати Лукас Еттер, це підліток із США. Аналогічний рекорд для роботизованої системи становить уже 0,887 секунди (щоправда, цей результат ще не підтверджено). Але як навчитися швидко збирати кубик Рубіка самостійно? Можна тренуватися (на це можуть піти багато років). А можна скористатися спеціальною програмою, яка допоможе зібрати кубик у мінімальну кількість ходів (так званий алгоритм бога). Тут ніякі тренування не потрібні, програма робить все сама.

Ось так збирає кубик чемпіон-людина:

А так – чемпіон-комп'ютер:

Взагалі, існує безліч алгоритмів для збирання головоломки. Для звичайної людини середня кількість ходів становить близько 40. Деякі чемпіони вміють збирати кубик за алгоритмом бога. Якщо коротко, то так називають алгоритм, який вимагає для збирання будь-якої початкової конфігурації мінімальну кількість ходів. Для кубика Рубіка це число дорівнює 20.

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

Доповнена реальність показує, як потрібно обертати грані головоломки, щоб досягти оптимальної кількості ходів. Розробник створив свою програму в рамках своєї наукової роботи – він є студентом Карлового університету (Прага).

Працює програма у два етапи. У першому відбувається розпізнавання стану кожної грані. Після того, як система завершує перший етап, починається другий - програма показує користувачеві, куди і як потрібно обертати грані кубика для вирішення головоломки (іноді виходить це зробити менше, ніж за 20 ходів).

Цікаво, що якщо власник головоломки помиляється, то додаток доводиться перезапускати - він не в змозі перебудуватися "на льоту". Зазначу, що програми для розв'язання кубика рубика з'явилися не зараз. Це одне з найкращих, так, але ще в 2009 році до каталогу додатків Apple було додано програму Cube Cheater. Вона допомагала користувачеві знайти рішення щодо фотографії граней.