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

Операторът е в общия случай бинарен, тъй като на входа му се подават две „родителски“ решения („хромозоми“) от предното поколение еи от тях се генерира ново кандидат-решение в текущото. В процедурата на генетичния алгоритъм, операторът кръстостване следва оператора селекция, който решава по зададени правила кои от решенията от текущото поколение на популацията да бъдат избрани за кръстосване.Hartmut Pohlheim, "Evolutionary Algorithms: Overview, Methods and Operators. Documentation for GEATbx v. 3.7, Genetic and Evolutionary Algorithm Toolbox for Matlab, 2005

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

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

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

Вижте също Генетичен алгоритъм Генетичен оператор Мутация (генетичен оператор) Селекция (генетичен оператор) Генетично представяне

Източници

Категория:Генетични алгоритми