Кіріспе

Эволюциялық есептеу үшін деректер құрылымы және түрлері. Компьютерлік бағдарламалауда генетикалық бейнелеу – эволюциялық есептеу әдістерінде шешімдерді/жеке тұлғаларды ұсыну тәсілі. Бұл термин геном түріндегі кандидат шешімдердің генетикалық материалының іске асырылуына қолданылатын нақты деректер құрылымдары мен дерек түрлерін, сондай-ақ іздеу кеңістігі мен проблемалық кеңістіктің арақатынастарын қамтиды. Ең қарапайым жағдайда іздеу кеңістігі проблемалық кеңістікке сәйкес келеді (тікелей бейнелеу). Проблеманы бейнелеуді таңдау генетикалық операторларды таңдаумен байланысты, және олардың екеуі де оңтайландыру тиімділігіне шешуші әсер етеді. Генетикалық бейнелеу жеке тұлғалардың сыртқы түрін, мінез-құлқын, физикалық қасиеттерін кодтай алады. Генетикалық бейнелеудегі айырмашылық – эволюциялық есептеудің белгілі сыныптарын ажырататын маңызды критерийлердің бірі. Терминология көбінесе табиғи генетикамен үйлеседі. Бір кандидат шешімді көрсететін компьютерлік жадтың бөлігі жеке тұлға деп аталады. Бұл бөліктегі деректер хромосома деп аталады. Әрбір хромосома гендерден тұрады. Белгілі бір геннің мүмкін мәндері аллельдер деп аталады. Бағдарламашы екілік кодтау, пермутациялық кодтау, ағаш арқылы кодтау немесе басқа да бірнеше бейнелеулерді қолдана отырып, популяцияның барлық жеке тұлғаларын бейнелей алады.

Кейбір танымал эволюциялық алгоритмдердегі бейнелер

Генетикалық алгоритмдер (ГА) әдетте сызықтық түрде бейнеленеді; олар көбінесе, бірақ әрқашан емес, екілік болып табылады. Жалпы және генетикалық алгоритмдер, әсіресе, кроссоверді іске асыру бұл жағдайда күрделірек болса да. Эволюциялық стратегия сызықтық, нақты мәнді бейнелеулерді қолданады, мысалы, нақты сандардың массиві. Ол көбінесе гаусс мутациясын және араластыру/орташалау кроссоверін пайдаланады. Генетикалық бағдарламалау (ГБ) ағаш тәрізді бейнелеулерді алғаш рет енгізіп, осындай бейнелеулерге сәйкес генетикалық операторларды жасады. ГБ-де ағаш тәрізді бейнелеулер қажетті қасиеттері бар функционалдық бағдарламаларды бейнелеу және дамыту үшін қолданылады. Адамға негізделген генетикалық алгоритм (АГБА) барлық генетикалық операторларды сыртқы агенттерге, яғни адамдарға жүктеу арқылы қиын өкілдік мәселелерін шешу қажеттілігін жояды. Алгоритмге белгілі бір тұрақты генетикалық өкілдік туралы білудің қажеті жоқ, егер осы өкілдіктерді өңдеуге қабілетті жеткілікті сыртқы агенттер болса, бұл еркін формадағы және эволюцияға қабілетті генетикалық өкілдіктерге мүмкіндік береді.

Іздеу кеңістігі мен проблемалық кеңістіктің айырмашылығы

Биологияға ұқсас, ЭА проблемалық кеңістік (фенотипке сәйкес) және іздеу кеңістігі (генотипке сәйкес) арасында ажырату жасайды. Проблемалық кеңістік қарастырылып отырған мәселенің нақты шешімдерін қамтиды, ал іздеу кеңістігі кодталған шешімдерді қамтиды. Іздеу кеңістігінен проблемалық кеңістікке жасалатын шартты байланыс генотип-фенотип шартты байланысы деп аталады. Генетикалық операторлар іздеу кеңістігінің элементтеріне қолданылады, ал бағалау үшін іздеу кеңістігінің элементтері генотип-фенотип шартты байланысы арқылы проблемалық кеңістіктің элементтеріне шартты байланыстырылады.

Іздеу кеңістігі мен проблемалық кеңістіктің арасындағы қатынастар

ЭА қолданбасының табысты болуы үшін іздеу кеңістігін тиімді таңдаудың маңыздылығы бастапқыда-ақ анықталды. Тиімді іздеу кеңістігіне, демек генотип-фенотип байланысына қойылатын талаптар:

Толықтығы

Барлық мүмкін қабылданатын шешімдер іздеу кеңістігіне кіруі керек.

Артықшылық

Егер фенотиптерге қарағанда көбірек мүмкін генотиптер болса, ЭА-ның генетикалық бейнелеуі артық деп аталады. Табиғатта мұндай жағдайды дегенеративтік генетикалық код деп атайды. Артық бейнелеу кезінде бейтарап мутациялар пайда болуы мүмкін. Бұл генотипті өзгертетін, бірақ фенотипке әсер етпейтін мутациялар. Осылайша, генетикалық операторларды қолдануға байланысты, фенотиптік өзгермеген ұрпақтар тууы мүмкін, бұл, өз кезегінде, қажетсіз жарамдылықты бағалауға алып келуі мүмкін. Шын дүниедегі қолдануларда бағалау әдетте есептеу уақытының басым бөлігін құрайды, сондықтан ол оңтайландыру процесін баяулатуы мүмкін. Бұдан басқа, бұл популяцияның генотиптік әртүрлілігі фенотиптік әртүрліліктен жоғары болуына себеп болуы мүмкін, бұл эволюциялық прогреске кедергі келтіруі мүмкін. Биологиядағы молекулалық эволюцияның бейтарап теориясы осы әсердің табиғи эволюцияда маңызды рөл атқаратынын көрсетеді. Бұл ЭА қауымдастығындағы зерттеушілерді бейтарап мутациялардың ЭА жұмысын жақсартуға болатынын зерттеуге итермеледі, яғни, жергілікті оптимумға жиналған популяцияларға генетикалық дрейф арқылы осы жергілікті оптимумнан шығуға мүмкіндік беруге. Бұл мәселе қызу талқылауларға түсіп, ЭА-дағы бейтараптыққа қатысты нақты нәтижелер жоқ. Алайда, ертерек конвергенцияны басқарудың басқа да дәлелденген әдістері бар.

Жергілікті жер

Генетикалық бейнелеудің жергіліктілігі – генотип-фенотипті бейнелеуден кейін іздеу кеңістігіндегі қашықтықтардың мәселе кеңістігінде қаншалықты сақталатынына байланысты. Яғни, егер іздеу кеңістігіндегі жақын жатқан элементтер мәселе кеңістігінде де жақын болса, онда бейнелеудің жергіліктілігі жоғары болады. Сәтті схемалардың шағын мутациядан кейін генотип-фенотипті бейнелеу кезінде бұзылмауы үшін, бейнелеудің жергіліктілігі жоғары болуы тиіс.

Өлшемін өзгерту

Генотипті фенотипке бейнелеуде генотиптің элементтері әртүрлі масштабта (салмақталған) болуы мүмкін. Ең қарапайым жағдай – біркелкі масштабтау: генотиптің барлық элементтері фенотипте тең салмақта болады. Көп қолданылатын масштабтау – экспоненциалды. Егер бүтін сандар екілік кодталған болса, нәтижедегі екілік санның жеке таңбалары фенотипті көрсетуде экспоненциалды түрде әртүрлі салмаққа ие болады. Мысал ретінде: 90 саны екілік жүйеде (яғни, екілік санмен) 1011010 деп жазылады. Егер екілік жазудағы алдыңғы таңбалардың бірі өзгерсе, бұл кодталған санға артқы таңбалардағы кез келген өзгеріске қарағанда әлдеқайда күшті әсер етеді (табиғи іріктелу алдыңғы таңбаларға экспоненциалды түрде күшті әсер етеді). Осы себепті экспоненциалды масштабтау популяция осы ұсақ айырмашылықтарға бейімделуге үлкермес бұрын генотиптегі "артқы" жағдайларды кездейсоқ қатайту эффектін тудырады.

Генотип-фенотип картасында гибридтеу және жөндеу

Генотипті бағаланып жатқан фенотипке байланыстырғанда, фенотипті жақсарту және/немесе шектеулердің сақталуын қамтамасыз ету үшін салалық білімді қолдануға болады. Бұл EA-ның жұмыс істеу уақыты және шешімдер сапасы тұрғысынан тиімділігін арттырудың көп қолданылатын тәсілі. Бұл үш мысалдың екеуі арқылы төменде көрсетілген.

Тікелей бейнелеудің мысалы

Саудагердің саяхаты мәселесі және оған байланысты тапсырмаларды кодтаудың айқын және көп қолданылатын тәсілі – баруға тиіс қалаларды тізбектеп нөмірлеу және оларды хромосомада бүтін сандар түрінде сақтау. Генетикалық операторлар қалалардың (гендердің) ретін ғана өзгертуге және жою немесе көшірмелер жасауға мүмкіндік бермеу үшін тиісінше бейімделуі керек. Осылайша, гендердің реті қалалардың ретімен сәйкес келеді және бірден-бір сәйкестік болады.

Күрделі генотип-фенотип картасының мысалы.

Гетерогенді және ішінара баламалы ресурстармен жұмыс істейтін жоспарлау тапсырмасында геном жеке жоспарлау операциялары үшін қажетті барлық ақпаратты қамтуы керек немесе оны одан алу мүмкін болуы тиіс. Орындалатын қосалқы тапсырмалардың ретімен қатар, бұл ресурсты таңдау туралы ақпаратты да қамтиды. Фенотип – бұл басталу уақыты мен тағайындалған ресурстары бар қосалқы тапсырмалар тізімі. Мұны жасау үшін, ең көп дегенде бір қосалқы тапсырмаға бөлінетін ресурстар санына тең бөлу матрицалары құрылуы керек. Ең қарапайым жағдайда, бұл бір ресурс, мысалы, бір машина, ол қосалқы тапсырманы орындай алады. Бөлу матрицасы – екі өлшемді матрица, бір өлшемінде қолжетімді уақыт бірліктері, екіншісінде бөлінуі тиіс ресурстар көрсетіледі. Бос матрица жасушалары қолжетімділікті көрсетеді, ал жазба – тағайындалған қосалқы тапсырманың нөмірін көрсетеді. Бөлу матрицасын құру, біріншіден, бірнеше рет бөлуге жол бермейді. Екіншіден, одан қосалқы тапсырмалардың басталу уақытын және тағайындалған ресурстарды оқуға болады. Ресурстарды қосалқы тапсырмаларға жоспарлау кезіндегі ортақ шектеу – ресурсты уақыт бірлігіне бір рет қана бөлу және резервтеудің үздіріссіз уақыт кезеңі болуы. Мұны уақытында жүзеге асыру үшін, бұл әдеттегі оңтайландыру мақсаты емес, шектеу, қарапайым эвристика қолданылуы мүмкін: қажетті ресурсты қажетті уақыт кезеңіне мүмкіндігінше ертерек бөліп, қайталанған броньдардан аулақ болыңыз. Бұл қарапайым процедураның екі артықшылығы бар: ол шектеуді болдырмайды және оңтайландыруға көмектеседі. Егер жоспарлау мәселесі тәуелсіз қосалқы тапсырмалардың орнына жұмыс ағындарын жоспарлауға өзгертілсе, жұмыс ағынының кейбір жұмыс қадамдары берілген тәртіппен орындалуы керек. Егер бұрын сипатталған жоспарлау эвристикасы жұмыс кезеңі басталуы керек кезде оның алдыңғысы аяқталмағанын анықтаса, келесі түзету механизмі көмектеседі: осы жұмыс кезеңінің жоспарлануын барлық алдыңғылары аяқталғанға дейін кейінге қалдырыңыз. Бұл генотипті фенотипке бейімдеуде эвристиканың басқаша қолданылуын көрсетуге арналған: төртбұрышты бетке әртүрлі геометриялық нысандар мүмкіндігінше аз аумақты пайдаланбаған күйде орналастырылуы керек. Нысандарды бұруға болады, орналастырғаннан кейін олардың бір-біріне жабыспауы керек және бетке толығымен орналасуы керек. Бұған байланысты, металл пластинадан немесе матадан бөлшектерді кесу кезінде қалдықтарды азайту да осыған ұқсас мәселе. Нысандардың орталықтарының координаталары және нысан геометриясының ықтимал изоморфизміне дейін қысқартылған бұру бұрышын анықталатын айнымалылар ретінде қарастыруға болады. Егер бұл тікелей эволюциялық алгоритммен (ЭА) жасалса, көптеген қабаттасулар болуы мүмкін. Бұған жол бермеу үшін ЭА төртбұрыштың бір жағының бұрышы мен координатын ғана анықтайды. Әрбір нысан бұл жақтың шетіне бұрылып орналастырылады, қажет болса, төртбұрыш ішінде болуы үшін жылжытылады. Содан кейін ол екінші жағына параллель жылжытылады, басқа нысанға тигенше немесе төртбұрыштың қарама-қарсы шетіне жеткенше. Осылайша, қабаттасулар болдырмаймыз және орналасу кезінде пайдаланбаған аумақ азаяды, бірақ жалпы алғанда емес, ол оңтайландыруға қалдырылады.