ENRU

Штучний інтелект самостійно навчився збирати кубик Рубіка

Нова система штучного інтелекту DeepCube самостійно за 44 години навчилася збирати кубик Рубіка. Програма вирішує головоломку не гірше систем, що спираються на знання людини.

Про це повідомляє Gizmodo.

Програмісти створили систему штучного інтелекту, яка здатна зібрати кубик Рубіка в середньому за 30 ходів. Приблизно стільки ж рухів використовують люди, що професійно займаються спідкубінгом — збиранням головоломки на швидкість.

В основі програми лежить глибоке навчання з підкріпленням — його суть полягає в тому, що керований алгоритмом агент, виконуючи різні дії, може отримувати за них нагороду. Таким чином, методом проб і помилок він вчиться виконувати послідовність дій, що приводить до найбільшої нагороди, а отже поступово наближається до потрібного творцям результату.

Коли DeepCube робить хід, система автоматично прораховує, до якого результату він призведе. Вона фактично «стрибає» до того стану, коли головоломка вирішена, а потім повертається назад до запропонованого руху. Це дозволяє програмі визначити середню довжину рішення, а також «силу» ходу. Після того, як алгоритм збирає необхідну кількість даних, він знаходить оптимальний набір дій, використовуючи метод дерева рішень — тобто перевіряючи кожний можливий рух, щоб визначити, який з них є найкращим. Все це відбувається без втручання людини.

В процесі навчання DeepCube за 44 години вирішив близько мільйонів кубиків Рубика (включаючи повтори). Алгоритм використовував 32-ядерний сервер Intel Xeon E5-2620 з трьома відеокартами NVIDIA Titan XP.

За словами авторів, система отримала достатню кількість знань під час тренування: наприклад, вона самостійно знайшла стратегію, яку використовують просунуті спідкубери — зіставлення сторін і кутів головоломки перед тим, як їх перемістити в потрібну позицію.

«Наш алгоритм здатний вирішити 100 кубиків з випадковою зміною, досягнувши медіани в 30 кроків — це менший або майже такий же результат, як в алгоритмів, що використовують людські знання», — коментує керівник проекту Стівен Макалір.

Деякі конфігурації кубика Рубіка були занадто важкими для алгоритму, тому в майбутньому розробники сподіваються поліпшити його роботу. До того ж, зараз DeepCube використовувався для того, щоб вирішити головоломку 3 × 3 × 3, проте його також можна навчити збирати кубики 4 × 4 × 4.

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

Сьогоднішній рекорд зі швидкісного збирання кубика Рубіка належить австралійцю Феліксу Земдегса, який в травні 2018 року зібрав головоломку за 4,22 секунди. Серед машин неофіційним чемпіоном вважається робот Бена Каца і Джареда Ді Карло, який здатний зібрати кубик Рубіка за 0,38 секунди.

Раніше ми розповідали, що штучний інтелект допоможе «відновити голос» радіожурналісту.