Современные возможности и перспективы применения генетических и эволюционных алгоритмов оптимизации
Бесплатный доступ
В статье рассматривается применение генетических алгоритмов. Рассмотрены примеры применения генетических алгоритмов. Описаны перспективы применения генетических алгоритмов.
Генетические алгоритмы, эволюционные алгоритмы, применение генетических алгоритмов
Короткий адрес: https://sciup.org/140278214
IDR: 140278214
Modern opportunities and prospects of application genetic and evolutional optimization algorithms
The article discusses the application of genetic algorithms. Examples of application genetic algorithms are considered. The prospects of using genetic algorithms are described.
Текст научной статьи Современные возможности и перспективы применения генетических и эволюционных алгоритмов оптимизации
Sokolov N.
graduate student
2 course of study of the Department "Power and electrical engineering"
Cherepovets State University
Russia, Cherepovets
MODERN OPPORTUNITIES AND PROSPECTS OF APPLICATION GENETIC AND EVOLUTIONAL OPTIMIZATION ALGORITHMS
Генетический алгоритм(ГА) — это алгоритм поиска, который используется при решении задач оптимизации, путём случайного подбора, вариаций и комбинирований искомых параметров с применением механизма, аналогичному естественному отбору в природе.
ГА оптимизации применяются если: невозможно или сложно сформулировать задачу в виде, подходящем для аналогичных алгоритмов оптимизации; стоит задача оптимизации недифференцируемой функции; стоит задача глобальной оптимизации (процесс нахождения экстремума) при наличии нескольких экстремумов.
Нахождение глобального минимума функции Розенброка является довольно сложной задачей, и многие алгоритмы оптимизации не справляются с ней (например, метод Хука-Дживса находит локальный минимум и останавливается на этом). Но если условие задачи не требует точного нахождения глобального минимума, если достаточно найти удовлетворяющее заданной погрешности решение – ГА будет являться эффективным механизмом поиска, конкурируя с остальными методами, которые не применяют знания о пространстве поиска[1].
Эволюционные и ГА оптимизации – это алгоритмы случайнонаправленного поиска, они используются обычно там, где невозможно или сложно сформулировать задачу в виде, который пригоден для более быстрых алгоритмов локальной оптимизации (к примеру, для градиентных алгоритмов, где возможно "мгновенное" вычисление градиента сложной функции, которая представлена в виде искусственной нейронной сети, с помощью алгоритма обратного распространения ошибки), либо если стоит задача оптимизации недифференцируемой функции или задача многоэкстремальной глобальной оптимизации. Далее, описываются задачи, для решения которых были применены ГА, чтобы показать, что в настоящее время, на мощной персональной вычислительной технике, можно с помощью эволюционных и генетических алгоритмов находить околооптимальные решения для широкого набора задач искусственного интеллекта.
Пример первый - создание команды роботов для разминирования территории[2]. ГА оптимизировал многослойную нейронную сеть, управляющую движениями робота и выдающую так же сигнал и другим роботам команды. Таким образом, помимо параметрической оптимизации нейромодели выполнялось еще и неявное "создание" некоего языка для коммуникации в команде роботов. Результаты показали превосходство команды однотипных ведущих коммуникации между собой роботов перед командой роботов, которые не обмениваются сигналами, а так же, перед командой случайно двигающихся роботов.
Пример второй - обучение нейронной сети игре в шашки. Внутри поколений ГА нейросетевые особи играли друг другом, и по итогам этих игр отбирались лучшие особи для следующего поколения. По итогам этих игр, был достигнут самый высокий уровень (квалификация финального нейроигрока определялась исходя из игр с человеком)[3-5].
Пример третий - применение ГА для решения задач оптимизации системы организации и управления пассажирскими перевозками. Другими словами, с помощью ГА можно рассчитать оптимальный график для движения автобусов по городу, с учетом многих факторов: количество подвижного состава на линии не должно превышать общего количества автобусов в парке; количество мест в автобусах на линии не должно превышать номинального их количества для автобусов, имеющихся в парке; время пребывания автобуса в наряде не должно быть меньше 8 часов и больше 12 часов; обязательное прохождение автобусом, начиная с начальной остановки через все последующие остановки маршрута. [6]
Все примеры требовали долгого вычисления значений фитнес-функций для особей. Роботам-сапёрам необходимо оценить качество разминирования, достигаемое после моделирования некоторого времени работы и передвижений команды однотипных роботов (а не одного робота -целью было повышение качества разминирования из-за возникновения коммуникаций в команде), для нейроигрока в шашки необходимо было сыграть партию, причем каждый ход выбирался после перебора всех возможных для данной позиции двух полных ходов (два своих хода и два хода противника), и качество этих возможных ходов как раз и прогнозировалось нейронной сетью. Т.е. время, затрачиваемое на вычисление значения фитнес-функции, было сравнимо с длительностью эпохи обычного обучения нейросети для довольно объемной задачи. Для третьего примера необходимо учесть много факторов, в том числе и случайные факторы.
В наше время производительность современных процессоров компьютеров увеличилась примерно в 15-25 раз по сравнению с концом 1990-х годов, а многоядерные процессоры позволяют более эффективно распределять вычисления внутри поколений ГА. Более того, в 1999 году, появилась статья с решением аппроксимации вычисления функции exp( ), необходимой для вычисления значения гиперболического тангенса (наиболее используемой сигмоидной нелинейной функции нейронов для многослойных нейронных сетей) - аппроксимация значительно увеличивает скорость вычисления гиперболического тангенса (примерно в 4,4 раза), а так же время срабатывания (ГА нужно именно время срабатывания, а не результат работы алгоритма обратного распространения) нейронной сети - в 1,5-2 и более раза в зависимости от размеров нейросети). Таким образом, стали работать быстрее не только компьютеры, но и большинство используемых нейросетевых моделей (например, различные варианты многослойных персептронов) можно заметно ускорить.
Из сказанного выше, можно сделать вывод, что ГА в наше время можно применять практически везде, препятствий в виде огромных вычислительных затрат уже не существует. Главное - правильно или нетривиально ставить задачу и запараметрировать быструю реализацию оптимизируемой модели.
Список литературы Современные возможности и перспективы применения генетических и эволюционных алгоритмов оптимизации
- Исаев С. А. Популярно о генетических алгоритмах. - Апрель, 2013 [Электронный ресурс]. URL: http://algolist.manual.ru/ai/ga/ga1.php
- Божич В.И., Кононенко Р.Н., Абияка А.А. Нейросетевое управление в мультиагентной системе с самоорганизующейся коммуникацией // Материалы Всеросс. конф. "Нейроинформатика-99", М.: МИФИ, 1999. Часть 3. - С.239-246.
- Chellapilla K., Fogel D.B. Evolution, neural networks, games and intelligence / Proc. IEEE, 1999. Vol.87, No.9. - pp.1471-1496.
- Chellapilla K., Fogel D.B. Evolving neural networks to play checkers without expert knowledge / IEEE Trans. Neural Networks, 1999. Vol.10, No.6. - pp.1382-1391.
- Chellapilla K., Fogel D.B. Evolving an expert checkers playing program without using human expertise / IEEE Trans. Evolutionary Computation, 2001. Vol.5, No.4. - pp.422-428.