
- •Дерево решений.
- •Упрощение дерева решений
- •Принятие решений в условиях стохастической неопределенности
- •Выбор при нечеткой исходной информации
- •Задача достижения нечетко определенной цели
- •Антагонистические игры
- •Матричные игры со смешанными тратегиями
- •Назначение и структура идс
- •Понимание входных высказываний
- •Анализ входных высказываний
- •Интерпретация входных высказываний и генерация ответа системы
- •Управление диалогом
- •Основные типы шагов диалога
- •Нейронные сети
- •Эволюционное моделирование
- •Генетические алгоритмы
- •Характеристики начальной популяции
- •Эволюционное и генетическое программирование
- •Эволюционное программирование
- •Генетическое программирование
Характеристики начальной популяции
№ хро-мо-со-мы |
Код хромо-сомы |
Значение аргумента |
Значение целе- вой функции |
fi(x)/ sumf(x) |
Ожидаемое число копий хромосомы |
1 |
01101 |
13 |
169 |
0.14 |
0.56 |
2 |
11000 |
24 |
576 |
0.49 |
1.96 |
3 |
01000 |
8 |
64 |
0.06 |
0.24 |
4 |
10011 |
CAPut!’ |
361 |
0.31 |
1.24 |
Суммарное значение целевой функции – 1170.
Среднее значение целевой функции – 293.
Максимальное значение целевой функции - 576
Как мы видим, наибольшее значение целевая функция принимает при значении аргумента, равном 24-м, т.е. 2-я хромосома является наилучшей. Однако даже в этом случае целевая функция не достигает своего максимума. Попробуем сформировать новую популяцию. С этой целью выполним операции репродукции и кроссинговера над хромосомами начальной популяции.
Выбираем хромосомы, которые войдут в новую популяцию после выполнения оператора репродукции. Вероятность попадания i-ой хромосомы в новую популяцию вычисляется по формуле
Pi = fi(x)/sum f(x).
Здесь fi x) – значение целевой функции при i-ой хромосоме, а sum f(x) – сумма значений целевой функции, которые она принимает при каждом решении.
Число копий хромосомы, переходящей в новую популяцию, определим по формуле
кi = fi(x)/f ср (x),
где f ср (x) – среднее значение целевой функции.
Теперь случайным образом выберем пары хромосом для кроссинговера. Место пересечения хромосом (точка кроссинговера) также выбираеися случайным образом.
В результате взаимного обмена значениями после точки пересечения образуются новые хромосомы. В нашем случае две первые хромосомы обмениваются своими значениями после четвертой позиции, а две последние – после второй.
Оператор кроссинговера выполняется после оператора репродукции.
В таблице 2 представлены результаты выполнения операторов репродукции и кроссинговера.
Таблица 2.
Результаты репродукции и кроссинговера
№ хро-мо-сомы |
Популяция после репро-дукции |
Выбранные пары хромо-сом для крос-синговера |
Точка крос-синго-вера |
Попу-ляция после крос синговера |
1 |
01101 |
1-2 |
4 |
01100 |
2 |
11000 |
1-2 |
4 |
11001 |
3 |
11000 |
3-4 |
2 |
11011 |
4 |
10011 |
3-4 |
2 |
10000 |
Полученные решения (хромосомы) доставляют целевой функции соответственно значения 144, 625. 729, 256.
В новой популяции 3-я хромосома является наилучшей, поскольку соответствующее ей значение переменной доставляет решений максимальное значение целевой функции.
Для дальнейшего улучшения решения применим операцию мутации к третьей хромосоме, а именно поменяем местами третью и четвертую позицию. Мутация даст новую хромосому: 11101. Значение целевой функции станет при этом равным 841. Теперь переставим в данной хромосоме 4-й и 5-й гены: 11110. Целевая функция возрастет. Ее значение будет равно 900.
Этот результат нас устраивает, так как мы искали целочисленное значение аргумента функции.
Операцию мутации целесообразно проводить при сравнительно небольшой длине хромосом. Если их длина превышает 200 единиц, то перебор возможного количества перестановок в ней генов может потребовать неоправданно большого времени.
Оператор кроссинговера можно выполнять несколько раз.
Надо иметь в виду, что случайный выбор хромосом для кроссинговера может оказаться неудачным с точки зрения повышения их качества, т.е. увеличения значения целевой функции.
В чем состоит основное отличие генетических алгоритмов от традиционных, например, от метода наискорейшего спуска? Генетические алгоритмы позволяют оценивать качество не одного решения, а одновременно нескольких решений. Кроме того, они обеспечивают нахождение глобального экстремума целевой функции.