Искусственный интеллект сам научился собирать кубик Рубика
Система справляется с задачей за 30 ходов
Система искусственного интеллекта DeepCube самостоятельно за 44 часа научилась собирать кубик Рубика. Программа решает головоломку не хуже систем, опирающихся на знания человека.
Об этом сообщает Gizmodo.
Программа может собрать кубик Рубика в среднем за 30 ходов. Примерно столько же движений используют люди, профессионально занимающиеся сбором головоломки на скорость.
В основе программы лежит глубокое обучение с подкреплением - его суть заключается в том, что управляемый алгоритмом агент, выполняя различные действия, может получать за них награду. Таким образом, методом проб и ошибок он учится выполнять последовательность действий, которые приводят к крупнейшей награде, и постепенно приближается к нужному создателям результату.
Когда DeepCube делает ход, система автоматически просчитывает, к какому результату он приведет. Это позволяет программе определить среднюю длину решения, а также "силу" хода. После того, как алгоритм собирает необходимое количество данных, он находит оптимальный набор действий, используя метод дерева решений - то есть проверяя каждое возможное движение, чтобы определить, какое из них является лучшим.
В процессе обучения DeepCube за 44 часа решил около миллионов кубиков Рубика (включая повторы). Алгоритм использовал 32-ядерный сервер Intel Xeon E5-2620 с тремя видеокартами NVIDIA Titan XP.
По словам авторов, система получила достаточное количество знаний во время тренировки: например, она самостоятельно нашла стратегию, которую используют продвинутые спидкуберы - сопоставление сторон и углов головоломки перед тем, как их переместить в нужную позицию.
"Наш алгоритм способен решить 100 кубиков случайной сменой, достигнув медианы в 30 шагов - это меньший или почти такой же результат, как у алгоритмов, использующих человеческие знания", - комментирует руководитель проекта Стивен Макалир.
Некоторые конфигурации кубика Рубика были слишком тяжелыми для алгоритма, поэтому в будущем разработчики надеются улучшить его работу. К тому же, сейчас DeepCube использовался для того, чтобы решить головоломку 3 × 3 × 3, однако его можно научить собирать кубики 4 × 4 × 4.
Напомним, искусственный интеллект научился одевать людей. Создан робот, который может надевать на человека больничную одежду.