Интеллектуальные агенты. Конкретные архитектуры интеллектуальных агентов. Языки программирования агентов., страница 16

Чтобы проиллюстрировать категоризационную структуру в деталях, мы покажем как агенты с категоризационной структурой были построены для следующих сценариев (этот пример приведен из [66]):

Целью является исследование удаленной планеты, более конкретно, собрать образцы определенных типов драгоценных камней. Расположение образцов камней неизвестно заранее, но они обычно располагаются в кластерах в местах определенного вида. Количество автономных аппаратом такое, что можно объехать вокруг планеты, собирая образцы ,и потом вернуться на материнский корабль для возвращения на Землю. Нет никакой детальной карты планеты, хоти известно что, местность полна препятствий – холмы, впадины и т. д., которые не дают возможности для коммуникации между аппаратами.

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

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

Другой механизм позволяет агентам общаться друг с другом. Особенности местности препятствуют прямой коммуникации (такой как передача сообщений), так что Стилс применил метод непрямого общения. Идея в том, что агенты переносят радиоактивные крошки, которые могут быть брошены подняты и опознаны проходящими роботами. Таким образом, если агент бросает некоторые из этих крошек в некоторой области ,тогда позже другой агент, оказавшийся на этом участке, сможет определить их. Этот простой механизм позволяет реализовать довольно сложные формы совместной деятельности.

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

Для индивидуальных (не кооперативных) агентов поведением самого нижнего уровня (и таким образом поведение с наибольшим приоритетом) является избегание препятствий. Это поведение может быть описано следующим правилом:

если обнаружено препятствие, то сменить направление                       (1.6).

Второе поведение обеспечивает условие,  что все собранные образцы будет доставлены на материнский корабль:

если несу образцы и на базе, то сбросить образцы                                   (1.7)

если несу образцы и не на базе ,то идти на усиление сигнала                 (1.8).

Поведение (1.8) гарантирует, что агент, несущий образцы, возвратится на материнский корабль (двигаясь в направлении источники градиентного поля). Следующее поведение обеспечивает то, что агент соберет все образцы найденные им.

если обнаружен образец, то подобрать его                                                (1.9)

И последнее поведение обеспечивает ,что если нет ничего лучшего сделать, то исследовать случайным образом.

если правда, то двигаться случайным образом                                          (1.10).


Исходное условие в этом правиле всегда срабатывает. Эти поведения  расположены в следующем порядке иерархии:

Это категоризационная иерархия в этом примере гарантирует что например агент всегда будет поворачиваться, если обнаружено какое-либо препятствие; если он на материнском корабле и несет образцы, то он всегда сбросит их,  если нет непосредственной опасности столкновения и т. д. Поведение верхнего уровня – случайное передвижение – будет происходить только в том случае, если у агента нет никакого более срочного дела. Нетрудно увидеть, как этот простой набор поведений решает проблему: агенты всегда ищут образцы (в основном случайным поиском) и, когда находят  их, возвращаются на материнский корабль.