Опубликован: 23.05.2008 | Доступ: свободный | Студентов: 1561 / 386 | Оценка: 4.80 / 4.10 | Длительность: 15:29:00
Специальности: Программист
Лекция 10:

Распределенные интеллектуальные системы на основе агентов

< Лекция 9 || Лекция 10: 123 || Лекция 11 >

В мультиагентной системе каждый агент может/должен решать проблему распределения своих задач между другими агентами. Эта проблема возникает, если у агента A есть несколько задач, требующих решения, и он не справляется со всеми (из-за недостатка ресурсов). Тогда он может попытаться передать часть своих задач другим агентам Ai, у которых мало или совсем нет задач. Решение проблемы распределения состоит из четырех фаз:

  1. декомпозиция агентом A задачи на подзадачи;
  2. назначение подзадач агентам Ai ;
  3. решение подзадач агентами;
  4. синтез общего результата из частных результатов.

Декомпозиция заключается в генерации множества подзадач, которые потенциально могут быть переданы другим агентам.

При назначении подзадач должны быть выбраны подходящие (по тем или иным критериям) агенты.

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

Синтез результата производится тем агентом A, который инициировал распределение задачи. Он собирает частные результаты своих "помощников" Ai и формирует общий результат. Процесс формирования зависит от того, как исходная задача была разделена на подзадачи. Если декомпозиция, как отмечено выше, была многоуровневой, то и синтез результата будет многоуровневым.

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

Решение агентами каждой локальной подзадачи будет производиться на основе некоторых предположений о потоках автомобильного транспорта на "входах" в соответствующую территорию. С учетом предположений могут быть найдены оптимальные локальные решения Ri.

При синтезе общего решения R из локальных решений Ri должна быть произведена "сшивка" решений Ri по границам территорий. И вот здесь может быть выявлена несогласованность сделанных ранее агентами Ai локальных предположений о потоках на границах. Дело в том, что в результате локального решения для территории k будут, в частности, получены и описания "выходных" потоков транспорта с территории k. Если территория k смежна с территорией l и поток из k направляется в l, то "вычисленный" выходной поток k может не совпасть с "предполагаемым" входным потоком l.

Более того, имеется и встречный поток из территории l в территорию k. Кроме того, территориям k и l смежны еще и другие территории. Так что рассогласования могут быть весьма разнообразны.

В результате этого решение R не может быть получено простым объединением решений Ri.

В этом случае возможны следующие стратегии: возврат с пересмотром локальных решений Ri на основе новых предположений о потоках на границах; повторная декомпозиция задачи и повторение всего процесса решения.

Возврат с пересмотром локальных решений порождает итерационный процесс, состоящий из следующих шагов:

  1. изменение предположений о "входных" потоках территорий с учетом вычисленных "выходных" потоков;
  2. пересчет локальных решений Ri ;
  3. сравнение новых выходных потоков предположениями о входных потоках. При совпадении или небольших отклонениях – прекращение процесса. При больших отклонениях – возврат к пункту 1.

Если итерационный процесс завершился в пункте 3 полными совпадениями, то итоговое решение R может быть получено простым объединением решений Ri.

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

Если процесс не сходится, то требуется повторная декомпозиция задачи. Например, исходя из иного территориального разбиения.

Для задачи управления транспортными потоками правильным будет не административно-районное деление, а деление, основанное на крупных магистралях, когда локальные решения Ri ищутся для магистралей и прилегающих улиц. В частности, известное решение "зеленой улицы", при котором вдоль магистрали светофоры переключаются так, чтобы обеспечить безостановочное движение автомобилю, движущемуся с определенной скоростью, невозможно или трудно найти при районном делении территории, если магистраль пересекает несколько районов.

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

Описанные проблемы поиска решения имеют в области искусственного интеллекта наименование "удовлетворение распределенных ограничений" (Distributed Constraint Satisfaction).

< Лекция 9 || Лекция 10: 123 || Лекция 11 >
Дмитрий Полянский
Дмитрий Полянский
Ольга Космодемьянская
Ольга Космодемьянская

Я прошла курс "Распределенные системы и алгоритмы". Сдала экзамен экстерном и получила диплом. Вопрос: можно ли после завершения теста посмотреть все вопросы, которые были на экзамене и все варианты ответов? Мне это необходимо для отчета преподавателю в моем ВУЗе. Заранее спасибо!