Генетические алгоритмы и эволюционные стратегии С#
Бюджет $10 USD
Задание 1
Программу следует модифицировать для поиска минимальных (или максимальных) значений данной функции в диапазоне (-8, 8). Мы кодируем реальные значения из этого диапазона в 11-элементную хромосому. Первый ген - это знак числа (например, 0 - «-», 1 - «+»). Следующие гены соответствуют степеням двух от 22 до 2-7. Так, например, хромосома 11011110000 будет соответствовать действительному числу со значением:
+ 1 · 22 + 0 · 21 + 1 · 20 + 1 · 2-1 + 1 · 2-2 + 1 · 2-3 + 0 · 2-4 + 0 · 2-5 + 0 · 2-6 + 0 2-7 = + 4 + 1 + 0, 5 + 0, 25 + 0, 125 = +5, 875.
Функцию, минимальное или максимальное значение которой мы ищем, следует выбрать из следующего, разделив по модулю номер вашего альбома на 22. Знак ^ означает силу.
В отчете:
1. Описание подхода, используемого в программе: отбор, скрещивание, мутация (то есть, как создается следующая популяция).
2. Части программного кода, которые были изменены для выполнения задачи
3. Оптимальное (мин / макс) значение функции и значение хромосомы, для которого она была рассчитана.
4. Прокомментируйте полученный результат.
Задание 2
Ознакомьтесь с реализацией алгоритма, а затем измените программу так, чтобы она искала минимальную функцию x ^ 2 + y ^ 2. Пожалуйста, включите фрагмент измененного кода и результаты алгоритма в отчет и опишите, как будет формироваться следующее население. Также опишите, для чего предназначены параметры, определенные в файле Program.cs.