Лекция 1. Понятие задачи. Решающие системы первого и второго рода. Задачи решающих систем второго рода. Очевидно, что каждая программа, исполняемая на ЭВМ, предназначена для решения некоторой задачи. Будь то компилятор некоторого языка программирования, графический или текстовый редактор или даже компьютерный вирус. Исключением не являются и программные комплексы систем искусственного интеллекта. Что же понимается современной наукой под термином задача? Задача - это ситуация, в которой для некоторой области действительности (для некоторого оригинала, предмета задачи) заданы модели существующего и требуемого состояний предмета задачи. Тогда задачу далее будем представлять как тройку: З = < К, Ка, Кт >, где К - модель, которая содержит необходимые для решения задачи знания об оригинале и знания о способе решения задачи; Ка - исходная информация (знание) об оригинале (актуальная модель оригинала); Кт - требуемая модель оригинала. Сформулировать задачу – это значит задать модели К, Ка и Кт. Под оригиналом в принятом определении, подразумевается информационный объект, он может представлять собой комплекс разнородных информационных компонентов. Часто роль оригинала играет не объект реального мира, а некоторая другая модель, созданная ранее и практически достоверная. Продолжим рассмотрение понятия задача. Решением задачи называется процесс преобразования модели существующего состояния предмета задачи в модель требуемого состояния: Ка → Кт . 1 Система, реализующая решение задачи, называется решающей системой. Решение задачи может быть расчленено на отдельные действия решающей системы и в целом представлено как последовательность этих действий: d1 Ка d2 К1 d3 К2 dn ... Кт Последовательность действий решающей системы < d1, d2,..., dn > есть путь решения задачи. Под путем решения очень часто понимают алгоритм решения задачи. Все задачи можно разделить на две части в зависимости от того, известен или нет априори путь решения исходной задачи. Если путь решения исходной задачи известен априори, то соответствующая решающая система называется решающая система первого рода. Если же путь решения исходной задачи априори неизвестен, то решающая система, ориентированная на решение подобных задач, называется решающей системой второго рода. Поскольку путь решения задач для решающих систем второго рода явно не задан, он должен быть задан неявно. Неявное задание алгоритма решения задач для решающих систем второго рода получило название способ (схема) решения задач. Способ (схема) решения задач – это некоторое знание о том, как строить путь решения задач, на решение которых ориентирована решающая система. Для решающих систем второго рода характерно, что для них способом решения задач всегда является некоторый метод поиска. Подробнее различные виды поиска будут рассмотрены далее. Пока лишь укажем, что любой поиск реализуется через последовательность шагов поиска. В свою очередь шаг поиска реализуется через работу двух механизмов - генератора, способного породить все возможные решения, и механизма проверки текущего решения на соответствие его поставленной задаче. Содержанием всякого шага поиска является переход из текущего состояния в одно из дочерних состояний. Поиск считается законченным на текущем шаге, если решающая система распознала «дочернее» состояние как целевое. В противном случае, если «дочернее» состояние не распознано как 2 целевое, выполняется очередной этап поиска. Соответственно если известно, что целевое состояние всегда может быть достигнуто непосредственно из текущего, без перехода в промежуточные «дочерние» состояния, то такой поиск и будем называть одношаговым. Задачи решающих систем второго рода варьируются от простых задач (малая область поиска, предметная область статична, описана одной моделью, данные точны и не содержат ошибок) до сложных задач (большое пространство поиска, динамичность модели предметной области, неполнота модели описания, неопределённость исходных данных). Мерой сложности задач решающих систем второго рода являются, с одной стороны, объем поиска (т.е. число шагов поиска), который необходимо выполнить для нахождения пути решения задачи, с другой стороны, - мера неопределенности, которая присуща формулировке задачи. Различаются следующие виды неопределённости формулировки задач: • Параметрическая неопределённость. Этот вид неопределённости характеризуется невозможностью априорного задания параметров описания оригинала. Пусть, например, оригинал описывается функцией у=кх + в, где к, в – параметры. В данном случае для вычисления у необходимо априори задать значения параметров к, в. Если это возможно, то рассматриваемая задача сформулирована с точностью до параметров, характеризующих оригинал. Если же значения рассматриваемых параметров зависят, например, от значения исходных данных, то значения параметров к, в не могут быть заданы априори. Тогда формулировка рассматриваемой задачи может быть сделана путем неявного задания значений параметров через указание функциональной зависимости значений параметров от значений исходных данных: у=хк(х) + в(х). Рассмотренный пример показывает проявление параметрической неопределенности при формулировке задачи. • Функционально-структурная неопределённость. Причина этого вида неопределённости та же: невозможность априорного задания, но уже функциональной зависимости входных и выходных переменных модели оригинала. При наличии обсуждаемой неопределенности обязательно присутствует и параметрическая неопределенность. 3 Примером задач, для которых характерны первые два вида неопределенности, являются задачи, на решение которых ориентированы традиционные экспертные системы. Для этих задач характерна невозможность априори задать путь их решения. • Неопределённость по статической структуре оригинала. Рассматриваемая неопределенность может возникнуть при формулировке задачи исследования структуры оригинала. Эта структура должна быть указана, иначе задача не сформулирована. Если структура оригинала не может быть задана априори, то она должна быть указана в неявном виде. Например, требуется определить структуру электронной оболочки нейтрального атома и, таким образом, определить его химические свойства. Причём количество протонов, входящих в состав ядра данного атома известно. Тогда можно сказать, что искомая структура задана неявно, т.к. количество протонов в ядре полностью определяет структуру электронной оболочки нейтрального атома. Наличие обсуждаемой неопределенности предполагает обязательное присутствие в формулировке текущей задачи двух предшествующих неопределенностей. Примером системы, ориентированной на решение задач, в формулировке которой допустимо наличие первых трех видов неопределенности, являются мультиагентные системы. Одним из результатов функционирования мультиагентной системы является дерево целей, соответствующее текущей задаче. • Неопределённость по оригиналу (по границе раздела оригинала и его среды). Сущность этого вида неопределенности состоит в невозможности явного задания границы раздела оригинала и его среды. Оригинал, как и всякий объект реального мира, обладает бесконечным количеством различных свойств. Для отделения оригинала от всего остального (среды) необходимо, во-первых, указать существенные признаки оригинала, т.е. такие признаки которые лучше всего отличают его от его среды. Эту операцию называют операцией допущения. Во вторых, для каждого такого признака оригинала указать характерный для данного оригинала разброс свойств (интервал значений который бы соответствовал данному оригиналу). Эту операцию называют операцией ограничения. Неявное задание границы раздела оригинала и его среды осуществляется путем указания совокупности 4 ограничений и допущений на описание оригинала (его модель). Ограничения определяют подлежащие рассмотрению входящие в состав модели переменные и параметры. Так, например, модель упругой линейной деформации твердого тела (закон Гука), во-первых, предполагает способность тела к упругой деформации, во-вторых, имеет в виду ограниченность величин напряжения и деформации. Допущения, вводимые в решаемой задачи степень модель, характеризуют приемлемую для идеализации свойств оригинала, фиксируют свойства, которые можно считать существенными. Например, принимаемые в моделях классической гидродинамики предположения о несжимаемости жидкости, об отсутствии внутреннего трения и газовой фазы в потоке вполне правомерны при относительно малых скоростях и ламинарном течении. Примером системы, ориентированной на решение рассматриваемых задач, для которых характерно наличие уже четырех видов неопределенности их формулировки, являются мультиагентные системы, одним из результатов деятельности которых является не только дерево целей, но конкретный вид системы: возникающая структура, которая соответствует структуре предметной области текущей задачи. • Неопределённость по целям исследования. Неопределенность рассматриваемого вида – невозможность явного задания цели конкретного исследования. Цель текущего исследования при наличии рассматриваемой неопределенности может быть задана только в виде совокупности ограничений, которые можно рассматривать как множество существенных свойств преследуемой цели, и допущений, которые следует рассматривать как точность задания значений свойств текущей цели. Тогда сформулировать цель – определить текущие значения свойств преследуемой цели и распознать тип преследуемой цели. Очевидно, признаки (свойства) с помощью которых описывается множество возможных целей, на достижение которых система ориентирована, должны быть заданы ей априори. Если перечисленные выше неопределённости при постановке задачи отсутствуют или присутствует только параметрическая неопределённость, то это означает, что функциональная зависимость переменных оригинала задана явно. Следовательно, соответствующая решающая система является решающей системой первого рода. Отсюда следует, что всякая решающая система второго рода ориентирована на решение задач, для которых 5 характерны хотя бы два первых вида неопределённости. В этом смысле, она является простейшей решающей системой второго рода. Подводя итоги, скажем, что под простыми задачами решающих систем второго рода будем далее понимать такие задачи, решение которых находится методом одношагового поиска, а при их формулировке допускается не более, чем два первых вида неопределенности. А соответствующая решающая система является действительно простейшей решающей системой второго рода. 6 Лекция 2. Понятие поиска. Виды поиска. В общем, задача поиска может быть сформулирована следующим образом. Пусть заданы множества начальных и целевых состояний (W и V) и множество операторов F. Необходимо найти упорядоченный набор действий решающей системы <d1, d2, …, dк>, такой, что суперпозиция функций перехода G(G…(G(w0,d1) dк-1, dк), принадлежащего F при w0 из множества начальных состояний W приводит в требуемое целевое состояние v(w0) из множества целевых состояний V. Простейший метод поиска пути решения задач можно сформулировать следующим образом: последовательно порождать все возможные решения и выбирать те последовательности порождения, которые приводят к решению, удовлетворяющему условиям задачи. Эта идея была воплощена в методах поиска, получивших название слепые методы поиска, методы поиска, не использующие априорную (эвристическую) информацию для управления поиском. Для их применения необходимо наличие лишь двух механизмов генератора, способного породить все возможные решения, и механизма проверки текущего решения на соответствие его поставленной задаче. Тогда всякий шаг поиска можно рассматривать как выполнение следующей последовательности операций: 1. Генерация: Выделение из начального множества операторов F подмножества всех применимых к родительским состояниям операторов, то есть необходимо распознать те операторы из F, посылка которых в смысле некоторой меры совпадает со значением начального состояния. 2. Планирование: Порождение всех дочерних вершин (способы порождения рассмотрены ниже). 3. Проверка: Распознавание на множестве дочерних состояний целевых состояний. Если родительскую вершину рассматривать как Ка, а дочернюю – как Кт, то реализация указанной последовательности операций есть поиск 7 решения некоторой задачи. Тогда поиск решения может иметь следующие исходы: 1. Ни одно из заданных родительских состояний не распознано, как соответствующие хотя бы одному из операторов F. Это означает, что (а) заданы нерелевантные целям системы исходные данные, (б) знание системы неполно. Первый случай говорит о некорректной формулировке задачи по исходным данным. Второй случай говорит о необходимости корректировки знаний системы, например, в режиме обучения. 2. Ни одно из полученных дочерних состояний не распознано как целевое. Это означает, что (а) заданы некорректные цели, (б) знание системы неполно. В обоих случаях требуется обучение системы по корректировке и пополнению её знаний. 3. Одно из полученных дочерних состояний было опознано как целевое, в таком случае поиск считается завершённым, а поставленная задача решенной. По организации процесса порождения возможных решений можно различать следующие виды слепого поиска. При поиске в ширину в начале порождаются все возможные решения на основе исходных данных, затем этот процесс повторяется путём уточнения всех ранее полученных решений (порождения всех возможных очередных решений). При поиске в глубину в начале на основе исходных данных порождаются все возможные решения, выбирается одно из них. Затем осуществляется его дальнейшее уточнение, опять выбирается одно уже уточненное решение, и так до тех пор, пока либо не будет получено окончательное решение задачи, либо процесс не зайдет в тупик (получено терминальное состояние). В последнем случае, процесс возобновляется с предыдущего шага. При поиске по лучу на начальном этапе порождается лишь одно решение. Однако в отличие от поиска в глубину делается лишь одна попытка его уточнения. Это уточненное решение выбирается в качестве начального и процесс повторяется, пока либо не будет получено окончательное решение задачи, либо процесс не зайдет в тупик. В последнем случае, процесс возобновляется с предыдущего шага. 8 Более сложными являются методы поиска, использующие простейшие эвристики. В простейших методах эвристической информацией является стоимость дуги графа пространства состояний, ведущей из родительской вершины в дочернюю. Эта стоимость может быть одинаковой и равной единице для всех дуг графа (“метод ветвей и границ” и “алгоритм Мура”), или различаться для разных дуг графа (“алгоритм Дейкстры”). Однако во многих случаях стоимости дуг могут различаться. Стоимость дуги определяется отношениями между состояниями в предметной области. Так стоимость дуги может зависеть, например, от расстояния между городами, между которыми необходимо проложить кратчайший маршрут. Методы поиска, использующие простейшие эвристики, за счет того, что используют наименьший объем априорной информации из всех эвристических методов, достигают лишь незначительного сужения пространства поиска, по сравнению со слепыми методами. Данные методы позволяют получить решение таких известных задач как “Ханойская башня”, “Крестики-нолики”, “Миссионеры и людоеды”, “Обезьяна и бананы”. Для решения более сложных задач данные методы, как правило, не пригодны, поскольку требуют значительного вычислительного ресурса Следующая группа методов в качестве информации, управляющей процессом поиска, используют так называемые оценочные функции, позволяющие оценивать перспективность тех или иных действий решающей системы. В отличие от рассмотренных выше, данные методы привлекают больший объем информации для управления поиском, поскольку оценочные функции в своем составе объединяют сразу несколько простейших эвристик. Поэтому данные методы позволяют более эффективно сужать пространство поиска, что, несомненно, расширяет диапазон решаемых задач. Так, правильно подобранный вид оценочной функции позволяет “научить” машину играть в шахматы на среднем уровне. Оценку ходов следует проводить, используя оценку возникающей после хода позиции, на основе оценочной функции следующего вида: F(S) = aB + bR + cM + dC + eP + fA, где В (баланс) равен сумме стоимостей фигур с той и другой стороны; величина R учитывает относительную безопасность королей; M 9 характеризует подвижность фигур; P учитывает структуру пешечного строя; А характеризует атакующие возможности позиции. Рассмотренные элементы многочлена являются переменными, характеризующими отдельные свойства шахматной позиции. Коэффициенты a, b, c, d ,e, f – эвристики, характеризующие значимость каждого из отдельных свойств с точки зрения разработчика системы. Коэффициенты a, b, c, d ,e, f могут изменяться в зависимости от состояния партии. Это указывает, что в рассматриваемых методах могут быть предусмотрены механизмы адаптации. Примерами методов, использующих оценочные функции, являются “Алгоритм Харта, Нильсона и Рафаэля” (известен также под названием “А*”), “Минимаксная процедура”, “Альфа-Бета отсечение”. Виды поиска так же подразделяются по «направлению» поиска. Поиск, направляемый данными, называется прямым поиском. Поиск, направляемый целями - обратным. Прямой поиск осуществляется от начального состояния к заключительному (целевому) состоянию. Сущность этого поиска состоит в нахождении последовательности операций обработки данных, где результаты i-й операции представляют собой входные данные для (i+1)-й. Т.е. на каждом его этапе решается задача нахождения очередного оператора, применение которого к текущему состоянию приведет к получению состояния, которое станет исходным для следующего этапа поиска. Е. И. Ефимов, исследуя системы, использующие только методы поиска, рассмотренные выше, указывает на следующие их недостатки. Во-первых, в этих системах преобладающей является стратегия достижения ближайших возможных целей, использование которой не всегда приводит к получению решения задачи. Предположим, что субъекту необходимо войти в комнату. Пользуясь оценочной функцией, вычисляющей расстояние до двери, субъект находит дверь в комнату. Однако дверь оказывается заперта, а у субъекта отсутствует ключ. В этом случае разумно попробовать либо найти другую, незапертую дверь, либо найти ключ. Однако это противоречит используемой эвристике, минимизирующей расстояние до двери. В результате субъект, пользующийся только данной оценочной функцией и эвристикой, будет стоять около запертой двери и не двинется дальше. Во-вторых, оценки, использующиеся этими системами, не меняются в зависимости от текущей ситуации, то есть в процессе поиска. 10 Выходом из этого положения может стать планирование системой своих действий в процессе решения задачи. Под планированием системой своих действий в процессе решения задачи подразумевается построение дерева целей, достижение которых приводит к достижению основной цели. Выделение подцелей разбивает все пространство поиска на иерархию подпространств. Процесс достижения той или иной подцели можно рассматривать как поиск частичного решения в соответствующем подпространстве. Весь процесс поиска решения в таком случае можно рассматривать как построение иерархии решений на уровнях различной степени абстракции со все возрастающей степенью детализации. Причем построение таких решений упорядочено от высших уровней абстракции к низшим уровням. Рассматриваемые методы поиска получили название методы поиска, направляемые целями. Наиболее простым в этом отношении является метод иерархической генерации - проверки. Суть его состоит в том, что системой на каждом уровне абстракции последовательно вырабатываются частичные решения. Устройство проверки, на каждом уровне способно определить (привлекая знания только этого уровня) может ли это решение привести к успеху. Если это решение отвергается, то все решения, являющиеся уточнением отвергаемого решения на остальных уровнях иерархии системой не рассматриваются. В противном случае процесс продолжается. Достоинством данного метода является сужение пространства поиска за счет отсечения решений на ранних этапах. Обязательным требованием для использования данного метода является возможность устройством проверки правильно оценить адекватность текущего решения искомому. Однако выполнить данное требование во многих случаях оказывается невозможно. Например, в задачах проектирования, планирования и конструирования обычно нельзя по фрагменту плана или проекта определить, является ли этот фрагмент частью полного решения задачи. Далее рассмотрим комбинированные методы. Смешанные методы представляют собой их простейшую реализацию. Основной идеей является поочередное выполнение поисков, например, первоначально выполняется поиск, направляемый целью, а затем поиск, направляемый данными. Основной недостаток смешанных методов поиска состоит в том, что ошибка на любом из этапов поиска (восходящем или нисходящем) автоматически 11 приводит к глобальной неудаче и отказу от дальнейшего решения, поскольку в них не предусмотрены механизмы коррекции принятых решений. От этого главного недостатка смешанных методов свободны системы с обратной связью. В их основе лежит идея, что в случае возникновения неудачи во время поиска осуществляется возврат на начало данного, либо предшествующего этапа поиска. Возврат осуществляется всегда после сопоставления результатов восходящего и нисходящего поисков. Недостатком таких методов является то, что решение о возврате принимается лишь в конце соответствующего поиска, после сопоставления результатов восходящего и нисходящего поисков. Таким образом, причина возникновения неудачи отслеживается лишь с точностью до вида поиска. Поэтому возврат может осуществляться лишь к началу соответствующего этапа поиска, что приводит к неэффективному использованию имеющегося ресурса. Рис 1. Недостатки поиска с обратной связью отсутствуют у гетерархических методов поиска. Эти методы позволяют достичь более гибкого управления процессом поиска за счет организации возврата к любому из предшествующих этапов поиска. Обобщенная гетерархическая схема поиска выглядит следующим образом (рис. 1.). Видно, что при обнаружении ошибки возможен возврат в любую точку поиска, в которой была совершена ошибка. 12 Лекция 3. Обобщённая концепция агента. Обзор различных подходов к определению понятия агент. Проблема определения понятия агент. Начиная с 70-х годов прошлого века, исследователи в области искусственного интеллекта пришли к необходимости создания систем, в том или ином объёме привлекающих к своей работе тех или иных пользователей. Одной из реализаций такого подхода явилось создание экспертных систем. Немногим позже появилось и понятие «агент». Появление концепции агента, возникло как ответ на появление сложных задач, при попытке решения которых методом экспертных систем обнаружились существенные недостатки последних. Среди наиболее заметных недостатков метода экспертных систем следует указать на то, что он основан на концепции «всезнайства»: решающая система исходит из того, что априори располагает достаточным для решения исходной задачи знанием. Что в общем случае противоречит тезису о конечности всякого знания и, естественно, не может учесть изменчивости среды. Появившиеся относительно недавно, так называемые динамические экспертные системы или экспертные системы реального времени способны учитывать такие изменения, но только в том смысле, что они способны учитывать априорно заданные изменения окружающего мира, происходящие за время решения задачи. Кроме этого, важно отметить, что традиционные программные объекты можно считать пассивными, поскольку они ожидают управляющего сообщения прежде, чем выполнить операцию. После того, как объекты инициированы, они выполняют априори заданную последовательность операций и бездействуют до получения следующего управляющего сообщения. Сейчас во многих системах стремятся создавать объекты, которые реагируют на события своей среды, а также предпринимают определенные действия, не дожидаясь прямого обращения к себе. Некоторые исследователи называют их «активными объектами», а специалисты в области искусственного интеллекта предпочитают говорить о них как об агентах. Например, ряд специалистов считает, что агенты это автономные объекты в сложных системах, которые взаимодействуют друг с другом при выполнении своих определенных задач. Кроме того, агенты 13 «приспосабливаются», т.е. они обладают возможностью реагировать на свою среду и, возможно, изменять свое поведение на основе полученной информации. Другие авторы утверждают, что автономные агенты - это компьютерные системы, функционирующие в сложной, динамической среде, способные ощущать и автономно воздействовать на эту среду и, таким образом, выполнять множество задач, для которых они предназначены. Подчеркивается, что интеллектуальные агенты непрерывно выполняют три следующие функции: 1) восприятие динамики среды; 2) воздействия, изменяющие среду; 3) рассуждения в целях интерпретации наблюдаемых явлений, решения задач, вывода заключений и определения действий. Кроме того, они специально оговаривают динамичность среды и подчиненность рассуждения действию: агенты рассуждают, для того чтобы выбрать действия В ряде работ отмечается, что наиболее признанным определением термина «агент» является: «Агент - это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных пользователем» Агенты, по мнению таких авторов, описываются рядом свойств, которые и характеризуют понятие агента. К таким свойствам авторы относят следующие: 1) Автономность - агенты функционируют без прямого вмешательства людей или кого-либо другого и владеют определенной способностью контролировать свои действия и внутреннее состояние. 2) Методы (способы) общения - агенты взаимодействуют с другими агентами средствами некоторого коммуникационного языка. 3) Реактивность агенты способны воспринимать окружающую среду и адекватно реагировать в определенных временных рамках на изменения, которые происходят. 14 4) Активность - агенты не просто реагируют на изменения среды, но и обладают целенаправленным поведением и способностью проявлять инициативу. 5) Индивидуальная картина мира - каждый агент имеет собственную модель окружающего его мира (среды), которая описывает то, как агент видит мир. Агент строит свою модель мира на основе информации, которую получает из внешней среды. 6) Коммуникабельность и кооперативность - агенты могут обмениваться информацией с окружающей их средой и другими агентами. Возможность коммуникаций означает, что агент должен получать информацию об его окружающей среде, что дает ему возможность строить собственную модель мира. (Более того, отмечается, что возможность коммуникаций с другими агентами является обязательным условием совместных действий для достижения целей) 7) Интеллектуальное поведение - поведение агента включает способность к обучению, логичной дедукции или конструированию модели окружающей среды для того, чтобы находить оптимальные способы поведения. Кроме этого в контексте агента иногда обсуждают и следующие признаки агента: • Подвижность – способность агента двигаться по некоторой сети. • Правдивость – предположение о том, что агент сознательно не будет сообщать ложную информацию • Благосклонность – предположение о том, что агенты не имеют противоречивых целей и что каждый агент будет действовать согласованно с другими агентами. • Рациональность – предположение о том, что агент будет действовать, чтобы достичь цели. • Базовые знания – начальные знания агента о среде. • Обязательства – задачи, которые агент может принять к исполнению. • Цели – совокупность состояний, на достижение которых направлена деятельность агента. 15 • Намерения – задачи, которые агент обязан выполнить в ходе своей деятельности. • Убеждения – значения переменных агента. • Желания – состояния, контролируемые агентом. Подобное описательное определение агента называется авторами слабым (экстенсиональным) определением. Напомним, что под экстенсионалом понимается совокупность предметов внешнего мира, которые определяются заданной совокупностью признаков. Слабые определения смыкаются с чисто программистскими взглядами на природу агента. Так, например, агенты понимаются как вычислительные единицы, поддерживающие локальные состояния и параллельные вычисления, а также способные в процессах коммуникации достигать состояния других агентов, и автоматически выполнять действия при удовлетворении некоторых условий среды. В свою очередь стратегия интеллектуальных агентов, исходит из идеи «персонального ассистента»: интеллектуальный агент действует в интересах других лиц, которые передают ему определенные властные полномочия. Соответственно, интеллектуальные агенты понимаются как программные единицы, выполняющие некое множество операций для пользователя или другой программной системы, обладая определенной степенью автономности или независимости, и используя при этом знания или представления о целях или желаниях пользователя. Подобным образом некоторые авторы считают, что при определении понятия «агент» удобно опираться на представления об объекте, развитом школой объектно-ориентированного программирования (ООП). Тогда «искусственный агент» может пониматься как метаобъект, наделенный некоторой долей субъектности, т.е. способный манипулировать другими объектами, создавать и уничтожать их, а также имеющий развитые средства взаимодействия со средой и себе подобными. Иными словами, это «активный объект» или «искусственный деятель», находящийся на заметно более высоком уровне сложности по отношению к традиционным объектам в ООП и использующий их для достижения своих целей путем управления, изменяющего их состояния. Сильное (интенсиональное) определение агента, звучит так: 16 «Вычислительная система, обладающая перечисленными выше свойствами и, кроме того, реализованная на основе концепций, наиболее применимых к людям» Под интенсионалом понимается совокупность семантических признаков, каждый интенсионал определяет некоторую сущность, «вещь» возможного, хотя не обязательно реального мира. Как видно, на данный момент имеется большое количество различных определений понятия «агент». Только в период 1991-1996 годов было сделано около 11 определений. Многие из них являются всеобъемлющими, многие подчеркивают определенные стороны работы с агентом, область его применения, среду, в которой он работает. Фактически, используя понятие «агент», каждый автор определяет своего агента с конкретным набором свойств. Понятие агента используется в различных областях, например, на производстве агентом может называться робот, а в области телекоммуникаций - программа и т. п. Как следствие, в зависимости от среды обитания агенты обладают разными свойствами. Поэтому в процессе разработки и реализации систем в рамках агентного направления появилось множество различных типов агентов, таких как: автономные агенты, мобильные агенты, персональные ассистенты, интеллектуальные агенты, социальные агенты и т.д. Такая ситуация приводит к проблеме определения понятия агент в целом. Действительно, данные определения либо обладают слишком большой степенью общности, что позволяет подвести под определение агента широкий класс решающих систем, но не даёт возможности судить о конкретных свойствах такого агента. В другой же группе определений, напротив, понятие агента конкретизировано настолько, что использование агента созданного по этим описаниям, для задач отличных от тех, что стояли перед авторами этих определений не представляется возможным, без хотя бы некоторой их модификации под требования новой задачи. Кроме того, можно сделать вывод, что понятие агент даже не всегда рассматривается в контексте мультиагентного подхода к построению решающих систем. Однако можно выделить некоторые свойства, необходимость наличия которых у агента признается всеми исследователями. Так под агентом всегда понимается: а) некоторая решающая система, способная к адаптации в условиях изменяющейся внешней среды; б) агент всегда рассматривается как 17 некоторая система, существующая и действующая в некоторой среде; в) в рамках мультиагентного подхода считается, что каждый отдельный агент ориентирован на решение лишь некоторой части той сложной задачи, которая поставлена перед коллективом агентов в целом. 18 Лекция 4. Понятия агента и его среды и их взаимосвязь. Среда как постановщик задач для агента. Виды задач, возникающих перед агентом в его среде. Как мы помним, задачи решающих систем второго рода могут варьироваться от простых задач, до задач сложных. Общим для них является то, что методом решения таких задач всегда является некоторый метод поиска. Исходя из этого, дадим следующее определение понятия агент: Агент – решающая система второго рода, ориентированная на решение простых задач. Решение всякой простой задачи может быть представлено в виде продукции: Ka → K т , где Ка – модель текущего (актуального) состояния предмета задачи; Кт – модель требуемого состояния предмета задачи. Напомним, что агент всегда существует в некоторой среде. Тогда можно сказать, что предметом задачи (оригиналом) для агента всегда является его среда. Агент через свои рецепторы получает информацию о текущем состоянии его среды, анализирует полученные значения и опознает, требует ли данное состояние среды его вмешательства. А если требует, то необходимо опознать, что должно получится в результате, каким должно стать состояние внешней среды агента после его воздействия. Отметим, что внешних рецепторов у агента всегда конечное количество, т.е. он воспринимает свою среду не во всём её многообразии, а только лишь часть присущих ей признаков. Т.е. всякий анализ состояний внешней среды осуществляется агентом на основании моделей этой среды заданных ему на момент решения задачи. 19 Опознать что-то, значит, отнести это к некоторому известному эталону или классу. Для этого необходимо описать и разделить классы объектов с точностью до их отличия друг от друга и затем быть способным отнести неизвестный объект к одному из известных системе классов – то есть уметь его классифицировать. Тогда процесс решения простой задачи решающих систем второго рода может быть представлен как последовательность актов классификации: а) опознавание актуальности текущей ситуации; б) опознавание требуемого состояния, вытекающего из актуальной ситуации. Агент в таком случае предстаёт как система, способная осуществить выполнение такой последовательности классификаций. Существует два способа постановки задачи классификации: 1) В признаковом пространстве задано N классов своими эталонами Хср. Анализируемый объект относится к тому классу, для которого расстояние от его проекции, в это пространства, до эталона данного класса минимально, minj (Хсрj - Хi). В данном случае под эталоном понимается некоторая точка заданная своими координатами в признаковом пространстве, т.е. в некотором многомерном пространстве, каждая координатная ось которого соответствует определенному признаку (свойству) классифицируемых объектов. С бесконечномерного объекта предъявляемого для классификации снимаются значения признаков задающих данное признаковое пространство (осуществляется проекция объекта на признаковое пространство). Всякий объект будет отображен в это пространство в виде точки, координаты которой соответствуют значениям признаков полученных о данном объекте. После чего осуществляется расчёт расстояний от точки представляющей исследуемый объект до точек-эталонов известных классов. Объект будет отнесён к тому классу, расстояние до эталона которого окажется наименьшим. Ясно, что в такой случае, любой исследуемый объект всегда может быть отнесён к одному из известных классов (рис. 1). Данный способ классификации основан на концепции «всезнайства» решающей системы. Эталон класса 2 признак X Эталон класса 1 Эталон класса 3 20 неизвестный объект признак Y Рисунок 1 - Классификация по минимальному расстоянию 2) Задано признаковое пространство и совокупность классов своими эталонами и критериями компактности ε. Всякий объект будет отнесён к некоторому классу, если расстояние до эталона этого класса, от проекции объекта в данное пространство, удовлетворяет критерию компактности данного класса (рис. 2) X срj − X i ≤ ε j . Под критерием компактности понимается допустимый разброс значений признаков объектов принадлежащих одному классу. Таким образом, исследуемый объект будет отнесён к некоторому известному классу только в том случае, если он будет иметь с эталоном этого класса «достаточно» много общего, т.е. его отличия от эталона будут в пределах допустимого разброса значений. Если же объект не будет отнесён к одному из известных системе классов, он будет классифицирован как «неизвестный» или как фон. Класс 3 признак X Класс 1 неизвестный объект Класс 2 признак Y Рисунок 2 - Классификация с критерием компактности Необходимой предпосылкой решения указанных задач классификации является требование не пересекаемости классов объектов в пространстве их свойств. 21 Поскольку при данном способе могут появиться объекты, которые опознаются как «неизвестные», то можно утверждать, что этот способ основан на концепции конечности знаний решающей системы. Продолжим рассмотрение понятия агент. Как мы помним, агент всегда существует в некоторой среде. Агент должен быть адекватен своей среде, т.е. быть способным решать задачи, возникающие перед ним в этой среде. Среда в данном случае выступает, с одной стороны, в роли «постановщика задач» для агента, с другой стороны, в роли «потребителя результатов» решения агентной задачи. В необходимое и достаточное окружение агента входят: Постановщик целей и оценщик качества их достижения (пользователь либо некоторый вышестоящий агент); Средства, с помощью которых осуществляется коммуникация между агентом и постановщиком/оценщиком; Другие агенты, соседи по мультиагентному коллективу; Средства, с помощью которых осуществляется коммуникация с соседями; Анализируемый объект, явление, воспринимаемое агентом посредством его признакового описания; Сам агент. О среде агента, так же, можно сказать следующее: среда агента в совокупности своих элементов представляет собой единое целое; в среде агента всегда находятся другие агенты, но в неё могут входить и пользователи системы; агент должен функционировать в соответствии с закономерностями среды, являющейся для него «постановщиком задач» и «оценщиком результатов» их решения; все взаимодействия агента и среды агента взаимозависимы, они не могут рассматриваться отдельно друг от друга; восприятие среды агентом может меняться при обучении агента, и это равносильно, с точки зрения агента, изменению его среды; среда агента изменчива; среда агентов имеет однотипную структуру; 22 среда агентов может различаться содержанием образующих её элементов. Перейдём к рассмотрению задач агента. Задачи агента – это обязательства, которые берёт на себя агент по поручению другого агента или пользователя. Задачей агента является задача классификации данных, поступающих к агенту от его среды, и эта задача является простой. Однако вследствие разнородности элементов входящих в состав среды агента целесообразно выделить несколько подвидов такой задачи. Основной задачей агента будем называть задачу классификации данных, касающихся непосредственно анализа исследуемого объекта либо явления. Здесь в качестве описания цели агенту предъявляется описание свойств, информация о которых интересует надсистему. Поскольку рассматриваемый агент способен решать задачи только в процессе взаимодействия с другими агентами коллектива, то перед агентом возникает ещё и сопутствующая задача – задача коммуникации с соседями по коллективу. То есть задача опознать сообщение соседа и отреагировать сообразно этому сообщению. Так как в состав среды агента может входить пользователь системы, то перед агентом может возникать сопутствующая задача коммуникации вида «агент-пользователь». Кроме того, в силу принципиальной неполноты системы знаний агента о предметной области возникает сопутствующая задача обучения (самообучения) агента. Наконец, существующий коллектив агентов может оказаться недостаточным для решения поставленной перед ним сложной задачи. А значит, помимо перечисленных задач перед всяким агентом может вставать и ещё одна сопутствующая задача, а именно – задача порождения нового агента. Резюмируя изложенное в этом параграфе, скажем, что задача агента есть задача классификации данных, поступающих к нему от внешней среды. Эта задача решается методом одношагового поиска и характеризуется наличием параметрической и функционально-структурной неопределенности. 23 Лекция 5. Виды агентных архитектур. Делиберативные агенты. В целом, классификация архитектур агентов основывается на парадигме, лежащей в основе принятой архитектуры. Так, архитектура, которая базируется на принципах и методах систем искусственного интеллекта, основанных на знаниях, получила название делиберативной или совещательной архитектуры (deliberative agent architecture). А архитектура, основанная на реакции системы на события внешнего мира (reactive architecture), получила название реактивной. Однако, среди современных систем искусственного интеллекта практически не существует таких, о которых можно было бы определенно сказать, что они является чисто делиберативными или чисто реактивными. Подавляющее большинство этих систем является по сути гибридными, имея те или иные черты архитектур обоих типов. Последний подход к построению систем искусственного интеллекта получил название – гибридной архитектуры. Итак, в настоящее время выделяют три основных вида агентных архитектур - Делиберативная (совещательная) архитектура; - Реактивная архитектура; - Гибридная (смешанная) архитектура. Каждый вид агентной архитектуры выражает различный подход, различную парадигму к построению решающих систем второго рода. Делиберативная архитектура. Делиберативная архитектура представляет собой классический подход к построению агентов. Его суть состоит в том, чтобы рассматривать агенты как системы, основанные на концепции всезнайства. Это означает, что все знания, необходимые агенту для решения возникающих перед ним задач, заданы агенту априори. Этих и только этих знаний достаточно агенту для разрешения любой ситуации возникающей перед ним, в его среде. 24 Рассмотрим далее одну из самых известных систем, архитектуру которуй можно отнести к классу делиберативных агентных архитектур. Систему MYCIN. Система MYCIN была разработана в Стенфордском университете в 1970-ых годах. Задачей системы является диагностика и лечение определенных классов инфекционных заболеваний крови. Диагностирование инфекционных заболеваний «обычным образом» включает в себя разведение культуры вируса. На это требуется около 48 часов, что нередко отрицательно сказывается на здоровье пациента. Так что врачам нужно было быстро найти предположения относительно вероятных причин заболевания по имеющимся данным и использовать эти предположения для подбора лекарств. Часто программу MYCIN считают диагностической, но это не совсем так. MYCIN был разработан частично с целью исследования постановки диагнозов экспертами на основании приблизительных (но важных) предположений, основанных на частичной информации. Однако, потенциально важной для практики была следующая проблема - имеется большое количество молодых докторов или докторов, не являющихся специалистами в данной области, которым иногда приходится ставить такие диагнозы, и если бы имелся какойлибо инструмент, который мог помочь им, тогда это могло бы позволить более эффективно проводить лечение. Фактически, MYCIN никогда не использовалась на практике. Это произошло не из-за её недостатков - на тестировании она превзошла по быстродействию членов Стенфордской медицинской школы. Это произошло во многом из-за этических и юридических проблем, связанных с использованием компьютеров в медицине - если произойдет ошибка, кто будет в этом виноват? Совершим небольшой экскурс в ту предметную область, в которой используется MYCIN, — в область диагностики и лечения заболеваний крови. Это описание достаточно поверхностное, однако нельзя рассматривать структуру и работу системы в отрыве от той области знаний, с которой данная система имеет дело. «Антимикробный агент» — это любой лекарственный препарат, созданный для уничтожения бактерий и воспрепятствования их роста. Некоторые агенты слишком токсичны для терапевтических целей, и не существует агента, который является эффективным средством борьбы с 25 любыми бактериями. Выбор терапии при бактериальном заражении состоит из четырех этапов: 1) выяснить, имеет ли место определенный вид заражения у данного пациента; 2) определить, какой микроорганизм (микроорганизмы) мог вызвать данный вид заражения; 3) выбрать множество лекарственных препаратов, подходящих для применения в данной ситуации; 4) выбрать наиболее эффективный препарат или их комбинацию. Первичные анализы, взятые у пациента, направляют в микробиологическую лабораторию, где из них выращивается культура бактерий, т.е. создаются наилучшие условия для их роста. Иногда уже на ранних стадиях можно сделать заключение о морфологических характеристиках микроорганизмов. Но даже если микроорганизм, вызвавший заражение, и идентифицирован, еще неизвестно (или нет полной уверенности), к каким препаратам он чувствителен. После 1976 года система неоднократно модифицировалась и обновлялась, но базовая версия состояла из пяти компонентов (рис. 1) Стрелки на рисунке показывают основные потоки информации между модулями. Рис. 1. Структура системы MYC1N 26 1) База знаний содержит множество правил заданных в продукционной форме и связанные с ними коэффициенты уверенности. Коэффициенты уверенности устанавливаются для каждого правила в диапазоне [0..1] (0 - правилу нельзя верить; 1 – правило является абсолютно верным). 2) Динамическая база данных пациентов содержит информацию о конкретных пациентах и их заболеваниях. Эта информация используется для конкретизации поставленной перед системой текущей задачи. 3) Консультирующая программа задает вопросы, выводит заключения системы и дает советы для конкретного случая, используя информацию о пациенте и знания, хранящиеся в базе знаний системы. 4) Объясняющая программа отвечает на вопросы и дает пользователю информацию о том, на чем основываются рекомендации или заключения, сформулированные системой. При этом программа приводит трассировку процесса выработки рекомендаций. 5) Программа восприятия знаний служит для обновления знаний, хранящихся в системе. Обновление знаний происходит путём внесения в систему новых правил и корректировке старых. Стоит отметить, что знания вносятся именно из вне, экспертом в области инфекционных заболеваний, данная система не способна к самостоятельному обучению. Подсистема, в которую входят компоненты 1, 2 и 3, отвечает за решение проблемы. Эта подсистема строит гипотезы относительно причин заболевания и формирует рекомендации, основываясь на этих гипотезах. База знаний системы MYCIN организована в виде множества правил в форме: Если условие(1) и... и условие(N) удовлетворяются, То прийти к заключению(1) и... и к заключению (N). Эти правила преобразованы в операторы языка LISP. Вот как выглядит перевод на обычный язык типичного правила MYCIN: 27 ЕСЛИ 1) организм обладает грамотрицательной окраской, и 2) организм имеет форму палочки, и 3) организм аэробный, ТО есть основания предполагать (0,8), что этот микроорганизм относится к классу enterobacteriaceae. Такого рода правила названы оргправилами (ORGRULES) и в них сконцентрированы знания о таких организмах, как strepococcus , pseudonomas и enterobacteriaceae. Структура управления правилами в MYCIN использует И/ИЛИ-граф и представляет собой следующее: 1) Формулировка каждой подцели всегда представляет собой обобщенную форму исходной цели. Так, если подцель состоит в том, чтобы доказать справедливость суждения "организм— это E.Coli", то формулировка такой подцели— определение типа организма. Этим инициируется исчерпывающий поиск, в который вовлекаются все возможные сведения об организмах. 2) В множестве правил, подходящих для сформулированной цели, выискивается такое, которое определенно удовлетворяется. Если для заключения об определенном параметре, например о природе организма, подходит несколько правил, то их результаты объединяются. Если коэффициент уверенности какой-либо из выдвинутых гипотез оказывается в диапазоне от -0.2 до +0.2, то гипотеза отбрасывается. 3) Если текущая подцель представляет собой лист на графе (терминальный узел), то данные запрашиваются у пользователя. В противном случае устанавливается очередная подцель и выполняется переход на шаг (1). По завершении процесса диагностики выбирается рекомендуемый курс лечения. Выбор включает две стадии: отбор рекомендуемых медикаментов и предпочтительного варианта или комбинации медикаментов из полученного списка. В целом метод решения, используемый в системе MYCIN, представляет собой рассуждения в обратном направлении от диагностических гипотез к имеющимся данным, которое направляется правилами вывода. Однако для управления поиском решения (или для доказательства некоторой гипотезы), MYCIN использовал различные 28 метаправила-стратегии. Они были необходимы, чтобы сделать рассуждения более эффективными и предотвратить задание пользователю ненужных вопросов. Одна из стратегий состоит в том, что предварительно задаются пользователю более или менее общие вопросы, которые позволяют системе исключить маловероятные диагнозы. Затем система может сосредоточиться на частностях и использовать в полной мере режим вывода от цели к фактам для доказательства выдвигаемых гипотез. Другие стратегии касаются способов вызова правил. Первая из них проста: используется первое возможное правило, MYCIN первым делом проверяет все заключения правила, чтобы увидеть, является ли какой-либо из них заведомо ложным. Если это не так , то правило используется . Другая стратегия имеет больше отношение к коэффициентам уверенности. MYCIN сначала рассматривает правила, которые имеют более высокий коэффициент уверенности при выводе заключения и правило перестает использоваться, как только суммарный коэффициент уверенности станет меньше 0.2. 29 Лекция 6. Делиберативные агентные архитектуры. Достоинства и недостатки. Система MUD предназначена для консультирования инженеров при проведении буровых работ на газонаполненных и текучих пластах. Основываясь на описании свойств пластов, система анализирует проблемы, возникающие при таком бурении, и предлагает способы их преодоления. Изменение свойств пластов, такое как внезапное увеличение вязкости в процессе бурения, может возникать вследствие самых различных факторов, например повышения температуры или давления или неправильной рецептуры смеси химических добавок. Система MUD реализована с помощью языка описания порождающих правил OPS5 (предшественника CLIPS). Правила связывают изменения свойств пластов (в терминологии MUD - абстрактные категории данных) с возможными причинами этих изменений (в терминологии MUD - абстрактные категории решений). Ниже приведено одно из таких правил в переводе на «человеческий» язык. ЕСЛИ: (1) обнаружено уменьшение плотности пласта И (2) обнаружено повышение вязкости ТО: есть умеренные (7) основания предполагать, что имеется приток воды. В формулировке таких правил числа в скобках — коэффициенты уверенности, которые при «сцеплении» правил комбинируются таким же способом, как и в известной системе MYCIN. Таким образом, для того, чтобы определить достоверность предположения о проникновении воды, нужно принять во внимание все правила, которые «порождают» свидетельства за и против этой гипотезы. Опыт, приобретенный исследователями в процессе работы над этой системой, показал, что эксперты часто затрудняются сформулировать правила, приемлемые для подхода на основе эвристической классификации. Формат правила далеко не всегда соответствует способу мышления, привычному для экспертов, и способу обмена знаниями, принятыми в их среде. Сложность вызывает и назначение коэффициентов уверенности в констатирующей части новых правил. При этом обычно приходится пересматривать сформулированные ранее правила и сравнивать имеющиеся в них значения коэффициентов. Очень часто эксперты используют коэффициенты уверенности 30 для частичного упорядочения в отношении определенного «заключения». Также отмечалось, что экспертам иногда для правильной формулировки правил нужно располагать довольно подробной информацией о режиме применения правил и распространении значений коэффициентов уверенности в процессе их «сцепления». При проектировании программ эвристической классификации, таких как MUD, процесс уточнения правил является шестиэтапным. Эксперт сообщает инженеру по знаниям, какие правила нужно добавить или изменить. Инженер по знаниям вносит изменения в базу знаний системы. Инженер по знаниям запускает на выполнение программу, вводит данные, которые ранее уже обрабатывались прежним набором правил, и проверяет таким образом полноту нового набора. Если при обработке новым набором правил ранее проверенных исходных данных возникают какие-либо проблемы, инженер по знаниям обсуждает способы их преодоления с экспертом и далее повторяется этап 1. Эксперт запускает систему и вводит новый вариант данных. Если при обработке нового варианта не возникает никаких проблем, можно считать очередной сеанс внесения изменений в правила завершенным. В противном случае повторяется вся процедура, начиная с 1-го этапа. По сути, зачастую производилась «подгонка» коэффициентов, поскольку сам эксперт был не в состоянии адекватно оценить их значения. Другая система – XPLAN, создавалась в рамках проекта Explainable Expert Systems (Объясняющие Экспертные Системы). Идея этого проекта вполне созвучна существующей в настоящее время тенденции группировать и представлять в явном виде знания различного вида. Кроме того, в рамках этого проекта предпринята попытка использовать формальные методы, которые позволили бы зафиксировать в базе знаний системы основные решения, принимаемые в процессе ее разработки. Отсутствие таких формальных методов приводит к тому, что информация об основных решениях, положенных в основу проектирования, теряется на стадии реализации системы. На рис. 1 представлена структурная схема системы XPLAN. В базу знаний этой системы входят не только модель и правила предметной области, но и много дополнительной информации. Например, описание терминологии предметной области, информация, связанная с правилами предметной области, о доводах в пользу и против выбора определенной стратегии достижения цели, информация о том, каким целям отдается предпочтение в процессе решения проблемы, и т.д. Знания, выделенные в группу «Интеграция», используются для разрешения конфликтов между правилами предметной области в процессе работы «автоматического программиста», а знания, выделенные в группу «Оптимизация», имеют отношение к производительности экспертной системы, генерируемой этим автоматическим программистом. 31 Рисунок 1 - Структура системы XPLAN Эти служебные группы знаний представляют те виды метазнаний, которые не связаны непосредственно с выбором правил объектного уровня в процессе логического вывода на этапе функционирования экспертной системы, а имеют отношение скорее к этапу ее проектирования. Базы знаний системы XPLAN представлена в виде семантической сети, получившей наименование NIKL. Семантическая сеть — один из способов представления знаний. В названии соединены термины из двух наук: семантика в языкознании изучает смысл предложений, а сеть в математике представляет собой разновидность графа — набора вершин, соединённых дугами. В семантической сети роль вершин выполняют понятия базы знаний, а дуги (причем направленные) задают отношения между ними. Таким образом, семантическая сеть отражает семантику предметной области в виде понятий и отношений. NIKL формирует множество концептов (понятий), имеющих собственную внутреннюю структуру (набор слотов), между которыми можно задавать отношения (формировать связи). NIKL также имеет в своем составе классификатор, который, располагая информацией о структуре конкретной сети и новом концепте с определенной структурой, может поместить этот новый концепт на соответствующее ему место в этой сети. Ещё одним интересным примером делиберативного агента, может служить система Program Enhancement Advisor (PEA). Эта программа предназначена для оказания помощи программистам в повышении «читабельности» текстов программ. В той предметной области, в которой должна работать новая экспертная система, концептами семантической 32 сети являются преобразования элементов программного кода, например замена оператора COND языка LISP на конструкцию IF-THEN-ELSE. Концепт является частным случаем другого концепта, KEYWORD CONSTRUCT, который, в свою очередь, является частным случаем концепта Easy-TO-READ CONSTRUCT. Используя организованную таким образом базу знаний, экспертная система может предложить программисту-пользователю заменить оператор (COND ((АТОМ X) X) (Т (CAR X))). другим оператором, смысл которого более понятен при анализе текста программы: (IF (АТОМ X) THEN X ELSE (CAR X)). Знания, которые необходимы непосредственно для решения проблем, также представляются в семантической сети NIKL. Они выражаются в терминах концептов планов и целей, которые организованы в иерархическую структуру. Планы и цели связаны. Каждый план имеет «описание возможностей», в котором представлена информация о том, какие действия можно реализовать с помощью этого плана. Терминологическая информация, хранящаяся в семантической сети, используется генератором программ, например, для того, чтобы собирать воедино отдельные экземпляры концептов. Генератор программ работает по принципу нисходящего (сверху вниз) уточнения, выполняя декомпозицию целей на подцели. Так, главная цель программы PEA — усовершенствовать программу — разделяется на подцели, например улучшить читабельность. Разработчики системы назвали такой процесс декомпозиции целей «динамическим уточнением, направляемым пользователем», поскольку характер действий, выполняемых создаваемой системой, определяется инженером по знаниям, формирующим базу знаний. Если выбрана определенная цель, скажем улучшить читабельность, то она автоматически становится субъектом процесса дальнейшей декомпозиции цель/подцель. Например, следующими подцелями будет просмотр текста программы и выявление в нем синтаксических конструкций, которые можно безболезненно заменить другими, более понятными, получение подтверждения от пользователя, одобряющего предлагаемую замену, выполнение замены и т.д. В целом, идея агента с делиберативной архитектурой вполне логична и высоко привлекательна: реализовать архитектуру в соответствии с некоторой логически ясной теорией с тем, чтобы решение задач агентом представляло бы собой доказательство соответствующих теорем. Если построить агент указанным образом, то естественно будут решены следующие две проблемы: • Проблема представления реального мира в виде точного, адекватного символического описания, формируемого в реальном времени. • Проблема осмысленности представления: как символически 33 представить информацию о сложном реальном мире сущностей и процессов, и как заставить агент использовать эту информацию в реальном времени с целью получения необходимых результатов. И, действительно, несмотря на огромный объем работ, который был выполнен по машинному доказательству теорем, проблема далека от своего завершения». В целом, рассмотренные примеры агентов с делиберативной архитектурой имеют то общее, что они основываются на концепции «всезнайства», что противоречит следующим общеизвестным положениям: Каждый объект мира агента бесконечномерен, он может быть охарактеризован лишь бесконечным множеством его свойств. Знания агента о мире и входящих в его состав объектах всегда конечны. Каждый объект мира агента всегда обладает рядом ещё не познанных свойств. Всякое взаимодействие агента со средой (объектами мира) носит целенаправленный характер. Всякое активное целенаправленное взаимодействие субъекта (агента) и объекта мира в одном из своих аспектов носит познавательный характер. В его основе во всех без исключения случаях лежит некоторая задача, которую решает субъект ради достижения своих целей. Всякое взаимодействие субъекта (агента) с объектом физического мира приводит к изменению знаний субъекта (агента) об объекте Другой особенностью рассматриваемых архитектур является некоторое превалирование процесса планирования над всеми сопутствующими (равноценными) процессами, имеющими место при решении сложных задач, - это процессы отслеживания динамики среды агента, динамики взаимоотношений с пользователем и с другими агентами, функционирующими в среде агента. Наконец, рассмотренные архитектуры самодостаточны, они ориентированы на решение исходной задачи, они не предполагают на какое-либо взаимодействие с другими агентами с целью решить более сложную задачу в сравнении с теми, которые доступны каждому агенту в отдельности. 34 Лекция 7. Реактивная агентная архитектура. Достоинства и недостатки. Реактивная архитектура. Как уже отмечалось, многие нерешенные задачи связаны с концепцией «всезнайства». Это обстоятельство привело к смене всей парадигмы делиберативного подхода, на концепцию реактивных архитектур. Впервые идея реактивных агентов возникла у американского профессора Родни Брукса. В своих работах Брукс рассматривает две идеи: 1. реальный интеллект не воплощен в системах типа системы доказательства теорем или ЭС. Интеллектуальное поведение может быть реализовано без символьного представления, принятого в классическом искусственном интеллекте. 2. интеллектуальное поведение – результат взаимодействия со средой. Итак, в значительном числе случаев невозможно сформировать централизованную символическую модель мира и сгенерировать полный план до начала действий агента. Обычно это обусловлено неполнотой априорной информации о среде, которой располагает агент, и изменчивостью среды. При реактивном планировании агент не генерирует весь план заранее как в случае классического планирования. После выполнения одного или нескольких действий агент запускает процедуру перегенерации плана на основе своего текущего состояния. Другое распространённое название данного подхода – чередование планирования и выполнения. Одним из частных случаев является чередование планирования и обучения (если текущая цель агента обучение) – в этом случае действия агента между генерациями плана направлены на сбор новой информации и совершенствование модели среды. Поведение реактивных агентов можно рассматривать и как запуск некоторого правила поведения из базы знаний, или как результат выполнения априори заданных планов. Реактивные агенты реагируют на изменения в среде, но они не способны к целеполаганию. Целевые установки реактивных агентов определены априори. Это означает, что описание всех ситуаций, которые могут возникнуть в среде агента, в которых от агента требуется выполнить некоторое действие, заданы агенту до начала его работы. На все остальные ситуации могущие возникнуть в его среде реактивный агент реагировать не будет, они не будут побуждать его к преследованию каких либо целей. 35 Реактивные агенты не имеют внутренней модели мира, характерной для классического искусственного интеллекта. Внутренняя модель мира реактивных агентов представляет собой набор правил типа «ситуация-действие», каждое из которых выбирается в соответствии с текущей ситуацией. Под ситуацией понимается потенциально сложная комбинация внутренних и внешних состояний. Таким образом, основное отличие реактивных агентов от делиберативных состоит в том, что первые исходят из конечности знаний о среде, а вторые основаны на концепции «всезнайства». Брукс для обоснования своих тезисов построил множество роботов (так называемых «моботов»), основанных на так называемой архитектуре регулирующей затраты. Архитектура, регулирующая затраты, – иерархически упорядоченная по степени сложности (по требуемым затратам на выполнение) совокупность всех возможных действий агента. Каждое действие конкурирует с другими в целях управления агентом. Чем ниже в иерархии расположено некоторое действие тем меньше оно требует затрат и тем проще ему получить управление агентом. Так на нижних уровнях представлены более простые действия (типа ухода от препятствий), а на верхних более сложные (например, найти выход из лабиринта). Необходимо заметить, что системы, ориентированные на результат, чрезвычайно просты, если рассуждать в терминах объема необходимых вычислений, без вывода, который определен для систем символического искусственного интеллекта. Но, несмотря на эту простоту, Брукс продемонстрировал агенты, решающие такие задачи, которые и для символических систем искусственного интеллекта выглядели бы весьма внушительно. Характерным примером мобильных роботов Брукса (или «моботов») может служить тараконоподобный мобот под названием «Чингиз». «Чингиз» имеет шесть ног, но совершенно не имеет «центрального мозга». Все его двенадцать двигателей и двадцать один датчик распределены в разложимых сетях без централизованного контроллера. Каждая из шести ног Чингиза работает самостоятельно, независимо от других. Каждая нога имеет собственный управляющий узел - микропроцессор, который управлял действиями ноги. Процесс ходьбы для Чингиза является групповым проектом с участием, по крайней мере, шести отдельных решающих устройств. У данного «мобота», ходьба происходит в следствии коллективного поведения двенадцати двигателей. Два двигателя в каждой ноге поднимают или опускают её, в зависимости от того, что делают другие ноги. Когда они активизируются в правильной последовательности – «мобот» движется. Например, два основных движения можно представить так: «Если я – нога, и я вверху, нужно опуститься вниз» или «Если я – нога и я спереди, другие пять должны находиться немного сзади» Эти процессы существуют независимо, происходят всегда, и возбуждаются всякий раз, когда сенсорные предварительные условия истинны. Запустить процесс ходьбы можно задав последовательность подъема ног (это – единственный пример, в котором централизованный контроль очевиден). Как только нога поднята, она автоматически продвигается вперед, и опускается. Когда нога становится 36 на землю, всё тело продвигается вперед. Такое «существо» может идти по плоской гладкой поверхности без запинаний, Для того, чтобы Чингиз прошел через груду телефонных справочников, Брукс установил пару чувствительных контактных усиков, посылающих информацию о поверхности передней паре ног. Сигнал от контактов может приостановить действие двигателя. Правило такое: «Если контактный ус чувствует препятствие – соответствующая нога (правая либо левая) останавливается; если не чувствует, нога идёт дальше». Брукс выделял четыре типа сущностей, обучению которым должны были быть способны его «моботы». 1) «картина мира» (например некоторые моботы запоминали расположение препятствий, потенциально облегчая себе, таким образом, повторные прохождения). 2) численная «калибровка» параметров (причём как оценочных, т.е. отвечающих за распознавание ситуаций, так и параметров действий; например, насколько далеко необходимо шагнуть той или иной ноге «Чингиза» при его ходьбе). 3) ситуации, в которых должны применятся те или иные действия, т.е. корректировка поведения. 4) новые поведенческие модули (однако, введение новых поведенческих модулей осуществлялось только при доработках «моботов», т.е. извне, инженерамиразработчиками). В этом аспекте интересны опыты Брукса по обучению уже упоминавшегося шестиногого «мобота» Чингиз передвижению на пяти, четырёх и даже на трёх ногах. Для этого он установил на «брюшке мобота» чувствительный датчик, срабатывающий при его касании поверхности и ввёл новое правило «не касаться датчиком поверхности» (т.е. не терять равновесия). Первоначально «Чингиз» пытался двигаться (а точнее каждая из его ног) так же как и с шестью исправными ногами, что неизбежно вело к падению и срабатыванию датчика. Однако способность к численной калибровке параметров и к корректировке поведения каждой из ног, в сочетании с правилом «не терять равновесия» вскоре привели к тому, что «Чингиз» стал способен к передвижению в ситуации отсутствия нескольких ног. Естественно, что изменились как ширина шага каждой из ног (численная калибровка), так и последовательность перестановки ног (корректировка поведения). Другим примером реактивного агента может быть ситуативный автомат. Он не манипулирует с символами, и вообще, автомат не содержит каких-либо символических описаний. Эта технология зависит от возможности представить мир в терминах состояний автомата. Например: Пусть Агент х содержит информацию Р о состоянии мира S, например S=K (x, P), если для всех состояний мира, в которых х имеет то же самое значение, как и в S, выражение Р – истина. 37 Агент определен в терминах двух компонент: восприятие и действие. Затем используются две программы для синтеза агентов: RULER используется для определения компоненты восприятия, GAPPS – для компоненты действия. RULER имеет три входа: 1. Описание семантики агентных входов (при включении первого входа, «идёт дождь»); 2. Набор статических фактов («когда идет дождь, земля мокрая»); 3. Спецификация переходов состояний мира («если земля мокрая, она остается мокрой, пока не выйдет солнце»). Затем определяется желаемая семантика выхода (если первый вход включен, то земля – влажна). Все декларативное «знание» было уменьшено до очень простого цикла. GAPPS в качестве своего входа имеет множество правил «сжатия» цели (существенные правила, которые кодируют информацию о достигаемых целях) и цель верхнего уровня, на основе чего генерирует программу, которая может быть оттранслирована в исполняемый код достижения цели. Генерация цикла не представляет, не манипулирует символическими выражениями, вся символическая манипуляция выполнена во время компиляции. По поводу реактивных систем было высказано следующее соображение: «Сила реактивных архитектур основана на их способности использовать локальные образцы активности в окружающей их среде для генерации более или менее внятных (hardwired action) ответов для заданного множества стимулов. Успешное использование этого метода предполагает: 1) полный набор воздействий окружающей среды, требуемый для однозначного определения последовательности действий агента на любое воздействие среды, тогда поведение агента может быть определено ситуативно; 2) агент не имеет глобальных ограничений по задаче, которые необходимо учитывать при ее решении; 3) цель агента может быть представлена в структуре агента неявно. Если согласиться с мнением, что качество взаимодействия агента со средой определяют уровень интеллекта агента, то агенты с реактивной архитектурой в отличие от делиберативных архитектур способны приспосабливаться к изменяющимся внешним условиям, но накапливаемые ими знания носят локальный характер типа «стимулреакция». Взаимодействие агента реактивной архитектуры со средой носит не целевой характер: агент только отображает поведение среды, но не воздействует на неё целенаправленно. Помимо этого, обсуждаемый подход не имеет единой методологии. Вряд ли можно согласиться с представлением о том, что каждая из реактивных систем должна быть вручную настроена в результате большого объема экспериментирования. 38 Лекция 8. Гибридная архитектура агентов. В ответ на трудности и ограничения на круг решаемых задач возникающие при разработке делебиративных и реактивных агентов были предложены так называемые гибридные системы, в которых сделана попытка объединить достоинства обоих подходов и уйти от их недостатков. Очевидный подход состоит в том, чтобы построить агент из двух (или более) подсистем: делиберативная и реактивная. Первая компонента содержит символическую модель мира, генерирует планы и реализует их методами символических систем искусственного интеллекта. Вторая компонента способна к реакции на события, происходящие в среде, без участия в сложных рассуждениях. Часто реактивный компонент задан некоторыми прецедентами посредством совещательного модуля, таким образом, агент способен быстро реагировать на важные события окружающей среды. Такой вид структурирования естественным образом ведет к многоуровневым архитектурам. В такой архитектуре подсистемы управления агента упорядочены в иерархию, где более высокие уровни работают с информацией более высокого уровня абстракции. Например, на самом нижнем уровне может быть отображена информация непосредственно с датчиков, или на исполнительный механизм, а самый верхний уровень – долгосрочные цели. Ключевая проблема такой архитектуры состоит в том, чтобы создать структуру управления взаимодействием уровней с включением в нее подсистем агента В 1992 г. была создана «туристическая» машина, как агент с гибридной архитектурой. Архитектура содержит подсистемы восприятия и действия, которые взаимодействуют со средой агента непосредственно, и три уровня управления, определяющие структуру управления, обеспечивающую взаимодействие уровней. Каждый уровень независим, активен, параллельно осуществляющий процесс. Эта архитектура разработана для специального приложения автономного агента - подвижного робота. В отличие от большинства других разработок, она рассчитана на реальное приложение, а не только на демонстрационный вариант. В реальном приложении агент имеет дело с непредвиденными событиями внешнего мира как в пространстве, так и во времени и в присутствии других агентов. При этом он должен сохранять способность адекватно реагировать на них и принимать решения. Но внешний мир невозможно моделировать в деталях. По этой причине архитектура агента и является гибридной. Агент должен иметь архитектуру, которая позволит ему справляться с неопределенностью и 39 неполнотой информации, реагировать относительно простыми правилами. на непредвиденные события, пользуясь Данная архитектура представлена на рис.1. По утверждению автора, эта архитектура демонстрирует хорошее поведение в соответствии с контекстом-состоянием внешней среды. Она включает в себя три уровня, каждый из которых соответствует различным типам способностей агента. Уровень моделирования (M) Сигналы от сенсоров Подсистема восприятия Уровень планирования (P) Уровень реакции (R) Подсистема действий Действия Часы Управляющие правила, активируемые контекстом Рисунок 1 ‐ Гибридная архитектура для автономного агента (“Touring Machine”) - уровень реакции на события R поддерживает способность агента быстро реагировать на события, выдаваемые вышележащим уровнем, даже если они ранее не планировались; - уровень планирования P генерирует, исполняет и динамически реконструирует частичные планы, например, для выбора маршрута подвижного робота; - уровень предсказания, или моделирования M моделирует поведение сущностей внешней среды и самого агента, что может использоваться для объяснения наблюдаемого поведения и предсказания возможного их поведения в будущем. 40 Каждый из этих уровней имеет модель мира агента на соответствующем уровне абстракции и содержит возможности, соответствующие уровню. Каждый из уровней напрямую связан с компонентой восприятия и действия и в состоянии независимо от других уровней решать, реагировать или не реагировать в текущем состоянии мира. В архитектуру включена Подсистема управления на основе правил, активируемая контекстом с задачей обеспечить подходящее поведение агента в случае конфликта вариантов поведения, инициируемого различными уровнями. Система реализована как комбинация технологии обмена сообщениями и контекстной активации управляющих правил (в соответствии со спецификой предметной области), выступающей в роли посредника, который исследует данные разных уровней (воспринимаемый вход и выходы разных уровней), вводит на различные уровни новые данные и удаляет некоторые данные. Синхронизация входов и выходов уровней также обеспечивается этой подсистемой. Фактически правила подсистемы выступают в роли фильтра между сенсорами агента и внутренними уровнями агента (“supressors”) и между уровнями и их исполнительными элементами (“censors”). Посредничество это остается активным все время работы агента, однако оно прозрачно для уровней, каждый из которых продолжает действовать так, как если бы он был единственным при управлении агентом, не заботясь о возможном конфликте. Данная архитектура имеет реализацию и по мнению авторов вполне работоспособна. Она интегрирует в себе ряд традиционных механизмов рассуждений на основе знаний и механизмов чисто поведенческого, реактивного характера. Она является весьма характерным представителем гибридно-организованной агентной архитектуры. Система InteRRaP подобна «туристической» машине и имеет многоуровневую архитектуру, с каждым уровнем связан соответствующий уровень абстракции: чем ниже уровень, тем выше уровень абстракции. В InteRRaP эти уровни далее разделены на два вертикальных слоя: один содержит уровни баз знаний, а другой – различные компоненты управления, которые взаимодействуют с базами знаний своего уровня. Самый нижний уровень – компонента управления интерфейсом с миром, и база знаний, соответствующая мировому уровню (рис 2). 41 Интерфейс с внешним миром содержит возможности агента по восприятию событий внешнего мира, воздействия на него и средства коммуникации. Иерархическая база знаний Компонента управления агентом Компонента, ответственная за кооперативное поведение Компонента, ответственная за планирование Знания, относящиеся к кооперативному поведению. (общественный контекст) Совместные планы и цели Знания о процессах планирования (ментальный контекст) Локальные планы и цели у в е л и ч е н и е у р о в н я а б с т р а к ц и Реактивная компонента Воздействия Модели внешнего мира (ситуативный контекст) Фрагменты поведения Коммуникации Восприятие 42 Интерфейс с внешним миром Поток управления Поток информации Рисунок 2 - InteRRaP-архитектура агента Компонента, ответственная за реактивное поведение, использует базовые возможности агента по реактивному поведению, а также частично использует знания агента процедурного характера. Она базируется на понятии “фрагмента поведения” как некоторой заготовки реакции агента на некоторые стандартные ситуации. Это позволяет агенту в стандартных ситуациях не обращаться к планированию на основе знаний и реализовывать значительную часть своего поведения рутинным образом с хорошей эффективностью. Из базы знаний ей доступны только знания нижнего уровня абстракции, где содержится информация о фрагментах поведения. Компонента, ответственная за планирование, содержит механизм планирования, позволяющий строить локальные планы агента, т.е. планы, не связанные с кооперативным поведением. План представляется в виде графа, узлами которого могут быть либо конкретные наборы действий вплоть до элементарных шагов поведения, либо новые субпланы, подлежащие дальнейшей конкретизации. Таким образом, планирующая компонента активирует поведение (через нижележащую компоненту), направляемое целями. Она же участвует и в планировании, связанном с кооперативным поведением агентов. Эта компонента может использовать знания двух нижних уровней абстракции. Компонента, ответственная за кооперацию агентов, участвует в конструировании планов совместного поведения агентов для достижения некоторых общих целей или выполнения своих обязательств перед другими 43 агентами, а также выполнения соглашений. Этой компоненте доступны знания всех трех уровней абстракции. База знаний агента имеет трехуровневую структуру и построена по принципу доски объявлений. Уровни базы знаний фактически отвечают уровням абстракции знаний в соответствии со структурой управляющих компонент. Модель мира агента содержит убеждения агента в соответствии с уровнем, ориентированным на поведение. Второй уровень соответствует модели ментальных знаний агента и знаниям о текущем ментальном состоянии агента (намерения, цели, планы). Наконец, третий уровень содержит знания и убеждения агента о других агентах, информацию о совместных планах, целях и намерениях, т.е. то, что связано с «общественным контекстом». Внутри базы знаний, как уже отмечалось, возможен доступ с верхних уровней к нижним. Например, компонента, ответственная за поведение, не имеет доступа к знаниям о ментальной модели и к знаниям о кооперативном поведении. Общее управление поведением осуществляется путем коммуникаций между уровнями. При некотором входном событии агент пытается распознать ситуацию во внешнем мире и управление постепенно сдвигается снизу вверх до тех пор, пока не достигнет уровня, способного справиться с возникшей ситуацией. Очевидно, существует три варианта реакции агента на внешние события: • - реакция с использованием только поведенческого уровня, когда этот уровень находит фрагмент поведения, адекватный ситуации, без явного привлечения локального планирования; • - реакция с использованием локального планирования, когда задача перемещается с нижнего уровня на уровень локального планирования, где и конструируется план; • - реакция с использованием уровня кооперативного планирования, когда поиск плана с уровня локального планирования перемещается дальше на уровень планирования кооперативного поведения 44 Лекция 9. Гибридные агенты. Достоинства и недостатки. Рассмотрим гибридную систему, разработанную специально для системы здравоохранения. Она включает в себя многоуровневую структуру знаний, рабочую память, менеджера коммуникаций и человеко-машинный интерфейс (см. рис.1) Поскольку данная архитектура должна быть релевантной медицинским приложениям, агент должен обладать обоими типами поведения, как поведением на основе знаний (например, для выбора планов, декомпозиции задач, размещения задач), так и поведением на основе быстрой реакции на события (например, для формирования ответов в реальном времени на поступающие новые данные, изменение имеющихся данных, на изменение текущих соглашений с другими агентами). В этой архитектуре интеллектуальное поведение поддерживается совместной работой таких компонент, как блок решающих правил для вычисления плана, блок правил для управления задачами, их декомпозицией и размещением, а также блок правил для поддержки соглашений с другими агентами при кооперативном решении задач. Реактивное поведение реализуется с помощью управляющего уровня, который реагирует на изменение состояния рабочей памяти (например, при поступлении новых результатов решения задачи, целей или сообщений, а также при изменении имеющихся данных, целей, между агентных соглашений или состояний задач). Ключевым моментом данной архитектуры является трехуровневая организация знаний, при этом выделяются следующие уровни: 1. Уровень специфических предметных знаний, в котором содержатся медицинские знания о болезнях, знания о планах управления лечением болезней (“протоколы”), база данных о пациентах (истории болезней) и база данных о доступных ресурсах. Однако предметные знания не содержат какой-либо информации о том, как их следует использовать, здесь представлены только свойства предметной области. 45 2. Уровень знаний о процедурах вывода; он содержит декларативные правила вывода, которые должны применяться к предметным знаниям о конкретном пациенте, чтобы вывести новые данные. Этот уровень - основной в архитектуре. В свою очередь он подразделяется на компоненты принятия решений в условиях неопределенности, управления задачами и управления кооперацией агентов. Например, модуль управления задачами содержит декларативную схему вывода для управления переходами состояний задачи. Особенности системы вывода решений состоят в том, что она не использует понятия ментального состояния агента (убеждения, желания, намерения) и не использует какой-либо логический язык для вывода, для этого она использует стратегии аргументации в условиях неопределенности. А д м и н и с т р а т о р к о м м у н и к а ц и й Примитивы сообщений Контекст решений (цели) Решения и аргументация Добавляет Управление данными и событиями Уровень управления Переключает Состояния задач Результаты Добавление решения задач примитивов сообщений Входные и выходные примитивы сообщений Обязятельства Текущие время/дата Сообщения Человекомашинный интерфейс Правила кооперации Использует Используется Правила управления задачами Решающие правила Интерфейсный уровень Специфические предметные знания Предметный уровень Рисунок 1 - Система для распределенных медицинских приложений 3. Менеджер задач ответственен за декомпозицию задач на подзадачи и их распределение по соответствующим агентам, а также за управления переходами состояний задач. Управление кооперацией агентов использует механизм, основанный на взаимных обязательствах агентов («любой агент согласен предпринимать схему действий, которая имеет целью исполнить 46 задачу за подходящее время»), и соглашениях о том, при каких условиях агент вправе отказаться от своих обязательств и как он должен себя вести по отношению к другим агентам, когда такие обстоятельства возникнут. 4. Уровень управляющих знаний, который применяет знания о процессе вывода к предметным знаниям, чтобы генерировать схему вывода, если в рабочую память добавляются новые знания. Авторы убеждены, что такое функциональное разделение знаний на предметные знания, знания о процедурах вывода и управляющие знания существенно упрощает их представление, повторное использование и эксплуатацию, поскольку эти компоненты могут создаваться и поддерживаться независимо. Кроме того, эта архитектура позволяет просто встраивать программы извлечения знаний, каждая из компонент которых может получаться и модифицироваться независимо друг от друга. Другие три компоненты рассматриваемой архитектуры - это рабочая память, менеджер коммуникаций и человеко-машинный интерфейс. Рабочая память служит для запоминания текущих данных, генерируемых уровнем управления, пользователя и менеджера коммуникаций. Типы информации, которая хранится в рабочей памяти, таковы: цели, которые должны быть достигнуты; состояния задач, которые находятся в текущем состоянии процесса выполнения соглашений с другими агентами. Фактически, в привычной нам терминологии, рабочая память есть ни что иное, как доска объявлений. Менеджер коммуникаций содержит в себе сообщения, которые должны быть посланы другим агентам, представленные на языке коммуникаций с примитивами типа примитивов языка KQML: обратиться с просьбой, принять, отвергнуть, изменить, предложить, проинформировать, запросить данные, отказаться и подтвердить. Человеко-машинный интерфейс определяет схему взаимодействия между системой и пользователем, поскольку данная многоагентная система не является автономной, что связано с личной ответственностью пользователя за здоровье пациента. Чрезвычайно интересным примером гибридного агента действующего в условиях быстро меняющейся среды в составе многоагентного коллектива является виртуальный «робот-футболист» (или «футбольный агент»). 47 Футбольный агент имеет многоуровневую поведенческую организацию, которая, по мнению авторов, в какой-то мере соответствующую структуре поведенческих функций футболиста-человека. Используя подход с позиций когнитивной психологии, авторы выделяют ряд поведенческих функций футболиста, связанных с мыслительными способностями. Такими функциями являются: оценка позиций партнеров и противников, принятие решений в атаке или защите в положении с мячом или без мяча; обучение при тренинге или в игре путем пополнения знаний о решениях в различных ситуациях игры и др. Эти функции определяют командную стратегию и тактику при противоборстве с противником. Построенная согласно таким представлениям иерархическая поведенческая структура футбольного агента приведена на рис. 2. Текущее поведение Поведение лидера группы -Пас -Ведение -Удар и т.д. Текущая стратегия Поведение члена группы -Выбор ударной позиции -Перехват и т.д. -Отбор -Прессинг -Сопровождение и т.д. Рисунок 2 - Поведенческая организация агента Всех агентов на поле можно разделить на группы. Число групп и их состав определяется текущей стратегией игры. Текущее поведение агента определяется: текущей ситуацией на поле; группой, в которую он входит; текущими стратегическими (тренерскими) установками. Сначала по анализу текущей информации об игровой ситуации определяется категория поведения (атакующее или защитное, активное или пассивное). 48 Информация об игровой ситуации может быть как визуальной, так и вербальной. После выбора категории поведения, дальнейший выбор осуществляют с помощью оценочных функций или деревьев решений каждой из категории. Некоторые параметры функций задаются текущей стратегией. Кроме того, часть параметров являются адаптивными и меняются в течение игры при неизменности стратегии. Сами функции могут содержать обучаемые модули, которые настраиваются (тренируются) в учебных ситуациях. Коммуникации между агентами команды. Задачи коммуникации между распределенными объектами при ограниченной полосе пропускания канала конкретизируются в зависимости от вида информации, которая должна передаваться по коммуникационным каналам и частоты передачи того или иного вида информации. Используется информация о положениях игроков на поле, которая бы дополняла бы информацию каждого игрока и. информация о смене стратегии, как команды, так и группы, в которую входят игроки, так как все игроки команды должны знать о смене стратегии. Лидер внутри группы корректирует действия своей группы. Например, при выборе в качестве поведения пас партнеру сообщается об области, в которую будет сделан пас. Как видно агенты этой системы способны - к планированию своих действий; - к учёту изменений происходящих во внешней среде; - к целенаправленному воздействию на среду; - к взаимодействию с другими агентами, с целью решения более сложной (по сравнению с собственной) задачи, поставленной перед коллективом агентов в целом; Итак, гибридные архитектуры образуются за счёт комбинирования реактивного и делиберативного подходов. Это позволяет, с одной стороны, избавится от недостатков, присущих этим подходам, с другой, сочетать присущие им достоинства. Однако рассмотренное выше взаимодействие реактивных и делиберативных компонент приводит, в зависимости от реализации, к доминированию одного из этих компонентов в общем поведении агента. 49 Лекция 10. Мультиагентный подход к решению задач. Стратегии управления мультиагентными системами. Централизованная стратегия управления. Децентрализованная стратегия управления. В настоящее время одним из наиболее перспективных подходов к решению сложных задач, в области искусственного интеллекта является мультиагентный подход. Сущность мультиагентного подхода к решению задач состоит в том, чтобы редуцировать некоторую исходную сложную задачу до некоторой упорядоченной совокупности более простых задач, совокупное решение которых приведёт и к решению исходной сложной задачи. Ответственность за решение каждой такой «простой» задачи возлагается на некоторую относительно «простую» решающую систему, называемую агентом (более простую по сравнению с решающей системой, способной решить исходную сложную задачу самостоятельно). Это позволяет снизить трудоёмкость разработки и модификации решающей системы, необходимой для решения исходной сложной задачи, за счёт того, что она представляется совокупностью относительно простых и однотипных решающих систем. Кроме того, во многих случаях использование мультиагентного подхода позволяет решить задачи более сложные, чем те, которые могут быть решены при помощи классических экспертных систем, например, задачи, обладающие неопределенностью по статической структуре оригинала. Коллективы агентов могут быть однородными, когда все агенты коллектива имеют однотипную структуру, и разнородными, в противном случае. Члены коллектива могут быть распределены как в пространстве, например, функционировать на разных ЭВМ, так и по времени, если, например, одни агенты приступают к работе всегда только после того как отработали некоторые другие агенты. В любом случае коллектив агентов должен обладать свойством полноты, в том смысле, что множество функций, реализуемых агентами коллектива, должно включать те множества функций, через которые может быть представлено решение любой исходной задачи из проблемной области коллектива. Исходный коллектив агентов априори может быть структурирован, например, по уровням абстракции обрабатываемой агентами информации. В настоящее время принято выделять три подхода к решению сложных задач и, соответственно, три типа решающих систем: централизованный, распределённый и смешанный. Все эти подходы используются при построении мультиагентных систем искусственного интеллекта. Каждый из указанных подходов имеет свою область 50 использования. Они не являются конкурирующими подходами к решению сложных задач. Предметом исследования мультиагентных систем независимо от используемого подхода к решению задач является организационная структура, образуемая в результате организационно-управленченского взаимодействия членов некоторого сообщества при решении исходной задачи. Централизованный подход, Особенностью применения централизованного подхода является то, что дерево целей для задачи, решаемой агентным коллективом, должно быть задано априори. Централизованный подход оказывается пригодным для решения таких задач, для в формулировке которых нет неопределенности по статической структуре исследуемого оригинала и соответственно всех более «старших» видов неопределенностей. Можно сказать, что системы с централизованной стратегией управления по функциональным возможностям и области решаемых задач близки к классическим экспертным системам. Возможность априорного задания целей обуславливает важную особенность таких систем. Системы, построенные по принципу централизованного подхода, прежде всего, характеризуются наличием в составе системы модуля, исполняющего роль центрального координатора действий этой системы. Центральный координатор производит редукцию исходной задачи на более простые подзадачи, т.е. определяет путь решения исходной задачи. Планы индивидуальных агентов создаются раздельно, а затем отправляются в «центральный координатор», анализируются им, идентифицируются потенциальные взаимодействия, которые могут привести к конфликтам, и группируются в последовательность опасных ситуаций. Затем, координатор вставляет коммуникационные команды в индивидуальные планы, что позволяет агентам синхронизировать свою работу. То есть, каждый агент рассылает координатору сообщения о планируемых действиях. Координатор строит план, который определяет для каждого агента его действия, включая действия ухода от коллизий (рис. 1 «Централизованная мультиагентная система»). Значит, для централизованной схемы управления коллективом агентов априори известны (могут быть определены) как коллектив агентов, так и их связи. В процессе решения конкретной исходной задачи конкретизируются лишь частные цели агентов 51 Центральный Координатор Множество агентов системы Индивидуальные планы агентов Анализ взаимодействий А А Поиск опасных ситуаций А А Разрешение конфликтов Синхронизированные индивидуальные планы агентов Синхронизация действий Рис 1. Централизованная мультиагентная система Как видно при централизованном подходе основная нагрузка по построению плана решения задачи, стоящей перед системой, возлагается на центральный координатор, а отдельные агенты лишь реализуют достижение необходимых локальных целей. Централизованный подход к решению задач оказывается вполне пригодным и достаточным для решения задач умеренной сложности в условиях неизменности внешней среды. Однако необходимость решения более сложных задач, в формулировке которых присутствуют неопределенности свыше параметрической и функционально-структурной приводит к необходимости децентрализации процесса управления системой. Децентрализованное управление. Концепция распределённых систем (децентрализованного управления) в общих чертах представляет собой следующее. В некоторой среде функционирует некоторая достаточная с точки зрения решаемых задач совокупность независимых решающих систем (агентов). В этой же среде 52 заданы некоторые правила (ограничения) поведения агентов и задана некоторая глобальная цель. Каждый из агентов, удовлетворяя ограничениям среды, преследуя свою локальную цель и согласуя свои действия с другими агентами коллектива - участвует в процессе достижении коллективом некоторой глобальной цели. Если глобальную цель преследует необходимый и достаточный коллектив агентов, то она, безусловно, будет достигнута (она может быть представлена как состоящая из частных целей агентов коллектива). Глобальная цель состоит из частных целей в том смысле, что достижение каждым из агентов своей частной цели приводит к достижению глобальной цели коллективом агентов. Первоначально, в ответ на формулировку конкретной глобальной цели откликаются (готовы с ней работать) несколько агентов, но с учётом действующих в среде ограничений остаётся один агент. Роль оставшегося агента – упростить исходную цель: представить её совокупностью подцелей. Формулировка подцелей приводит к новому конкурсу среди агентов. Этот процесс продолжается до тех пор, пока не будут сформулированы подцели (подзадачи), решение которых становится доступным для соответствующих агентов коллектива. Таким образом, основным признаком задач, на решение которых ориентированы системы с децентрализованной координацией агентов, является невозможность априори редуцировать решаемые системой задачи. Результатом достижения коллективом агентов конкретной глобальной цели являются её редукция на подцели, определение конкретного коллектива агентов, обеспечивающего достижение конкретной глобальной цели, структура связей между агентами, формируемая на период решения конкретной исходной задачи, и собственно решение исходной задачи (рис. 2 «Распределённая мультиагентная система»). А7 А8 А5 А0 53 А2 А1 А3 А6 А4 А10 А9 Рисунок 2 - Распределённая мультиагентная система С точки зрения проблемы планирования при децентрализованной стратегии управления план создается несколькими агентами. Т.е. отсутствует единый, центральный координатор могущий оценить действия системы в целом. Тогда неизбежным следствием децентрализованного планирования является возможность возникновения конфликтов в многоагентной среде. Например, некоторый агент может сформулировать цель, которая будет конфликтовать с целями других агентов. Поэтому обнаружение и разрешение нежелательных взаимодействий при децентрализованной стратегии управления коллективом агентов становится значительно более трудным по сравнению с централизованным подходом. 54 Лекция 11. Смешанная стратегия управления. Организационные структуры. Мультиагентое планирование. Метауровневый информационный обмен. Смешанная стратегия подход. Что касается смешанного подхода к стратегии управления коллективом, то его сущность, как следует из названия, заключается в некоторой комбинации двух выше рассмотренных подходов (централизованного и распределенного). Превалирование в решении задачи характерных особенностей каждого из названных подходов определяется объемом и полнотой имеющегося в системе знания о структуре дерева целей. Т.е. чем большим знанием о последовательности и взаимозависимости подцелей мы располагаем, тем больше в системе присутствуют элементы центрального планирования с присущими им достоинствами. И обратно: уменьшение знания ведет к большей децентрализации. Так, к примеру, если проблемная область искусственной интеллектуальной системы может быть структурирована априори, то состав коллектива агентов, частные цели для каждого из агентов и их связи могут быть определены априори. При этом управление агентами носит иерархический характер. Причём в процессе достижения конкретной глобальной цели обобщённая иерархия агентов конкретизируется до конкретного дерева, то есть апостериори определяется только коллектив агентов, реализующий решение конкретной задачи (рис. 1 «Распределённая мультиагентная система с иерархической структурой). В другом случае если в формулировке задачи присутствует неопределенность по статической структуре оригинала, однако, мы располагаем знанием об уровнях абстракции оригинала, т.е. нам известна глубина дерева. Невозможно априори определить коллектив агентов, необходимый для решения задачи, и частные цели для каждого агента. Однако, возможно упорядочить всех имеющихся в системе агентов по уровням абстракции. Это означает, что горизонтальные связи могут быть 55 установлены только между агентами одинакового уровня абстракции, а планы нижестоящего агента должны быть согласованны с вышестоящим агентом. А0 А1 А2 А5 А6 А3 А7 А4 А8 А9 А10 Рисунок 1 - Распределённая мультиагентная система с иерархической структурой Подведем некоторые итоги рассуждений относительно стратегий управления мультиагентными коллективами. Для централизованной схемы управления коллективом агентов априори известны (могут быть определены) как коллектив агентов, так и их связи. В процессе решения конкретной исходной задачи конкретизируются лишь частные цели агентов. Однако необходимость решения задач при наличии в их формулировке неопределенности свыше параметрической и функционально-структурной (т.е. неопределенности хотя бы по статической структуре оригинала) приводит к необходимости децентрализации процесса управления системой. Основным признаком задач, на решение которых ориентированы системы с децентрализованной координацией агентов, является невозможность априори редуцировать решаемые системой задачи. Результатом достижения коллективом агентов конкретной глобальной цели 56 являются а) её редукция на подцели, б) определение конкретного коллектива агентов, обеспечивающего достижение конкретной глобальной цели, в) структура связей между агентами, формируемая на период решения конкретной исходной задачи, и г) собственно решение исходной задачи. При смешенном подходе агенты, выступающие в роли локальных координаторов, должны быть способны решать задачи с параметрической и функционально-структурной неопределенностью. При этом исходная задача, поставленная перед совокупностью таких агентов-координаторов, в целом, может обладать неопределенностью свыше указанной (неопределенностью по статической структуре оригинала). К настоящему времени теория и практика, особенно децентрализованного и смешенного, подходов к решению сложных задач переживает период становления. Организационные структуры. Рассматриваемый подход к построению распределённых систем искусственного интеллекта базируется, прежде всего, на децентрализованном подходе к решению сложных задач. Организационное структурирование предполагает, что пространственное распределение ролей членов коллектива обусловлено их целями и ресурсом, избегая при этом перекрытия зон их действий. При функциональном распределении агенты более высоких уровней иерархии определяют норму поведения нижестоящих агентов. В то же время взаимодействие агентов одного уровня строится на основе равноправных переговоров. Координация в организационных структурах строится на реализации двух процессов: построение организационной структуры и обеспечения её функционирования (обеспечение функционирования сформированного коллектива агентов). В этом контексте организационная структура может рассматриваться как набор «интересов» и приоритетов (очерёдностей). Первый набор указывает, когда и кому должна быть поставлена информация, второй – порядок преследования различных целей. 57 Различные организационные структуры соответствуют различным целям. Изменение проблемной ситуации в среде влечёт за собой необходимость отслеживания организацией своей структуры. Мультиагентное планирование. Имеющийся уже опыт использования мультиагентного планирования позволяет судить о том, что в целях координации агенты обычно формируют мультиагентный план, который определяет их будущие действия и взаимодействия по достижению конкретной цели. Он детализируется до начала поиска каждым агентом, включенного в решение исходной задачи. Мультиагентные планы обычно строятся, чтобы избежать неадекватных и конфликтных действий с учетом ограниченности ресурсов. Мультиагентное планирование отличается от других подходов по уровню подробности, с которой он определяет действия каждого агента. Агенты заранее знают, какие действия они будут выполнять, какие действия будут выполнять их соседи, какие взаимодействия будут осуществлены. Столь подробное описание поведения коллектива агентов предъявляет достаточно жёсткие требования ко времени выполнения мультиагентного плана из-за проблем непредсказуемости и динамичности среды. Поскольку построение плана должно учесть все возможные точки выбора, которые агенты должны достигнуть без получения информации о реальном выполнении, такой подход часто требует существенного вычислительного и коммуникационного ресурса. В пределах мультиагентного планирования реализуются как децентрализованный подход, так и централизованный. Децентрализованное управление базируется в значительной мере на понятии интеллектуального агента (см. ниже) и в общих чертах представляет собой следующее. В некоторой среде функционирует некоторая достаточная с точки зрения решаемых задач совокупность агентов. В этой же среде заданы некоторые правила (ограничения) поведения агентов и задана некоторая глобальная цель. Каждый из агентов, удовлетворяя ограничениям среды, согласуя свои действия с другими агентами, преследует глобальную цель. Поскольку глобальную цель преследует достаточный коллектив агентов, то она безусловно будет достигнута, и она может быть представлена как состоящая из частных целей агентов коллектива. Глобальная цель состоит из частных 58 целей в том смысле, что достижение каждым из агентов своей частной цели приводит к достижению глобальной цели коллективом агентов. Первоначально, в ответ на формулировку конкретной глобальной цели откликаются (готовы с ней работать) несколько агентов, но с учётом действующих в среде ограничений остаётся один агент. Роль оставшегося агента – упростить исходную цель: представить её совокупностью подцелей. Формулировка подцелей приводит к новому конкурсу среди агентов. Этот процесс продолжается до тех пор, пока не будут сформулированы подцели, достижение которых становится доступным для соответствующих агентов коллектива. С точки зрения проблемы планирования при распределенном мультиагентном планировании план создается несколькими агентами. Это означает, что может и не быть кого-то, кто оценивает действия в сообществе в целом, тем самым обнаружение и разрешение нежелательных взаимодействий становится значительно более трудным. Метауровневый информационный обмен. Метауровневая информация – управляющая информация о текущих приоритетах и фокусе внимания решателя. Она указывает те задачи, на решении которых должны быть сосредоточены усилия агентов. Рассмотрим подход метауровневого информационного обмена в целях координации усилий агентов, названный Частичное Глобальное Планирование. При таком планировании агенты строят общий план, участвуя в нём своими локальными планами, и решая тем самым проблему координации. Эти частичные глобальные планы (PGPs) изменяются агентами путём построения планов своих адекватных действий. В этих планах указываются, какие цели будут преследоваться, в каком порядке, какие результаты будут получены и как долго каждая цель будет преследоваться. Затем агенты на основе моделей о себе и о своих соседях идентифицируют тех агентов, которые имеют PGPs и чьи цели являются частью общей цели коллектива. Если такое согласование локальных планов обнаружено, то формируется единый PGP, представляющий собой единый взгляд на действия группы. В связи с возможным изменением ситуации агенты могут исправлять свои PGPs, и, следовательно, свои локальные планы, улучшая тем самым использование ресурсов коллектива. Например, в PGP может быть указано на 59 необходимость сформировать одним из агентов частичное решение, обеспечивающее коллектив полезной прогностической информацией. Это ожидание и трансформированное частичное решение затем явно представляется в PGP, что приводит к общему плану более эффективного использования информационных ресурсов. Или, например, некоторый агент может, рассматривая свое текущее представление о PGPs коллектива и идентифицируя соседей по степени их занятости, путем модификации своего PGPs предложить коллективу модификацию подзадач с целью улучшения работы команды. Метауровневая информация – источник знания об агентных планах, которые являются более простыми в сравнении с рассмотренными выше, но более сложными, чем при мультиагентном планировании. Рассматриваемый способ координации возможен только тогда, когда имеется точная информация. Укажем, что если агент будет работать в заданной части пространства поиска, то важно, что ошибочное обязательство (план) приведет к ошибочной информации, распространяемой по сети, не имеющей отношения к решаемой задаче. Однако, как и в других подходах, обязательства не должны быть неизменными, необходимо некоторое средство для наблюдения за их развитием. В PGP подходе, например, агенты часто изменяли свои локальные планы, поскольку возникали новые задачи или потому, что действия выполнялись дольше ожидаемого, так что их обязательства необходимо было адаптировать. Но если бы агенты информировали друг друга обо всех незначительных изменениях в своих обязательствах, то это могло бы вызвать цепную реакцию изменений по всей системе. Поэтому было принято неявное соглашение, по которому агенты информировали друг друга только о существенных изменениях. 60 Лекция 12. Среда коллектива агентов. Возникающие структуры. Среда коллектива агентов. Все взаимодействия внешней среды и решающей системы (коллектив агентов) взаимозависимы, они не могут рассматриваться отдельно друг от друга. Сама решающая система является частью внешней среды. Внешняя среда замкнута, она представляет собой единое целое. Отображение внешней среды решающей системой, безусловно, конечно. Решающая система, находясь во внешней среде, должна функционировать в соответствии с закономерностями этой среды. Любое другое поведение решающей системы приведёт к её разрушению как решающей системы. Только наличие адекватной модели внешней среды позволит решающей системе получать адекватную оценку последствий своих возможных действий, необходимую для выбора наиболее целесообразных из них. На рис. 1. представлена ситуация наблюдения решающей системой за объектом исследования. Эта ситуация соответствует, в частности, задаче анализа и интерпретации изображений. Она позволяет судить о составе среды решающей системы. В необходимое окружение решающей системы входят: 1) объект исследования (ОИ) - совокупность денотатов (предметная область); 2) множество знаков внешней знаковой системы, посредством которых решающая система информируется о состоянии исследуемого объекта (образ объекта); 3) пользователь системы (КП); 4) сама мультиагентная решающая система; 5) язык, как средство коммуникации пользователя и системы; 6) физические объекты, посредством которых передаются сообщения пользователя и системы и знаки внешней знаковой системы; 7) пользователь и система как единое целое, образуемое в процессе решения исходной задачи. Все перечисленные выше элементы должны входить во внешнюю среду решающей системы. И ничего другого в ней нет. 61 Информацию о каждом из элементов среды система получает посредством либо знаков внешней знаковой системы, либо текстов языка общения. Каждый из элементов среды может быть объектом исследования в конкретном диалоге и, следовательно, система должна иметь необходимые знания о всех элементах среды. Среду системы следует признать динамичной, соответствующим свойством обладают все элементы этой среды: поскольку • система не только ориентирована на работу с различными пользователями, но каждый из них в процессе взаимодействия с системой изменяет своё состояние, например, в процессе обучения; ОИ КП Образ объекта М.А. Система Рис.1. Структура среды мультиагентной системы • сама система в процессе своего функционирования изменяет своё состояние: изменяется её знание о среде, изменяется, в общем случае, и структура системы в процессе её адаптации к среде; • предметная область системы, как правило, обладает динамикой. Так например, например, для мультиагентной системы анализа космоснимков динамика предметной области проявляется в таких процессах как: послепожарное восстановление лесов, распространение пожаров в зависимости от особенностей подстилающей поверхности, метеорологической обстановки и т.п., динамика повреждения 62 растительности подстилающей поверхности за счёт антропогенных факторов и целый ряд других процессов. Для задач дистанционного исследования подстилающей поверхности наиболее динамичными являются пирологические процессы, процессы становления водной и ледовой обстановки на том или ином водосборе (водоёме). Время развития этих процессов лежит в пределах от суток до месяца. Для задач же автоматизированной проводки судов по некоторому фарватеру время изменения обстановки на воде колеблется от нескольких десятков минут до нескольких часов. • язык как средство коммуникации и тексты внешней знаковой системы обогащаются за счёт наращивания знаний системы о их синтаксисе, и семантике; • при наращивании опыта взаимодействия пользователя с системой может изменяться и структура диалога; Возникающие структуры. Как мы помним, исходный коллектив агентов априори может быть структурирован, например, по уровням абстракции обрабатываемой агентами информации. Существенным феноменом при функционировании коллективов агентов являются так называемые возникающие структуры. После возникновения в среде коллектива агентов некоторой сложной задачи и после активизации корневого агента коллектива (последнее означает, что коллектив агентов принял на себя обязательства по достижению возникшей в среде цели) в конечном итоге будет сформирован такой агентный коллектив, структура которого адекватна исходной задаче. Для каждой исходной задачи формируется свой агентный коллектив, со своей структурой. Будем далее формируемую для конкретной исходной задачи структуру агентов называть возникающей структурой. Особенность возникающих структур состоит в том, они представляют способ усложнение структуры решающей системы как её реакции на усложнение исходных задач. Между элементами возникающих структур образуются, как правило, сильные связи, что позволяет сохранять их и использовать опыт возникающих структур в последствии при решении схожих задач. Жизнеспособность возникающих структур зависит, прежде всего, от изменчивости среды, в которой функционирует коллектив агентов. 63 Всякая возникающая структура обладает тем свойством, что она является решающей системой второго рода. Знание этой системы адаптировано к конкретной ситуации, обуславливающей возникновение исходной задачи. Система адаптирована по параметрам, функциональной структуре, статической структуре, по границам оригинала, по преследуемой цели. Замечания, сделанные по ходу предыдущего изложения, свидетельствуют о следующем: 1. Все агенты коллектива априори упорядочены по уровням иерархии. 2. Число уровней иерархии агентов коллектива определяется структурой предметной области решаемых задач и изоморфной ей структурой текстов внешней знаковой системы, посредством которых система информируется об оригинале. 3. Все агенты различных уровней иерархии связаны таким образом, что образуют некоторое множество деревьев, каждое из которых образовалось как возникающая структура. Однако корень этих структур один – корневой агент. Таким образом, коллектив агентов обладает памятью возникающих структур. 4. Каждый из агентов коллектива осуществляет в процессе своего функционирования переключение восходящих и нисходящих стратегий поиска, таким образом, на коллективе агентов в пределах возникающей структуры реализуется гетерархическая схема координации деятельности коллектива агентов. Ограничение общей схемы гетерархической координации в рассматриваемом случае состоит в том, что взаимодействуют между собой агенты только соседних уровней, а не каждый с каждым. 5. Всякая возникающая структура представляет собой функционально распределённую решающую систему второго рода. Знание и текущие данные об оригинале возникающей структуры также носят распределённый характер. Структура знания и данных об оригинале соответствуют структуре оригинала. Укажем, что все сделанные выводы следуют из теории агента. С учётом всех активизированных агентов возникающая структура может быть представлена как бы в двух измерениях. Первое измерение упорядочивает агенты системы по уровню абстракции анализируемых ими текстов внешней знаковой системы. Второе измерение упорядочивает агенты 64 системы по уровню абстракции преследуемых целей (см. рис. 2.). Ясно, что число агентов на каждом из уровней абстракции может быть различным. Это определяется структурой дерева редукции обобщённой цели системы. В процессе нисходящего анализа выявляются те агенты начального коллектива агентов, которые и образуют конкретную возникающую структуру. Между этими агентами и устанавливаются соответствующие связи, реализующих гетерархическую связь агентов. В целом эта структура состоит из некоторого множества решателей со связями, устанавливаемыми в процессе решения исходной задачи. Связи между агентами устанавливаются как априори, так и в процессе решения конкретной исходной задачи, то есть с использованием обоих способов. Агент 5.1. Агент 2.1. Агент 1.1. … уровни абстракции анализируемой информации Агент 2.м. Агент1.н. Виды преследуемых целей Рис. 2. Возникающая структура по двум измерениям Образованию возникающих структур всегда сопутствуют процессы их распада. Жизнеспособность возникающих структур зависит, прежде всего, от изменчивости среды, в которой функционирует коллектив агентов. Всякая возникающая структура имеет некоторый период жизни, величина которого 65 зависит от её активности (востребованности). При возрастании числа членов первичного коллектива агентов процессы образования и распада возникающих структур всегда ведут к усложнению структуры первичного коллектива агентов как совокупности возникающих структур. 66 Лекция 13. Постановка задачи анализа изображений. Состав среды агента мультиагентой системы анализа изображений (МСАИ). Перечень задач агента МСАИ Постановка задачи анализа изображений Первоочередной задачей всякой системы анализа изображений, в том или ином виде, является выделение на анализируемом изображении совокупности данных релевантных цели проводимого анализа, которая формулируется пользователем системы. Причём предполагается, что конечный пользователь такой системы не является специалистом непосредственно в области обработки изображений и распознавания образов, но является специалистом в предметной области, к которой принадлежат цели проводимого анализа. В настоящее время, в исследованиях различных авторов посвященных проблемам понимания изображений, выработалось общее представление о структуре видеоинформации, подвергаемой компьютерной обработке с целью анализа и интерпретации изображений в той или иной предметной области. Так, изображение всегда рассматривается как некоторый структурированный знак (текст). Вся совокупность знаков, описывающих изображение, носит иерархическую природу и разделяется на пять уровней абстракции: пиксели (P), пятна (W), сегменты (S), классы сегментов (K), тематические карты (T). Отмечается, что в символической структуре, описывающей всякое изображение, присутствуют как синтаксически, так и семантически значимые уровни описания. Иными словами, средства описания изображений позволяют осуществлять экспертизу как в предметной области конкретного исследования, так и в области анализа изображений. Так же отмечается, что описание изображения на некотором уровне абстракции оказывается возможным только в том случае, если уже известно его описание на ближайшем более низком уровне абстракции описания данных изображения. Описание всякого объекта, принадлежащего анализируемому изображению на одном из вышеуказанных уровнях абстракции, 67 представляет собой n-мерный вектор, где n - число признаков, используемых для характеристики объекта, причем j-я координата этого вектора равна значению j-го признака, j=1,...,n.. Пользователь, формулируя для системы цель анализа, описывает характеристики объекта (или объектов), выделение которого на изображении и будет являться текущей задачей системы. В настоящее время считается, что для задач анализа сложных изображений задать априорный, универсальный путь решения оказывается невозможным. Поэтому системы анализа сложных изображений относятся к классу решающих систем второго рода. Как мы помним, для решающих систем второго рода характерно, что методом решения задач для них всегда является некоторый метод поиска. Сложная задача по анализу изображений (являющаяся задачей многошагового поиска) может быть представлена совокупной последовательностью более простых задач (в пределе являющихся задачами решаемыми методом одношагового поиска). При этом все эти задачи являются схожими, в том смысле, что их сутью всегда является выделение на изображении некоторого объекта, модель которого всегда описывается вектором признаков и их значений. А значит, вследствие схожести задач, все эти задачи могут быть решены с использованием однотипных решающих систем. Данные обстоятельства хорошо согласуются с идеологией мультиагентного подхода, существо которого, напомним, состоит в том, чтобы редуцировать некоторую исходную сложную задачу, до некоторой упорядоченной совокупности более простых задач, совокупное решение которых приведёт и к решению исходной сложной задачи. Состав среды агента МСАИ На рис. 1 изображен состав среды агента мультиагентной системы анализа изображений (МСАИ). Рассмотрим каждый элемент этой среды и проанализируем его на предмет необходимости наличия данного элемента в составе среды агента. 1) Анализируемое изображение. Отсутствие изображения в среде агента очевидным образом приводит к невозможности решения агентом задач по его анализу, т.к. отсутствует сам предмет задачи. 68 2) Язык описания изображений - множество знаков внешней знаковой системы, посредством которых агент информируется о состоянии анализируемого изображения. Совокупность знаков описывающих изображение имеет иерархическую природу и разделяется на пять уровней абстракции: пиксели (P), пятна (W), сегменты (S), классы сегментов (K), тематические карты (T). Коллектив агентом МСАИ так же имеет иерархическую структуру соответствующую указанным уровням иерархии. Всякий агент МСАИ оперирует знаками определенного уровня абстракции, соответствующего его месту в иерархии коллектива. Так же очевидно, что отсутствие у агента знаний о языке описания изображения приводит к невозможности решения агентом задач по его анализу. Изображение Пользова тель ОАР МСАИ Агент Соседи ОРП МСАИ Рисунок 1 - Состав среды агента МСАИ. Пользователь системы. Роль пользователя – 3) сформулировать для корневого агента МСАИ текущую цель и оценить 69 качество её достижения. Предлагая корневому агенту некоторую цель, пользователь тем самым активизирует его, а через него инициирует и работу МСАИ. И хотя пользователь входит в состав среды только корневого агента, его отсутствие приведёт в первую очередь к тому, что корневой агент никогда не будет активирован, а значит и вся МСАИ в целом. 4) Язык как средство коммуникации между корневым агентом и пользователем. Отсутствие языка коммуникации очевидным образом приводит к невозможности выполнения пользователем его роли. 5) Соседи – другие агенты, находящиеся в видимой данному агенту части мультиагентного коллектива. Отсутствие соседей будет означать, что агент не является частью коллектива агентов, что противоречит заявленной концепции многоагентности системы анализа изображений. Разрабатываемый агент в принципе не способен решить задачу анализа изображений в одиночку, поскольку такая задача является сложной. 6) Язык междуагентной коммуникации. Агенты обмениваются информацией между собой в целях выработки совместного решения сложной задачи поставленной перед коллективом в целом. Отсутствие языка коммуникации автоматически приводит к невозможности такого обмена. 7) ОРП МСАИ – общая рабочая память мультиагентной системы анализа изображений. Представляет собой единое коммуникационное поле для обмена информацией между агентами, то есть средство обеспечивающее возможность междуагентной коммуникации. В ОРП хранится вся информация, известная МСАИ о текущей задаче. При этом каждый агент имеет доступ лишь к некоторой части общей рабочей памяти МСАИ. Через ОРП агент принимает описание целей предлагаемых ему для преследования, и сам формирует и указывает цели для других агентов коллектива. Через ОРП происходит и обмен результатами достижения поставленных целей между агентами. Отсутствие ОРП в составе среды агента делает невозможной совместную работу агентов. 8) ОАР МСАИ – общий агентный ресурс мультиагентной системы анализа изображений. Реализует обобщённые знания МСАИ 70 о предметной области. Такие как, знания обо всех признаках, могущих быть использованными МСАИ в целом для классификации объектов и методах их расчёта. То есть признаков описания элементов изображения на каждом уровне его абстракции, признаков с помощью которых происходит опознавание (классификация) сообщений, передаваемых между агентами, и признаков, описывающих сообщения вида «агент-пользователь». При этом каждый агент оперирует только такими признаками, которые соответствуют его месту в иерархии коллектива, организованного, напомним, согласно уровню абстракции описаний изображения. Так же ОАР МСАИ включает в себя знания об общих для всех агентов методах обработки данных (ISODATA с априори не заданным числом классов, метод главных компонент, расчёт информативности признаков, расчёт меры совпадения векторов признаков, расчёт решающих границ класса). ОАР во многом определяет функциональность агентов входящих в МСАИ, и может быть дополнен (изменён) разработчиком, либо квалифицированным пользователем, в процессе эксплуатации МСАИ. При отсутствии доступа к ОАР агент оказывается не способным к какой-либо классификации данных, поступающих к нему от внешней среды, а значит и не способным к решению задач, на решение которых он ориентирован. 9) Сам агент. Агент необходимо входит в состав своей среды. Судить о достаточности среды агента позволяют следующие замечания относительно его функционирования в среде. Во-первых, разрабатываемый агент способен решать задачи только во взаимодействии с другими агентами коллектива. Во-вторых, агент не способен самостоятельно формулировать для себя цели и оценивать качество их достижения. Т.е. постановка целей и оценка качества их достижения всегда осуществляется посредством некоторой иной системы, внешней по отношению к агенту. В третьих, требуемым результатом работы всякого агента МСАИ является выделение на анализируемом изображении элементов, определение которых и было задано агенту в качестве его основной цели. И наконец, агент должен быть способен приспосабливаться к изменениям происходящим в его среде. Задачи агента МСАИ. 71 Основной задачей агента МСАИ будем называть задачу классификации данных, касающихся непосредственно анализа изображений. Здесь в качестве описания цели агенту предъявляется описание элемента изображения (заданное в виде вектора признаков и их значений), информация о наличии которого на изображении интересует надсистему. С каждым опознаваемым агентом классом целей априорно связно дерево подцелей достижение которых приведёт и к достижению текущей цели агента. То есть описания элементов изображения находящихся на более низком уровне абстракции, предварительное выделение которых на изображении необходимо для принципиальной возможности выделения элементов затребованных от агента надсистемой. Получив необходимые данные агент классифицирует их и на основании сделанной классификации формирует собственный ответ надсистеме, в виде указателя на элементы изображения соответствующие поставленной перед ним цели. Кроме того, поскольку разрабатываемый агент способен решать задачи только в процессе взаимодействия с другими агентами коллектива, то перед агентом ставится ещё и сопутствующая задача – задача коммуникации с соседями по коллективу. То есть задача опознать сообщение соседа и отреагировать сообразно этому сообщению. В разрабатываемой системе предполагается, что классы междуагентных сообщений не имеют иерархической природы и описываются признаками одного уровня абстракции. Кроме того, все возможные виды междуагентных сообщений являются заданными априори и не могут быть изменены агентом в процессе обучения. То есть задача коммуникации не является сложной. Тогда всякий агент способен самостоятельно, без привлечения иных членов коллектива, решать задачи по осуществлению междуагентной коммуникации. Так как в состав среды агента может входить пользователь системы, то перед агентом может возникать сопутствующая задача коммуникации вида «агент-пользователь». Такая задача решается агентом аналогично задаче коммуникации «агент-агент», но с использованием при классификации принципиально иных признаков, описывающих передаваемые сообщения. Наконец, в силу принципиальной неполноты системы знаний агента о предметной области возникает сопутствующая задача обучения (самообучения) агента. В процессе обучения агент может изменять свою функциональность по решению основной агентной задачи. 72 Наконец, существующий коллектив агентов может быть недостаточным для возможности решения поставленной перед ним сложной задачи. А значит, помимо перечисленных задач перед всяким агентом может вставать и ещё одна сопутствующая задача, а именно – задача порождение нового агента. 73 Лекция 14 Структура изображения Корневой и листовой агенты МСАИ. Будем рассматривать всякое изображение как некоторый текст (структурированный знак) внешней знаковой системы. Следовательно, всякое его описание должно содержать семантический и синтаксический "срезы" изображения. При этом внешняя знаковая система – это совокупность изображений, на анализ которых ориентирована некоторая решающая система. Это то множество изображений, которые релевантны преследуемым решающей системой целям. Для взаимоотношения знаков любой знаковой системы характерно отношение иерархии. В этой связи структура всякого изображения представляет собой дерево, в котором выделяется пять уровней знаков. Это - уровни пикселов P, "пятен" (непроизводных элементов) W, семантически значимых сегментов S, классов сегментов K, "тематических карт" T. Рассмотрим пятиуровневую структуру изображений более детально: Уровень пиксель − множество элементов изображений: P={p1, …, pn}. Элемент изображений пиксель: pi∈P характеризуется множеством иконических признаков: {ai}, в частности: яркость, градиент, текстура и отношения, характеризующие соседства элемента на изображении. Пиксель представляет собой элемент изображений единичной площади. Указывается, что всякий пиксель в структуре изображений представлен двумя множествами отношений: унарным множеством отношений :{ai}1, характеризующим свойства пикселя (обычно используется яркость, градиент, текстура и т.д.); бинарным множеством отношений :{ak}2, характеризующим соседство пикселей pi и pj на изображении, т. е. {aj}2 (pi, pj). Множество унарных и бинарных отношений области пиксель в литературе определяют как иконическое, соответственно, уровень в структуре изображений называют иконическим уровнем. Средством, позволяющим перейти на более высокий уровень абстракции видеоданных, является переход к представлению изображения в виде совокупности примитивов (односвязных областей, пятен, 74 «непроизводных» элементов). При этом множество пикселов дискретного изображения I заменяется множеством примитивов W. Уровень примитив − множество примитивов изображений: W={w1, …, wn}. Область изображений примитив: wi∈W характеризуется множеством признаков: {bi}. К рассматриваемым признакам примитива относятся следующие признаки: среднее значение информативного набора признаков, по которым пиксели объединены в примитив; разброс свойств пикселей, образующих примитив; размер примитива (число пикселей, образующих примитив); положение примитива на плоскости изображения; соседи примитива (их число, и перепад свойств текущего примитива с соответствующими свойствами соседей). Означивание перечисленных свойств примитива индивидуализирует примитив. Отношение соседства на примитивах задаётся как соседство внешних границ областей. Другим отличием отношений соседства примитивов от соседства пикселов является их нерегулярность: если у всякого пикселя, кроме краевых, имеется одинаковое число соседей, то для примитивов это не так. Наряду с примитивами типа «область», будем использовать и примитивы типа «контур». Уровень сегмент − множество сегментов изображений: S={s1, …, sn}. Область изображений сегмент: si∈S характеризуется множеством признаков: {ci}, характеризующих форму области, ее границы и отношения соседства области на изображении. Под сегментом будем понимать односвязную область изображения, имеющую в своём составе n≥1 примитивов и характеризующуюся семантической меткой. Текст S, описывающий изображение в целом, есть множество сегментов, на котором задано семейство функций F(si) и отношений соседства cj∈S×S, а также множество семантических предикатов, каждый из который указывает на наличие, либо отсутствие у сегмента определённой метки. Два сегмента являются соседями, если они имеют общие граничные элементы. Подчеркнём, что задача сегментации изображений может рассматриваться как задача разбиения, то есть покрытия всего поля изображения сегментами, и как задача целенаправленного выделения сегментов, когда на поле изображения будут оставаться не расклассифицированные пиксели . F(si) делится на два вида функций. Функции первого вида характеризуют форму, размер, текстуру и местоположение сегментов, 75 свойства соседства. Второй вид функций F(si) характеризует структурные свойства сегмента. Не всякая семантически значимая область изображения может быть описана с помощью односвязных областей. Многосвязную область изображения, имеющую в своём составе n > 1 сегментов и характеризующуюся семантической меткой, будем называть классом сегментов Уровень класс сегментов − множество классов сегментов изображений: K={k1, …, kn}. Класс сегментов изображений: ki∈K характеризуется множеством признаков: {ei}, характеризующих свойства класса и отношения соседства. Представление изображения текстом уровня K есть множество классов сегментов, на котором задано семейство функций F(ki) и отношений соседства dj, принадлежащих K х K, а также множество семантических предикатов. F(ki) разделяется на два типа. Значения функций первого типа дают интегральную характеристику значений соответствующих функций Fj(si), измеренных на сегментах - элементах класса сегментов: средний вектор значений признаков, разброс значений признаков, усреднённое значение признаков форм. Функциями второго типа являются признаки формы обобщённой площади класса сегментов, если под ней понимать часть изображения, границей которой является огибающая внешних сегментов класса. Сегменты одного класса не могут быть соседями, то есть иметь общие граничные элементы. Расположение сегментов класса на поле изображения может быть компактным, вытянутым около некоторой прямой/кривой, равномерно/не равномерно расположенными в пределах всей плоскости изображения. Сегменты различных классов могут иметь общие граничные элементы. Обобщённые площади двух классов могут не пересекаться, пересекаться, совпадать, одна площадь может являться часть другой. Знак К указывает лишь на часть исследуемого объекта. С другой стороны, он не претендует на описание всего синтаксиса исходного изображения, он не описывает взаимоотношения классов сегментов на изображении. По этой причине множество классов сегментов с заданным на нём множеством отношений соседства dj будем называть тематической картой. 76 Уровень тематическая карта изображений: T={t1, …, tn}. Тематическая карта изображений ti∈T характеризуется множеством признаков: {di}, характеризующих свойства карты и отношения соседства. Означивание карты – это некоторая семантическая сеть, узлы которой наследуются из означиваний классов сегментов с соответствующими семантическими отношениями на них. Таким образом, карта как знак описывает синтаксис и семантику некоторого изображения. Тогда множество карт, на котором заданы семейство функций F(tj) и отношений соседства fi , а также множество семантических предикатов, описывает некоторый класс изображений. Семейство функций F(tj) разделяется на два вида. Значения функций первого вида дают интегральную характеристику значений соответствующих функций уровня карт. Функции второго вида характеризуют временное, пространственное, спектрозональное, масштабное и т.п. взаимодействие интерпретируемых изображений, интерпретации подверглось всё изображение или его некоторая часть, интерпретируемое изображение является текстурным (контурным), число классов сегментов. Функции второго вида характеризуют некоторое множество изображений, которые должны быть привлечены для решения исходной задачи. Таким образом, структура всякого изображения представима через следующие знаки: пиксель, примитив, сегмент, класс сегментов, карта. Представление изображения в виде карты влечёт за собой иерархически упорядоченную совокупность его представлений на всех предшествующих уровнях В отношении пятиуровневой структуры изображения следует отметить следующее: 1) На нижнем уровне структуры изображений варианты интерпретации области пиксель практически неограниченны, ввиду отсутствия структуры области. Поэтому, анализ исследуемого объекта на нижнем уровне структуры изображений является нецелесообразным. 2) Цель анализа изображений может быть сформулирована на уровне тематическая карта, а, с другой стороны, для более простых целей анализа может быть достаточно описательных средств уровня класс сегментов или сегмент. 77 3) Число задействованных в анализе изображений уровней структуры ограничивается сверху целью анализа, а снизу уровнем, представляющим пиксель. 4) Описание {di} характеризует синтаксис следующего более высокого уровня в структуре изображений. В подтверждение преимуществ анализа изображений на основе иерархического подхода следует отметить: а) Информация об исследуемом объекте может быть удобно представлена с помощью ориентированного графа. Вершины графа представляют соответствующие описания исследуемого объекта, а дуги − отношения соседства. б) Преимуществом иерархического подхода является то, что на каждом уровне структуры изображений исследуемый объект представлен соответствующей моделью. Отход от иерархической структуры может потребовать относительно большего ресурса в анализе изображений. в) Иерархический подход позволяет в полной мере использовать модели (знания) систем анализа изображений в обеспечении соответствия синтаксического описания области изображений и семантики исследуемого объекта. Принимая во внимание выше сказанное о структуре изображений, скажем, что под корневым агентом системы анализа изображений будем понимать агента, оперирующего целями уровня тематических карт. А под листовым агентом будем понимать агента ответственного за достижения целей уровня примитивов (не производных элементов) . Так же отметим, что задача коммуникации с пользователем перед листовыми агентами не возникает, т.к. объекты, анализируемые на этом уровне, не несут семантической нагрузки и не могут быть оценены пользователем мультиагентной системы анализа изображений. 78 Лекция 15. Структурная и функциональная модели агента МСАИ. Структурная модель агента Поскольку агент всегда функционирует в некоторой среде, являющейся для него надсистемой, то структура агента, прежде всего, определяется его средой. Среда обуславливает общие для всех агентов свойства и свойства, которые их делают уникальными. Общими для агентов являются следующие их свойства: 1) Структурно среды агентов идентичны, а значит, структурно идентичны и агенты; 2) Поскольку всякое знание неполно, противоречиво и нечётко, то всякий агент должен обладать свойством адаптации к своему окружению; 3) Агент должен обладать не только свойством адаптации к среде, но и возможностью активно воздействовать на неё; 4) Виды знаний, хранимых в базе знаний агента, определяются составом среды агента; Агенты уникальны следующими своими свойствами: - Всякий агент имеет уникальную базу знаний, которая содержит знание обо всех элементах среды агента. Отсюда следует обобщённая структура агента (рис 1): 1) Компонент коммуникации. Компонент коммуникации ответственен за решение сопутствующей задачи коммуникации («агент- агент», «агент-пользователь»), возникающей перед агентом в процессе его участия в решении сложной задачи, поставленной перед МСАИ. В активном режиме, посредством данного компонента агент осуществляет обмен данными о целях и результатах их достижения со своими соседями более низкого уровня и активировавшей его надсистемой. В случае корневого агента в компоненте коммуникации содержится и знание по языку коммуникации «агент-пользователь». Так же, в компоненте коммуникации содержатся процедуры, посредством которых агент реализует доступ (чтение/запись) к видимой ему части общей рабочей памяти МСАИ. Т.е. знание агента об общей памяти. 79 СРЕДА ОРП МСАИ Компонент коммуникации Планировщик Компонент адаптации База знаний ОАР МСАИ СРЕДА Рисунок 1 Структура агента 2) База знаний Всякий агент имеет свою базу знаний (БЗ), которая содержит его уникальные знания о среде. Состав знания агента следует из состава его среды - Знание агента об изображении уникально и содержится в БЗ агента в следующем виде: 80 o Признаковое описание пространства целей для основной задачи агента, заданное в виде списка идентификаторов признаков из множества признаков, процедуры расчёта которых содержаться в общем агентном ресурсе коллектива. o Структурное описание пространства целей, заданное в виде списка значений признаков эталонов известных агенту классов целей и соответственных им значениям критериев компактности этих классов. o Идентификатор класса из пространства обобщения агента, связанного с каждым классом целей. o Дерево подцелей, однозначно связанное с каждым известным агенту классом целей. Каждая такая подцель задана характеризующим её списком идентификаторов признаков из множества признаков, процедуры расчёта которых содержаться в общем агентном ресурсе коллектива o Признаковое описание пространства обобщения агента, заданное в виде списка идентификаторов признаков из множества признаков, процедуры расчёта которых содержаться в общем агентном ресурсе коллектива. o Структурное описание пространства обобщения агента, заданное в виде списка значений признаков эталонов известных агенту классов обобщений и соответственных им значениям критерия компактности этих классов. - Знание агента о языке описания изображений задано агенту в виде идентификаторов процедур хранящихся в общем агентном ресурсе МСАИ, осуществляющих расчёт признаков изображения уровня текущего агента, а так же уровня его нижележащих соседей. - Знание о пользователе это знание об индивидуальных особенностях пользователя, т.е. о его уникальных психофизиологических характеристиках. Текущая реализация агента не предполагает наличия у агентов таких знаний. - Знание о других агентах представлено в виде списка идентификаторов ниже и выше лежащих соседей текущего агента. - Знание агента о языках коммуникации содержится в компоненте коммуникации агента 81 - Знание о структуре общей рабочей памяти (ОРП) системы так же содержится в компоненте коммуникации. - Знание об общем агентном ресурсе (ОАР) системы задано агенту посредством списка идентификаторов программных процедур содержащихся в этом ресурсе, к которым данный агент может обратиться. Уровень доступа к общим ресурсам зависит от места агента в иерархии коллектива. - Знания агента о себе заключаются в знании своего идентификатора (репрезентирующего уровень агента в иерархии коллектива и его уникальное имя на данном уровне). 3) Компонент адаптации Реализует возможности агента по изменению своих знаний о предметной области. Кроме того, данный компонент ответственен и за возможности агента при его работе в режиме «учителя», в случае если некоторому нижележащему соседу данного агента потребуется такой режим обучения. 4) Планировщик Осуществляет решение основной агентной задачи. Задача агента задача классификации: «отнести к одному из известных заданных классов неизвестный объект». Текущая информация о задаче, представленная в рабочей памяти агента, представляет собой вектор признаков анализируемого объекта и их значений. Функциональная модель агента. Функционально агент может быть описан в виде пары обобщённых продукций Поста: ⎧ ⎪ I; ⎪⎨ ⎪ ⎪⎩ S ; P ; ⎛⎜ A → B ⎞⎟ ; N ↓ ↓ ⎝ ↓ ↓⎠ ↓ S ; P ; ⎛⎜ A → B ⎞⎟ ; N ↑ ↑ ⎝ ↑ ↑⎠ ↑ Где индексы ↑ или ↓ обозначают направление поиска; I – уникальный идентификатор агента; 82 S – обобщённая модель знаний агента. Данная модель задана агенту в виде вектора признаков. P – условие применимости агента. Представляет собой требования соответствия обобщённой модели знаний агента описываемой вектором признаков S - модели конкретной ситуации, предлагаемой для классификации агенту в данный момент (описываемой некоторым вектором признаков Si). Если предъявленная агенту ситуация не соответствует модели знаний агента – такая ситуация считается неадекватной данному агенту. А – посылка правила. Описывает область определения признакового пространства состояний агента. Если предъявленная агенту ситуация означивается вне этой области, это служит сигналом к обучению агента. В – заключение правила. Если в результате произведённой классификации предъявленная агенту ситуация была им опознана как принадлежащая некоторому априори известному агенту классу состояний – заключения правила принимает значение «истина». В противном случае, если предложенная ситуация была отнесена к фону, заключение правила принимает значение «ложно», что так же служит сигналом к обучению агента. (AÆB) - ядро продукции. Ядро продукции считается сработавшим если посылка правила (A) принимает значение «истинна», и заключение (B) так же принимает значение «истина». N – постусловие выполнения правила (срабатывания ядра продукции). Для рассматриваемого агента постусловие будет заключаться в воздействии агента на среду сообразно опознанной им ситуации. В случае нисходящего поиска такое воздействие будет заключаться в активации нижележащих агентов адекватных целям, заданным в дереве подцелей, которое однозначно связанно с выявленным агентом классом целей. После чего текущий агент переходит в режим восходящего поиска и ожидает результаты работы активированных им нижележащих агентов. При восходящем анализе агент передаёт активировавшей его надсистеме результаты решения поставленной перед ним задачи и переходит в режим ожидания реакции надсистемы на сформулированное решение. 83 С помощью указанной пары обобщенных продукций может быть функционально полностью описан всякий агент МСАИ и такая функциональность позволит ему решить всякую задачу, возникающую в его среде, как в процессе нисходящего, так и в процессе восходящего анализа. 84 Лекция 16. Свойства агента МСАИ. Алгоритм работы агента МСАИ. Свойства агента. На основе изложенного в предыдущей лекции можно сделать следующие выводы относительно свойств описанного агента. Данный агент способен самостоятельно без внешнего управляющего воздействия планировать решения своей задачи и осуществлять реализацию сформулированного плана. Он обладает свойствами активности и автономности. Агент способен, к взаимодействию с другими членами коллектива и к диалогу с пользователем системы. Т.е. описываемый агент обладает свойством коммуникативности. Кроме того, за счёт обратной связи и наличия базы знаний, хранящей знание о предшествующем опыте, получаемом агентом в процессе обучения, такой агент будет обладать свойством реактивности. Эти свойства являются общими для всех агентов. Индивидуальность (уникальность) агента проистекает из того, что уникален состав базы знаний каждого агента. В коллективе не существует агентов с одинаковым составом базы знаний. В нём каждый агент выступает как отдельная функция, осуществляющая решение некоторой простой задачи. Разработанный агент имеет гибридную архитектуру. Делиберативные свойства агента проистекают за счёт наличия у него обобщённых знаний о среде, заданных признаковыми пространствами целей и обобщения агента, эталонов классов, известных агенту в этих пространствах, и их критериев компактности, а так же знаний о дереве подцелей, однозначно связанного с каждым известным агенту классом целей. Реактивные свойства агента обеспечиваются за счёт того, что функционирование агента есть последовательность простых актов классификации данных, поступающих к нему от его внешней среды, а так же за счёт способности агента к обучению, если по результатам такой классификации будет выявлена ситуация требующая корректировки его знаний. Алгоритмическая модель агента. Обычной формой функционирования агента является пассивный режим работы. В этом режиме агент не совершает никаких действий и не воспринимает никаких внешних сигналов. Из пассивного режима агент 85 внешним воздействием может быть принудительно переведён в активизированный режим работы. В активизированном режиме агент способен воспринимать информацию о состоянии своей внешней среды. В этом режиме агент находится в состоянии ожидания поступления от среды адекватных для себя целей. Текущий агент всегда активизируется только своим вышестоящим соседом (см. рис. 1.), поэтому после своей активизации он всегда решает задачу распознавания структуры предъявленного для классификации объекта, который представляет собой описание цели, предложенной ему для преследования. Таким образом, работа всякого агента начинается с режима нисходящего поиска. Предъявляемое текущему агенту описание Si цели представлено множеством признаков Xi. Знания текущего агента об известных ему целях, в общем случае, описываются некоторым множеством признаков Xц. Перейдя в активное состояние текущий агент сигнализирует об этом активизировавшей его надсистеме. Переход в активное состояние означает, что агент берёт на себя все обязательства по достижению поставленной перед ним цели. Агент остается в активном режиме до тех пор, пока поставленная перед ним задача не будет решена или он не будет возвращён в пассивный режим управляющим воздействием своей надсистемы. Принимая во внимание сказанное об агенте, опишем обобщённый алгоритм его работы (рис. 1). 1) Агент переходит в активизированный режим управляющим воздействием своей надсистемы. Если признаковое описание предъявленной ему цели (Si) соответствует (P - истинно) признаковому описанию пространства целей текущего агента (S) агент активируется, перейти к пункту 2, в противном случае перейти к пункту 12. 2) Если значения описания предложенной цели удовлетворяют области определения пространства целей агента (А истинно), перейти к пункту 3, в противном случае перейти к пункту 5. НАДСИСТЕМА Si 0 Sj [1] Сформировать [9] р е а к ц и 86 я н P=true [5] 1 1 [2] B=true A=true O Б У Ч Е Н И Е 1 [3] 0 B=true 1 [4] 1 si2 A=true 1 [6] 0 P=true sin … [7] 0 Воздействовать на si1 [8] 0 0 sj1 sj2 … sjn Нижележащие агенты 0 [10] N=true 1 Задача решена Переход в пассивное [11] [12] состояние Рисунок 1 - Схема работы агента Если в обобщённого результате алгоритма проведённой классификации 3) предложенная цель была сопоставлена агентом с одним из известных агенту классов (B - истинно), перейти к пункту 4, в противном случае перейти к пункту 5. 87 4) С каждым из известных агенту классов целей всегда однозначно связана некоторая упорядоченная совокупность подцелей, достижение которых приведёт и к достижению цели агента. Агент определяет среди своих нижестоящих соседей агентов, адекватных текущим подцелям и делегирует им, в качестве целей для преследования, эти подцели. 5) Обучение, модификация знаний агента. В процессе обучения могут быть скорректированы: признаковые описания пространства целей и пространства обобщения агента; область определения каждого из этих пространств; разбиение указанных пространств на классы, то есть знания агента по основной агентной задаче (задаче анализа изображений). Обучение, в общем случае, происходит в результате взаимодействия текущего агента с его надсистемой. Завершив обучение, агент возобновляет преследование предъявленной цели с прерванного шага. 6) Если агенту известно признаковое описание своего пространства обобщения (Р - истинно), тогда предъявленный нижележащим агентом результат (множество выделенных на изображении объектов, заданных списком их идентификаторов и множеством координат пикселей им принадлежащих) может быть обобщен им в этом пространстве, перейти к пункту 7, в противном случае перейти к пункту 5. 7) Если значения результатов работы нижележащих агентов удовлетворяют области определения пространства обобщения текущего агента (А - истинно), перейти к пункту 8, в противном случае перейти к пункту 5. 8) Если в результате проведённой классификации-обобщения результатов работы нижележащих агентов результат был опознан как принадлежащий к одному из известных агенту классов обобщений (В истинно), перейти в пункт 9, в противном случае перейти в пункт 5. 9) Обобщив результаты достижения подцелей, агент формирует и отсылает вызвавшей его надсистеме результат собственной работы, то есть результат достижения предъявленной ему цели. 88 10) Если реакция надсистемы на сформированное решение отрицательна, значит, текущий агент решил поставленную перед ним задачу по достижению предъявленной цели неверно, перейти к пункту 5. Если же реакция системы положительна, тогда перейти к пункту 11. 11) Поставленная задача была решена агентом верно. В этом случае перейти к пункту 12. 12) Агент дезактивируется и возвращается в пассивный режим. В описанном алгоритме, в пунктах (1-4) и (10-12), агент находится в режиме поиска, управляемого целями. В остальных случаях агент находится в режиме поиска, управляемого данными. Целью функционирования агента в режиме нисходящего поиска является конкретизация текущей цели через активацию нижележащих агентов, адекватных подцелям для текущей цели агента. После чего агент переходит в режим поиска управляемый данными и ожидает результаты работы активированных им агентов. В процессе восходящего анализа агент осуществляет классификацию и согласование результатов работы нижележащих агентов. В данном режиме агент не только способен изменять свои знания по пространству обобщения, но и выявлять необходимость формирования нового класса целей, тем самым связывая режимы нисходящего и восходящего режимов функционирования агента В завершении работы, агент, в зависимости от реакции надсистемы на сформированное решение, либо переходит в пассивный режим, либо в режим обучения. 89 Лекция 17. Процесс формирования коллектива агентов МСАИ. Процесс формирования коллектива агентов. Опираясь на рассмотренный алгоритм, на примере покажем процесс формирования коллектива агентов МСАИ: В качестве исходных данных для эксперимента был взять космофотоснимок «Landsat TM» лесов приполярного Урала. (рис. 1). Каждая точка такого снимка описывается её значением, по каждому спектральному каналу использующимся при съёмке. Начальное множество признаков описывающих точки данного изображения, приведено в таблице 1. Рисунок 1 - Исходный снимок Landsat TM 90 Таблица 1 - Начальное множество признаков № признака 1 Спектральный диапазон (мкм) 0.45-0.515 пространс Характеристика твенное отражения разрешен ие 30 0.44-0.49 мкм – хлорофилл 2 0.525- 0.605 30 0.526-.556 мкм – хлорофилл, осадочные породы 3 0.63 – 0.690 30 4 0.75-0.90 30 5 1.55-1.75 30 0.62-0.68мкм – атмосфера, осадочные породы, флюоресценция хлорофилла 0.84-0.88мкм аэрозоли, атмосфера, облачность 1.63-1.65мкм – снег и облака 6 10.40-12.5 60 10.8-12.3мкм – лесные пожары, вулканы, температура поверхности Земли 7 2.09-2.35 30 2.1-2.15мкм –облачность 1) В начальный момент времени коллектив агентов представлен только корневым агентом. Получив от пользователя описание текущей цели, корневой агент инициирует диалог с пользователем, конечным результатом которого будет являться заданная пользователем выборка на поле анализируемого изображения, элементы которой соответствуют текущей цели пользователя (рис.2.). 91 выборка Рисунок 3.4 - Выборка заданная пользователем 2) Поскольку другие агенты в коллективе отсутствуют, корневой агент инициализирует типовой агент уровня примитивов (т.е. агент имеющий доступ к общим агентным ресурсам данного уровня, но не обладающего индивидуальным опытом) и передаёт ему управление. 3) Типовой агент уровня примитивов осуществляет вычисление значений всех признаков для элементов изображения данного уровня абстракции. Всего 67448 элементов (таблица 2). 4) Полученная система признаков декоррелируется агентом с помощью метода главных компонент (МГК). Метод главных компонент осуществляет переход к новой системе координат Y1,...,Yр в исходном пространстве признаков X1,...,Xp которая является системой ортнормированных линейных комбинаций. 5) Агентом вычисляются средние значения и среднеквадратичные отклонения по каждому декоррелированному признаку, для элементов выборки заданной пользователем, и для «всего остального» (фона). 6) Определяются информативные признаки для отделения выборочных данных от фона и решающие границы, таким образом, что бы фон и 92 выборочные данные не пересекались. Решающие границы определялись как μ ± k × σ , где μ - среднее, k – коэффициент критерия компактности, σ средне квадратичное отклонение. Наиболее информативным считался такой признак, который максимизирует решающие границы. Таким признаком оказался признак №1. Решающие границы были определены с коэффициентом критерия компактности k = 1,4 (рис. 3). Таблица 3.2 - Множество признаков уровня пикселей № Пояснения признака 1-7 Спектральные каналы LandSat ™ 8-14 Variance 3x3 15-21 Variance 5x5 22-28 Variance 7x7 29-35 Skewness 3x3 36-42 Skewness 5x5 43-49 Skewness 7x7 50-56 Kurtosis 3x3 57-63 Kurtosis 5x5 64-70 Kurtosis 7x7 71-77 Mean Euclidean Distance 3x3 78-84 Mean Euclidean Distance 5x5 85-91 Mean Euclidean Distance 7x7 остальное 135 145 155 элементы ОВ 165 175 185 195 205 Рисунок 3 - Решающие границы для выборки и фона 7) Агентом выделяются все элементы изображения, значения которых по 1-му признаку удовлетворяют найденным решающим границам. Всего 93 выделено 3197 пикселя. При этом выборочные данные содержали изначально 92 точки, а при выделении по найденным информативным признакам с найденными решающими границами в выборке выделилось 80 точек, что соответствует 87% точек внутри выборки и согласуется с ожидаемой достоверностью экспертных данных (0.75-0.95). 8) Из множества выделенных элементов агентом удаляются пиксели заведомо не образующие пятна на поле изображения. Т.е. не образующие связные, по принципу 8-ми соседства, области, размером не менее 5 пикселей. После данной операции осталось 2700 точек. 9) Оставшиеся элементы изображения структурируются агентом с помощью алгоритма ISODATA, с априори не заданным числом классов в системе декоррелированных признаков. Расчёт параметра В5, характеризующего качество структурирования данных, показал, что наилучшим образом выделенные данные, в полной системе признаков данного уровня, разделяются на 2 класса (рис. 4). B5 1400000 1200000 1000000 800000 B5 600000 400000 200000 0 0 1 2 3 4 5 6 7 8 9 10 11 12 Рисунок 4 - Оценка качества структурирования данных Сделаем небольшое отступление, что бы немного рассказать о сущности работы алгоритма ISODATA. ISODATA (Итерационная самоорганизующаяся методика анализа данных - Iterative Self-Organizing Data Analysis Technique). Алгоритм использующийся для классификации без обучения (безэталонной классификации) - базируется на кластерном анализе. Для формирования кластеров используется способ классификация с использованием минимального расстояния. Кластеризация начинается с произвольно заданных значений (средних). После отнесения всех анализируемых объектов 94 к одному из классов, центры классов сдвигаются, а процесс повторяется полностью сначала (следующая итерация). Процесс продолжается до тех пор пока не будет достигнуто максимальное количество итераций или достигнут максимальный процент объектов не изменивших свой класс (предел сходимости). Например, если предел сходимости равен 0,95, это значит, что процесс кластеризации закончится как только количество объектов не поменявших свой класс между итерациями достигнет 95%. 10) Среди классов определенных алгоритмом ISODATA на предыдущем шаге, попарно ищутся информативные признаки и решающие границы, отделяющие их друг от друга. После чего выявляется класс, который отделяется от других минимальным количеством признаков. В данном случае, поскольку присутствует только два класса, это количество у выявленных классов совпадает (см. таблица 3, где значение в ячейке означает номер декоррелированного признака, максимально различающего рассматриваемую пару классов). Классы, в признаковом пространстве, представляют собой гиперпаралелепипиды, а два гиперпаралелепипида всегда могут быть различены по одному признаку. 11) Эти признаки определяют пространство обобщения текущего агента уровня примитивов, а выявленные эталоны и решающие границы задают структуру этого пространства (рис. 5). Таким образом, типовой агент приобрёл индивидуальный опыт и перестал быть типовым. Таблица 3 - Разделение классов пикселей выборки Класс №1 Класс №2 Класс №1 5 Класс №2 5 - -20 -10 0 10 20 30 k 1.66 1.66 40 Рисунок 5 - Пространство обобщения текущего агента уровня примитивов 95 12) Текущим агентом выделяются не классифицированные им элементы изображения, похожие на выборочные данные (см. пункт 6 и 7). Таких элементов находится 101 или 3,1%, от общего числа элементов похожих на выборку. Поскольку достигнута достаточная точность классификации элементов изображения обладающих свойствами выборочных данных (96,9%) – процесс дальнейшего анализа на данном уровне абстракции прекращается. 13) После того как были классифицированы пиксели, обладающие свойствами выборочных данных, может быть начат процесс классификации образуемых ими пятен. Всякое пятно может быть выделено на изображении, постольку, поскольку образующие его пиксели обладают некоторой различностью с другими, а между собой некоторой общностью. Поэтому пятна одного класса состоят из пикселей так же одного класса. Тогда пространство обобщения и пространство целей агента уровня примитивов содержит одинаковое число классов и они схожи структурно. Агент выделив на изображении пиксели принадлежащие каждому из выявленных классов удаляет из совокупности пикселей каждого класса пиксели заведомо не образующие пятна на поле изображения. Т.е. не образующие связные, по принципу 8-ми соседства, области, размером не менее 5 пикселей. 14) Для выделенных пятен агентом вычисляются средние значения по каждому признаку уровня пикселей, по каждому пятну, для каждого выявленного класса пикселей. А также, среднее значение по размеру образующихся пятен. 15) Полученная система признаков деккорелируется агентом. 16) На основании полученных значений формируются эталоны классов примитивов и определяются их решающие границы, т.е. формируется пространство целей текущего агента уровня примитивов. 17) Оказалось, что лучше всего (с критерием компактности равным 1.6) выделенные классы примитивов разделяются по 2-ому признаку уровня примитивов 18) Теперь коллектив агентов представлен корневым агентом и одним агентом уровня примитивов Таким образом были определены: 96 коллектив агентов уровня примитивов обеспечивающих выделение на изображении примитивов обладающих свойствами выборочных данных (1 агент). пространство обобщения данного агента и его структура. пространство целей данного агента и его структура. Результат работы сформированного агента представлен на рисунке 6. Рисунок 6 - Пятна выделяемые сформированным агентом уровня примитивов. Конечно, для решения реальной задачи одного агента уровня примитивов будет явно недостаточно. В системе, по указанной здесь схеме, должно возникнуть множество различных агентов. Рост числа агентов будет продолжатся до тех пор, пока их совокупность не окажется достаточной для решения задачи поставленной перед системой в целом. Мы не можем рассмотреть формирование всех таких агентов в рамках учебного процесса, однако отметим следующее. 97 Процесс формирования агентов более старших уровней по своей сути аналогичен вышеописанному, он происходит с использованием аналогичных методов структурирования и обработки данных, с тем лишь отличием, что при для классификации данных об изображении используются признаки более высокого уровня абстракции. 98