Одна модель построения агента
Модель построения агентной системы. Агенты, принимающие решения при помощи методов логического вывода. Автоматы - агенты, принимающие решения по строго запрограммированным алгоритмам. Структура агентов и автоматов. Понятие интеллектуального агента.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 17.01.2018 |
Размер файла | 20,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский государственный институт электроники и математики
Одна модель построения агента
Э.С. Клышинский
klyshinsky@mail.ru
В работе предлагается модель построения агентной системы. Агенты делятся на собственно агенты, имеющие возможность при помощи методов логического вывода принимать решения о своем поведении, и автоматы, определяющие свое поведение по заранее строго запрограммированным алгоритмам. Предлагается структура агентов и автоматов.
Введение, основные определения
На данный момент имеется большое количество определений понятия “агент”. Так, в работе [Franklin at al., 1996] приведены 11 таких определений, появившихся в 1991-1995 годах. Многие из них являются всеобъемлющими, многие подчеркивают определенные стороны работы с агентом, область его применения, среду, в которой он работает. Подобная ситуация связана с тем, что понятие “агент” очень близко к понятию “система”. Основными свойствами агентов являются автономность работы в некоторой окружающей среде, возможность принимать поток входящей информации, идущей от окружающей среды, обрабатывать его и воздействовать на окружающую среду на основе результатов этой обработки. Основным отличием от систем в целом является то, что любой агент обязан обрабатывать воспринимаемую им входную информацию, тогда как не любая система может с ней работать. Иными словами, агент обязательно является как активной, так и реактивной сущностью, тогда как система может быть только пассивна относительно потоков информации.
Под воспринимаемой информацией здесь понимается та информация, которую может обработать данный агент. Так для агента, не имеющего возможности воспринимать радиосигналы, команды, отправляемые с пункта управления по радио, не будут являться воспринимаемой информацией.
В дальнейшем изложении под агентом будем понимать самостоятельную систему, имеющую возможность принимать воздействие от внешнего мира, определять свою реакцию на это воздействие и осуществлять эту реакцию.
Под внешним миром здесь понимается среда, окружающая агента и включающая в себя пространство, в котором существует агент, объекты среды, возможно, другие агенты.
Следует заметить, что под приведенное понятие обычного (неинтеллектуального) агента попадает достаточно большое количество систем. Это могут быть системы автоматизации документооборота, мониторинговые системы, имеющие возможность вмешательства в контролируемые процессы, роботизированные комплексы и так далее. Агенты такого типа обычно пишутся на некотором языке программирования (высокого уровня или скрипт-языке) так, что все их возможности жестко прошиты в код. По этой причине действия такого рода агентов становятся автоматичны. Однако ряд задач просто не может быть решен без методов искусственного интеллекта. Так, например, робот, самостоятельно выполняющий транспортировку груза должен принимать решения относительно оптимальности и безопасности пути. Области применения интеллектуальных автоматизированных систем в области космонавтики описаны в работе [Dorais at al., 1999]. Аналогичным образом можно указать примеры для других предметных областей. В связи с этим ставится задача создания агентов, имеющих возможность самостоятельно принимать решения о своих действиях. При этом решения должны приниматься с использованием логического вывода.
Под интеллектуальным агентом будем понимать агента, который обладает рядом знаний о себе и окружающем мире и поведение которого определяется этими знаниями. Основным отличием интеллектуальных агентов от обычных является возможность на основе логического вывода самостоятельно определять свое поведение в зависимости от ситуации.
Поведение обычных агентов является строго детерминированным и определяется при помощи некоторого набора инструкций. Эти инструкции однозначно определяют реакцию обычного агента на то или иное событие во внешнем мире. В дальнейшем изложении для того чтобы различать, о каком типе агентов идет речь, назовем обычные агенты автоматами.
Следует заметить, что понятие “агент” является некоторым парафразом определения объекта. Действительно, если взять общепринятую формулу “класс = данные + методы (функции для работы с ними)” [Booch, 1991], то можно сказать, что агент - это объект, обладающий функциями для приема информации из внешнего мира, воздействия на внешний мир и принятия решения о роде воздействия. Принятие решения может происходить рефлективно (то есть будет строго задано) и описываться программой или на основе логического вывода при помощи некоторых данных.
Понятие интеллектуального агента является развитием методов объектно-ориентированного проектирования. Упрощая, можно сказать, что “интеллектуальный агент = данные + методы + знания”, причем методы здесь - это не только функции работы с данными, но и функции работы со знаниями и возможные методы воздействия агента на окружающую среду. С сожалением можно отметить, что многие разработчики утверждают, что используют в своих продуктах технологии интеллектуальных агентов, тогда как основная их отличительная черта - знания, в разработках не представлены.
Структура и алгоритм работы агентов
Дальнейшее изложение будет опираться на классификацию агентов, предложенную в работе [Клышинский, 1999].
Попытаемся определить структуру автомата и агента. Как это следует из определений агента и автомата, в их структуре должны быть блоки, отвечающие за прием информации из внешнего мира и воздействие на внешний мир. Назовем эти блоки рецепторами и эффекторами соответственно. Кроме того, объект, осуществляющий некоторые действия, должен иметь блок, определяющий поведение этого объекта. Данный блок будет отвечать за анализ ситуации и выбор действий, которые агент должен осуществить. В случае автомата это будет интерпретатор инструкций или аналогичный ему блок, обрабатывающий сигналы от рецепторов и состояние параметров объекта и окружающей среды. Для интеллектуального агента это будет машина логического вывода.
Представим автомат, как множество
Au={ R,E,P,X,Y },
где Au - автомат; R - множество рецепторов; E - множество эффекторов; P - параметры автомата; X - исполнитель и связанный с ним буфер; Y - параметры окружающей среды на данном и, возможно, предыдущих шагах.
Итак, в состав автомата должны входить рецепторы, эффекторы, база для хранения текущих (и возможно предшествующих) состояний окружающей среды, набор собственных параметров автомата, которые могут храниться совместно с параметрами окружающей среды, база, хранящая инструкции по реакциям автомата, интерпретатор этих инструкций и буфер, который будет хранить запланированные автоматом воздействия. Данный буфер необходим для того, чтобы запланировав один раз набор инструкций, выполнять их не все сразу, а извлекая из буфера в необходимые моменты времени. В задачи исполнителя входит своевременная посылка команд из буфера эффекторам.
Структура агента более сложна, так как он должен иметь возможность логического разбора ситуации внешней среды. Для этого в состав агента включается модель представления знаний (МПЗ) и рабочая база данных (РБД).
Рассмотрим более простой случай, когда БЗ неизменна либо пополняется человеком (необучаемый агент) и агент на каждом такте модельного времени заново принимает решение о своих дальнейших действиях, исходя только из текущей информации. Назовем такой тип агентов регулирующим.
Представим регулирующий агент, как множество
Agr = {R,E,P,X,W,K},
где Agr - регулирующий агент; R - множество рецепторов; E - множество эффекторов; P - параметры агента; X - исполнитель и связанный с ним буфер; W - рабочая база данных; K - модель представления знаний.
В состав МПЗ входит база знаний (БЗ), машина логического вывода (МЛВ) и модель окружающей среды. В базе знаний хранятся правила, по которым ведется логический вывод. Машина логического вывода на основании правил из БЗ, модели окружающей среды и данных РБД проводит логический вывод, результатом которого являются некоторые заключения о дальнейшем поведении окружающей среды и своих дальнейших действиях. При этом поведение окружающей среды фактически экстраполируется один раз на некоторое время вперед. Заключения о поведении окружающей среды может делаться на каждом шаге или всякий раз при изменении характера ее поведения. Запланированные на этом этапе действия помещаются в специальное хранилище. Отсюда они могут быть удалены в ходе логического вывода; перемещены в буфер; выполнены, если команды касаются изменения БЗ или модели окружающей среды. В буфер кроме действия подается информация о том, когда его надо исполнить. Из буфера действия последовательно подаются на эффекторы. После планирования своего поведения агент подает команду буферу, и тот начинает исполнять действия, которые должны быть выполнены на данном шаге модельного времени.
Следует заметить, что регулирующий агент может не принимать решение на основании всего объема информации, а лишь на базе изменения состояния собственных параметров или параметров окружающей среды. В этом случае, если изменения не превышают некоторый порог, то поведение агента не претерпевает изменений. Таким образом, система принятия решения регулирующего агента может быть преобразована из дискретно-непрерывной в интеррогативную.
Рабочая база данных содержит информацию о параметрах окружающей среды на текущем (и, при необходимости, на предыдущих) шаге модельного времени и базу данных (БД), хранящую некоторые квазипостоянные параметры окружающей среды.
Алгоритм действий такого агента следующий. Агент опрашивает ряд своих рецепторов. Рецепторы передают полученную информацию в блок, содержащий информацию об окружающей среде. После этого управление передается машине логического вывода, которая принимает решение о дальнейших действиях. В ходе разбора действия заносятся в отдельный блок, а после разбора переносятся в буфер. Каждое действие может быть запланировано на немедленное исполнение, либо на исполнение через некоторый промежуток времени. Действия по коррекции БЗ или модели окружающей среды производятся без переноса в буфер. В заключение из буфера выбираются команды, которые должны быть исполнены на данном шаге машинного времени, и передаются эффекторам. Эффекторы генерируют запрос на изменение некоторых параметров окружающей среды или своих собственных.
Исходя из приведенного алгоритма работы, можно сказать, что поведение регулирующего агента представимо в виде функции
Beh(ti) = f (P, K, W, M, Beh(ti-1),t) ,
где P - параметры объекта; K - модель представления знаний; M - модель внешней среды, W - рабочая база данных , ti- момент времени, на который необходимо сформировать поведение; t - время.
Рассмотрим теперь случай, когда агент имеет возможность планировать свои действия (планирующий агент). В этом случае агенту потребуется моделирующая система, которая будет прогнозировать изменение ситуации в будущем, основываясь на данных и знаниях агента. Модель окружающей среды должна позволять проводить моделирование нескольких шагов времени агента. Вначале данная модель инициализируется в соответствии с текущей ситуацией. В ходе моделирования все запланированные изменения в первую очередь вносятся в модель окружающей среды. После того, как шаг времени агента в модели будущей ситуации будет сделан, агент может попытаться оценить создавшуюся ситуацию и принять иное решение по ее предыдущему или дальнейшему развитию. При этом планируемые действия поступают в специальный блок, который должен иметь возможность хранить несколько вариантов развития ситуации. После того как агент завершит планировать свои действия, он помещает эти действия в буфер.
Исходя из вышесказанного, заметим, что основные компоненты планирующего агента остаются те же, что и у регулирующего. Однако модель окружающей среды здесь следует вынести в отдельный блок. Во-первых, в нее входят модели объектов окружающей среды, позволяющие прогнозировать поведение объектов на несколько ходов вперед. Во-вторых, модель окружающей среды должна позволять проводить в ходе принятия решения имитационное моделирование поведения объектов окружающей среды.
Представим планирующий агент, как множество
Agp = {R,E,P,X,W,K,S},
где Agp - регулирующий агент; R - множество рецепторов; E - множество эффекторов; P - параметры агента; X - исполнитель и связанный с ним буфер; W - рабочая база данных; K - модель представления знаний, S - система моделирования окружающей среды.
Основным отличием планирующего агента является то, что в ходе моделирования ему приходится принимать решения о дальнейшем поведении не только за себя, но и за остальных агентов окружающей среды. При этом верность принятых решений будет зависеть от точности имеющейся модели этих агентов. Если регулирующему агенту достаточно иметь общие представления о целях остальных агентов, чтобы принять решение о дальнейших действиях, то планирующий агент обязан моделировать ход их логического вывода, то есть должен иметь представление о правилах, по которым принимается решение. Различия в их поведении будут примерно такие же, как при реализации алгоритмов преследования собаки, которая бежит за жертвой, и волка, который преследует с некоторым упреждением.
Следует заметить, что ситуация может начать развиваться совершенно не в том направлении, в каком это предполагал агент. Это возможно при появлении новых факторов, неверной оценки ситуации или при маловероятном стечении обстоятельств, причем степень изменения ситуации может быть различна. В связи с этим у агентов должна быть предусмотрена возможность менять свои планы или откладывать их. Для этого необходимо, например, очистить (полностью или частично) буфер и заново оценить обстановку.
В критических ситуациях, когда скорость реакции определяет исход, решение должно быть принято в ограниченные сроки. В таких случаях подробный разбор ситуации приведет к излишней потере времени. Следовательно, необходимо предусмотреть возможность, работы планирующего агента как регулирующего или даже как автомата. В этом случае он будет работать по заранее спланированным алгоритмам. Эти алгоритмы могут быть внесены как заранее, на этапе заполнения БЗ, так и запланированы в ходе существования объекта [Ким, 1996]. В последнем случае агент должен предсказать появление критической ситуации и заранее принять решение о своем поведении, и реализовать данное решение, в случае если эта ситуация наступит.
агент автомат логический интеллектуальный
Итак, в данной работе была сделана попытка выделить наиболее общие свойства агентов и на их основе построить структуру агентов. Вопрос взаимоотношений между агентами (мультиагентные системы) не рассматривался специально, так как процесс общения агентов между собой можно свести к работе рецепторов и эффекторов. Алгоритмы взаимодействия будут задаваться правилами из МЛВ. Таким образом, на уровне отдельного агента мультиагентность будет представлена лишь реализацией рецепторов и эффекторов, заполнением БЗ и отладке модели поведения агента. Эта задача является самостоятельной областью исследования, заслуживающей отдельной разработки. То же самое можно сказать и об обучении и самообучении.
Литература
1. [Booch, 1991] Booch G. Object-oriented design with application. // The Benjamin/ Cummings Publishing Company, Inc., 1991.
2. [Dorais at al., 1999] Dorais G. at al. Adjustable Autonomy for Human-Centered Autonomous System on Mars // Proc. of the 1st International Conference of the Mars Society, Aug 1998.
3. [Franklin at al., 1996] Franklin S., Graesser A. Is it an Agent or just a Program?: A Taxonomy for Autonomous Agents. // Proceedings of the Third International Workshop on Agent Theories, Architectures and Languages, Springer-Verlag, 1996.
4. [Ким, 1996] Ким Н.В. Формирование структуры интеллектуальной системы “помощник летчика” / Известия Академии Наук, Теория и системы управления, №3, 1996.
5. [Клышинский, 1999] Клышинский Э.С. Агентные системы: классификация и применение / САПР и графика, № 8, 1999, сс. 90-96.
Размещено на Allbest.ru
Подобные документы
Технология программных агентов. Форматы метаданных, использующиеся для описания электронных ресурсов. Разработка интеллектуальных агентов. Среда разработки Jadex для построения интеллектуальных агентов. BDI модель интеллектуального агента ресурсов.
курсовая работа [279,8 K], добавлен 20.02.2011Анализ и виды интеллектуальных агентов в системе дистанционного обучения и их характеристики. Построение интеллектуального агента глоссария на платформе Jadex с помощью XML формата. Среда разработки и описание интеллектуального агента с помощью BDI.
курсовая работа [113,6 K], добавлен 10.02.2011Обзор методов и подходов решения поставленной задачи аппроксимации логического вывода экспертной системы. Разработка и описание метода сетевого оператора для решения данной задачи. Разработка алгоритма решения. Проведение вычислительного эксперимента.
дипломная работа [1,5 M], добавлен 23.02.2015В статье рассмотрено применение конечных автоматов для создания системы автоматов, связанных графами. Документооборот представляется в виде автомата, обрабатывающего автоматы, каждый из которых моделирует поведенческую единицу системы документооборота.
статья [80,8 K], добавлен 19.04.2006В статье рассмотрено применение конечных автоматов для создания системы автоматов, связанных графами. Документооборот представляется в виде автомата, обрабатывающего автоматы, каждый из которых моделирует поведенческую единицу системы документооборота.
статья [80,8 K], добавлен 15.07.2006Программные продукты для решения задачи построения оптимального маршрута. Выбор аппаратных и программных средств для построения маршрута обхода пациентов. Математическая модель муравьиного алгоритма: состав, структура, тестирование, отладка, реализация.
дипломная работа [1,9 M], добавлен 03.12.2017Основное направление исследования клеточных автоматов. Математическое определение автоматов. Классификация по типам поведения. Тоталистичные клеточные автоматы. Создание и визуализация в Excel математической модели распространения лесного пожара.
курсовая работа [234,9 K], добавлен 01.11.2014Преимущества и недостатки моделей представления знаний. Модель, основанная на правилах, фреймовая модель. Семантическая сеть. Структура экспертных систем и этапы их разработки. Механизмы логического вывода. Стратегия "вверх-снизу", "от цели к ситуации").
презентация [195,3 K], добавлен 29.10.2013Моделирование различных систем событий. Особенности мультиагентной платформы JADE. Использование агентов, нарушающих принятый порядок работы системы. Реализация программы на языке Java. Вычислительная модель агента. Моделирование игры в "наперстки".
курсовая работа [423,6 K], добавлен 30.01.2016Сущность интеллектуальных систем. Запись математического выражения в виде ориентированного графа. Особенности разработки генетического алгоритма для решения задачи аппроксимации логического вывода экспертной системы на основе метода сетевого оператора.
дипломная работа [1,0 M], добавлен 17.09.2013