Mičigano universitete (Michigan State University – MSU) vyksta be galo įdomūs ir intriguojantys eksperimentai, programų pasaulyje imituojama evoliucija – pasiekiami beveik tokie patys procesai kaip ir tikrame gyvybės pasaulyje.
Tyrėjams pavyko įrodyti, jog ir pats primityviausias instrukcijų rinkinys, sugebantis imituoti kad ir paprasčiausias atrankos galimybes, evoliucijos eigoje sukuria „skaitmeninių organizmų“ savaiminę trumpalaikę atmintį ir padeda organizmas tobulėti jiems svarbia krytimi. Žinoma, tai dar ne dirbtinė gyvybė, o tik sudėtinga programa, pavadinta Avida vardu.
Tai nėra įprastinė programa, o greičiau „programų kolonija“, turinti daugybę „skaitmeninės gyvybės formų“ – vidinių programų, vadinamų Avidianais (Avidians). Tai ypatingos programos, galinčios savaime susikurti, naudodamos bazinį programinį kodą, kuris yra savotiškas gyvosios gamtos DNR analogas. Dėka nuolatinių atsitiktinių pakeitimų šiame kode vyksta Avidianų mutacijos, kurios leidžia įgyti arba prarasti pranašumą kovoje už „maistą“ – šiuo atveju programos konkuruoja dėl procesoriaus resursų, leidžiančių programoms aktyviai „daugintis“ bei įgyti naujų savybių. Tarp jų ir atmintį.
Tokių tyrimų idėja kilo dar 1980 metais. Tuo metu tarp programuotojų buvo pakankamai populiarus žaidimas „Core Wars“. Jo esmė labai paprasta, bet reikalaujanti išmonės ir profesinių žinių – programuotojai rašydavo programas, kurios stengdavosi išjungti viena kitą. Išlikusi vienintelė aktyvuota programa tapdavo laimėtoja, o jos autorius – žaidimo nugalėtojas.
1980 metų gale šiuo žaidimu susidomėjo ekologas Thomas S. Ray – jam šovė į galvą mintis, jog „Core Wars“ žaidimas puikiai tiktų evoliucijos modeliavimui. Tuomet jo pastangomis buvo sukurta nauja „Core Wars“ žaidimo versija – „Tierra“. Ši programa gebėjo imituoti visą skaitmeninį pasaulį, pripildytą savaime susikuriančiomis programomis. Susikūrimo metu programų koduose galėdavo atsirasti tam tikrų klaidų – taip buvo bandoma imituoti genetines mutacijas.
Kuomet klonuotos programos užpildė visą laisvąją kompiuterio atmintį, jos pradėjo persirašinėti ant jau egzistuojančių programų kopijų. Čia prasidėjo stulbinantys procesai. Jeigu originali programa turėjo 80 eilučių kodą, tai po kurio laiko Ray pastebėjo programas su 79 eilutėm kodo, vėliau su 78. Galiausiai savaime atsirado programų su 45 eilutėm kodo – jos visiškai atsikratė savo kodo dalies, nusakančios atsikūrimo procesą ir jį pakeitė žymiai trumpesniu kodu, leidžiančiu pasinaudoti atsikūrimo kodo fragmentais, esančiais pas kaimynines programas. Taip susikūrė kompiuteriniai virusai – beje, savaiminės „skaitmeninės evoliucijos“ eigoje.
Tam tikra prasme „Avida“ programinis paketas yra „Tierra“ programos įpėdinis, nors jau žymiai sudėtingesnis. Be to, Avidianai negali išnaudoti vienas kito kodo, tad taip padidinamas jų visų gyvybingumas.
Šiame projekte dalyvaujanti Pan-Amerikos universiteto (The University of Texas-Pan American) mokslininkė Laura Grabowski sukūrė savotišką „energetinį gradientą“ „Avida“ pasaulio viduje. Tam mokslininkė suprogramavo keletą programinių-energetinių lygių, kurie vienas nuo kito skyrėsi „maisto“ kiekiu, prieinamu Avidianams. Pradiniame etape visi Avidiananai buvo patalpinti į pirmąjį lygį, kuriame gaunamo maisto kiekis mažiausias.
Laura Grabowski
Evoliucinė „ramybė“ užtruko beveik iki šimtosios kartos – Avidianai „gimdavo“, gyvendavo ir „mirdavo“ tame pačiame lygyje. Tačiau vėliau, vienai iš Avidianų kartai pavyko prasibrauti į sekantį energetinį lygį – tai įvyko dėka nuolatinių skaitmeninės DNR mutacijų, sukūrusių kodo fragmentą, nulėmusį Avidianų judėjimą į priekį.
Kuomet Avidianai pateko į naują energetinį lygį, jų vystymosi greitis labai padidėjo. Pragyvenus tūkstančiams naujų kartų palikuonių, kai kurie Avidianų atstovai pagaliau prasibrovė prie galutinio energetinio lygmens, kur prieinamas maisto kiekis buvo pats didžiausias.
Tačiau reikia pastebėti, jog kelionė į aukščiausią energetinį lygmenį nevyko kryptingai – Avidianai zigzagais judėjo per visus lygius palaipsniui orientuodamiesi energetinio gradiento didėjimo kryptimi. Po tam tikro laiko jie įgijo sugebėjimą palyginti skirtingus energetinius lygius pagal prieinamą maisto kiekį. Ir štai čia jau išryškėjo pirmieji dirbtinio intelekto požymiai – kiekvienas Avidianas turėjo sugebėti įvertinti situaciją, pakeisti savo judėjimo kryptį ir vėl iš naujo vertinti situaciją.
Sekančio eksperimento metu, Laura viską pradėjo iš naujo, tik šiuo atveju pirmajame lygmenyje buvo patalpintas papildomas kodas, nurodantis kokia kryptimi Avidianai turėtų judėti, norėdami gauti didesnį energijos kiekį. Be to, kai kuriais atvejais aukštesniuose lygiuose buvo pakartotinai įdedamos šios instrukcijos. Avidianai palaipsniui išmoko tinkamai interpretuoti paliktas instrukcijas ir jomis pasinaudoti. Lauros nuomone, išorinė aplinka, pasižyminti atrankinėmis savybėmis, paskatino atminties evoliuciją.
Mokslininkė pažymi, jog jos darbas įrodo įdomų dalyką – tik gyvajai gamtai priklausanti sudėtinga atminties savybė yra nesunkiai išugdoma net ir pačiuose primityviausiuose skaitmeniniuose organizmuose. Norėdama šį teiginį patvirtinti, mokslininkė skaitmeninės evoliucijos metu sukūrė Avidianus, judančius link šviesos šaltinio. Gautą „DNR kodą“ perkėlė gana gerai žinomam robotui-siurbliui „Roomba“ ir gavo būtent tai ko tikėjosi: robotas labai pamėgo švytinčias lemputes.
Tiesa, nors tokie tyrimai ir domina biologus, tačiau tikrų gyvosios gamtos evoliucijos paslapčių neatskleidžia. Žinoma, kai kurios procesų detalės yra patikrinamos, tačiau žymiau labiau tokie eksperimentai domina dirbtinio intelekto kūrėjus.
Paprastai, tyrinėjant dirbtinio intelekto sukūrimo galimybes, stengiamasi su kompiuteriu sumodeliuoti iš karto pakankamai sudėtingus elgesio algoritmus – kitaip tariant, sukurti santykinai aukšto lygio pradinį intelektą. Šiuo atveju viskas kitaip – elgesio taisyklės susikuria nuo nulio savaiminės evoliucijos metu.
Šiuo metu atliekama ir daugiau panašių eksperimentų. Kad ir projektas „HyperNEAT“, kuriam vadovauja kitas Mičigano universiteto mokslininkas Jeffas Clune. Projekto tikslas – sukurti dirbtines robotų „smegenis“.
Sistema „HyperNEAT“ naudoja tuos pačius evoliucinės biologijos principus – išnaudojant nedidelį priminių instrukcijų kiekį („genus“), stengiamasi išauginti didelį kiekį „skaitmeninių neuronų“. Panašiai kaip kamieninės ląstelės sugeba virsti į reikiamą audinį (raumenis, kaulą ir t. t.), taip ir susikūrę neuronai įsijungia į bendrą lygčių sistemą, kurių vykdymo rezultate paaiškėja, kokia bus konkreti šio neurono funkcija.
Tokiu būdu pavyksta sukurti pakankamai sudėtingas dirbtines skaitmenines smegenis. Galutiniame rezultate gautos „smegenys“ net ir struktūriškai priminė natūralias smegenis – neuronai išsidėstė tvarkingai ir simetriškai. Taip nutiko todėl, kad jau formavimosi pradžioje visi neuronai jungėsi į sistemą laikydamiesi aiškios struktūros.
Dirbtinių smegenų efektyvumas tikrinamas elementariu būdu: „skaitmeninės smegenys“ – valdymo programa perkeliama į robotą, kuris turi judėti ant lygaus paviršiaus. Jeigu judėjimas vyksta sėkmingai, programa išsaugoma ir perkeliama tolesnei „evoliucijai“ – vyksta naujų neuronų gamyba į pradinį DNR kodą įterpiant atsitiktines mutacijas.
Jeffas Clune eksperimentiškai jau įrodė, jog jo dirbtinio intelekto kūrimo metodas yra pažangesnis už analogiškus bandymus ir sukurtos „skaitmeninės smegenis“ jau demonstruoja kur kas geresnius rezultatus, nei kiti analogai.
Taigi, eksperimentai vyksta, po truputi pasiekiami nauji laimėjimai. Žinoma, iki tikro dirbtinio intelekto dar daug darbo, tačiau įsibėgėjant kryptingiems tyrimams ar ne laikas būtų užduoti esminį klausimą – ką mes pasakytumėm tokiam kūriniui, kuris vieną imtų ir suvoktų save kaip asmenybę? Ir ką jis atsakytų mums?