Кіріспе

Селекция – генетикалық алгоритмнің немесе жалпы эволюциялық алгоритмнің кезеңі, онда жеке геномдар кейінгі көбейту үшін популяциядан таңдалады (мысалы, кроссовер операторын қолдану арқылы). Таңдау механизмдері келесі ұрпаққа үміткер шешімдерді (жеке тұлғаларды) таңдау үшін де пайдаланылады. Бір ұрпақтың ең жақсы тұлғаларын келесі ұрпаққа өзгеріссіз көшіру элитаризм немесе элитаристік таңдау деп аталады. Бұл жаңа популяция құрудың жалпы процесінің табысты (сәл) нұсқасы. Алдымен қолданылатын селекциялық процедураны былай іске асыруға болады: Есептелген жарамдылық мәндері (жарамдылық функциясы) нормаланады, яғни нәтижедегі барлық жарамдылық мәндерінің қосындысы 1-ге тең болады. Жинақталған нормаланған жарамдылық мәндері есептеледі: жеке тұлғаның жинақталған жарамдылық мәні – өзінің жарамдылық мәнінің және барлық алдыңғы тұлғалардың жарамдылық мәндерінің қосындысы; соңғы тұлғаның жинақталған жарамдылық мәні 1-ге тең болуы керек, әйтпесе нормалау кезеңінде қателік болған. 0 мен 1 арасындағы кездейсоқ сан R таңдалады. Таңдалған тұлға – жинақталған нормаланған мәні R-ден үлкен немесе оған тең алғашқы тұлға. Көптеген мәселелер үшін жоғарыдағы алгоритм есептеулерді көп талап етуі мүмкін. Жаңа және жылдам балама – стохастикалық қабылдау. Егер бұл процедура жеткілікті тұлғалар таңдалғанша қайталанса, бұл таңдау әдісі жарамдылыққа пропорционалды таңдау немесе рулетка дөңгелегінің таңдауы деп аталады. Егер бір көрсеткішті бірнеше рет айналдырудың орнына, дөңгелекті бір рет айналдырғанда бірнеше, тең араласқан көрсеткіштер болса, онда бұл стохастикалық әмбебап үлгі алу деп аталады. Кездейсоқ таңдалған топтан үздік тұлғаны қайта-қайта таңдау – турнирлік таңдау. Тұлғалардың ең жақсы жартысын, үштен бірін немесе басқа үлесін алу – бұл қиып тастау таңдауы. Таңдау үшін барлық тұлғаларды емес, тек белгілі бір (еркін) тұрақтыдан жоғары жарамдылық мәніне ие тұлғаларды ғана қарастыратын басқа таңдау алгоритмдері де бар. Басқа алгоритмдер жарамдылық деңгейіне байланысты, тек белгілі бір пайызды ғана қабылдайтын шектеулі топтан таңдайды.

Таңдау әдістері (эволюциялық алгоритм)

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

Рулетка дөңгелегін таңдау

Рулетка дөңгелегі арқылы таңдауда, келесі ұрпақты өсіру үшін жеке дараны таңдау ықтималдығы оның жарамдылығына пропорционалды, жарамдылығы жоғары болса, сол дараның таңдалу мүмкіндігі де артады. Дараларды таңдау – қазіргі ұрпақтағы даралар санына тең қалталары бар рулетканы айналдыру арқылы көрсетілуі мүмкін, ал қалталардың мөлшері олардың ықтималдығына байланысты. Дараны таңдау ықтималдығы , мұндағы – дараның жарамдылығы, ал – ағымдағы ұрпақтың мөлшері (осы әдісте бір дара бірнеше рет таңдалуы мүмкін екенін ескеріңіз).

Рангының таңдалуы

Рангты таңдау кезінде таңдау ықтималдығы тікелей дене шынықтыру деңгейіне байланысты емес, бірақ популяция ішіндегі жеке тұлғаның дене шынықтыру деңгейінің орнына байланысты. Бұл үлкен дене шынықтыру деңгейінің айырмашылықтарын салыстыруға мүмкіндік береді; сонымен қатар, нақты дене шынықтыру деңгейінің мәндерінің өзі қажет емес, тек жеке тұлғаларды сапасы бойынша реттеу жеткілікті. Сызықтық реттеу, Бейкерге дейін барған, көбінесе қолданылады. Ол параметр арқылы таңдау қысымын орнатуға мүмкіндік береді, ол 1.0 (таңдау қысымы жоқ) және 2.0 (жоғары таңдау қысымы) арасындағы мәндерді қабылдауы мүмкін. Ранг бойынша орналасудың ықтималдығы келесідей есептеледі:

Реттелетін таңдау қысымынан басқа, рангілік таңдаудың артықшылығы нашаррақ жеке тұлғаларға да көбейіп, осылайша жақсаруға мүмкіндік беруі болып табылады. Бұл шектеулер бар қолданбаларда ерекше пайдалы болуы мүмкін, себебі ол бірнеше аралық қадамдарда, яғни шектеулерді бұзуға байланысты нашар бағаланған бірнеше жеке тұлғалар арқылы шектеуді жеңуді жеңілдетеді.

Тұрақты күйді таңдау

Әрбір ұрпақта жаңа ұрпақ жасау үшін бірнеше хромосома (жақсы, жоғары сәйкестігі бар) іріктеледі. Содан кейін, кейбір (жаман, төмен сәйкестігі бар) хромосомалар алынып тасталады және олардың орнына жаңа ұрпақ қойылады. Халықтың қалған бөлігі келесі ұрпаққа өтеді.

Турнирдің іріктеуі

Турнирлік таңдау – бұл жеке тұлғалар жиынтығынан бір жеке тұлғаны таңдау әдісі. Әр турнирдің жеңімпазы кроссовер жасау үшін іріктеледі.

Элиталық таңдау

Көбінесе жақсы нәтиже алу үшін жартылай көбейту стратегиялары қолданылады. Олардың бірі – элиталық тәсіл, онда өткен буынның ең жақсы жекелерінің шағын бөлігі (ешқандай өзгеріссіз) келесі буынға көшіріледі.

Болцманның таңдау

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