Кіріспе

Эволюциялық алгоритм

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

Өмірбаян

Эволюциялық алгоритмдер жеке тұлғалардың популяцияларын қолданады, сәйкестік деңгейіне сәйкес жеке тұлғаларды іріктейді және бір немесе бірнеше генетикалық операторларды пайдалану арқылы генетикалық өзгерістерді енгізеді. Олардың жасанды есептеу жүйелерінде қолданылуы 1950 жылдарға дейін жетеді, онда олар оптимизация мәселелерін шешу үшін қолданылды (мысалы, Box, 1957 және Friedman, 1959). Бірақ 1965 жылы Реченберг эволюциялық стратегияларды енгізгеннен кейін ғана эволюциялық алгоритмдер кең танымалдылыққа ие болды. Эволюциялық алгоритмдер туралы толық мәліметтерді Mitchell-дің "Генетикалық алгоритмдерге кіріспе" (1996) кітабында табуға болады. Гендік экспрессия бағдарламалауы эволюциялық алгоритмдер отбасының бір бөлігі болып табылады және генетикалық алгоритмдермен және генетикалық бағдарламалаумен тығыз байланысты. Генетикалық алгоритмдерден ол белгілі бір ұзындықтағы сызықтық хромосомаларды, ал генетикалық бағдарламалаудан – әртүрлі өлшемдер мен пішіндердегі экспрессивті талдау ағаштарын мұралады. Гендік экспрессия бағдарламалауда сызықтық хромосомалар генотип ретінде, ал талдау ағаштары фенотип ретінде жұмыс істейді, осылайша генотип/фенотип жүйесі құрылады. Бұл генотип/фенотип жүйесі көпгендік, сондықтан әрбір хромосома бірнеше талдау ағаштарын кодтайды. Бұл GEP құратын компьютерлік бағдарламалар бірнеше талдау ағаштарынан тұрады дегенді білдіреді. Осы талдау ағаштары гендік экспрессияның нәтижесі болғандықтан, GEP-де оларды экспрессия ағаштары деп атайды. Масуд Некои және авторлар ABC оптимизациясында ABCEP-ті, басқа эволюциялық алгоритмдерден жоғары нәтиже беретін әдіс ретінде қолдану үшін осы экспрессия бағдарламалау стилін пайдаланды. ABCEP.

Көптекті хромосомалар

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

Ұяшықтар мен кодтарды қайта пайдалану

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

Гомеотиялық гендер мен жасушалық жүйе

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

Бірнеше негізгі бағдарламалар мен көп жасушалы жүйелер

Көпжасушалы жүйелер бірнеше гомеотикалық гендерден құралған. Осы жүйедегі әрбір гомеотикалық ген әртүрлі субэкспрессиялық ағаштардың немесе АДФ-тардың комбинациясын құрастырып, көптеген жасушаларды немесе негізгі бағдарламаларды жасайды. Мысалы, суретте көрсетілген бағдарлама екі жасушадан және үш қалыпты геннен тұратын жасушалық жүйе арқылы жасалған. Бұл көпжасушалы жүйелердің қолданылу салалары кең және әртүрлі, және мультигендік жүйелер сияқты, оларды бір шығысы бар немесе бірнеше шығысы бар мәселелерде қолдануға болады.

Күрделіліктің басқа деңгейлері

GEP гендерінің (қалыпты және гомеотикалық) бас/құйрық домені – барлық GEP алгоритмдерінің негізгі құрылыс бөлігі болып табылады. Дегенмен, гендік экспрессия бағдарламалау бас/құйрық құрылымынан гөрі күрделірек хромосомалық ұйымдамаларды да зерттейді. Аталған күрделі құрылымдар негізінен функционалдық бірліктерден немесе гендерден тұрады, олардың құрамында негізгі бас/құйрық доменімен қатар бір немесе бірнеше қосымша домендер болады. Бұл қосымша домендер әдетте алгоритм жақсы шешім табу үшін үздіксіз түрде жақсартатын кездейсоқ сандық тұрақтыларды кодтайды. Мысалы, бұл сандық тұрақтылар функциялық жуықтау мәселесінде салмақтар немесе коэффициенттер болуы мүмкін (төмендегі GEP RNC алгоритміне қараңыз); нейрондық желілердің салмақтары мен шегі болуы мүмкін (төмендегі GEP NN алгоритміне қараңыз); шешім ағаштарын құруға қажетті сандық тұрақтылар (төмендегі GEP DT алгоритміне қараңыз); полиномдық индукцияға қажетті салмақтар; немесе параметрлерді оңтайландыру міндетінде параметрлердің мәнін анықтау үшін қолданылатын кездейсоқ сандық тұрақтылар.

Бағдарламалардың жиынтығы

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

Дене шынықтыру функциялары мен таңдау ортасы

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

Таңдау ортасы немесе оқыту деректері

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

Регрессия үшін жарамдылық функциялары

Регрессияда жауап немесе тәуелді айнымалы сандық (әдетте үздіксіз) болады, сондықтан регрессиялық модельдің нәтижесі де үздіксіз болады. Сондықтан модельдің нәтижесін оқу деректеріндегі жауаптың мәнімен салыстыру арқылы дамып келе жатқан модельдердің сәйкестігін бағалау өте оңай. Модельдің өнімділігін бағалау үшін бірнеше негізгі сәйкестік функциялары бар, ең көп қолданылатындары модельдің нәтижесі мен нақты мән арасындағы қате немесе қалдыққа негізделген. Мұндай функцияларға орташа квадраттық қате, квадраттық қате тамыры, орташа абсолюттік қате, салыстырмалы квадраттық қате, салыстырмалы квадраттық қате тамыры, салыстырмалы абсолюттік қате және басқалары жатады. Бұл барлық стандартты өлшемдер шешім кеңістігіне жоғары дәлдік немесе тегісдік береді, сондықтан көптеген қолданбалар үшін өте жақсы жұмыс істейді. Бірақ кейбір мәселелерге, мысалы, болжамның белгілі бір интервалда екенін анықтау, нақты мәннің 10% -дан кем болуын анықтау сияқты, көбірек эволюция қажет болуы мүмкін. Дегенмен, егер біреу тек «хиттерді» санауға қызығушылық танытса (яғни, таңдалған интервалдағы болжамдар), модельдер популяциясын әрбір бағдарламаның алған ұпайларының санына ғана негіздеп дамыту, фитнес ландшафтының жоғары дәлдігіне байланысты көбінесе тиімді болмайды. Сондықтан шешім әдетте осы жоғары дәлдікті өлшемдерді жоғарыда көрсетілген стандартты қате өлшемдері сияқты тегіс функциямен біріктіруді қамтиды. Корреляциялық коэффициентке және R-квадратына негізделген сәйкестік функциялары да өте тегіс. Регрессиялық мәселелер үшін бұл функциялар оларды басқа өлшемдермен біріктіру арқылы жақсы жұмыс істейді, өйткені олар модельдің нәтижесінің мәндерінің диапазонына назар бермей, тек корреляцияны өлшеуге бейім. Оларды мақсатты мәндердің диапазонын шамалауға арналған функциялармен біріктіру арқылы, олар болжамды және нақты мәндер арасындағы жақсы корреляцияға және жақсы сәйкестікке ие модельдерді табу үшін өте тиімді сәйкестік функциясын құрайды.

Жігерділік функциялары сыныптау және логистикалық регрессия үшін

Классификация мен логистикалық регрессия үшін жарамдылық функцияларын жобалау классификация модельдерінің үш түрлі ерекшелігін пайдаланады. Ең айқын нәрсе – жазбалардың дұрыс жіктелуін санау, яғни жазба дұрыс жіктелсе, ол дұрыс жіктелу ретінде есептеледі. Бұл жарамдылық функциясы өте қарапайым және қарапайым мәселелер үшін жақсы жұмыс істейді, бірақ күрделі мәселелерде немесе өте теңгерімсіз деректер жиынында нашар нәтижелер береді. Бұл типтегі дұрыс жіктелуге негізделген жарамдылық функциясын жақсартудың бір жолы – дұрыс және бұрыс жіктелімдер туралы ұғымды кеңейту болып табылады. Бинарлық классификация тапсырмасында дұрыс жіктелімдер 00 немесе 11 болуы мүмкін. "00" белгілеуі теріс жағдайдың (0 деп белгіленген) дұрыс жіктелгенін білдіреді, ал "11" оң жағдайдың (1 деп белгіленген) дұрыс жіктелгенін білдіреді. "00" типіндегі жіктелімдер шын теріс (TN) деп, ал "11" шын оң (TP) деп аталады. Бұрыс жіктелімдердің екі түрі бар, олар 01 және 10 арқылы көрсетіледі. Нақты мән 0 болса және модель 1 деп болжаса, олар жалған оң (FP) деп аталады; ал мақсат 1 болса және модель 0 деп болжаса, олар жалған теріс (FN) деп аталады. TP, TN, FP және FN сандары әдетте шатасу матрицасы деп аталатын кестеде сақталады. + Биномдық классификация тапсырмасы үшін шатасу матрицасы. Болжанатын сынып ✔ қатар аралығы="2" ✔ TP FN FP TN.

TP, TN, FP және FN санын санап, осы төрт жіктелім түріне әртүрлі салмақтар беріп, тегіс және тиімді жарамдылық функцияларын жасауға болады. Шатасу матрицасына негізделген танымал жарамдылық функцияларына сезімталдық/ерекшелік, еске түсіру/дәлдік, F өлшемі, Джакард ұқсастығы, Мэтьюс корреляциялық коэффициенті және 4 түрлі жіктелімдерге тағайындалған шығындар мен пайдаларды біріктіретін шығын/пайда матрицасы жатады. Бұл матрицалық функциялардың күрделілігі көптеген мәселелерді тиімді шешу үшін жеткілікті. Бірақ классификациялық модельдердің тағы бір өлшемі бар, ол шешім кеңістігін тиімді зерттеудің кілті болып табылады және жақсы классификаторларды табуға көмектеседі. Бұл жаңа өлшем модельдің құрылымын зерттеуді қамтиды, ол домен мен диапазонды ғана емес, сонымен қатар модель шығысының және классификатор маржасының таралуын қамтиды. Классификациялық модельдердің осы басқа өлшемдерін зерттеу және модель туралы ақпаратты шатасу матрицасымен біріктіру арқылы шешім кеңістігін тегіс зерттеуге мүмкіндік беретін өте күрделі жарамдылық функцияларын жобалауға болады. Мысалы, біреу шатасу матрицасына негізделген кейбір өлшемдерді шикі модель шығыстары мен нақты мәндер арасында есептелген орташа квадраттық қатемен біріктіре алады. Немесе F өлшемін бастапқы модель шығысы мен мақсат үшін есептелген R квадратпен біріктіруге болады; немесе шығын/пайда матрицасын корреляциялық коэффициентпен және т.б. біріктіруге болады. Модельдің бөлшектілігін зерттейтін экзотикалық жарамдылық функцияларына ROC қисығының астындағы аудан және рейтингтік өлшем кіреді. Классификациялық модельдердің осы жаңа өлшемдерімен байланысты модель шығысына ықтималдықтарды тағайындау идеясы бар, бұл логистикалық регрессияда жасалады. Содан кейін бұл ықтималдықтарды пайдаланып, ықтималдықтар мен нақты мәндер арасындағы орташа квадраттық қателікті (немесе басқа ұқсас өлшемді) есептеуге болады, содан кейін оны логистикалық регрессия үшін өте тиімді жарамдылық функцияларын құру үшін шатасу матрицасымен біріктіруге болады. Ықтималдықтарға негізделген жарамдылық функцияларының танымал мысалдарына ең жоғары ықтималдық бағалау және шығын жоғалту жатады.

Бульдік проблемалар үшін жарамдылық функциялары

Логикада зерттеуге арналған модельдік құрылым жоқ (жоғарыда классификация және логистикалық регрессия үшін анықталғандай): логикалық функциялардың анықталу облысы мен мәндер жиыны тек 0 мен 1 немесе жалған мен шыннан тұрады. Сондықтан, Буль алгебрасы үшін қолжетімді жарамдылық функциялары тек жоғарыда түсіндірілгендей, сәйкестіктерге немесе шатасу матрицасына ғана негізделуі мүмкін.

Селекция және элиталық

Рулетка дөңгелегі арқылы таңдау – эволюциялық есептеулерде қолданылатын ең көп таралған таңдау схемасы болып табылады. Ол әрбір бағдарламаның сәйкестігін (фитнесін) оның сәйкестігіне пропорционалды рулетка дөңгелегінің бөлігіне бейімдеуді қамтиды. Содан кейін, популяциядағы бағдарламалар санына тең рет рулетка айналдырылады, осылайша популяция мөлшері тұрақты сақталады. Демек, рулетка дөңгелегі арқылы таңдауда бағдарламалар сәйкестігіне де, таңдаудың сәтіне де қарай іріктеледі, яғни кейде ең жақсы қасиеттер жоғалуы мүмкін. Алайда, рулетка дөңгелегі арқылы таңдауды әр буынның ең жақсы бағдарламасын көшірумен (клондаумен) үйлестіру арқылы, ең жақсы қасиеттердің жоғалмауына кепілдік беруге болады. Бұл әдіс – буынның ең жақсы бағдарламасын көшіру (клондау) деп аталады және оны көптеген стохастикалық таңдау схемалары қолданады.

Көбейтуді өзгерту

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

Көбейту және таңдау

Таңдау операторы репликация операторына көшіру үшін бағдарламаларды таңдайды. Таңдау схемасына байланысты, бір бағдарламадан туындайтын көшірмелердің саны өзгеруі мүмкін, кейбір бағдарламалар бірнеше рет көшірілсе, ал басқалары бір рет немесе мүлдем көшірілмейді. Сонымен қатар, таңдау әдетте популяцияның мөлшері бір ұрпақтан екінші ұрпаққа тұрақты болып қалатындай етіп орнатылады. Табиғатта геномдардың репликациясы өте күрделі, сондықтан ғалымдар ДНК-ның қос спиральді құрылымын ашу және оның репликациялану механизмін ұсыну үшін көп уақыт жұмсады. Бірақ, жасанды эволюциялық жүйелерде жолдардың репликациясы өте оңай, онда геномдағы барлық ақпаратты ұрпақтан ұрпаққа беру үшін тек жолдарды көшіру туралы нұсқау ғана қажет. Таңдалған бағдарламаларды репликациялау барлық жасанды эволюциялық жүйелердің маңызды бөлігі болып табылады, бірақ эволюцияның жүзеге асуы үшін оны көшіру нұсқаулығының әдеттегі дәлдігімен емес, керісінше, бірнеше қателіктермен іске асыру қажет. Расында, генетикалық әртүрлілік мутация, рекомбинация, транспозиция, инверсия және тағы да басқа генетикалық операторлар арқылы құрылады.

Мутация

Гендік экспрессияны бағдарламалауда мутация ең маңызды генетикалық оператор болып табылады. Ол бір элементті екіншісімен алмастыру арқылы геномдарды өзгертеді. Уақыт өте келе көптеген шағын өзгерістердің жиналуы үлкен әртүрлілікті қалыптастыруы мүмкін. Гендік экспрессияны бағдарламалауда мутация толығымен шектелмеген, яғни әр гендік доменде кез келген домен символын басқасына алмастыруға болады. Мысалы, гендердің басында кез келген функция терминалмен немесе басқа функциямен алмастырылуы мүмкін, бұл жаңа функцияның аргументтерінің санына қарамастан; ал терминал функциямен немесе басқа терминалмен алмастырылуы мүмкін.

Қайта үйлестіру

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

Орындау

Транспозиция хромосоманың кез келген жеріне ендіру тізбегін қосуды қамтиды. Гендік экспрессияны бағдарламалау кезінде ендіру тізбектері хромосоманың кез келген жерінде кездесуі мүмкін, бірақ олар тек гендердің басына қосылады. Бұл әдіс, тіпті гендердің соңынан қосылған тізбектердің де қатесіз бағдарламаларға алып келетініне кепілдік береді. Транспозицияның дұрыс жұмыс істеуі үшін хромосома ұзындығы мен ген құрылымы сақталуы тиіс. Осылайша, гендік экспрессияны бағдарламалауда транспозицияны екі түрлі әдіспен іске асыруға болады: біріншісі ендіру орнында ығысуды жасап, содан кейін ген басының соңында жоюды жүзеге асырады; екіншісі нысаналық жердегі жергілікті тізбекті жаңасынан жазады, сондықтан оны іске асыру оңайырақ. Екі әдіс те хромосомалар арасында, хромосома ішінде, тіпті бір ген ішінде де жұмыс істей алады.

Инверсия

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

Басқа генетикалық операторлар

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

Сын

ГЭП басқа генетикалық бағдарламалау техникаларынан айтарлықтай жақсару емес деп сынға түсті. Көптеген тәжірибелерде ол қолданыстағы әдістерден артық емес еді.

Коммерциялық қолдану

GeneXproTools GeneXproTools – Gepsoft компаниясы жасаған болжамдық талдау құралдары жиынтығы. GeneXproTools модельдеу аяларына логистикалық регрессия, жіктеу, регрессия, уақыт қатарын болжау және логикалық синтез кіреді. GeneXproTools негізгі гендік экспрессия алгоритмін және GEP RNC алгоритмін іске қосады, олар екеуі де GeneXproTools-тың барлық модельдеу аяларында қолданылады.

Ашық бастапқы кодты кітапханалар

GEP4J – Java жобасы үшін GEP. Джейсон Томас жасаған GEP4J – Java-да гендік экспрессияны бағдарламалаудың ашық кодты іске асырылуы. Ол әр түрлі GEP алгоритмдерін, соның ішінде шешімді ағаштарды (номиналды, сандық немесе аралас атрибуттармен) және автоматты түрде анықталған функцияларды іске асырады. GEP4J Google Code-та орналастырылған. PyGEP – Python үшін гендік экспрессияны бағдарламалау. Райан О'Нил Python-да гендік экспрессияны бағдарламалауды академиялық зерттеуге арналған қарапайым кітапхана жасау мақсатымен жасады, оның қолдануы оңай және жылдам іске асыруға бағытталған. Ол стандартты көпгендік хромосомаларды және генетикалық операторларды – мутация, кроссовер және транспозицияны іске асырады. PyGEP Google Code-та орналастырылған. jGEP – Java GEP құралдар жиынтығы. Мэтью Соттл GEP-ті пайдаланатын Java прототиптік кодтарын жылдам құру үшін жасады, оларды кейін C немесе Fortran сияқты тілде шынайы жылдамдық үшін жазуға болады. jGEP SourceForge-та орналастырылған.