Va čia tamsta truputi klystate. Ne bet kokio sudėtingumo, o apskaičiuojamus. Formaliai žiūrint mus riboja laikas, duomenys ir tikslumas.
Egzistuoja uždavinių, kurių optimalus sprendimo laikas (naudojama atmintis), bent jau kiek dabar žinoma, priklauso nepolinomiškai nuo pateiktų duomenų. Tai reiškia kad jei uždavinio sprendimo laikas turin n pradinių taškų yra f(n), turint n+1 gali būti tarkim f(n+1)=f(n)^i, nesunku pastebėti kad jei i > 1 sprendimo laikas auga labai greitai.
Kita problema - kai kurių uždavinių klasėje labai maža paklaida pradiniuose duomenyse duoda gigantišką paklaidą rezultate, pakankamas kad rezultatas būtų bevertis. Pradinės paklaidos išvengti neimanoma dėl matavimo diskretizavimo.
Na sutinku, kad laiko atzvilgiu sis algoritmas gali buti neefektyvus. Taciau kaip matome jis jau kai kur naudojamas, todel nera visiskai bevertis. Na bent jau uz paprastos perrankos algoritma jis kai kuriais atvejais efektyvesnis, o NP-complete tipo uzdaviniu be perrankos ir neispresi. Ir as vis tiek lieku prie savo teiginio, kad evoliucijos algoritma galima pritaikyti bet kokiam uzdaviniui, tik ar jis bus jam effektyvus laiko ir tikslumo atzvilgiu, cia jau kitas klausimas.
AI srityje tokie „bandymų ir klaidų“ metodai taikomi jau ne vieną dešimtmetį, tai ir neuraliniai tinklai, ir genetiniai algoritmai, ir „swarm intelligence“. Bet kol kas progresas gan ribotas. Aš pats daugiausiai neuralinius tinklus esu čiupinėjęs, tai jie labai efektyvūs klasifikacijos, šablonų atpažinimo, filtravimo, grupavimo, regresinės analizės ir panašiuose uždaviniuose, bet tuo jų taikymas kaip ir baigiasi.
Tai puiku. As studijuoju bioinformatika, todel anksciau ar veliau tureciau su sitais algoritmais susidurti
.
Tik man dabar neaisku vienas dalykas. Jei jau yra tokia daugybe algoritmu sprendzianciu uzdavinius evoliucijos principu, tai kuo tas pradinis straipsnis yra toks sencasingas? Juk tada jau turetu buti sukurta daugybe panasiu i Avida programu, kur "organizmai" ne tik evolicionuoja, bet ir sprendzia sudetingus uzdavinius