Появившись на свет в качестве упрощенного описания эволюционных перестроек в природных популяциях организмов, генетические алгоритмы (ГА) стараниями многочисленных исследователей на сегодняшний день превратились в мощную поисковую процедуру, ориентированной на решение задач глобальной оптимизации в самом широком диапазоне возможных применений – от создания алгоритмов поиска в распределенных базах данных в условиях высокой степени неопределенности исходных критериев (Data Mining) до решения прикладных задач при проектировании современных технических устройств (в том числе и средств измерений).
ГА базируются на теоретических достижениях теории эволюции, учитывающей микробиологические механизмы наследования признаков в природных и искусственных популяциях организмов, а также на накопленном человечеством опыте в селекции животных и растений.
В основе ГА основана на гипотезе селекции, которая в самом общем виде может быть сформулирована так: чем выше приспособленность особи, тем выше вероятность того, что в потомстве, полученном с ее участием, признаки, определяющие приспособленность, будут выражены еще сильнее.
Применительно к техническим системам под особью будет подразумеваться тот или иной вариант ее реализации (или вариант принимаемого решения), а под приспособленностью – способность наиболее полно удовлетворять набору исходных требований- критериев (другими словами - оптимальность). Таким образом, ГА представляют собой семейство методов оптимизации.
Представим себе, что нам необходимо спроектировать самолет, который должен с максимальной скоростью (критерий 1) перевозить максимальное количество груза (критерий 2) на максимальное расстояние (критерий 3). После формирования набора критериев и допустимых диапазонов их изменения мы формируем набор параметров, наиболее полным образом характеризующих наш технический объект (размер и форма фюзеляжа и крыльев, количество и тип двигателей, материал обшивки, объем топливных баков и т. д.). Затем мы строим математическую модель и начинаем эксперименты с ней.
В классических эмпирических методах оптимизации мы, основываясь на предыдущем опыте, генерируем первоначальный вариант конструкции, вычисляем величину ее выходных величин (скорость, грузоподъемность, дальность) для данного варианта. Затем, в соответствии с выбранным алгоритмом изменяем параметры объекта, вычисляем выходные величины и т. д. Процедура повторяется пока не будет достигнут максимум поверхности функции цели.
Проблема состоит в том, что в общем случае приходится иметь дело с существенно нелинейной функцией многих переменных, нахождение глобального экстремума которой традиционными методами вовсе не гарантируется и может занять неопределенно долгое время. С описанием подобной задачи мы уже сталкивались, знакомясь с алгоритмами обучения искусственных нейронных сетей.
Традиционно практикуемый способ описания технических объектов при помощи векторов переменных проектирования подразумевает символьное кодирование информации об объекте. Вектор переменных— даже не чертеж, то есть глядя на него и не зная правил кодирования, невозможно составить представление об объекте. В определенном смысле можно утверждать, что категория вектор переменных проектирования играет в технике ту же роль, что и категория генотип в биологии. Группируя ключевые параметры объекта в вектор переменных, мы, но существу, придаем им статус генетической информации. Именно генетической, потому что, с одной стороны, ее достаточно, для того, чтобы построить сам объект, а во-вторых, она служит исходным материалом при генерации генотипов объектов следующего поколения.
Таким образом, в рассматриваемом примере используемый набор параметров по существу представляет собой геном самолета, а качество удовлетворения критериев тем или иным вариантом конструкции (особью) характеризует степень приспособленности этой особи к внешним условиям, заданным разработчиком.
Как и в биологическом прототипе, здесь присутствует гипотеза селекции — в качестве родительских всегда выступают лучшие, а не произвольные комбинации параметров объекта (особи) из популяции потенциальных решений, неудачные же решения отбрасывают на текущем шаге (можно считать, что они вымирают).
Здесь мы подходим к тому, что именно отличает ГА на фоне других численных методов оптимизации.
ГА заимствуют из биологии:
• понятийный аппарат;
• идею коллективного поиска экстремума при помощи популяции особей;
• способы представления генетической информации;
• способы передачи генетической информации в череде поколений (генетические операторы);
• идею о преимущественном размножении наиболее приспособленных особей (речь идет не о том, даст ли данная особь потомков, а о том, сколько будет у нее потомков).