Применение генетических алгоритмов для решения математических уравнений

XII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Применение генетических алгоритмов для решения математических уравнений

Черевичная Н.В. 1
1муниципальное общеобразовательное учреждение «Лицей № 5 имени Ю.А.Гагарина Центрального района Волгограда»
Должикова Н.Ю. 1
1муниципальное общеобразовательное учреждение «Лицей № 5 имени Ю.А.Гагарина Центрального района Волгограда»
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Основные достижения в науке и технике в настоящее время, как показывает развитие человечества, возможны только на стыке вроде бы не связанных между собой наук. Такой дисциплиной стало направление «Эволюционное моделирование» и основная ее часть «Генетические алгоритмы». Используя опыты развития природы и человека, генетические алгоритмы применяются для повышения качества создаваемых устройств, эффективности решения задач оптимизации и принятия решений. Это одно из важных направлений науки сегодня.

Актуальность использования метода генетических алгоритмов подтверждается простотой адаптации последнего в прикладной среде программирования и информационного преобразования электронных данных, а также широтой направлений текущего применения методы в том числе: Оптимизация функций, Оптимизация запросов в базах данных, Разнообразные задачи на графах, Настройка и обучение искусственной нейронной сети, Задачи компоновки, Игровые стратегии, Теория приближений, Искусственная жизнь, Биоинформатика.

Генетические алгоритмы есть поисковые алгоритмы, основанные на механизмах натуральной селекции и генетики. Они реализуют «выживание сильнейших» среди рассмотренных структур, формируя и изменяя поисковый алгоритм на основе моделирования эволюции поиска. В каждой генерации новое множество искусственных последовательностей создается с использованием старых и добавлением новых частей с «хорошими свойствами». Генетические алгоритмы — это не просто случайный поиск. Они эффективно используют информацию, накопленную в процессе эволюции. Цель генетических алгоритмов двоякая: абстрактно и формально объяснить адаптацию процессов в естественных системах, спрое[8].ктированность искусственные программные системы, которые содержат механизмы естественных систем.

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

Объект исследования: генетические алгоритмы.

Предмет исследования: применение генетических алгоритмов для нахождения решения математических уравнений.

Цель работы: найти способ решения математических уравнений с помощью генетических алгоритмов.

Задачи:

1. Уточнить понятие генетического алгоритма.

2. Рассмотреть схему генетического алгоритма.

3. Проанализировать возможности генетических алгоритмов для решения различных задач оптимизации.

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

Методы исследования: анализ литературы, сбор информации, обработка данных, анализ.

I. ТЕОРЕТИЧЕСКОЕ ОПИСАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА

1.1 Эволюционные методы: генетический алгоритм

Эволюционные методы являются приближенными методами решения задач оптимизации и структурного синтеза. Большинство эволюционных методов основано на статистическом подходе к исследованию ситуаций и итерационном приближении к искомому решению.

Эволюционные вычисления составляют один из разделов искусственного интеллекта.

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

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

Генетические алгоритмы – адаптивные методы поиска, которые используются для решения задач функциональной оптимизации. Они основаны на механизмах и моделях эволюции, и генетических процессов биологических алгоритмов.

Генетический алгоритм — это метод перебора решений для тех задач, в которых невозможно найти решение с помощью математических формул. Однако простой перебор решений в сложной многомерной задаче – это бесконечно долго. Поэтому генетический алгоритм перебирает не все решения, а только лучшие. Алгоритм берёт группу решений и ищет среди них наиболее подходящие. Затем немного изменяет их – получает новые решения, среди которых снова отбирает лучшие, а худшие отбрасывает. Таким образом, на каждом шаге работы алгоритм отбирает наиболее подходящие решения (проводит селекцию), считая, что они на следующем шаге дадут ещё более лучшие решения (эволюционируют).

Впервые генетический алгоритм был предложен в 1975 году Джоном Холландом (John Holland) в Мичиганском университете. Он получил название «репродуктивный план Холланда» и лег в основу практически всех вариантов генетических алгоритмов.

Генетические алгоритмы были созданы на основе Теории Дарвина. Как известно, основная идея Эволюции Дарвина заключается в естественном отборе: наименее приспособленные организмы умирают раньше и в больших количествах, наиболее приспособленные выживают и дают потомство. Их потомство уже оказывается в среднем более приспособленным к окружающей среде, но среди них опять выделяются наиболее приспособленные особи, и так далее.

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

Основные «отличия генетических алгоритмов от традиционных методов:

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

2. Для поиска генетический алгоритм использует несколько точек поискового пространства одновременно, а не переходит от точки к точке, как это делается в традиционных методах. Это позволяет преодолеть один из их недостатков – опасность попадания в локальный экстремум целевой функции, если она не является унимодальной, т. е. имеет несколько таких экстремумов.

3. Генетические алгоритмы в процессе работы не используют никакой дополнительной информации, что повышает скорость работы. Единственной используемой информацией может быть область допустимых значений параметров и целевой функции в произвольной точке.

4. Генетический алгоритм использует как вероятностные правила для порождения новых точек, так и детерминированные правила для перехода от одних точек к другим. Одновременное использование элементов случайности и детерминированности дает значительно больший эффект, чем раздельное» [3].

1.2 Схема генетического алгоритма. Описание этапов.

Существует несколько схем Генетического Алгоритма, но в основном он делится на четыре следующих этапа:

Создание популяции (инициализация);

Размножение;

Мутации;

Отбор

Рассмотрим схему общего алгоритма (Рис.1)

Рисунок 1

Общая схема генетического алгоритма

1. Создание популяции (инициализация).

Перед первым шагом нужно случайным образом создать некую начальную популяцию; даже если она будет совершенно неконкурентоспособной, генетический алгоритм всё равно достаточно быстро приведёт её в жизнеспособную популяцию. Таким образом, на первом шаге можно особенно не стараться сделать слишком уж приспособленных особей, достаточно, чтобы они соответствовали формату особей популяции, и на них можно было подсчитать функцию. Итогом первого шага является популяция X, состоящая из N особей.

2. Размножение (скрещивание).

Размножение в генетических алгоритмах обычно половое – чтобы произвести потомка, нужны несколько родителей; обычно, конечно, нужно ровно два. Размножение в различных алгоритмах определяется по-разному – оно, конечно зависит от представления данных. Главное требование к размножению – чтобы потомок или потомки имели возможность унаследовать черты обоих родителей, «смешав» их каким-либо разумным способом. В классическом генетическом алгоритме операция скрещивания представляет собой, так называемое точечное скрещивание. При точечном скрещивании выбираются пары хромосом из родительской популяции. Далее для каждой пары отобранных таким образом родителей разыгрывается позиция гена (локус) в хромосоме, определяющая так называемую точку скрещивания – lk. Если хромосома каждого из родителей состоит из L генов, то очевидно, что точка скрещивания lk представляет собой натуральное число, меньшее L. Поэтому фиксация точки скрещивания сводится к случайному выбору числа из интервала [1, L-1]. В результате скрещивания пары родительских хромосом получается следующая пара потомков: первый потомок, хромосома которого на позициях от 1 до lk состоит из генов первого родителя, а на позициях от   до L – из генов второго родителя; второй потомок, хромосома которого на позициях от 1 до lk состоит из генов второго родителя, а на позициях от lk + 1 до L – из генов первого родителя.

Также существуют другие виды скрещивания:

Двухточечное скрещивание – отличается от точечного скрещивания тем, что родительские хромосомы обмениваются участком генетического кода, который находится между двумя случайно выбранными точками скрещивания.

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

Равномерное скрещивание, иначе называемое монолитным или одностадийным, выполняется в соответствии со случайно выбранным эталоном, который указывает, какие гены должны наследоваться от первого родителя (остальные гены берутся от второго родителя).

3. Мутации.

К мутациям относится все то же самое, что и к размножению: есть некоторая доля мутантов m, являющаяся параметром генетического алгоритма, и на шаге мутации нужно выбрать mN особей, а затем изменить их в соответствии с заранее определенными операциями мутации.

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

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

4. Отбор (селекция).

На этапе отбора нужно из всей популяции выбрать определенную её долю, которая останется «в живых» на этом этапе эволюции и пойдет дальше. Вероятность выживания особи должна зависеть от значения функции приспособленности. Сама доля выживших обычно является параметром генетического алгоритма, и ее просто задают заранее. По итогам отбора из N особей популяции X. Остальные, увы, остаются за чертой.

Существуют различные методы селекции:

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

При турнирной селекции все особи популяции разбиваются на подгруппы с последующим выбором в каждой из них особи с наилучшей приспособленностью. Различаются два способа такого выбора: детерминированный выбор и случайный выбор. Детерминированный выбор осуществляется с вероятностью, равной 1, а случайный выбор – с вероятностью, меньшей 1. Подгруппы могут иметь произвольный размер, но чаще всего популяция разделяется на подгруппы по 2-3 особи в каждой.

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

II. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО АЛГРИТМА

2.1 Применение генетических алгоритмов для решения различных задач

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

Генетические алгоритмы применяются для решения разнообразных задач:

Оптимизация функций

Оптимизация запросов в базах данных

Разнообразные задачи на графах (задача коммивояжера, раскраска)

Настройка и обучение искусственной нейронной сети

Задачи компоновки

Игровые стратегии

Теория приближений

Биоинформатика

Задачей оптимизации в математике, информатике и исследовании операций называется задача на хождения экстремума (минимума или максимума) целевой функции в некоторой области, конечно, мерного векторного пространства, ограниченной набором линейных и/или нелинейных равенств и/или неравенств [9].

Рассмотрим решение одной из задач на графах (задачи коммивояжера).

Задача коммивояжёра — одна из самых известных задач комбинаторной оптимизации, заключающаяся в поиске самого выгодного маршрута, проходящего через указанные города хотя бы по одному разу с последующим возвратом в исходный город [8].

Алгоритм решения задачи коммивояжёра с помощью генетического алгоритма:

1. Генерация первого поколения

2. Селекция

3. Скрещивание

4. Мутация

5. Итоговое тело.

Рассмотрим решение данной задачи с помощью генетического алгоритма, предложенное В.А. Моровым [9].

Постановка задачи коммивояжера

Рассмотрим метрическую задачу коммивояжера, когда расстояния между городами можно вычислить (аналог точек на плоскости). При данной постановке задачи имеем: число городов, координаты каждого города на плоскости:

Таким образом, расстояние между городами можно находить как расстояние между двумя точками:

Необходимо найти такой путь через города gi, чтобы суммарное расстояние были минимальным/

Построение генетического алгоритма для задачи коммивояжера

Для применения генетического алгоритма необходимо определить основные структурные элементы: вид элемента популяции, процесс скрещивания, мутации и вид фитнесс-функции.

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

В качестве фитнесс-функции мы принимаем функцию вида:

где Р – множество всех связей в маршруте.

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

Пример. Предположим, что решение до мутации имеет вид, представленный на рис. 2.

Рисунок 2

Решение до мутации

Применяя к нему алгоритм мутации, можем получить решение в виде представленном на рис. 3.

Рисунок 3

Решение, но после мутации

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

Алгоритм метода скрещивания:

выбираем два маршрута из популяции, которые будут выступать в роли родителей;

в образуемые маршруты переносим связи, которые существуют в обоих маршрутах-родителях;

при несовпадающих связях предпочтение отдается связи в первом родителе для городов с четными номерами; если ее применить невозможно, то берем связи из второго родителя, если это также невозможно, то берем из первого маршрута.

При таком задании скрещивания для получения двух решений можно применять данный метод дважды, меняя маршруты-родители местами. Тогда второй потомок будет получен при условии, что при несовпадении связей предпочтение будет отдаваться второму маршруту. Пример. На рис. 4 представлен пример применения данного алгоритма скрещивания к двум решениям:

Рисунок 4

Пример «скрещивания»

2.2 Описание программы решения линейного уравнения с помощью генетического алгоритма.

Опишем полную программу решения уравнения xa+yb+zc+rd=k, где a, b, c, d, k – переменные, x, y, z, r – угловые коэффициенты при них.

Для примера возьмем уравнение 2a+4b+5c+6d=30. Представим собственную программу его решения.

При выполнении работы были изучены генетические алгоритмы для решения различных классов оптимизационных задач и написана программа на языке Паскаль, реализующая алгоритм решения тестовой математической задачи. В качестве такой задачи было выбрано решение в натуральных числах уравнения xa+yb+zc+rd=e с четырьмя неизвестными x, y, z, r. В принципе можно легко заменить тестовое линейное уравнение на гораздо более сложное, при этом в программе придется изменять только алгоритм начального формирования популяции и функцию приспособленности.

Алгоритм существенно зависит от трех параметров: количества особей в поколении n, количества скрещиваний m, необходимых для получения следующего поколения, и вероятности мутаций ver. Так как решения тестового примера можно получить обычным перебором, есть возможность сравнивать получаемые генетическим алгоритмом решения с известным ответом. Автором работы был проделан ряд вычислительных экспериментов с целью подбора параметров алгоритма, обеспечивающих быстрое получение всех натуральных решений тестового уравнения.

Будем назвать особью набор из четырех генов (x, y, z, r). В качестве функции приспособленности особи нами была взята функция 1/ (| xa+yb+zc+rd-e | + 1). Легко видеть, что она является неотрицательной и достигает максимума на решениях нашего уравнения.

На рисунке 5 показан процесс создания начальной популяции. Как уже было замечено выше, можно стартовать с более-менее любой начальной популяции, все равно эволюционный процесс приведет к правильным решениям. Как видно из текста программы, для создания первого поколения мы просто делаем все гены случайными числами, равномерно распределенными на промежутке [1; 20]. Попутно для каждой особи вычисляется ее функция приспособленности.

Рисунок 5

Создание массива первого поколения

Для проведения процесса скрещивания необходимо задавать вероятности каждой особи стать родителем. Логично данные вероятности делать пропорциональными функциям приспособленности, чтобы более приспособленная особь чаще становилась родителем. На рисунке 6 показан процесс вычисления данных вероятностей. Для получения вероятности i-й особи стать родителем ее функция приспособленности делится на сумму функций приспособленности всех особей. Таким образом, сумма всех вероятностей становится равной 1, а сами вероятности остаются пропорциональными функциям приспособленности. В дальнейшем единичный отрезок разбивается на отрезки, длины которых равны нашим вероятностям. Точки разбиения лежат в массиве WW.

Рисунок 6

Вычисление вероятностей скрещивания

Теперь приступаем к процессу скрещивания. Сначала выбираем двух родителей. Для этого генерируем два случайных числа, равномерно распределенных на [0;1]. Как мы помним, программа разбила единичный отрезок на отрезки, длины которых равны вероятностям особей стать родителями. Наше случайное число попадает в один из таких отрезков. Особь, которой он соответствует, делаем родителем.

Далее осуществляем скрещивание. Для этого используем метод одноточечного кроссовера. Он заключается в том, что внутри особи ставится черта. Гены, расположенные левее черты, потомок получает от одного родителя, правее – от другого. В нашем случае черту можно поставить тремя способами (отделив 1,2 или 3 гена). Таким образом, в результате одного скрещивания получаем 6 потомков.

Далее проводим мутации. Для каждого потомка генерируем случайное число, равномерно распределенное на [0;1]. Если число меньше пороговой вероятности ver, то один из генов потомка заменяем на случайное число от 1 до 20.

После этого проводим отбор. Если среди потомков есть решения уравнения, то переписываем их в массив решений и уничтожаем. Остальных потомков сортируем в порядке убывания функции приспособленности. Первые n потомков в этом списке будут образовывать следующее поколение. Соответствующий код изображен на рисунке 7.

Рисунок 7

Создание будущего поколения, определение для будущих особей функции приспособленности

В какой момент прекращать эволюционный процесс? На тестовом примере с известным ответом можно добиться появления всех решений. В реальной задаче необходимо прекращать процесс, если в течение нескольких поколений не появляются новые решения.

Заключение

В ходе исследования были изучены генетические алгоритмы для разных задач оптимизации. В результате решения первой задачи исследования уточнили понятие генетического алгоритма. В своей работе, генетические алгоритмы мы рассматриваем, как поисковые алгоритмы, основанные на механизмах натуральной селекции и генетики, которые реализуют «выживание сильнейших» среди рассмотренных структур, формируя и изменяя поисковый алгоритм на основе моделирования эволюции поиска. Генетический алгоритм — это метод перебора решений для тех задач, в которых невозможно найти решение с помощью математических формул. Однако простой перебор решений в сложной многомерной задаче – это бесконечно долго. Поэтому генетический алгоритм перебирает не все решения, а только лучшие. Алгоритм берёт группу решений и ищет среди них наиболее подходящие. Затем немного изменяет их – получает новые решения, среди которых снова отбирает лучшие, а худшие отбрасывает. Таким образом, на каждом шаге работы алгоритм отбирает наиболее подходящие решения (проводит селекцию), считая, что они на следующем шаге дадут ещё более лучшие решения (эволюционируют).

В при решении второй задачи: «Рассмотреть схему генетического алгоритма» было выявлено, что существует несколько схем Генетического Алгоритма, но в основном он делится на четыре следующих этапа: создание популяции (инициализация); размножение (скрещивание); мутации; отбор (селекция).

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

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

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

Литература

Батищев Д.И. Генетические алгоритмы решения экстремальных задач: Учебное пособие / Под ред. Львовича Я.Е. — Воронеж, 1995.

Васильев В.И., Ильясов Б.Г. Интеллектуальные системы управления с использованием генетических алгоритмов: Учебное пособие. — Уфа: УГАТУ, 1999.

Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы: Учебное пособие. – 2-е изд. – М: Физматлит, 2016.

Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. - М: Физматлит, 2014.

Зенович А. В., Должикова Н. Ю., Черевичная Н. В. Применение генетических алгоритмов для решения математических уравнений // Поиск (Волгоград). 2021. № 1 (11). С. 74-78.

Котлярова В.В., Бабаев А.М. Применение генетических алгоритмов для поиска решений оптимизационных задач // Сборник статей Международной научно-практической конференции : в 6 ч.. 2017. С. 20-25.

Курейчик В.М. Генетические алгоритмы. Обзор и состояние. // Новости искусственного интеллекта. 2008. №3. С. 23-26.

Курейчик, В.М. Поисковая адаптация: теория и практика / В.М. Курейчик, Б.К. Лебедев, О.К. Лебедев. – М.: Физматлит, 2006. – С. 272.

Морозов А.В. Применение генетического алгоритма к задачам оптимизации. Реализация генетического алгоритма для задачи коммивояжера // http://docplayer.ru/395699-Primenenie-geneticheskogo-algoritma-k-zadacham-optimizacii-realizaciya-geneticheskogo-algoritma-dlya-zadachi-kommivoyazhera.html (дата обращения: 12.02.2021).

Муксимова Р.Р., Кострицкая А.В. Применение генетических алгоритмов при моделирование транспортных задач (на примере задачи Коммивояжера) // Proceedings of the 4th International Conference. 2016. С. 79-83.

Мунасыпов Р.А., Ахмеров К.А., Ахмеров К.А. Методика оптимизации нечеткого регулятора с помощью генетических алгоритмов // Фундаментальные исследования. – 2015. – № 2-15. – С. 3275-3280; URL: http://fundamental-research.ru/ru/article/view?id=37767 (дата обращения: 06.04.2021).

Панченко Т.В. Генетические алгоритмы: учебно-методическое пособие / Т.В. Панченко. – Астрахань: Изд. дом "Астраханский университет", 2007.

Полупанов А.А. Адаптивная архитектура генетического поиска. // Перспективные информационные технологии и интеллектуальные системы, 2003.

Федоров Е.А. Исследование скорости работы генетического алгоритма и алгоритма полного перебора // Сборник избранных статей научной сессии ТУСУР. 2019. № 1-2. С. 107-109.

Просмотров работы: 790