Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИДЗ_11_1583_Марченко

.docx
Скачиваний:
0
Добавлен:
26.01.2026
Размер:
160.15 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ИИСТ

отчет

по индивидуальному домашнему заданию №11

по дисциплине «Математическое моделирование в приборостроении»

Вариант 7

Студент гр. 1583

Марченко С.А.

Преподаватель

Краснова А.И.

Санкт-Петербург

2025

ЗАДАНИЕ

Описать функционирование одной эпохи генетического алгоритма на примере произвольной задачи (не менее пяти признаков закодировать случайным образом, начальная популяция содержит не менее 10 особей). Использовать следующие параметры генетического алгоритма: фитнесс-функция – сумма всех бит особи, делённая на количество бит в особи; метод отбора – пропорциональный с использованием принципа элитизма; оператор скрещивания – одноточечный кроссовер; оператор мутации – одноточечная мутация.

ОБРАБОТКА РЕЗУЛЬТАТОВ

1. Инициализация параметров

Для работы генетического алгоритма были заданы начальные параметры (рисунок 1, по порядку): количество признаков, число бит для одного признака, длина хромосомы, размер популяции, вероятность мутации и количество элитных особей.

Рисунок 1 – Инициализация параметров алгоритма

2. Начальная популяция

Реализована генерация случайной популяции из нулей и единиц (рисунок 2). В целях демонстрации работы алгоритма была выбрана простейшая бинарная задача по максимизации, в связи с чем признаки в дальнейшем фактически не рассматриваются программным кодом по отдельности.

Рисунок 2 – Генерация начальной популяции

3. Фитнесс-функция

Согласно заданию, фитнесс-функция является суммой всех бит особи, делённой на количество бит в особи. Ввиду выбранной задачи для демонстрации работы генетического алгоритма, фитнесс-функция считает долю единиц в хромосоме.

Рисунок 3 – Реализация фитнесс-функции

4. Отбор особей

Этап отбора сортирует особей по признаку элитизма, отбирая их по величине фитнесс-функции, (рисунок 4) и пропорционально, определяя вероятность особи стать родителем (рисунок 5).

Рисунок 4 – Отбор с элитизмом

Рисунок 5 – Пропорциональный отбор

5. Одноточечный кроссовер

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

Рисунок 6 – Реализация одноточечного кроссовера

6. Одноточечная мутация

Реализованная одноточечная мутация в разработанном программной коде изменяет значение одного случайного бита в хромосоме (рисунок 7) для возможного нахождения лучшего решения задача и предотвращения застоя популяции.

Рисунок 7 – Реализация одноточечной мутации

7. Новое поколение

Реализована генерация нового поколения на основе одной элитной особи, оказавшейся лучшей в прошлой популяции, и девяти потомков, прошедших через кроссовер и мутацию (рисунок 8).

Рисунок 8 – Генерация нового поколения

Также реализован расчёт фитнесс-функции для нового поколения (рисунок 9).

Рисунок 9 – Фитнесс-функция нового поколения

В конце добавлена сравнительная оценка изменения фитнесс-функции между двумя поколениями (рисунок 10).

Рисунок 10 – Оценка изменения фитнесс-фукнции

Соседние файлы в предмете Математическое моделирование в приборных системах