Genetické zlepšení (počítačová věda) - Genetic improvement (computer science)

Ve vývoji počítačového softwaru je genetické zlepšení využitím optimalizačních a strojových učebních technik, zejména technik softwarového inženýrství založených na vyhledávání, jako je genetické programování, za účelem vylepšení stávajícího softwaru . Vylepšený program se nemusí chovat stejně jako originál. Například automatické opravy chyb zlepšují programový kód snížením nebo odstraněním chování chyb . V ostatních případech by se vylepšený software měl chovat stejně jako stará verze, ale je lepší, protože například: běží rychleji, používá méněpaměti , spotřebovává méně energie nebo běží na jiném typu počítače. GI se liší například od formálního programového překladu v tom, že primárně ověřuje chování nové mutantní verze spuštěním nového i starého softwaru na testovacích vstupech a porovnáváním jejich výstupu a výkonu, aby zjistil, zda nový software dokáže stále dělejte to, co se od původního programu požaduje, a nyní je to lepší.

Genetické vylepšení lze použít k vytvoření více verzí programů, z nichž každý je přizpůsoben tak, aby byl lepší pro konkrétní použití nebo pro konkrétní počítač.

Genetické zlepšení lze použít s optimalizací více cílů, aby bylo možné zvážit vylepšení softwaru ve více dimenzích nebo zvážit kompromisy mezi několika cíli, jako je například požadavek na GI, aby vyvinul programy, které obchodují rychlostí proti kvalitě odpovědí, které poskytují. Samozřejmě může být možné najít programy, které jsou rychlejší a poskytují lepší odpovědi.

Většinou genetické zlepšení obvykle provádí malé změny nebo úpravy (také známé jako mutace ) ve zdrojovém kódu programu, ale někdy jsou mutace provedeny v kódu sestavy , bajtovém kódu nebo binárním strojovém kódu .

Reference

  1. ^ Langdon, William B. (2015). Geneticky vylepšený software . Příručka aplikací genetického programování . s. 181–220. doi : 10,1007/978-3-319-20883-1_8 . ISBN 978-3-319-20882-4.
  2. ^ Justyna Petke a Saemundur O. Haraldsson a Mark Harman a William B.Langdon a David R. White a John R. Woodward (2018). „Genetické vylepšení softwaru: komplexní průzkum“ (PDF) . Transakce IEEE na evolučních výpočtech . 22 (3): 415–432. doi : 10,1109/TEVC.2017.2693219 . hdl : 1893/25358 .
  3. ^ Weimer, Westley; et al. (2010). „Automatická oprava programu s evolučním výpočtem“. Komunikace ACM . 53 (5): 109. CiteSeerX  10.1.1.170.188 . doi : 10,1145/1735223.1735249 .
  4. ^ Langdon, William B .; Harman, Mark (2015). „Optimalizace stávajícího softwaru pomocí genetického programování“. Transakce IEEE na evolučních výpočtech . 19 : 118–135. doi : 10,1109/TEVC.2013.2281544 .
  5. ^ Wu, fanoušek; Weimer, Westley; Harman, Mark; Jia, Yue; Krinke, Jens (2015). Hluboká optimalizace parametrů . Proceedings of the 2015 on Genetic and Evolutionary Computation Conference - GECCO '15 . s. 1375–1382. doi : 10,1145/2739480.2754648 . ISBN 9781450334723.
  6. ^ Bruce, Bobby R .; Petke, Justyna; Harman, Mark (2015). Snížení spotřeby energie pomocí genetického vylepšení . Proceedings of the 2015 Genetic and Evolutionary Computation Conference - GECCO '15 . s. 1327–1334. doi : 10,1145/2739480.2754752 . ISBN 9781450334723.
  7. ^ Langdon, William B .; Harman, Mark (2014). Geneticky vylepšený software CUDA C ++ . EuroGP 2014 . Přednášky z informatiky. 8599 . s. 87–99. doi : 10,1007/978-3-662-44303-3_8 . ISBN 978-3-662-44302-6.
  8. ^ Orlov, Michael; Sipper, Moshe (2011). „Let FINCH jávskou divočinou“. Transakce IEEE na evolučních výpočtech . 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). Oprava firmwaru směrovače COTS bez přístupu ke zdrojovému kódu nebo testovacím sadám . Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference - GECCO Companion '15 . s. 847–854. doi : 10,1145/2739482.2768427 . ISBN 9781450334884.

externí odkazy

Nástroje