Для построения систем управления мобильными роботами целесообразно использовать технологию автоматного программирования, в которой, в частности, предлагается строить программу как систему автоматов, взаимодействующих между собой за счет вложенности и вызываемости. Более подробно данный подход описан на сайте нашей кафедры: http://is.ifmo.ru
На практике встречаются задачи, для которых известно, что они могут быть решены при помощи конечных автоматов, но эвристически построить для них автомат чрезвычайно сложно. Попытки решения подобных задач осуществляются, в частности, при помощи различных методов автоматического синтеза программ. Одним из таких методов является генетическое программирование.
Недавно роботы научились обманывать друг друга. Исследователи из EPFL (Ecole Polytechnique Federale de Lausanne, Швейцария) используют определенный вид генетического программирования для того, чтобы роботы были способны самообучению таким вещам, как прохождение лабиринтов, кооперация в различных задачах и охота друг на друга.
Работа алгоритмов самообучения заключается в том, что роботы программируются только на базовом уровне и снабжаются самой простой информацией о своих датчиках. Во-первых, роботы несведущи по поводу того, каким образом получать информацию со своих датчиков и как ее применять для достижения целей. Но после каждого тестирования, случайные варианты действий перерастают в код. Код роботов, которые демонстрируют наиболее выдающиеся результаты, переходит на следующий уровень. Процесс повторяется еще определенное количество времени. В этом эксперименте после 100 поколений роботы сами научились, преодолевать лабиринт, не сталкиваясь со стенками.