- •Дерево решений.
- •Упрощение дерева решений
- •Принятие решений в условиях стохастической неопределенности
- •Выбор при нечеткой исходной информации
- •Задача достижения нечетко определенной цели
- •Антагонистические игры
- •Матричные игры со смешанными тратегиями
- •Назначение и структура идс
- •Понимание входных высказываний
- •Анализ входных высказываний
- •Интерпретация входных высказываний и генерация ответа системы
- •Управление диалогом
- •Основные типы шагов диалога
- •Нейронные сети
- •Эволюционное моделирование
- •Генетические алгоритмы
- •Характеристики начальной популяции
- •Эволюционное и генетическое программирование
- •Эволюционное программирование
- •Генетическое программирование
Эволюционное моделирование
Построение математическо модели включает формирование целевой функции переменных, т.е. такой числовой характеристики, большему (или меньшему) значению которой соответствует лучшая ситуация с точки зрения аналитика. Желательно найти такие значения переменных, при которых целевая функция принимает максимальное (минимальное) значение. К задачам такого рода сводятся многие экстремальные задачи, возникающие в биологии, химии, физике, технике, экономике и других областях. Теория и методы решения подобных задач являются содержанием математического программирования. Под термином программирование в данном случае понимают построение наилучшего плана (программы) действий. Иными словами, задача состоит в поиске наилучшего решения.
Попытки разработки методов нахождения экстремумов функции многих переменных при наличии ограничений на переменные наталкиваются на принципиальные трудности. Этим объясняется поиск новых подходов к решению экстремальных задач. В частности, разрабатываются методы, базирующиеся на теории общей и популяционной генетике.
Идея методов эволюционного моделирования заключается в том, что при поиске наилучшего решения используются аналоги естественных (на уровне генов) форм обмена информацией.
Эволюционные методы позволяют найти глобальный экстремум целевой функции. Их можно использовать в том случае, когда трудно сформулировать задачу в аналитическом виде.
Содержанием эволюционного моделирования являются:
-
генетические алгоритмы;
-
классифицирующие системы;
-
генетическое программирование;
-
эволюционное программирование;
-
эволюционные стратегии.
В эволюционном моделировании пользуются терминами генетики. Так, допустимые решения экстремальной задачи называют хромосомами, набор решений – популяцией., оператор модификации решения – мутацией, оператор рекомбинации соответствует скрещиванию, рекомбинации, кроссинговеру.
Генетические алгоритмы
Поиск оптимального решения задачи в простых генетических алгоритмах осуществляется по следующему плану.
-
Формируется исходный набор допустимых решений, т.е. популяция. При этом начальная точка отсчета жизни популяций принимается, равной нулю: t0 = 0.
-
Для каждого решения (хромосомы) находится значение целевой функции. Вычисляется среднее этих значений.
-
Время жизни популяции увеличивается на шаг: t = t0 +1. Из исходной популяции случайным образом с учетом значения целевой функции выбираются две хромосомы для кроссинговера.
-
Формируется новый набор решений. С той целью выполняется операция кроссинговера, т.е. осуществляется обмен генами в выбранных хромосомах.
-
В этом наборе случайным образом выделяют какое-то решение. Затем к нему последовательно с заданными вероятностями применяют операторы инверсии и мутации. При инверсии участок хромосомы поворачивают на 1800. При мутации происходит перестановка соседних генов. В результате получают еще один набор решений (хромосом).
-
В текущей популяции осуществляют замену случайно выбранной хромосомы на соответствующую ей хромосому из только что полученного набора хромосом.
-
Процесс преобразования решений заканчивается после выполнения заданного числа шагов. Если очередной шаг не является последним, то получение новых решений продолжается, начиная со второго этапа.
Помимо операций кроссинговера и мутации в простых генетических алгоритмов применяют операцию репродукции. Репродукция – это простой перенос хромосом с лучшими значениями целевой функции в новую популяцию.
Для иллюстрации изложенного алгоритма поиска экстремума целевой функции рассмотрим следующий пример.
В качестве последней возьмем функцию одного переменного f(x) = x2 .
Найдем ее максимальное значение на отрезке [0, 31]. Решение будем искать среди целых чисел.
Чтобы можно было создавать хромосомы, представим десятичные числа двоичными числами.
С помощью датчика случайных чисел сформируем первоначальную популяцию из четырех хромосом. Вычислим значения целевой функции для каждой хромосомы, а также среднее и суммарное ее значения.
В таблице 1 приведены результаты расчетов.
Таблица 1