Кръстосване (генетичен оператор)
Кръстосване (на английски: crossover) е термин в областта на генетичните алгоритми, с който се означава един от трите вида генетични оператори, използвани в процеса на търсене на решение на дадена оптимизационна задача. Операторът отговаря за модифицирането по определени правила на едно или повече кандидат-решения („хромозоми“) от едно поколение на популацията в следващото поколение. Други названия, под които операторът може да се срещне в литературата, са кросоувър или рекомбинация. Операторът следва метафората (аналогията) на биологичното кръстосване.
Операторът е в общия случай бинарен, тъй като на входа му се подават две „родителски“ решения („хромозоми“) от предното поколение еи от тях се генерира ново кандидат-решение в текущото. В процедурата на генетичния алгоритъм, операторът кръстостване следва оператора селекция, който решава по зададени правила кои от решенията от текущото поколение на популацията да бъдат избрани за кръстосване.[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 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |