Инициализация
популяции — отдельный этап, достаточно независимый от используемого
эволюционного алгоритма. Инициализация определяется скорее особенностями
рассматриваемой задачи — присутствием в ней ограничений, которые
следует учитывать, или, напротив, полным отсутствием представления о
том, как должно выглядеть «хорошее» решение, в результате чего
инициализация выполняется абсолютно случайным образом. Существуют
задачи, в которых случайная инициализация предпочтительнее, однако особи
первого поколения должны обладать определенными различиями, чтобы
охватить все возможные решения. На
этом этапе особенно важно представление знаний об особи, так как оно в
значительной степени определит оставшуюся часть эволюционного алгоритма. Чаще
всего особи представляются в виде хромосом. Это новое понятие
заимствовано у природы: хромосома представляет собой последовательность
генов, а каждый ген — число, обозначающее часть решения. Рассмотрим
в качестве примера алгоритм, цель которого — увеличение емкости
картонной коробки при наименьшем расходе картона на ее изготовление.
Если мы используем эволюционный алгоритм, то хромосомы, посредством
которых мы представим решение, будут иметь три гена: длину, ширину и
высоту. При инициализации будет создана популяция коробок произвольных
размеров, представленных в виде троек чисел, заключенных в допустимых
интервалах. В ходе работы алгоритма популяции коробок будут
эволюционировать до тех пор, пока не будет найдена оптимальная коробка в
соответствии с установленными критериями.
|