Кіріспе
Мутация – генетикалық немесе, жалпы алғанда, эволюциялық алгоритм (ЭА) популяциясының хромосомаларының генетикалық әртүрлілігін қамтамасыз етуге қолданылатын генетикалық оператор. Ол биологиялық мутацияға ұқсас. Бинарлық кодталған генетикалық алгоритмнің (GA) мутация операторының классикалық мысалы – генетикалық тізбектегі кез келген биттің бастапқы күйінен өзгеруінің ықтималдығын қамтиды. Мутация операторын іске асырудың әдеттегі әдісі – тізбектегі әр бит үшін кездейсоқ айнымалы құру. Бұл кездейсоқ айнымалы белгілі бір биттің ауыстырылатынын немесе ауыстырылмайтынын көрсетеді. Бұл биологиялық нүктелік мутацияға негізделген мутация процедурасы бір нүктелік мутация деп аталады. Екілік емес бейнелеулер үшін, мысалы, үзіліс нүктелі кодтау немесе комбинаторлық есептерге арналған бейнелеулер үшін басқа да мутация операторлары жиі қолданылады. ЭА-да мутацияның мақсаты – іріктелген популяцияға әртүрлілік енгізу. Мутация операторлары хромосомалар популяциясының өте ұқсас болуын болдырмау арқылы жергілікті минимумдардан қашуға бағытталған, осылайша жаһандық оптимумға жақындауды баяулатуға немесе тоқтатуға мүмкіндік береді. Осы ой-пікір көптеген ЭА-ны келесі буынды құру кезінде популяцияның ең жарамдыларын ғана таңдаудан аулақ тұруға, керісінше, сәйкес келетін элементтерге басымдық беріліп, кездейсоқ (немесе жартылай кездейсоқ) жиынтықты таңдауға итермелейді. ЭА-да қолданылатын барлық мутация операторларына келесі талаптар қойылады: іздеу кеңістігіндегі кез келген нүктеге бір немесе бірнеше мутациялар арқылы жетуге болады; іздеу кеңістігінде бөліктерге немесе бағыттарға ешқандай артықшылық болмауы тиіс (қоздырылмайды); кішігірім мутациялар үлкендерге қарағанда ықтимал болуы керек. Әртүрлі геномдық типтер үшін әртүрлі мутация түрлері қолайлы. Кейбір мутациялар Гаусс, Біртекті, Зигзаг, Шатастыру, Қосымша, Инверсия, Ауыстыру және т.б. болып табылады. Төменде ұсынылғандардан гөрі көбірек операторлар мен шолуды Эйбен мен Смиттің кіріспе кітабында немесе басқа да әдебиеттерде табуға болады.
Mutation is a genetic operator used to maintain genetic diversity of the chromosomes of a population of a genetic or, more generally, an evolutionary algorithm (EA). It is analogous to biological mutation. The classic example of a mutation operator of a binary coded genetic algorithm (GA) involves a probability that an arbitrary bit in a genetic sequence will be flipped from its original state. A common method of implementing the mutation operator involves generating a random variable for each bit in a sequence. This random variable tells whether or not a particular bit will be flipped. This mutation procedure, based on the biological point mutation, is called single point mutation. Other types of mutation operators are commonly used for representations other than binary, such as floating point encodings or representations for combinatorial problems. The purpose of mutation in EAs is to introduce diversity into the sampled population. Mutation operators are used in an attempt to avoid local minima by preventing the population of chromosomes from becoming too similar to each other, thus slowing or even stopping convergence to the global optimum. This reasoning also leads most EAs to avoid only taking the fittest of the population in generating the next generation, but rather selecting a random (or semi random) set with a weighting toward those that are fitter. The following requirements apply to all mutation operators used in an EA:
every point in the search space must be reachable by one or more mutations. there must be no preference for parts or directions in the search space (no drift). small mutations should be more probable than large ones. For different genome types, different mutation types are suitable. Some mutations are Gaussian, Uniform, Zigzag, Scramble, Insertion, Inversion, Swap, and so on. An overview and more operators than those presented below can be found in the introductory book by Eiben and Smith or in.
Шектеулерді ескерместен мутация
Нақты сан қалыпты үлестіруді қолдану арқылы, геннің бұрынғы мәніне туындаған кездейсоқ мәнді қосып мутацияға ұшыратылуы мүмкін, нәтижесінде мутацияланған мән пайда болады: Мәндері шектеулі гендер үшін, мутацияның қадамдық өлшемін өзгеруге тиіс геннің диапазонына сәйкес таңдау жақсырақ, мысалы: Қадамдық өлшемді ағымдағы мәнге байланысты рұқсат етілген кіші өзгерістер диапазонына да бейімдеуге болады. Дегенмен, кез келген жағдайда геннің жаңа мәні рұқсат етілген мәндер диапазонынан шығуы мүмкін. Мұндай жағдайды өлімге әкелетін мутация деп санау керек, себебі тиісті шектеуді бұзу арқасында геннің жаңа мәні ретінде түзету жасау дрейфке алып келеді. Бұл шекті мән диапазондағы шектен тыс мәндердің барлық ықтималдығымен таңдалатындықтан. Эволюциялық стратегия нақты сандармен және қалыпты үлестіруге негізделген мутациямен жұмыс істейді. Қадамдық өлшемдер хромосоманың бөлігі болып табылады және нақты шешімдерге қатысты айнымалылармен бірге эволюцияға түседі.
Пермутациялардың мутациясы
Пермутациялардың мутациялары, өзі жиынның пермутациясы болатын геномдар үшін арнайы жасалған. Олар көбінесе комбинаторлық есептерді шешу үшін қолданылады. Екі ұсынылған мутацияда геномның бөліктері бұрылады немесе кері бұрылады.
Кішігірім өзгерістерге артықшылық беретін нұсқалар
Бастапқыда қойылған, кіші өзгерістер үлкендерге қарағанда жиі болуы керек деген талап, ұсынылған екі пермутациялық мутация арқылы толыққанды орындалмайды, себебі ішінара тізімдердің ұзындығы және ығысу позицияларының саны бірдей үлестірілім бойынша анықталады. Дегенмен, ішінара тізім және ығысу неғұрлым ұзын болса, гендер тізбегінің өзгеруі де соғұрлым үлкен болады. Бұл келесі түзетулермен шешілуі мүмкін. Ішінара тізімдердің соңғы индексі бастапқы индекске дейінгі қашықтық ретінде анықталады: мұндағы нақты сандарды [0, 1] аралығынан кездейсоқ алудың екі әдісінің бірі бойынша анықталып, дөңгелектенеді. Айналу үшін , қашықтыққа ұқсас анықталады, бірақ мәніне рұқсат етілмейді. Инверсия үшін, шарты орындалуы керек, сондықтан мәні алынып тасталады.
where is determined randomly according to one of the two procedures for the mutation of real numbers from the interval and rounded. For the rotation, is determined similarly to the distance , but the value is forbidden. For the inversion, note that must hold, so for the value must be excluded.