4.3. Протоколы и языки координации
Как уже было отмечено ранее, агенты обмениваются друг с другом информацией посредством переговоров. Протокол взаимодействия агентов как раз и определяет схему (распределенный алгоритм), по которой ведутся такие переговоры. В литературе предложено множество схем переговоров. Мы вкратце рассмотрим лишь несколько из них.
Теория речевых актов (Speech Act Theory, см. [51]). Переговоры строятся с использованием небольшого числа примитивов, например, ASK, TELL, REJECT, REQUEST, COMMIT, NEGOTIATE. Процесс переговоров начинается тогда, когда агент посылает сообщение, содержащее его точку зрения (позицию, attitude) по некоторому вопросу. Посредством обмена cообщениями ASK, TELL, REJECT агенты могут обсуждать некоторую тему и приходить к общему решению. Во время переговоров агенты обновляют свои базы знаний и, тем самым, повышают свои способности отвечать на новые запросы.
Протокол контрактных сетей (Contract Net Protocol) [45, 46] предназначен для координации в системах распределенного решения проблем. Каждый узел контрактной сети способен выполнять определенные задачи. Если в процессе решения один узел (заказчик) не в состоянии решить некоторую задачу, он ищет другой подходящий узел, который способен ее решить. При этом он рассылает объявление потенциальным подрядчикам (contractors) о вакансии на выполнение некоторого договора. Если на это объявление отвечают несколько узлов, то заказчик, пользуясь некоторым критерием, выбирает наиболее подходящего подрядчика. Посредством торгов заказчик и подрядчик заключают договор (contract). Вариации этого протокола используются в так называемых “электронных предприятиях” (electronic enterprises).
СOOL (COOrdination Language) [4, 5] язык во многом схожий с языком KQML (см. Раздел 6), предназначенный для управления совместными действиями. Важнейшими конструкциями языка являются планы переговоров, определяющие состояния и правила переговоров (conversation rules), и переговоры, определяющие текущее состояние плана, исполняемого в конкретный момент. Агенты могут иметь активными несколько переговоров и управлять их переключением и приостановкой, а также динамически создавать дочерние переговоры.
UNP (Unified Negotiation Protocol) описан в работе [60]. В указанной работе приводится механизм разрешения конфликтов, который позволяет повысить суммарную полезность, достигаемую агентами. Рассматриваются конфликтные ситуации, для разрешения которых используется “бросание монетки”, т.е. механизм рандомизации. При этом, в зависимости от того, кто выигрывает жребий, удовлетворяются цели либо обоих агентов, либо только одного. Для подобных ситуаций авторы используют термин "полукооперативная сделка". В условиях полукооперативных сделок агенты могут повысить суммарную полезность, договорившись о координировании совместных действий.
Do'stlaringiz bilan baham: |