![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Эволюционное программирование
В 1960-х гг. Л. Фогель, А. Оуэне и М. Уолш предложили схему эволюции логических автоматов, решающих задачи предсказания, диагностики, распознавания и классификации образцов, а также задачи управления объектом с неизвестным характером . Исследования, идейно очень близкие к работам Л. Фогеля с сотрудниками, были разносторонне развиты и описаны в работах И.Л. Бутовой. В более поздних работах Л. Фогеля эволюционное программирование используется для решения систем линейных алгебраических уравнений. Логические (конечные) автоматы — это модели, описывающие средствами формальной логики возможные переходы исследуемой системы из некоторого начального состояния в заключительное. Удобной формой представления конечных автоматов являются ориентированные графы (рис. 13), где вершина д0 — начальное состояние, Конечные автоматы используются в задачах распознавания, управления и многих других приложениях. Знаменитая машина Тьюринга является разновидностью конечного автомата. Эволюционная программа реализует моделирование процессов естественной эволюции моделей-автоматов, причем в каждый момент времени сохраняется тот «организм», который нем-/ лучшим образом может справиться с данной задачей. «Родитель* ский» организм оценивается в зависимости от способности при>-нимать требуемое решение на основе имеющихся данных. Этот Рис. 13. Ориентированный граф, соответствующий конечному автомату организм подвергается мутации и производит на свет «потомка», которому ставится та же задача и который оценивается таким же образом. Автомат, который демонстрирует наилучшую способность выполнять требуемые функции, сохраняется и поставляет «потомков» в следующее поколение. Таким образом производятся все лучшие и лучшие модели (программы) для решения поставленной задачи. Процесс завершается, когда получена достаточно хорошая программа или исчерпаны ресурсы времени. Всякий раз, когда поступает новая информация, происходит эволюционный поиск логической структуры, обеспечивающей получение наиболее приемлемого решения. В эволюционном программировании объектами эволюции являются конечные автоматы, способные реагировать на стимулы, поступающие из внешней среды. Каждый автомат на основе текущей информации предсказывает состояние, соответствующее определенному значению функции ценности. Решение ищется постепенным отбором автоматов-родителей, к которым применяется мутация на следующем шаге эволюции. В эволюционном программировании используются следующие способы реализации оператора мутации: • изменение заключительного состояния; • изменение условия перехода из одного состояния в другое; • добавление нового состояния; • удаление состояния; • изменение начального состояния. Обобщенный алгоритм эволюционного программирования включает следующие шаги. 1. Формулируется постановка задачи. Формируются входной словарь, множество входных и выходных состояний, набор воз- можных состояний, условия переходов из состояния в состояние, функция ценности для характеристики генерируемых моделей. 2. Случайным образом генерируется начальная популяция 3. Выполняется тестирование автоматов-родителей путем ре 4. Отсев неперспективных моделей. 5. На основе случайного применения оператора мутации к ав 6. Тестирование моделей-потомков путем решения постав 7. Отбор наиболее перспективных потомков. 8. Проверка условий окончания процесса эволюции, в каче 9. Конец алгоритма. Дальнейшая эволюция автоматов возможна на основе предъявления автоматам более сложных задач. Эволюционные стратегии Эволюционные стратегии были предложены в 1970-х гг. в качестве стохастического метода нахождения глобального минимума функций многих переменных 1. Из решений х формируются новые объекты — потомки ременной 2. Вычисляются значения целевой функции 3. Процесс продолжается до тех пор, пока не будет достигну Каждый объект в популяции характеризуется двумя векторами — вектором решения и случайным вектором, модифицирующим это решение. Случайный вектор характеризуется вектором дисперсии, который хранится в процессе поиска, и может быть дополнен корректирующим вектором, ускоряющим сходимость алгоритма. Значение 1) 2) время жизни объекта ограничено одной генерацией, т.е. В эволюционных стратегиях используется оператор рекомбинации (в эволюционном программировании, в отличие от эволюционных стратегий, рекомбинация не применяется), который аналогичен скрещиванию в генетических алгоритмах. При этом компоненты вектора «потомка» создаются из компонент векторов решений двух «родителей». Это можно сделать разными способами, например: • компоненты вектора потомка выбираются случайным обра • компоненты вектора потомка получаются как средние В эволюционных стратегиях иногда применяется глобальная рекомбинация, при которой компоненты вектора каждого потомка случайным образом выбираются из векторов всей популяции родителей. Следует отметить, что моделирование естественных процессов развития, в том числе и эволюции, было и остается одним из самых перспективных научных направлений. Кроме описанных методов эволюционных вычислений, на основе естественных аналогий придуманы нейронные сети, предложены методы эволюционного синтеза систем и методы эволюционного проектирования технических объектов. Особенностью подходов, базирующихся на эволюционных аналогиях, является контраст между достаточно простым математическим аппаратом (по сравнению с другими методами) и впечатляющими результатами в области решения слабоструктурированных и плохо обусловленных проблем. 7.ПЗ7. Интеллектуальные мультиагентные системы. Интеллектуальные мультиагентные системы — одно из новых перспективных направлений искусственного интеллекта, которое сформировалось на основе результатов исследований в области распределенных компьютерных систем, сетевых технологий решения проблем и параллельных вычислений. В мультиагент-ных технологиях заложен принцип автономности отдельных частей программы (агентов), совместно функционирующих в распределенной системе, где одновременно протекает множество взаимосвязанных процессов. Под агентом подразумевают автономный искусственный объект (компьютерную программу), обладающий активным мотивированным поведением и способный к взаимодействию с другими объектами в динамических виртуальных средах. Каждый агент может принимать сообщения, интерпретировать их содержание и формировать новые сообщения, которые либо передаются на «доску объявлений», либо направляются другим агентам. Агентно-ориентированный подход уже нашел применение в таких областях, как распределенное решение сложных задач, реинжиниринг предприятий, электронный бизнес и т.п. Важной областью применения мультиагентных технологий является моделирование. В этой области Д.А. Поспелов выделяет два класса задач. К первому классу он относит задачи распределенного управления и задачи планирования достижения целей, где усилия разных агентов направлены на решение общей проблемы и необходимо обеспечение эффективного способа кооперации их деятельности. В задачах второго класса агенты самостоятельно решают свои локальные задачи, используя общие, как правило, ограниченные ресурсы. Основные понятия теории агентов Понятие агент соответствует аппаратно или программно реализованной сущности, которая способна действовать в интересах достижения целей, поставленных перед ней владельцем и/или пользователем. В мультиагентных системах (MAC) множество автономных агентов действуют в интересах различных пользователей и взаимодействуют между собой в процессе решения определенных задач. Примерами таких задач являются: управление информационными потоками и сетями, управление воздушным движением, поиск информации в сети Интернет, электронная коммерция, обучение, электронные библиотеки, коллективное принятие многокритериальных управленческих решений и другие. Идея мультиагентных систем появилась в конце 1950-х гг. в научной школе М.Л. Цетлина, которая занималась исследованиями коллективного поведения автоматов . Агентами {маленькими животными) были названы искусственные существа, обладающие свойством реактивности, т. е. способные воспринимать и интерпретировать сигналы, поступающие из внешней среды, и формировать ответные сигналы. В роли маленьких животных выступали конечные автоматы, которые не имели априорных знаний о свойствах окружающей среды и о наличии в ней других существ. Единственным знанием, которым они обладали, была цель их деятельности и способность оценивать поступающие сигналы относительно достижения этой цели. Оказалось, что даже такие простые структуры, как конечные автоматы, демонстрируют хорошие способности к адаптации в стационарных вероятностных средах. Одной из главных характеристик агентов-автоматов была рациональность, которая определялась как сумма положительных откликов среды, накопленных агентом за некоторый период его существования. В дальнейши исследованиях структура маленьких животных усложнялась. Сна чала появились вероятностные автоматы с переменной структу рой, адаптирующейся к характеристикам среды, затем появилиа агенты, способные изменять свои реакции на основании преды стории и анализа состояния окружения. Серьезным шагом в раз витии мультиагентных технологий стала реализация способности агентов к рассуждениям. Простейшие модели взаимодействия агентов предусматривали их общение через среду. При ston на каждом шаге функционирования агенты совершают выбо^ возможных для них действий. Множество действий всех агенто! обусловливает распределение откликов среды для всех участников, которые могут его использовать либо не использовать при формировании своих ответных реакций. Новый шаг к современному пониманию агентов был сделан при переходе к коллективной работе в распределенных компьютерных системах. Этот шаг стал началом бурного развития мультиагентных технологий. К настоящему времени в данном направлении накоплен определенный опыт. Предложены разнообразные модели агентов и способы их реализации, решены практические задачи и созданы инструментальные средства для разработки мультиагентных систем, сформулированы различные принципы взаимодействия агентов и т. п. В этой главе мы остановимся на вопросах, связанных с построением и применением интеллектуальных MAC. Таблица 1. Классификация агентов
Одна из возможных классификаций агентов приведена в табл. 1, из которой следует, что для интеллектуальных агентов характерно целесообразное поведение, которое предполагает наличие у агента целей функционирования и способностей использовать знания об окружающей среде, партнерах и о своих возможностях.
![]() |