Azért az ilyen evolutív jellegű, önfejlesztő szoftverekrről kb 15 éve olvastam először. Jó magam azt hittem, hogy az alap algoritmusok tekintetében az ilyen kód-optimalizálási kísérleteken, az ehhez szükséges környezet kifejlesztésén már rég túl vagyunk. És ezek után akartunk már vagy 5 éve önvezető autót, meg hasonlókat építeni? LOL.
Erről most alapvetően két dolog jut az eszembe. Valamikor az őskorban számítógép kezelőként kezdtem dolgozni 1982 és 1987 közt. Egy szobányi számítógépünk volt ami az ESZR R40-es számítógép volt. Nos néha előfordult, hogy rendezni kellett akkoriban nagynak számító állományokat. Ehhez be kellett olvasni az anyagot egy mágnes szalagról. Majd elindult a rendszerbe adott (azt is DOS-nak hívták) rendező segédprogram és 3-4 darab 29 MB-os munka merevlemez feltétele mellett kb. 1-1,5 óra alatt képes volt rendezni az állományt és végül visszaírni egy másik mágnes szalagra. Úgy kb. 130-150 ezer rekordról volt szó. Jó nem röhögni az őskor volt. :) Aztán pár év múlva egy rendszer frissités során kaptunk egy hatékonyabb rendező programot. Ami a CA sort néven futott. Ez jóval hatékonyabb volt már mert képes volt 15-20 perc alatt is ugyanazt a nagy rendezést elvégezni. Nagyon örültünk neki. :) A másik emlékem valamikor a 80-as évek második feléhez tartozik, mikor megszereztem magamnak első 8 bites személyi számítógépemet egy Atari 800XL-t ez egy 64 KB-os 8 bites számítógép volt. Nagyjából azt a szintet hozta, amit egy C64-es. Na azon álltam neki kísérletezni pont rendezési algoritmusokkal és azok finomításával. A kitüzött feladat egy 1000 elemű numerikus tömb minnél hatékonyabb lerendezése volt. Persze mivel egy 1,79 Mhz-es 8 bites(motorola 6502) procin futott ráadásul interpreteres Basicban nem volt túl sikeres a projekt. :) Emlékszem az első eredmenyeim valahol a 9000 másodperc környékén voltak. Vagyis 2,5 óra. :) Aztán neki álltam finomitani a programot minden féle trükköt bevetve. javitva a rendezés algoritmusát. a kritikus részeket gépi kódban megirva stb. Végül sikerült eljutni az 8-10 perc futási időig. :) Persze akkoriban nem ismertem még a rekurzív rendezési algoritmust. Vagy nem is létezett még vagy csak én nem ismertem. Értelme mondjuk egyáltalán nem volt a dolognak, de legalább sokat tanultam azért belőle...... :)