Кіріспе

Генетикалық оператор – генетикалық алгоритмдерде алгоритмді белгілі бір мәселенің шешіміне бағыттау үшін қолданылатын оператор. Алгоритмнің табысқа жетуі үшін бір-бірімен үйлесімде жұмыс істеуі тиіс үш негізгі оператор бар: мутация, кроссовер және таңдау. Генетикалық операторлар генетикалық түрлілікті құру және сақтау (мутация операторы арқылы), қолданыстағы шешімдерді (хромосомалар деп те аталады) жаңа шешімдерге біріктіру (кроссовер) және шешімдер арасынан таңдау жасау (таңдау) үшін пайдаланылады. Компьютер ғалымы Джон Коза күрделі мәселелерді оңтайландыру үшін генетикалық бағдарламалауды қолдану туралы кітабында «инверсия» немесе «пермутация» операторын да атады; алайда, бұл оператордың тиімділігі толыққанды дәлелденбеген және осы оператор туралы сирек айтылады. Мутация (немесе мутацияға ұқсас) операторлары унитарлық операторлар деп есептеледі, себебі олар бір уақытта тек бір хромосомамен ғана жұмыс істейді. Керісінше, кроссовер операторлары бинарлық операторлар деп аталады, өйткені олар екі хромосомамен бір уақытта жұмыс істейді, екі қолданыстағы хромосоманы біріктіріп, бір жаңа хромосома құрайды.

Операторлар

Генетикалық айырмашылық эволюция процесі үшін қажетті жағдай. Генетикалық алгоритмдерде қолданылатын генетикалық операторлар табиғаттағыдай: ең жақсылардың тірі қалуы, яки таңдау; көбею (кроссовер, рекомбинация деп те аталады); және мутация.

Таңдау

Селекция операторлары жақсырақ шешімдерге (хромосомаларға) басымдық береді, олардың "гендерін" алгоритмнің келесі буынына жеткізуге мүмкіндік береді. Кроссовер операторына жіберілмес бұрын, ең жақсы шешімдер объективті функцияның (генетикалық алгоритмдерде "сайыс функциясы" деп те аталады) қандай да бір түрін қолдану арқылы анықталады. Ең жақсы шешімдерді таңдаудың әртүрлі әдістері бар, мысалы, сайыс деңгейіне пропорционалды таңдау және турнирлік таңдау; әртүрлі әдістер әртүрлі шешімдерді "ең жақсы" деп таңдауы мүмкін. Селекция операторы ең жақсы шешімдерді қазіргі буыннан келесі буынға өзгеріссіз тікелей жеткізе алады; бұл элитаризм немесе элитарлық селекция деп аталады.

Кроссовер

Кроссовер – бірнеше аталық шешімдерді (хромосомаларды) алып, олардан жаңа шешім жасау процесі. Жақсы шешімдердің бөліктерін біріктіру арқылы генетикалық алгоритм жақсырақ шешім табу мүмкіндігі артады.

Мутация

Мутация операторы шешімдер арасындағы генетикалық әртүрлілікті күшейтеді және шешімдердің бір-біріне тым жақын келуін болдырмау арқылы генетикалық алгоритмнің жергілікті минимумға тоқталуына қарсы тұруға тырысады. Шешімдердің ағымдағы жиынтығын мутациялау кезінде, нақты бір шешім бұрынғы шешімнен толығымен өзгеруі мүмкін. Шешімдерді мутациялау арқылы генетикалық алгоритм тек мутация операторының көмегімен жақсартылған шешімге қол жеткізе алады. Сонымен қатар, мутацияның әртүрлі әдістері қолданылуы мүмкін; олар қарапайым бит-мутациядан (бинарлық тізбекті хромосомадағы кездейсоқ биттерді белгілі бір төмен ықтималдықпен ауыстыру) бастап, ерітіндідегі гендерді біртекті таралымнан немесе Гаусс таралымынан таңдалған кездейсоқ мәндермен алмастыруға мүмкіндік беретін күрделірек мутациялық әдістерге дейін жетеді. Кроссовер операторы сияқты, мутация әдісі әдетте хромосомадағы шешімнің бейнесіне сәйкес таңдалады.

Операторларды біріктіру

Әр оператор генетикалық алгоритм жеке жұмыс істегенде шығаратын шешімдерді жақсартуға бағытталғанмен, алгоритм жақсы шешім табуы үшін операторлардың бірігіп жұмыс істеуі қажет. Таңдау операторын ғана пайдалану шешім популяциясын популяциядағы ең жақсы шешімнің көшірмелерімен толтыруға ұрындырады. Егер таңдау және кроссовер операторлары мутация операторысыз қолданылса, алгоритм жергілікті минимумға, яғни мәселенің жақсы, бірақ толық оңтайлы емес шешіміне қарай жинақталуға ұрындырады. Мутация операторын ғана пайдалану іздеу кеңістігінде кездейсоқ серуендеуге алып келеді. Тек үш операторды бірге қолдану арқылы ғана генетикалық алгоритм шуға төзімді дөңгелекке көтерілу алгоритміне айналып, мәселенің жақсы шешімдерін бере алады.