Кръстосване (генетичен оператор)

вид генетичен алгоритъм

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

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

Видове кръстосване редактиране

Съществуват много техники на кръстосване, вдъхновени от различни биологични видове.

Кръстосване в единична точка редактиране

„Хромозомите“ на двете родителски решения се представят във вид на низове (числови, символни и др.) Избира се само една точка на кръстосване по схемата по-долу:

 

Кръстосване в две точки редактиране

При този вариант трябва да се изберат две точки на кръстосване. Отново се получават две решения-деца, като, редувайки се, се взимат сегменти ту от единия, ту от втория родител.

 

Вижте също редактиране

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

  1. Hartmut Pohlheim, "Evolutionary Algorithms: Overview, Methods and Operators. Documentation for GEATbx v. 3.7, Genetic and Evolutionary Algorithm Toolbox for Matlab, 2005
    Тази страница частично или изцяло представлява превод на страницата Crossover (genetic algorithm) в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

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