Мутация (генетичен оператор): Разлика между версии

Изтрито е съдържание Добавено е съдържание
м →‎top: Грешки в статичния код: Остарели HTML-тагове редактирано с AWB
м формат дати; козметични промени
Ред 1:
{{друго значение|термина от биоинформатиката|други значения|Мутация (пояснение)}}
 
'''Мутация''' ({{lang-en|mutation}}) в областта на [[генетичен алгоритъм|генетичните алгоритми]] е термин, с който се означава [[генетичен оператор]], използван за поддържане на генетичното разнообразие от едно поколение на популацията на генетичен алгоритъм до следващото. Представлява метафора на биологичната [[мутация]] в областта на [[биоинформатика]]та. Под действието на мутацията една или повече стойности на ген в хромозомата се изменят в сравнение с началното състояние. Така едно решение на генетичния алгоритъм може напълно да се различава от предишното решение. Следователно, използвайки мутация, генетичният алгоритъм може да достигне до по-добро от текущото си решение. Мутацията се проявява, съгласно [[вероятност]] за мутация, определена от потребителя, която в общия случай би трябвало да бъде зададена ниска. При твърде висока вероятност за мутация, процедурата по търсене на решение ще се изроди до обикновено [[случайно търсене]] (''random search'').
 
Класическият пример за генетичния оператор мутация изисква вероятност от промяна на един [[бит]] в представяната като [[двоичен низ]] хромозома. Например, ако хромозомата представлява двоичен низ от вида <samp> 1 0 1 1 0 0 0 0 1 1</samp>
в най-простия си вид мутацията се състои само в промяната на стойността (''toggle'') на един от битовете (гените):
 
Ред 11:
Всеки от битовете е с една и съща вероятност да бъде обект на мутация.
 
Типичен метод за имплементиране на мутацията, наречен с термина „точкова мутация“ (''single point mutation''), е генерирането на случайна променлива за всеки бит в [[хромозома]]та; тази случайна променлива носи информация дали даден конкретен бит да бъде обект на замяна или не. Други методи са суапа („размяна“, ''swap''), вмъкването (''insert''), инверсията (''inversion'') и плаващата точкова мутация (''floating point mutation''). Когато генетичният код е с рестрикции, както е при задачите с [[пермутация|пермутации]], операторът мутация се свежда до инверсии, [[суап]]ове (''swaps'') и разбърквания (''scrambles'').
 
Операторът мутация действа върху една родителска хромозома.
 
Целта на мутацията в генетичните алгоритми е запазването и вкарването на генетично разнообразие. Мутацията позволява на алгоритъма да избегне попадането в [[локален минимум]], като не позволява популацията от хромозоми да започват твърде много да приличат помежду си, което причинява забавяне или дори прекъсване на еволюционния процес. С това се обяснява и факта, че повечето системи с генетични алгоритми избягват да вземат само най-приспособените индивидите (т.е. тези с най-добра [[фитнес функция]]) от една популация при генерирането на следващата популация, а вместо това правят случайна (или полуслучайна) извадка с по-висок [[тегловен коефициент]] за по-приспособените индивиди.<ref>{{cite web| accessdate = 7 април 2011-04-07| location = http://www.obitko.com/| publisher = Marek Obitko | title = XI. Crossover and Mutation| url = http://www.obitko.com/tutorials/genetic-algorithms/crossover-mutation.php}}</ref>
 
== Видове мутации ==