Модель искусственной жизни MANTA

Муравьи представляют столь же важный тестовый «материал» для искусственной жизни, что и мушки Drosophilia для генетики. Они занимают особое место в искусственной жизни благодаря своей индивидуальной простоте при достаточно сложном групповом поведении. Муравьи способны создавать гибкие динамические архитектуры там и тогда, где и когда это необходимо, например, специальные пути между гнездами и источниками пищи или даже «живые мосты» при перемещении муравьиного роя в лесу. Существует немало имитаторов искусственной жизни, опирающихся на моделирование свойств колонии муравьев.

Модель MANTA ориентирована на создание программной среды для реализации «социальных вычислений». При ее создании использован агентно-ориентированный подход к программированию. Система MANTA состоит из агентов трех типов:

  • агенты – сотрудники: матка, рабочие муравьи, мужские особи;
  • зависимые агенты – личинки на разных стадиях развития, коконы;
  • «физические» агенты – свет, влажность, мусор, погибшие муравьи.

Свойства агентов объединяются в классы, причем класс, расположенный ниже по иерархии, наследует свойства верхнего класса. Все агенты в модели имеют:

  • общую абстрактную форму поведения – класс EtnoBehavior;
  • графическое представление (иконку) – класс InterfaceBehavior;
  • определенное положение в пространстве – класс LocatedBehavior;
  • возможность изменять свое состояние как функцию времени (могут взрослеть) – класс MaturingBehavior.

Таким образом, иерархическая структура используется не только в самом представлении биологических и физических агентов, но и в их программных функциях, таких как интерфейс. Например, класс InterfaceBehavior позволяет любому агенту сообщить о своем местонахождении так, чтобы оно было отражено графически на экране монитора. Программисту надо лишь причислить агента к определенному классу, чтобы присвоить ему все желаемые возможности.

Существуют важные отличия между абстрактными и конкретными классами. Абстрактные классы предлагают ряд методов и абстрактных структур. При этом в них существуют методы, которые используются всеми объектами класса. Например, метод «ReadEnvironment», вызываемый каждым объектом на каждом цикле моделирования, обеспечивает различные функции: оценку запасов еды или возраста агента. Конкретные классы определяют параметры, контролирующие каждую отдельную реализацию абстрактно описанного поведения.

Модель MANTA представляет собой весьма удачную попытку вместить биологию и физику искусственного мира в рамки объектно- и агентно-ориентированных подходов к программированию, где муравьиное сообщество программно реализовано как иерархия реактивных агентов.

Это интересно

Смотрите также