Генетичен оператор

оператор в генетичните алгоритми за поддържане на генетичното разнообразие

Генетичен оператор е оператор, използван в генетичните алгоритми да насочи алгоритъма към определено решение на дадена задача за математическа оптимизация. Има три основни вида генетични оператори:

съвместното използване на които е нужно за резултатната работа на алгоритъма. Генетичните оператори се използват за генериране и поддържане на генетичното разнообразие (оператор „мутация“), за комбиниране на съществуващи решения в нови (оператор „кръстосване“) и за избор измежду решенията (оператор „селекция“).[1]

Видове в зависимост от броя операнди редактиране

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

Комбиниране на операторите редактиране

Докато всеки от трите оператора сам по себе си работи за подобряване на решенията, получени от генетичния алгоритъм, за откриване на добро решение на цялостната задача е необходимо операторите да работят конюнктивно, т.е. в комбинация.

  • Използването само на оператор „селекция“ води до тенденцията популацията от решения да се запълва с копия на най-доброто текущо решение от популацията.
  • Използването само на оператор мутация води до напълно случайно обхождане на пространството на търсене (без приемственост между поколенията от решения, а оттам и загуба на потенциално близки до оптималното решения).
  • Ако се използват само операторите „кръстосване“ и „селекция“, без оператора „мутация“, резултатът от алгоритъма ще схожда към локален минимум в някакъв отрязък от пространството на търсене, т.е. добро в определени граници, но субоптимално решение на задачата.

Само комбинираното действие и на трите оператора генетичният алгоритъм може да развие устойчиви на „шум“ добри решения, схождащи към оптималното решение на задачата.[1]

Източници редактиране

  1. а б Introduction to Genetic Algorithms // Архивиран от оригинала на 2018-07-02. Посетен на 20 август 2015.
  2. Genetic operators // Архивиран от оригинала на 2017-12-30. Посетен на 20 август 2015.
    Тази страница частично или изцяло представлява превод на страницата Genetic algorithm в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​