İçeriğe atla

Genetik algoritma

Genetik algoritmalar, doğada gözlemlenen evrimsel mekanizmalara benzer mekanizmalar kullanarak çalışan eniyileştirme yöntemidir. Çok boyutlu uzayda belirli bir maliyet fonksiyonuna göre en iyileştirme amacıyla iterasyonlar yapan ve her iterasyonda en iyi sonucu üreten kromozomun hayatta kalması prensibine dayanan en iyi çözümü arama yöntemidir.[1]

Genetik algoritmaların temel ilkeleri ilk kez Michigan Üniversitesi'nde John Holland tarafından ortaya atılmıştır. Holland 1975 yılında yaptığı, evrim yasalarını genetik algoritma içinde eniyileştirme problemleri için kullandığı çalışmaları “Adaptation in Natural and Artificial Systems” adlı kitabında bir araya getirmiştir.

Genetik algoritmalar problemlere tek bir çözüm üretmek yerine farklı çözümlerden oluşan bir çözüm kümesi üretir. Böylelikle, arama uzayında aynı anda birçok nokta değerlendirilmekte ve sonuçta global çözüme ulaşma olasılığı yükselmektedir. Çözüm kümesindeki çözümler birbirinden tamamen bağımsızdır. Her biri çok boyutlu uzay üzerinde bir vektördür.

Genetik algoritmalar problemlerin çözümü için evrimsel süreci bilgisayar ortamında taklit ederler. Problem için olası pek çok çözümü temsil eden bir çözüm kümesi genetik algoritma terminolojisinde nüfus veya popülasyon adını alır. Popülasyonlar vektör, kromozom veya birey adı verilen sayı dizilerinden oluşur. Birey içindeki her bir elemana gen adı verilir. Nüfustaki bireyler evrimsel süreç içinde genetik algoritma mekanizmaları tarafından oluşturulurlar.

Genetik Algoritmanın Genel Akış Şeması

Problemin bireyler içindeki gösterimi problemden probleme değişiklik gösterir. Genetik algoritmaların problemin çözümündeki başarısına karar vermedeki en önemli faktör, problemin çözümünü temsil eden bireylerin gösterimidir. Nüfus içindeki her bireyin problem için çözüm olup olmayacağına karar veren bir uygunluk fonksiyonu vardır. Uygunluk fonksiyonundan dönen değere göre yüksek değere sahip olan bireylere, nüfustaki diğer bireyler ile çoğalmaları için fırsat verilir. Bu bireyler çaprazlama işlemi sonunda çocuk adı verilen yeni bireyler üretirler. Çocuk kendisini meydana getiren ebeveynlerin (anne, baba) özelliklerini taşır. Yeni bireyler üretilirken düşük uygunluk değerine sahip bireyler daha az seçileceğinden bu bireyler bir süre sonra nüfus dışında bırakılırlar. Yeni nüfus, bir önceki nüfusta yer alan uygunluğu yüksek bireylerin bir araya gelip çoğalmalarıyla oluşur. Aynı zamanda bu nüfus önceki nüfusun uygunluğu yüksek bireylerinin sahip olduğu özelliklerin büyük bir kısmını içerir. Böylelikle, pek çok nesil aracılığıyla iyi özellikler nüfus içerisinde yayılırlar ve genetik işlemler aracılığıyla da diğer iyi özelliklerle birleşirler. Uygunluk değeri yüksek olan ne kadar çok birey bir araya gelip, yeni bireyler oluşturursa arama uzayı içerisinde o kadar iyi bir çalışma alanı elde edilir. Probleme ait en iyi çözümün bulunabilmesi için;

  • Bireylerin gösterimi doğru bir şekilde yapılmalı,
  • Uygunluk fonksiyonu etkin bir şekilde oluşturulmalı,
  • Doğru genetik işlemciler seçilmeli.

Bu durumda çözüm kümesi problem için bir noktada birleşecektir. Genetik algoritmalar, diğer eniyileme yöntemleri kullanılırken büyük zorluklarla karşılaşılan, oldukça büyük arama uzayına sahip problemlerin çözümünde başarı göstermektedir. Bir problemin bütünsel en iyi çözümünü bulmak için garanti vermezler. Ancak problemlere makul bir süre içinde, kabul edilebilir, iyi çözümler bulurlar. Genetik algoritmaların asıl amacı, hiçbir çözüm tekniği bulunmayan problemlere çözüm aramaktır. Kendilerine has çözüm teknikleri olan özel problemlerin çözümü için mutlak sonucun hızı ve kesinliği açısından genetik algoritmalar kullanılmazlar. Genetik algoritmalar ancak;

  • Arama uzayının büyük ve karmaşık olduğu,
  • Mevcut bilgiyle sınırlı arama uzayında çözümün zor olduğu,
  • Problemin belirli bir matematiksel modelle ifade edilemediği,
  • Geleneksel eniyileme yöntemlerinden istenen sonucun alınmadığı alanlarda etkili ve kullanışlıdır.

Çalışma prensibi

Genetik algoritmada kullanılan kavramlar, biyolojideki evrim teorisine benzer anlamda kullanılmaktadır. Doğal yaşamda popülasyonlar bireylerin bir arada bulunmasıyla oluşmaktadır. GA algoritması için oluşturulan popülasyon da çok sayıda bireyin bir araya gelmesiyle, başka bir deyişle çok sayıda olası çözüm adaylarının bir araya gelmesiyle oluşmaktadır. Aday çözümler, probleme uygun şekilde kodlanmış diziler halinde tutulurlar. Bu diziyi oluşturan her bir elemana birey denir ve her bir birey arama uzayında belirli bir bölgeyi temsil eder.

Genetik algoritmada ilk başlangıç bireyleri genellikle rastgele olarak üretilirler fakat bu bir zorunluluk değildir. Özellikle çok kısıtlı optimizasyon problemlerinde, başlangıç bireylerini oluşturmak için, tanımlanan kısıtlamaların bir kısmına dikkat edilerek daha iyi adaylar oluşturulabilinir. Bireylerin, uygunluk fonksiyonu işlemine tabi tutulması sonucunda, çözümün optimal çözüme ne kadar yaklaştığını değerlendiren uygunluk değeri belirlenir. Başlangıç popülasyonu oluşturulmuş genetik algoritma üç evrim operatörüyle çalışır. Bunlar; seçim, çaprazlama ve mutasyon operatörleridir. Genel olarak bu operatörlerin her biri, yeni nesilde oluşacak olan popülasyonun her bireyine uygulanır.

Seçim işlemi, popülasyondaki bireyleri uygunluk değerlerine bağlı olarak, yeni bireyleri oluşturmak için, ebeveyn birey seçmesi işlemidir. Çaprazlama operatörü, seçim işleminden sonra uygulanır ve ebeveyn bireylere ait kromozomların belirli kısımlarının karşılıklı yer değiştirmesini ve böylece yeni özellikte bireylerin oluşmasını ifade eder. Mutasyon işlemi ise yeni oluşan bireyin kromozomlarından herhangi birinin içindeki bir geni mutasyon olasılığına bağlı olarak değiştirme işlemidir.

Genetik algoritma işlemini sonlandırmak için çeşitli yöntemler bulunmaktadır. Bu yöntemler; algoritmanın çalışması esnasında istenen çözüm bulunduğunda, GA’nın başlangıcında tanımlanan toplam iterasyon sayısına ulaşıldığında veya uygunluk değeri sürekli olarak sabit kaldığında, bulunan en iyi bireyin temsil ettiği çözüm, problem için bulunmuş en uygun çözüm olarak sunulur.[2]

Temel Kavramlar

Genetik algoritmada; kısıtlara uyum sağlayan çözüme ulaşmak için algoritma yapısının oluşturulması ve parametrelerin belirlenmesi gerekmektedir. Aşağıda bu kavramlara ve algoritma için gerekli olan parametrelere yer verilmiştir.[2]

Gen yapısı ve kodlama

Yapısında probleme ait en küçük bilgiyi taşıyan birime gen denir. GA’nın kullandığı programlama yapısında bu gen yapıları programcının tanımlamasına bağlıdır. Bir genin yapısında sadece ikili tabandaki (binary) sayıları içerebileceği gibi, gray, tam sayı, gerçel sayı veya ağaç biçimini ve farklı sembolik ifadeleri de içerebilir. Kodlama biçimi, GA’nın performansını oldukça önemli oranda etkiler; fakat kodlama biçimi programa bağlı olduğundan bütün problemler için geçerli en uygun kodlama biçimini söylemek imkânsızdır. Michalewicz belli bir problem tipi için yapmış olduğu çalışmada gerçel sayı gösteriminin daha çabuk sonuca ulaştığını göstermiştir.

Kromozom yapısı

Bir veya birden fazla gen yapısının bir araya gelerek problemin çözümüne ait bilgilerin bir kısmını oluşturan dizilere kromozom denir. Kromozom, GA yaklaşımında üzerinde durulan en önemli birim olduğu için bilgisayar ortamında iyi ifade edilmesi gerekir.

Popülasyon

Olası çözüm bilgilerini içeren bireylerin bir araya gelmesiyle oluşan topluluğa popülasyon denir. Popülasyondaki birey sayısı problemin özelliğine göre, genetik algoritmayı tasarlayan tarafından belirlenir. Popülasyon büyüklüğü problemin çözüm süresini etkilemektedir. Popülasyondaki birey sayısının gereğinden fazla olması çözüm süresini uzatırken, birey sayısının az olması popülasyonun istenen çözüm değerine ulaşılamamasına sebep olabilir. Problemin özelliğine göre seçilecek olan popülasyondaki birey sayısı genetik algoritmayı hazırlayan kişi tarafından iyi belirlenmelidir. Grefensette, GA için en uygun popülasyon büyüklüğünün 10 ile 160 birey arasında olmasının uygun olacağını öne sürmüştür.

Genetik operatörler

GA’nın temel yapısını oluşturan ve algoritmanın işleyişi sırasında mevcut popülasyon üzerinde uygulanan işlemlere, genetik operatörler denir. Bu operatörler, seçme (selection) ya da tekrar üreme (reproduction) operatörü, çaprazlama (crossover) operatörü ve mutasyon (mutation) operatörüdür. Bunlara ilaveten kısıtlı eniyileme problemlerinde mutlak suretle kullanılması gereken ve probleme özgü olarak geliştirilen diğer bir operatör de tamir (reparation) operatörüdür. Genetik operatörler, daha iyi özelliklere sahip nesiller üreterek çözüm uzayını genişletir. Kullanılan üç standart operatör vardır:

  1. Seçim (Selection), var olan bireyi genetik yapısında herhangi bir değişiklik yapmadan yeni nesile kopyalar.
  2. Çaprazlama (Crossover), iki bireyin yapılarının rastlantısal olarak birleştirilerek yeni bireyler oluşturulmasıdır. İşlem, ikili dizilerin parçalarının değiş tokuşu ile gerçekleştirilir.
  3. Mutasyon (Mutation), var olan bir bireyin genlerinin bir ya da birkaçının yerlerinin değiştirilmesiyle oluşturulur.

Kullanım alanları

Genetik algoritmalar; Parametre ve sistem tanılama, kontrol sistemleri, robot uygulamaları, görüntü ve ses tanıma, mühendislik tasarımları, planlama, yapay zeka uygulamaları, uzman sistemler, fonksiyon ve kombinasyonel eniyileme problemleri ağ tasarım problemleri, yol bulma problemleri, çizelgeleme problemleri, sosyal ve ekonomik planlama problemleri için diğer eniyileme yöntemlerinin yanında başarılı sonuçlar vermektedir.

Diğer yöntemlerden farkı

  1. Genetik algoritmalar problemlerin çözümünü parametrelerin değerleriyle değil, kodlarıyla arar. Parametreler kodlanabildiği sürece çözüm üretilebilir. Bu sebeple genetik algoritmalar ne yaptığı konusunda bilgi içermez, nasıl yaptığını bilir.
  2. Algoritmalar aramaya tek bir noktadan değil, noktalar kümesinden başlar. Bu nedenle çoğunlukla yerel en iyi çözümde sıkışıp kalmazlar. Ancak bazı durumlarda genetik algoritmalar yerel en iyi çözüme, genel en iyi çözümden daha çabuk ulaşırlar ve algoritma bu noktada sonuçlanır. Bu durumla karşılaşıldığında, bu durumu önlemek için (genel en iyi çözüme ulaşabilmek için) ya arama uzayındaki çeşitlilik arttırılır ya da uygunluk fonksiyonu her üreme aşamasında değiştirilir.
  3. Genetik algoritmalar türev yerine uygunluk fonksiyonunun değerini kullanır. Bu değerin kullanılması ayrıca yardımcı bir bilginin kullanılmasını gerektirmez.
  4. Genetik algoritmalar gerekirci kuralları değil olasılıksal kuralları kullanır.

Kaynakça

  1. ^ Aydın, Şamil Emre (2017). Yapay Zekâ Teknolojisi (Yapay Zekâların Dünü Bugünü Yarını). s. 15. 8 Ağustos 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ağustos 2021. 
  2. ^ a b Elen, A., "Çizelgeleme probleminin sezgisel optimizasyon yaklaşımıyla çözümü", Yüksek Lisans Tezi, Karabük Üniversitesi Fen Bilimleri Enstitüsü, Karabük (2011).
  • BEASLEY, D., BULL, D.R., and MARTIN, R.R., 1993a. An Overview of Genetic Algorithms: Part 1, Fundamentals. University Computing, Vol.15(2), pp. 58–69, UK.
  • BEASLEY, D., BULL, D.R., and MARTIN, R.R., 1993b. An Overview of Genetic Algorithms: Part 2, Research Topics .University Computing, Vol. 15(4), pp. 170–181, UK.
  • BINGUL, Z., SEKMEN, A.S. and ZEIN, S., 1999. An Application of Multi-Dimensional Optimization Problems Using Genetic Algorithms. Proceedings of the IASTED International Conference Intelligent Systems and Control, Santa Barbara, CA, USA.
  • BINGUL, Z., SEKMEN, A.S. and ZEIN, S., 2000. Genetic Algorithms Applied to Real Time Multi-objective Optimization Problems. IEEE SoutheastCon 2000 Conference, Nashville, TN, USA.
  • DREZNER, Z. and WESOLOWSKY, G.O., 2003. Network Design: Selection and Design of Links and Facility Location. Transportation Research Part A, Vol. 37, pp 241–256.
  • GEN, M., CHENG, R. and OREN, S.S., 2001. Network Design Techniques Using Adapted Genetic Algorithms. Advances in Engineering Software, Vol. 32, pp. 731–744.
  • GOLDBERG, D.E., 1989, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley Publishing Company Inc.ISBN 0-201-15767-5.
  • HOLLAND, J.H., Adaption in Natural and Artificial Systems, University of Michigan Pres, Ann Arbor, MI, 1975.
  • MAN, K.F., TANG, K.S. and KWONG, S., 1996. Genetic Algorithms: Concepts and Applications. IEEE Transactions on Industrial Electronics, Vol. 43, No. 5, pp. 519–533.
  • POLI, R., LANGDON, W. B., MCPHEE, N. F. (2008), A Field Guide to Genetic Programming8 Ağustos 2015 tarihinde Wayback Machine sitesinde arşivlendi., freely available via Lulu.com.

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Genetik</span> biyolojinin organizmalardaki kalıtım ve çeşitliliği inceleyen bir dalı

Genetik ya da kalıtım bilimi, biyolojinin organizmalardaki kalıtım ve genetik varyasyonu inceleyen bir dalıdır. Türkçeye Almancadan geçen genetik sözcüğü 1831 yılında Yunanca γενετικός - genetikos ("genitif") sözcüğünden türetildi. Bu sözcüğün kökeni ise γένεσις - genesis ("köken") sözcüğüne dayanmaktadır.

<span class="mw-page-title-main">Gen</span> içinde bulunduğu hücre veya organizmaya özel bir etkisi olan, kuşaktan kuşağa ve hücreden hücreye geçen kalıtımsal öge.

Gen, bir kalıtım birimidir. Bir DNA'nın belirli bir kısmını oluşturan nükleotid dizisidir. Popüler ve gayriresmî kullanımda gen sözcüğü, "ebeveynden çocuklarına geçen belirli bir karakteristiği taşıyan biyolojik birim" anlamında kullanılır. Kromozomun kesitleri olan genler birbirinden çok farklı işlevlerde ve büyüklüklerde (uzunluklarda) olabilirler. Genlerin büyüklükleri ve işlevleri her zaman doğru orantılı değildir.

Mutasyon ya da değişinim, bir canlının genomu içindeki DNA ya da RNA diziliminde meydana gelen kalıcı değişmelerdir. Mutasyona sahip bir organizma ise mutant olarak adlandırılır.

<span class="mw-page-title-main">Benzetilmiş tavlama</span>

Benzetilmiş tavlama ya da benzetimli tavlama algoritması, eniyileme problemi için tasarlanmış olasılıksal yaklaşımlı bir algoritmadır. Diğer olasılıksal yaklaşımlar gibi en iyi çözümün en kısa zamanda üretimini hedefler. Bu sebeple, özellikle matematiksel modellerle çözülmesi maliyetli olan kombinasyonel eniyileme problemlerinde kullanılır. Benzetilmiş tavlama algoritması; elektronik devre tasarımı, görüntü işleme, yol bulma problemi, gezgin satıcı problemi, malzeme fizigi simulasyonu, kesme ve paketleme problemi, akış çizelgeleme ve iş çizelgeleme problemlerinin çözümlerinde başarılı sonuçlar vermiştir.

John Henry Holland Birleşik Amerikalı bilim insanıdır.

Matematikte matematiksel programlama, eniyileme ya da optimizasyon terimi; bir gerçel fonksiyonu minimize ya da maksimize etmek amacı ile gerçek ya da tam sayı değerlerini tanımlı bir aralıkta seçip fonksiyona yerleştirerek sistematik olarak bir problemi incelemek ya da çözmek işlemlerini ifade eder. Örneğin bu problem şöyle olabilir:

<span class="mw-page-title-main">Popülasyon genetiği</span> popülasyonların genetik farklılıklarıyla ilgilenen genetiğin alt alanı, evrimsel biyolojinin bir parçası

Popülasyon genetiği, popülasyonlardaki fertlerin benzerlik ve farklılıklarının kaynaklarını, bunun yanında popülasyonlardaki alel frekansının dağılımlarını ve değişimlerini araştıran bir genetik altdalıdır.

Matematik biliminde, özellikle yöneylem araştırması uygulamalı dalında, doğrusal programlama problemleri bir doğrusal amaç fonksiyonunun doğrusal eşitlik ve/veya eşitsizlik kısıtlamalarını sağlayacak şekilde optimizasyon yapılmasıdır. Bir optimizasyon modeli eğer sürekli değişkenlere ve tek bir doğrusal amaç fonksiyonuna sahipse ve tüm kısıtlamaları doğrusal eşitlik veya eşitsizliklerden oluşuyorsa, doğrusal (lineer) program olarak adlandırılır. Başka bir deyişle, modelin tek-amaçlı fonksiyonu ve tüm kısıtlamaları, süreklilik gösteren karar değişkenlerinin ağırlıklı toplamlarından oluşmalıdır.

<span class="mw-page-title-main">Sayısal analiz</span>

Sayısal analiz, diğer adıyla nümerik analiz veya sayısal çözümleme, matematiksel analiz problemlerinin yaklaşık çözümlerinde kullanılan algoritmaları inceler. Bu nedenle birçok mühendislik dalı ve doğa bilimlerinde önem arz eden sayısal analiz, bilimsel hesaplama bilimi olarak da kabul edilebilir. Bilgisayarın işlem kapasitesinin artması ile gündelik hayatta ortaya çıkan birçok sistemin matematiksel modellenmesi mümkün olmuş ve sayısal analiz algoritmaları burada ön plana çıkmıştır. 21. yüzyıldan itibaren bilimsel hesaplama yöntemleri mühendislik ve doğa bilimleri ile sınırlı kalmamış ve sosyal bilimler ile işletme gibi alanları da etkilemiştir. Sayısal analizin alt başlıklarına adi diferansiyel denklemlerin yaklaşık çözümleri ve özellikle veri biliminde önem taşıyan sayısal lineer cebir ile optimizasyon örnek gösterilebilir.

Genetik bağlantı, belli genetik konumların (lokusların) veya gen alellerin beraberce kalıt olmaları durumdur. Aynı kromozom üzerindeki genetik lokuslar birbirine fiziksel olarak bağlıdırlar, bu yüzden mayoz bölünmede alellerin ayrışması sırasında, bunlar beraber kalma eğiliminde oldukları için bağlantılı oldukları söylenir. Farklı kromozomlardaki gen alelleri bağlantılı değillerdir, mayoz sırasında kromozomların bağımsız tertiplenmelerinden dolayı.

Genetik otostop, bir alelin, olumlu olarak seçilen bir gene bağlanmış olması yüzünden beraberce kalıtıldığı ve böylece alel frekansının ya da görülme sıklığının artığı bir süreçtir. Genlerin bir kromozom üzerindeki birbirine olan yakınlıkları, genlerin, yakınlardaki avantajlı bir gen tarafından maruz kaldığı seçici bir süpürme ile birlikte sürüklenmelerine imkân tanıyabilir. Daha genel olarak, genetik otostop, zararlı mutasyonlara karşı arka planda etki eden seçilim de dahil olmak üzere, birbirine bağlı genler üzerinde etki eden herhangi bir seçilim nedeniyle bir alel frekansında meydana gelen değişikliğe işaret edebilir.

Hill-Robertson etkisi, popülasyon genetiğinde, ilk kez 1996 yılında Bill Hill ve Alan Robertson tarafından tanımlanmış olan bir olgu olup genetik rekombinasyonların evrimsel avantajlarını açıklar.

<span class="mw-page-title-main">Genetik varyasyon</span> Genetikte popülasyonlar arasında ortaya çıkabilen, tür içerisinde veya gen alellerinde gözlemlenen farklılıklar

Genetik varyasyon, genetikte popülasyon içinde ya da popülasyonlar arasında ortaya çıkabilen, tür içerisinde veya gen alellerinde gözlemlenen farklılıklardır. Genetik varyasyon, doğal seçilim için "hammadde" sağladığından önem taşır. Genetik varyasyon, bir genin dizilimlerinde meydana gelen değişimler olan mutasyon sebebiyle meydana gelirler. Poliploidi veya poliploitlik kromozomlarda oluşan mutasyona bir örnek olarak verilebilir. Poliploidi, bir hücrenin ya da organizmanın, her bir kromozomununun ikiden fazla kopyasına sahip olması durumudur. Organizmalar çoğunlukla diploit olmakla birlikte, hücre bölünmesinin olması gerektiği gibi gerçekleşmemesi sonucu, poliploit hücre ve organizmalar ortaya çıkabilir.

<span class="mw-page-title-main">Evrimsel algoritma</span>

Evrimsel algoritma (EA), yapay zeka oluşturmada evrimsel bilgisayımın bir alt kümesi olup meta bulucu optimizasyon algoritması tabanında jenere edilmiş popülasyondur. Evrimsel algoritma, biyolojik evrimden esinlenerek üreme, mutasyon, rekombinasyon ve doğal seçilime benzer mekanizmalar kullanır. Optimizasyon problemlerinin aday çözümleri bir popülasyondaki bireyleri temsil eder ve seçilim değeri fonksiyonları çözümlerin içinde "yaşadığı" çevreyi belirler. Popülasyonun evrimi yukarıdaki operatörlerin tekrarlanan uygulaması sonrasında gerçekleşir. Yapay evrim (YE), başlı başına farklı evrimsel algoritmalar içeren bir süreci anlatmaktadır; EA'ların her biri, YE'e katılım yapan ayrı bir bileşendir.

Eşeyli üremenin evrimi, şu an güncel olan birkaç farklı bilimsel hipotez tarafından açıklanmaktadır. Eşeyli yolla üreyen tüm organizmalar tek hücreli ökaryot bir türden türemiş olup tek bir ortak atadan gelmektedir. Birçok protist, çok hücreli bitkiler, hayvanlar ve mantarlar gibi eşeyli üreme yoluyla çoğalırlar. Bdelloidea veya herhangi bir döllenme meydana gelmeden meyve oluşturabilme özelliğine sahip bazı partenokarp bitkiler gibi, ikinci derecede bu özelliği kaybetmiş olan bazı türler de bulunmaktadır. Eşeyli üremenin evrimi birbirleriyle ilişkili ama birbirlerinden farklı olan iki değişik konuyu ele alır. Bunlardan birincisi eşeyli üremenin kökeni, diğeri ise eşeyli üremenin korunarak devamlılığın sağlanmasıdır. Ancak eşeyli üremenin kökenine dair hipotezlerin deneysel olarak test edilmeleri zor olduğundan, güncel araştırmalar daha ziyade eşeyli üremenin nasıl korunduğu ve sürdürüldüğüne odaklanmıştır.

Çaprazlama yapay zekânın bir alt kolu olan genetik algoritmalarda kullanılan bir genetik işleçtir.

Bir genetik işleç, genetik algoritmalarda genetik çeşitliliği korumak için (mutasyon) ve var olan çözümleri başka çözümlerle katıştırmak için (çaprazlama) kullanılan bir işleçtir. Aralarındaki ana fark, mutasyon işleçlerinin tek bir kromozomla işlerken çaprazlama işleçlerinin iki kromozomla işlemesidir.

Seleksiyon (seçilim), gelecek nesilleri üretmek için kullanılacak genomların seçildiği genetik algoritma aşamasıdır.

Uygunluk fonksiyonu, bir genetik algoritma probleminin çözümü için ele alınan bireyin yeterli olup olmadığını değerlendiren amaç fonksiyonudur. Uygunluk fonksiyonu işleminin sonucunda ele alınan bireye bir uygunluk değeri atanmış olur.

Bilgisayar bilimi, matematik, ekonomi ve biyoinformatikte dinamik programlama karmaşık bir problemi tekrarlanan alt problemlere bölerek, her bir alt problemi yalnız bir kere çözüp daha sonra bu çözümü kaydederek karmaşık problemin çözümünde kullanma yöntemidir. Bir alt problem çözüldükten sonra tekrar çözülmesi gerektiğinde daha önce kaydedilen çözüm kullanılarak zaman kazanılır, ancak alt problemlerin kaydedileceği daha fazla alana gereksinim duyulur. Yani dinamik programlama algoritmaları alandan ödün verilerek zamandan kazanılmasını sağlar. Dinamik programlama algoritmaları optimizasyon problemlerinin çözümünde yaygın olarak kullanılır.