Genetik gelişme (bilgisayar bilimi) - Genetic improvement (computer science)

İçinde bilgisayar yazılımı geliştirme, genetik İyileştirme kullanımı optimizasyon ve makine öğrenme teknikler, özellikle arama tabanlı yazılım mühendisliği gibi teknikler genetik programlama var olanı geliştirmek için yazılım.[1][2]Gelişmiş program orijinaliyle aynı şekilde davranması gerekmez.Örneğin, otomatik hata düzeltme gelişir program kodu azaltarak veya ortadan kaldırarakbuggy davranış.[3]Diğer durumlarda, geliştirilmiş yazılım eski sürümle aynı şekilde davranmalıdır, ancak daha iyidir, çünkü örneğin: daha hızlı çalışır,[4]daha az kullanır hafıza,[5]daha az kullanır enerji[6]orit farklı bir bilgisayarda çalışır.[7]GI, örneğin,resmi program çevirisi, hem yeni hem de eski yazılımı çalıştırarak öncelikle yeni mutant versiyonun davranışını doğrular. test girdileri ve yeni yazılımın orijinal programdan isteneni yapıp yapamayacağını görmek için çıktılarını ve performansını karşılaştırmak ve şimdi daha iyi.

Genetik iyileştirme oluşturmak için kullanılabilir çoklu versiyonlar programların her biri özel belirli bir bilgisayar için veya belirli bir kullanıcı için daha iyi

Genetik iyileştirme ile kullanılabilir Çok amaçlı optimizasyon yazılımı birden çok boyutta iyileştirmeyi düşünmek veya takas GI'dan verdikleri cevapların kalitesine karşı hız ticareti yapan programları geliştirmesini istemek gibi birkaç amaç arasında. Elbette hem daha hızlı hem de daha iyi cevaplar veren programlar bulmak mümkün olabilir.

Çoğunlukla Genetik İyileştirme, tipik olarak küçük değişiklikler veya düzenlemeler yapar (aynı zamanda mutasyonlar ) programın kaynak kodu ama bazen mutasyonlar yapılırmontaj kodu,bayt kodu[8]veya ikili makine kodu.[9]

Referanslar

  1. ^ Langdon, William B. (2015). Genetiği İyileştirilmiş Yazılım. Genetik Programlama Uygulamaları El Kitabı. s. 181–220. doi:10.1007/978-3-319-20883-1_8. ISBN  978-3-319-20882-4.
  2. ^ Justyna Petke ve Saemundur O. Haraldsson ve Mark Harman ve William B. Langdon ve David R. White ve John R. Woodward (2018). "Yazılımın Genetik İyileştirilmesi: Kapsamlı Bir Araştırma" (PDF). Evrimsel Hesaplamaya İlişkin IEEE İşlemleri. 22 (3): 415–432. doi:10.1109 / TEVC.2017.2693219.
  3. ^ Weimer, Westley; et al. (2010). "Evrimsel hesaplama ile otomatik program onarımı". ACM'nin iletişimi. 53 (5): 109. CiteSeerX  10.1.1.170.188. doi:10.1145/1735223.1735249.
  4. ^ Langdon, William B .; Harman, Mark (2015). "Mevcut Yazılımın Genetik Programlama ile Optimize Edilmesi". Evrimsel Hesaplamaya İlişkin IEEE İşlemleri. 19: 118–135. doi:10.1109 / TEVC.2013.2281544.
  5. ^ Wu, Fan; Weimer, Westley; Harman, Mark; Jia, Yue; Krinke, Jens (2015). Derin Parametre Optimizasyonu. 2015 Genetik ve Evrimsel Hesaplama Konferansı Bildirileri - GECCO '15. sayfa 1375–1382. doi:10.1145/2739480.2754648. ISBN  9781450334723.
  6. ^ Bruce, Bobby R .; Petke, Justyna; Harman, Mark (2015). Genetik İyileştirme Kullanarak Enerji Tüketimini Azaltma. 2015 Genetik ve Evrimsel Hesaplama Konferansı Bildirileri - GECCO '15. sayfa 1327–1334. doi:10.1145/2739480.2754752. ISBN  9781450334723.
  7. ^ Langdon, William B .; Harman, Mark (2014). Genetik Olarak Geliştirilmiş CUDA C ++ Yazılımı. EuroGP 2014. Bilgisayar Bilimlerinde Ders Notları. 8599. sayfa 87–99. doi:10.1007/978-3-662-44303-3_8. ISBN  978-3-662-44302-6.
  8. ^ Orlov, Michael; Sipper, Moshe (2011). "FINCH'in Java Vahşi Doğasında Uçuşu". Evrimsel Hesaplamaya İlişkin IEEE İşlemleri. 15 (2): 166–182. CiteSeerX  10.1.1.298.6272. doi:10.1109 / TEVC.2010.2052622.
  9. ^ Schulte, Eric M .; Weimer, Westley; Forrest Stephanie (2015). Kaynak Koduna veya Test Paketlerine Erişim Olmadan COTS Yönlendirici Ürün Yazılımının Onarılması. 2015 Genetik ve Evrimsel Hesaplama Konferansı Companion Yayını Bildirileri - GECCO Companion '15. sayfa 847–854. doi:10.1145/2739482.2768427. ISBN  9781450334884.

Dış bağlantılar