Генетичен оператор е оператор, използван в генетичните алгоритми да насочи алгоритъма към определено решение на дадена задача за математическа оптимизация. Има три основни вида генетични оператори:
съвместното използване на които е нужно за резултатната работа на алгоритъма. Генетичните оператори се използват за генериране и поддържане на генетичното разнообразие (оператор „мутация“), за комбиниране на съществуващи решения в нови (оператор „кръстосване“) и за избор измежду решенията (оператор „селекция“).[1]
Видове в зависимост от броя операнди
Както и други видове оператори в програмирането, и тук операторите са различни видове в зависимост от броя на операндите. Мутацията е унарен оператор, тъй като в един момент от време оперира само над една „хромозома“ (решение на задачата). Операторът „кръстосване“ е бинарен оператор, тъй като получава за вход две съществуващи „хромозоми“ (две решения), от които чрез определени комбинации произвежда на изхода една нова „хромозома“ (едно ново кандидат-решение).[2] Селекцията е оператор с произволен брой операнди, т.е. приема за вход произволен брой решения, измежду които се избира едно.
Комбиниране на операторите
Докато всеки от трите оператора сам по себе си работи за подобряване на решенията, получени от генетичния алгоритъм, за откриване на добро решение на цялостната задача е необходимо операторите да работят конюнктивно, т.е. в комбинация.
- Използването само на оператор „селекция“ води до тенденцията популацията от решения да се запълва с копия на най-доброто текущо решение от популацията.
- Използването само на оператор мутация води до напълно случайно обхождане на пространството на търсене (без приемственост между поколенията от решения, а оттам и загуба на потенциално близки до оптималното решения).
- Ако се използват само операторите „кръстосване“ и „селекция“, без оператора „мутация“, резултатът от алгоритъма ще схожда към локален минимум в някакъв отрязък от пространството на търсене, т.е. добро в определени граници, но субоптимално решение на задачата.
Само комбинираното действие и на трите оператора генетичният алгоритъм може да развие устойчиви на „шум“ добри решения, схождащи към оптималното решение на задачата.[1]
Източници