Ученые из Брауновского университета, США, использовали компьютерную игру Minecraft для отработки алгоритма, улучшающего способность роботов ориентироваться в «сложных» пространствах. Новая модель добавляет «подсказки» в дерево объектов и решений, что ускоряет реакцию робота на внешние воздействия. Работа будет представлена в рамках предстоящей International Conference on Automated Planning and Scheduling, сейчас можно ознакомиться с текстом (pdf) доклада на сайте университета.
Модель, которую использовали в работе, является дополнением к распространенному методу OO-MDP (объектно-ориентированный марковский процесс принятия решений). Идея дополнения состояла в том, чтобы дать роботу «подсказки» на основании предыдущего опыта. Модель протестировали в Minecraft, а затем использовали для программирования робота-кухонного помощника.
«Подсказки» или «возможности», которые ученые назвали «affordances», формируются, исходя из простых задач. Например, в Minecraft алгоритму ставится задача: добыть руду. Для этого у него есть кирка и в небольшой стартовой локации есть жила. Полное дерево решений даже в такой примитивной постановке оказывается слишком большим. Однако после нескольких попыток в простой задаче алгоритм выучивал подсказку «если жила находится под камнем — надо уничтожить камень». В следующих попытках он уже мог ей воспользоваться, а не перебором пробовать все взаимодействия между объектами.
Аналогичную модель применили и в «кухонном» эксперименте. Робот-помощник наблюдал за происходящим за столом и на этом основании старался помочь человеку, который готовил брауни. Например, заметив, что человек достал из шкафа банку с какао, у робота на основании предыдущего опыта срабатывала подсказка «сухие предметы лучше перемешивать ложкой», поэтому робот находил на столе ложку и предлагал ее человеку. Аналогичная ситуация происходила с взбиванием яиц, только в этом случае робот предлагал человеку венчик.
Решение задач в сложной динамической среде оказывается очень трудным процессом для роботов из-за огромного числа возможных решений. Как замечают авторы «чтобы выкинуть мусор, человек не станет сначала включать плиту, он сразу пойдет к мусорке. Для робота же вариант с плитой может оказаться приемлемым, ему сложно сразу выбрать оптимальное решение». Алгоритмы с «подсказками», могут упростить дерево решений и помочь в адаптации роботов к сложным условиям.