Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ротштейн А.П. Интеллектуальные технологии идентификации нечеткие множества, нейронные сети, генетические алгоритмы.doc
Скачиваний:
9
Добавлен:
01.07.2025
Размер:
8 Мб
Скачать
☆

5.2.4. Функция соответствия

Обозначим функцию соответствия хромосомы   через   (от англ. fitness function). В качестве функции соответствия будем использовать критерий оптимизации, взятый со знаком минус. Для нечетких моделей   объектов с дискретным выходом функция соответствия хромосомы   (5.13), полученная из критерия (5.10), будет иметь вид:

(5.20)

Для нечетких моделей   объектов с непрерывным выходом функция соответствия хромосомы   (5.13), полученная из критерия (5.6), будет иметь вид:

(5.21)

Знак минус нужен для того, чтобы смысл функции соответствия не изменялся, т.е. чем ниже качество нечеткой модели тем меньше ее функция соответствия.

5.2.5. Выбор родителей

В соответствии с принципами генетических алгоритмов выбор родителей для операции скрещивания должен осуществляться не случайно. Чем больше значение функции соответствия некоторой хромосомы, тем больше должна быть вероятность того, что данная хромосома даст потомство.

Способ определения родителей основывается на том, что каждой хромосоме   из популяции ставится в соответствие число  , такое что:

,  ,  ,

- число хромосом в популяции. Числа   интерпретируются как вероятности, которые вычисляются следующим образом:

(5.22)

где    .

Используя ряд чисел  , хромосомы-родители для операции скрещивания найдем по следующему алгоритму:

1°. Отложим ряд   на горизонтальной оси (рис. 5.4).

2°. Сгенерируем случайное число   (рис. 5.4), имеющее равномерный закон распределения на интервале  .

3°. В качестве родителя выберем хромосому  , соответствующую под-интервалу  , в который попало число  . Например, на рис. 5.4. сгенерированное число   определяет в качестве родителя хромосому  .

4°. Повторим шаги 1-3 для определения второй хромосомы-родителя.

5.2.6. Генерация популяции

Под генерацией популяции понимается определение начального множества решений (хромосом-родителей), которые подвергаются скрещиванию. Зададим начальные решения (элементы вектора   (5.13)) следующим образом:

(5.23)

(5.24)

(5.25)

где   обозначает операцию нахождения равномерно распределенного на интервале   случайного числа.

После случайного определения исходных вариантов хромосом их следует подвергнуть контролю (5.16), чтобы сохранялась упорядоченность термов.

Предполагается, что исходная популяция имеет   хромосом-родителей.

5.2.7. Генетический алгоритм

На каждой итерации генетического алгоритма размер популяции будет увеличиваться на   хромосом-отпрысков , где   - коэффициент скрещивания. Для того, чтобы сохранить постоянный размер популяции ( ), перед следующей итерацией следует отбросить худшие (в смысле функции соответствия)  хромосом. С учетом этого, генетический алгоритм оптимальной настройки нечеткой модели  будет иметь следующий вид:

1°. Генерируем исходную популяцию согласно (5.23)-(5.25).

2°. Находим значения функций соответствия  ,   согласно (5.20),(5.21).

3°. Определяем   пар хромосом-родителей, используя алгоритм из раздела 5.2.5.

4°. Выполняем операцию скрещивания каждой пары хромосом-родителей в соответствии с алгоритмом из раздела 5.2.2.

5°. С вероятностью   осуществим мутацию полученных хромосом-отпрысков согласно алгоритму из раздела 5.2.3.

6°. Из полученной популяции размером   хромосом отбрасываем   хромосом, имеющих худшие значения функции соответствия  .

7°. Если получена хромосома  , для которой  , то конец алгоритма, иначе переходим к шагу 8.

8°. Если не исчерпано заданное число шагов, то переходим к шагу 2; в противном случае хромосома, имеющая наибольшее значение функции соответствия   представляет субоптимальное решение. Конец алгоритма.

Дальнейшее улучшение решения может быть выполнено обычными поисковыми методами.