|
ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ |
|
Генетические алгоритмы - это способ оптимизации, применимый, когда отказывают классические способы, например метод Ньютона. Отказ может быть связан с одной из следующих причин:
- негладкая зависимость оптимизируемого критерия от подбираемых параметров;
- слишком большое число параметров;
- невозможность вычислить производные по параметрам.
Эти ситуации возникают, например, при
Генетические алгоритмы осуществляют стохастический поиск оптимума сразу несколькими вариантами комбинаций параметров. Процесс поиска включает три основных этапа, повторяемых в цикле:
- эволюция - сдвиг варианта в направлении ожидаемого оптимума с использованием, вообще говоря, как производных критерия по пааметрам, так и стохастических "скачков";
- отсеивание "неудачливых" вариантов;
- скрещивание "удачливых" вариантов: порождение вариантов - "потомков", сочетающих удачные значения параметров "родителей".
Название "генетические алгоритмы" связано с тем, что они воспроизводят современные представления об естественном отборе: скрещивание генотипов - определение удачности порожденных фенотипов - отсев неудачников из набора партнеров для следующего скрещивания.
Скрещивание является наиболее критичным этапом генетического алгоритма. Оно существенно зависит от того, можно ли установить степень удачности не только варианта в целом, но и его отдельных частей - "генов" (в нашем случае - отдельных координатных интервалов или параметров модели). В рассматриваемой системе это возможно, когда вариант имеет иерархическую структуру и для нее можно построить дерево вкладов (имеются в виду вклады в значение критерия оптимальности). Также и для нейросетевых структур возможно распределение ошибки целого между частями. В прочих же случаях части, которыми обмениваются скрещиваемые варианты, выбираются стохастически.