Master of Arts (New Media) -tutkinnon lopputyö
Joulukuu 2000
Tomi Salminen
Medialaboratorio, Taideteollinen korkeakoulu
Keinoelämä (artificial life) on uusi tieteenala, jonka päämääränä on luoda keinotekoisia järjestelmiä, joilla on biologisen elämän kanssa yhteisiä ominaisuuksia. Keinoelämän historia alkaa soluautomaattien parissa tehdystä työstä, ja uusimmat edistysaskeleet liittyvät fysikaalisesti mallinnettuun, kolmiulotteiseen keinoelämään ja kokonaisten ekosysteemien simulointiin. Kolmiulotteisen keinoelämän sovellus- ja tutkimusmahdollisuudet kasvavat tietokoneiden laskentakapasiteetin tahdissa. Uusi hahmottelemani keinoelämäprojekti, Geneesys, pyrkii yhdistämään aikaisempien keinoelämäjärjestelmien parhaat puolet ja lisäämään uusia, tavoitteena aikaisemmin saavuttamattoman kompleksisuustason virtuaalinen ekosysteemi.
Keinoelämän (käytetään myös käännösmuotoja ''tekoelämä'' tai ''keinoelo'' (harvinaisempi). eng. artificial life, a-life) voidaan määritellä olevan tieteenala, jonka päämääränä on luoda keinotekoisia järjestelmiä, joilla on biologisen elämän kanssa yhteisiä ominaisuuksia (Adami, 1998; Langton, 1993; Levy, 1992). Keinoelämän tutkimuksen luokkia voidaan katsoa olevan kolme:
Keinoelämä on nuori, hyvin poikkitieteellinen tieteenala, eikä sen tutkimuskenttä ole vielä vakiintunut. Keinoelämään piiriin katsotaan kuuluvan enemmän tai vähemmän kiinteästi mm. soluautomaatit, tietokonevirukset, geneettinen taide, erilaiset autonomiset agentit ja biologisten prosessien simulaatiot. Keinoelämän joukkoon kuuluvilla järjestelmillä tai niiden osilla on ominaisuuksia, jotka ovat jokin osajoukko biologiselle elämälle tyypillisistä ominaisuuksista (Mayr, 1999, s. 44-47):
Voidaan väittää, että joillakin keinoelämäjärjestelmillä on kaikki nämä ominaisuudet (Emmeche, 1995, 2. luku). Osa keinoelämätutkijoista on siten valmis myöntämään niiden olevan ekosysteemejä, joita asustavat elolliset olennot. Suurin osa biologeista on kuitenkin sitä mieltä, että elämä in silico ei ole samanarvoista biologisen elämän kanssa. Keskustelussa on ongelmana se, että konsensusta elämän määritelmästä ei ole saatu aikaan.
Keinoelämä tuli kenties ensimmäistä kertaa suuren yleisön tietoisuuteen maailmalla Steven Levyn erinomaisen yleistajuisen esityksen (Levy, 1992) myötä. Suomessa keinoelämää laajemmalti käsitteleviä teoksia ovat julkaiseet toistaiseksi vain Suomen Tekoälyseura (Hyvönen ja Seppänen, 1995) ja Art House (Emmeche, 1995).
Alkuaikojen keinoelämä oli yksi- tai kaksiulotteista, tietokoneiden heikon laskentatehon aiheuttamien rajoitusten takia. Keinoeliöt liikkuivat ja vuorovaikuttivat lineaarisissa muistiavaruuksissa tai litteissä tasomaailmoissa. Kolmiulotteisen maailman luontiin keinoeliöille tarvittiin supertietokoneita, ja ensimmäisiä tuloksia oli monissa konferensseissa esitelty animaatio Karl Sims'in luomista, kulmikkaista mutta ketteristä olennoista (Sims, 1994a). Videolla Sims'in olennot esiintyvät kuin pahvilaatikoista rakennetut sätkynuket, ryömivät, uivat, pomppivat ja kilpailevat keskenään pienen punaisen kuution hallinnasta. Ihastusta esityksessä on herättänyt erityisesti se, että olennot ja niiden hämmästyttävästi aidontuntuiset liikkumistavat ovat syntyneet evoluutiota jäljittelevän algoritmin tuloksena, ilman ihmisen asettamia lähtötietoja siitä miten kannattaisi liikkua. (Lisää Sims'in olennoista kohdassa 3.1.1.)
Kuva: Erään Karl Sims'in olennon evoluutio, lopputuloksena käärmemäinen uimari (Sims (1994b), image reproduced with permission from the author).
Sims'in olentojen menestys on herättänyt joukon kysymyksiä. Kuinka helppoa tulosten toistaminen olisi nykyisillä kotitietokoneilla, jotka ovat nopeudeltaan vanhojen supertietokoneiden luokkaa? Mitä uutta olisi mahdollista saada aikaan hyödyntämällä tämän päivän yhä tehokkaampia supertietokoneita? Onko mahdollista suunnitella keino-olennoille monimutkaisempaa geometriaa kuin toisiinsa liitetyt laatikot? Onko mahdollista simuloida kokonaista kolmiulotteisten olentojen ekosysteemiä, jossa eri lajit kehittyvät rinnan ja jossa ympäristön olosuhteet vastaavat Maan oloja? Miten erilaisia rakenteita olennoille syntyisi ja voitaisiinko niitä verrata olemassa oleviin tai sukupuuttoon kuolleisiin Maan lajeihin (Gould, 1991; Thompson, 1961)? Olisiko tällaisella simulaatiolla tieteellistä tai taiteellista arvoa?
Keinoelämän mahdollisuutta pohdittiin jo aikana, jolloin tietokoneiden toimintaperiaatteiden teoriaa vasta kehiteltiin. Alan Turing (Adami, 1998, s. 22) kehitti 1930-luvulla ensimmäisenä universaalin automaatin mallin, niinsanotun Turingin koneen, joka on abstrakti olio, joka voi olla jossakin suuresta joukosta määriteltyjä tiloja, tallentaa tietoa päättymättömälle nauhalle ja toimia nauhalta lukemiensa tietojen mukaan. Turingin kone määritellään antamalla joukko sääntöjä, jotka määräävät sen toiminnan ja tilojen muutokset. Turing osoitti, että Turingin koneella voidaan toistaa mikä tahansa laskentaprosessi, ja että kaikki riittävän monimutkaiset tietokoneet tai laskentajärjestelmät ovat pohjimmiltaan samanlaisia.
John von Neumann (Adami, 1998, s. 26), nykyaikaisen tietojenkäsittelyn isä, lähti 1950-luvulla pohtimaan Turingin työn pohjalta tapoja rakentaa automaatteja, jotka pystyisivät tekemään itsestään kopioita. Koska tähän kykenevän mekaanisen koneen rakentaminen on edelleenkin käytännössä ratkaisematon ongelma, hän keksi avukseen soluautomaatit. Soluautomaatit perustuvat siihen, että jossakin avaruudessa (tietokoneen muistissa, ruutupaperilla, keittiön ruudutetulla lattialla) on vieri vieressä soluja, jotka voivat olla jossakin tilassa, ts. niillä on jokin arvo. Jokaisella aika-askeleella yksittäisen solun tilaa muutetaan sen perusteella, mitkä olivat sen naapurisolujen tilat edellisellä aika-askeleella. Muutossääntöjä voi olla hyvinkin paljon. Von Neumannin alkuperäinen suunnitelma universaalista itsereplikoijasta oli liian monimutkainen eikä hän saanut sitä koskaan valmiiksi.
Työ soluautomaattien parissa kuitenkin jatkui, ja huomattiin että niistä yksinkertaisimmillakin on kiinnostavia ominaisuuksia. Stephen Wolfram (Adami, 1998; Wolfram, 1994, s. 27) on luokitellut yksiulotteiset soluautomaatit neljään eri luokkaan niiden aikakehityksen mukaan:
Kuuluisin soluautomaatti on varmasti John Conwayn 1960-luvulla kehittämä kaksiulotteinen ''Game of Life'' (Levy, 1992, s. 49-58), joka kuuluu Wolframin luokituksen neljänteen luokkaan. Sen soluilla on vain kaksi sallitua tilaa: 0 (''kuollut'') tai 1 (''elossa''). Kullakin solulla on kahdeksan naapuria. Life-pelin säännöt ovat seuraavat: jos elävällä solulla on kaksi tai kolme elävää naapuria, se pysyy hengissä. Jos naapureita on elossa yli kolme, solu kuolee, kuten myös mikäli naapureita on elossa alle kaksi. Jos solu on kuollut ja sillä on kolme elävää naapuria, se herää henkiin. Life-pelistä tuli nopeasti maailmalla hyvin suosittu, ja sen tutkimiseen käytettiin runsaasti tietokoneaikaa. Siitä löydettiin erilaisia stabiileja, muuttuvia ja jopa liikkuvia ja synnyttäviä soluryhmiä. Soluryhmistä onnistuttiin rakentamaan osat von Neumannin aikanaan tavoittelemalle universaalille itsereplikaattorille. Sen vaatima solumäärä kuitenkin estää sen synnyttämisen käytännössä.
Soluautomaattien kehittäjille seuraava haaste oli rakentaa ympäristö, jossa automaatit sisältävät säännöt itsensä kopiointiin. Chris Langtonin (Adami, 1998, s. 38) 1980-luvulla keksimät itseään kopioivat silmukat sisälsivät rakenteessaan itsensä teko-ohjeet, yksinkertaisen digitaalisen geenistön. Löytö herätti soluautomaattien ja keinoelämän tutkimuksen uuteen kukoistukseen (Levy, 1992, s. 87-120). Langtonin silmukat ja niitä vastaavat soluautomaatit olivat kuitenkin liian herkkiä pienillekin mutaatioille niiden rakenteessa, joten evoluution mallintaminen niiden avulla osoittautui käytännössä mahdottomaksi. Tarvittiin uusia lähestymistapoja.
Geneettiset algoritmit (genetic algorithm) (Alander, 1998; Holland, 1992; Mitchell, 1996) ovat ongelmanratkaisumenetelmiä, joiden esikuvana on luonnossa tapahtuva evoluutio. Menetelmän lähtökohtana on arvaus siitä, minkä muotoinen funktiojoukko voisi jollakin muuttujien arvojoukolla antaa parhaan ratkaisun. Annetulle ongelmalle arvotaan sitten satunnaisia arvojoukkoja, joiden ''hyvyys'' eli kelpoisuus (fitness) määritetään ja parhaita ratkaisuja yhdistetään vieläkin parempien tuottamiseksi. Toisin sanoen arvojoukkopopulaatioiden jäseniä risteytetään keskenään tiettyjen kriteerien mukaan siten, että populaation sisältämät ratkaisut lähenevät parasta ratkaisua. Geneettisiä algoritmeja käytetään monilla aloilla sellaisten ongelmien käsittelyyn, joissa ratkaisujen määrä on hyvin suuri, ratkaisua on vaikea systemaattisesti etsiä, parasta ratkaisua ei osata tarkkaan määritellä tai kaikkein parasta ratkaisua ei edes tarvita.
Yksinkertainen geneettinen algoritmi toimii seuraavasti:
Geneettisiä algoritmeja käytettäessä ratkaisut pitää pystyä koodaamaan jollakin tavalla. Yksinkertaisin tapa on käyttää merkki- tai bittijonoja, joiden sisältämät merkit toimivat ratkaisun geeneinä.
Geneettisten algoritmien rajoituksena on se, että ohjelmoijan pitää ennen simulaation aloittamista rajata se funktioavaruus, jossa eri geenejä eli arvojoukkoja testataan. Ratkaisuavaruuden kasvaminen evoluution seurauksena ei ole mahdollista.
Geneettinen ohjelmointi (genetic programming) (Banzhaf et al., 1998) on geneettisten algoritmien pohjalta kehitetty menetelmä. Se ratkaisee joitakin geneettisten algoritmien puutteita, kuten yllä mainitun ratkaisuavaruuden rajallisuuden, sekä eripituisten kromosomien rekombinaatio-ongelman (Bentley, 1999).
Geneettisen ohjelmoinnin idea on siinä, että evoluution kohteena ovat ohjelmat ja niiden sisältämät funktiot itse. Symbolinen ohjelmointikieli (usein LISP) voidaan esittää hierarkisena puurakenteena. Kun mutaatio tai rekombinaatio tapahtuu, puurakenteen oksa ratkaistaan ja korvataan uudella oksalla, ilman että ohjelmaan tuotetaan syntaksivirhettä. Populaatioiden generointi ja valinta tapahtuu samalla tavoin kuin geneettisten algoritmien tapauksessa.
Geneettisiin ohjelmiin voi evoluution kuluessa jäädä ohjelmakoodia, jota ei koskaan suoriteta. Usein tämän ''jämäkoodin'' määrän kasvu pyritään pitämään kurissa suosimalla valinnassa lyhyita ohjelmia. Jämäkoodilla on kuitenkin vastineensa luonnossa - suuri osa ihmisenkin DNA:sta vaikuttaa olevan merkityksetöntä koodia, jolla on joskus ollut tarkoituksensa, mutta jota ei enää tarvita. Voi olla, että geenejä otetaan uusiokäyttöön evoluution aikana, joten vanhalla koodilla on arvonsa.
Todella mielenkiintoiseksi keinoelämä tulee, kun rakennetaan kokonaisia ekosysteemejä, joissa on mahdollisuus populaatioiden lajiutumiseen ja erilaisten ravintoketjujen syntymiseen. Tällaisen keinotekoisen maailman luonti on motivoinut kaikkia keinoelämän parissa työskennelleitä alusta lähtien.
Biologi Tom Rayn Tierra (Adami, 1998; Kivelä, 1995; Ray, 1993, s. 45-50) oli ensimmäisiä keinoelämäsovelluksia, joka meni eliöiden suunnittelussa yksinkertaista soluautomaattia pidemmälle. Ray kehitti virtuaalisen tietokoneen, sille oman tietokonekielen ja virtuaalisen muistin, jossa hänen ohjelmanpätkistä koostuvat keinoeliönsä saattoivat elää ja kopioida itseään. Ohjelmakoodiin aiheutettiin satunnaisesti mutaatioita.
Tierran ohjelmanpätkien ''hyvyys'' määriteltiin sen mukaan, mitä tehokkaammin ne pystyivät kopioimaan itseään, ja se oli riippuvainen ohjelman pituudesta. Rayn alkuperäinen, käsin suunnittelema Tierran alkuperäinen ''Esi-isä''-ohjelma koostui kahdeksastakymmenestä komennosta. Pian käynnistyksen jälkeen Tierraan ilmestyi paljon tätä lyhempiä, mutta samaan pystyviä ohjelmia. Osasta ohjelmia kehittyi niin lyhyitä, että niillä ei enää ollut itsensä kopiointiin tarvittavia komentoja. Niinpä ne käyttivät toisten ohjelmien kopiointikäskyjä, ollen käytännössä loisia! Pian loisohjelmien isännät muuntuivat niin, etteivät loiset enää tunnistaneet niitä - tapahtui rinnakkaisevoluutiota.
Tierrasta on sittemin kehitetty versio, joka käyttää Internetiin liitettyjä, eritehoisia tietokoneita heterogeenisemmän elinympäristön luomiseksi ohjelmille siinä toivossa, että ne erilaistuisivat ja sopeutuisivat erilaisiin ympäristöihin.
Ray ei ollut ensimmäinen: Biologi Nils Barricelli kokeili jo vuonna 1953 paljon yksinkertaisemman, reikäkorttiohjelmoitiin perustuvan keinoelämäympäristön simulointia (Dyson, 1999, s. 111-130). Hän havaitsi samanlaisia ilmiöitä kuin Tom Ray Tierrassa: Loiset kiihdyttävät evoluutiota, samoin ympäristön heterogeenisyys.
Aktiivisen kehityksen alla oleva Avida (Adami, 1998) on Tierran ideoihin perustuva, kehittyneempi järjestelmä. Siinä ohjelmat eivät elä yksiulotteisessa muistissa, vaan kaksiulotteisella tasolla, ja ne voivat vuorovaikuttaa vain paikallisesti, naapureidensa kanssa. Avidaa on käytetty paljon erilaisten kokeiden suorittamiseen, sillä on tutkittu mm. geneettisen etääntymisen nopeutta eristyneiden populaatioiden välillä.
Ensimmäisiä keinoelämätoteutuksia, jossa keinoeliöillä oli piilossa vaikuttavien geenien lisäksi kolmiulotteinen ilmiasu oli PolyWorld (Yaeger, 1993, 1994), tasolla elävien keinoeliöiden ekosysteemi. Eliöillä oli neuroverkkoon perustuva itsenäinen päätäntäjärjestelmä, ja mahdollisuus primitiivisen näköaistin kehittämiseen. Niiden fenotyyppi (ulkomuoto) rakentui muutamasta polygonista, joiden väritys oli osittain kytketty perimään. Geenit sisälsivät myös yksilön koon, voimakkuuden ja maksiminopeuden, eliniän, jälkeläiselle annetun energiaosuuden sekä risteytymiseen ja neuroverkkoon liittyviä parametreja.
Kuva: Polyworld (Yaeger (1994), image reproduced with permission from the author).
Eliöille mahdolliset käyttäytymismekanismit sisälsivät syömisen, parittelun, taistelun, liikkumisen eteenpäin, kääntymisen, näkökentän laajuuden säätelyn ja osittaisen värityksen muutoksen. Eliöt kuluttivat energiaa liikkuessaan, lisääntyessään ja käyttäessään neuroverkkoaan. Energiaa ne saivat lisää syömällä ympäristössä kasvavaa ruokaa tai kuolleita tovereitaan.
Järjestelmään synnytetään aluksi uusia eliöitä kuolleiden tilalle, kunnes populaatio oppii itseään ylläpitävän lisääntymisstrategian. Sen jälkeen simulaation voidaan antaa kulkea omillaan.
PolyWorldissa havaittiin tapahtuvan selkeää ''lajiutumista''. Osa eliöistä oppi pysyttelemään pienissä ryhmissä, joissa oli aina tarjolla parittelukumppaneita ja ruumiita syötäväksi. Osa sopeutui liikkumaan pitkin keinomaailmansa reunaa. Monesti samaan PolyWorld-maailmaan eriytyi useita lajeja, jotka osasivat mm. paeta vihollisia, hidastaa liikkumistaan löytäessään ruokaa, liikkua laumoissa ja aktiivisesti liikkua ruokaa kohti.
Keinoelämään liittyviä töitä ja sen parissa tehtyä tutkimusta on hankala jakaa kategorioihin. Harvoin ovat tiede ja estetiikka näin läheisesti kietoutuneet toisiinsa. Voidaan myös esittää, että keinoelämän tutkijoiden suhde omiin keinoelämäjärjestelmiinsä on monisyinen ja vastaavaa läheisyyttä subjektin, tutkijan/taiteilijan, ja objektin, luodun järjestelmän välillä ei muissa tieteen tai taiteen lajeissa ole (Risan, 1997).
Tiedemaailmassa keinoelämän tutkimus on osa laajempaa, monimutkaisten järjestelmien parissa tehtyä työtä, jossa pääosassa ovat matemaatikot ja tietojenkäsittelytieteilijät. Biotieteilijöiden joukossa innostus keinoelämään on toistaiseksi ollut laimeaa. Kuitenkin keinoelämän avulla voi olla mahdollista selittää luonnon syvällisimpiä mysteerejä, joita ei kenttäkokein ole mahdollista tutkia.
Keinoelämä on yleensä autonomisten agenttien eli itsenäisten toimijoiden muodostama järjestelmä, jossa on mahdollisuus ilmetä tyypillisiä kompleksisia ilmiöitä kuten deterministinen kaaos, katastrofit, itseorganisoituminen ja emergenssi (Holland, 1998). Esimerkiksi erilaisia soluautomaatteja voidaan käyttää malleina, kun pyritään selittämään mm. liikenneruuhkien dynamiikkaa tai muurahaisten yhteistyötä (Resnick, 1997). Keinoelämää voidaan käyttää myös evoluution aikana tapahtuvien massasukupuuttojen fraktaalisten ominaisuuksien (Solé et al., 1997) selvittämiseen.
Kuten tunnettua, tiede toimii siten, että monimutkaisista ilmiöistä laaditaan yksinkertaisempia, yleistettävissä olevia malleja. Tutkittavasta järjestelmästä riippuu, kuinka paljon mallia voidaan yksinkertaistaa, ennen kuin järjestelmän oleellisimmat piirteet häviävät. Teoreettista biologiaa harjoittavat ovat perinteisesti mallintaneet ekosysteemejä suhteellisen yksinkertaisin differentiaaliyhtälöin ja suhtautuneet epäluuloisesti keinoelämään. Joidenkin mielestä autonomisten agenttien vuorovaikutukselle perustuva, perusteiltaan melko monimutkainen keinoelämä alkaa jo olla niin hyvä malli aidosta elämästä, että siitä voisi olla hyötyä biologeillekin (Prusinkiewicz, 1998). Keinoelämän menetelmien soveltamista biologiassa saattaa osaltaan estää myös se, että biologit eivät tunne koko alaa. Esimerkiksi eläinten rakenteen, liikkumistapojen ja käyttäytymisen tutkijat ovat vasta hiljattain alkaneet kiinnostumaan uudesta lähestymistavasta (Hokkanen, 1999).
Yksi keinoelämän mahdollisuuksiin myönteisesti suhtautuvista biologeista on Richard Dawkins. Hän esitteli kirjassaan Sokea kelloseppä (Dawkins, 1989) biomorfit, jotka ovat kaksiulotteisia, geneettisen algoritmin muodostamia hyönteisten muotoja muistuttavia kuvia. Hän käytti niitä luonnonvalinnan ja evoluution perusteiden selventämiseen.
Teoreettiset biologit ovat tehneet tietokonesimulaatioita jo kauan ennen keinoelämän nousua suuren yleisön tietoisuuteen. Miller (1994) on käsitellyt keinoelämän uskottavuusongelmaa tämän tutkijaryhmän silmissä. Hän näkee useita ongelmia keinoelämätutkimuksen menetelmissä, mutta näkee sen myös täydentävän perinteisiä simulointimenetelmiä ja uskoo sen avulla lopulta löydettävän selityksiä monelle teoreettisen biologian avoimelle kysymykselle.
Miller (1994) suosittelee seuraavanlaisen heuristiikan seuraamista, mikäli halutaan keinoelämätutkimuksen täyttävän aidon tieteen kriteerit:
Sellaisia teoreettisen biologian avoimia kysymyksiä, joihin keinoelämä voisi antaa vastauksia, ovat mm. (Miller, 1994)
Luonto on aina ollut suuri motivaation lähde taiteilijoille, joten ei ole ihme, että monet ovat innostuneet keinoelämän mahdollisuuksista. Elämän monimuotoisuus on syntynyt luonnonvalinnan luovan työn seurauksena, ja monet odottavat digitaalisen elämän saavuttavan jonakin päivänä saman esteettisen tason (Ray, 1998). Ars Electronica -näyttely esitteli viimeksi vuonna 1993 laajalti ''geneettistä taidetta'' (Gerbel ja Webel, 1993).
Karl Sims (Sims, 1991, 1993) ja monet muut (Rowbottom, 1999; Witbrock ja Neil-Reilly, 1999) ovat luoneet kaksiulotteisia kuvia (ja kolmiulotteisia tekstuureja) geneettistä ohjelmointia käyttäen. Kuvat ovat matemaattisten funktioiden kuvaajia, geenit määräävät funktiot ja niiden syöttötiedot. Ihminen valitsee kuvista esteettisimmät, joiden perusteella tietokone luo uusia. Tulokset ovat usein silmiä hiveleviä, mutta menetelmä ei muuten ole kovin mielenkiintoinen. Kuvat ovat hyvin abstrakteja ja semanttisesti tyhjiä.
Kuva: Karl Sims'in geneettistä taidetta (Sims (1993), image reproduced with permission from the author).
William Latham ja Stephen Todd (Todd ja Latham, 1992, 1999) toivat 1980-luvulla taiteeseen evolutionismin käsitteen. Tietokoneen ja Mutator-ohjelmiston avulla Latham loi, valikoi ja risteytti keskenään yksinkertaisista kolmiulotteisista perusmuodoista (pallo, sylinteri, kuutio jne.) koostuvia, orgaanista elämää muistuttavia muotoja. Muotojen rakenne ja rakenteeseen tehtävät muunnokset sisältyivät niiden geeneihin. Myös rekursiiviset rakenteet (fraktaalit) olivat mahdollisia. Lathamin järjestelmässä taiteilija teki omat, subjektiiviset valintansa siitä, mihin suuntaan erilaisten muotojen muodostamassa avaruudessa edettiin.
Lathamin muotoja pystyttiin animoimaan määrittelemällä niille tietty ulkomuoto ''syntyhetkellä'', ''aikuisiässä'' ja hetki ennen ''kuolemaa''. Muoto saatiin myös haluttaessa ''synnyttämään'' uusi muoto. Muulla tavoin dynaamisia ne eivät olleet.
Muotojen värit, tekstuuri ja pinnan ominaisuudet määriteltiin myös geenien avulla. Lopullisen kuvan tuottamiseen käytettiin raytracing-tekniikkaa (säteenjäljitys-tekniikka), joka oli ajankohdan edistyksellisin tapa tuottaa todellisuutta muistuttavia kuvia tietokoneen avulla.
Kuva: Eräs Lathamin muodoista (Todd ja Latham (1992), image reproduced with permission from the authors ).
Lathamin yritys Computer Artworks on sittemmin luonut Mutatorin pohjalta Organic Art -näytönsäästäjän PC-koneille.
Keinoelämä on mediataiteilijoille antoisa lähtökohta, sillä siinä on, paitsi mahdollisuus koneen ja ihmisen vuorovaikutukseen, myös kolmas osapuoli: keinotekoinen eliö tai ekosysteemi. Ihminen voi joko kommunikoida etukäteen luodun keinoeliön kanssa, tai ottaa jumalan roolin ja vaikuttaa eliöiden ympäristöön tai perimään. Tällaisia järjestelmiä ovat rakentaneet mm. Sommerer ja Mignonneau (1998). On esitetty, että keinoelämällä olisi käyttöä myös esimerkiksi osana erilaisia virtuaaliympäristöjä (Takala, 1995).
Elokuvantekijät ovat alkaneet käyttää keinoelämää osana erikoistehostevalikoimaansa. Erityisesti joukkokohtauksissa käytetään nykyisin digitaalisia näyttelijöitä, jotka ovat autonomisia agentteja (ts. itsenäisesti toimivia keino-olentoja). Agenttijoukot pysyvät itsenäisesti koossa ns. Boids-menetelmän (Reynolds, 1987) avulla. Näin vältytään animoimasta käsin suuria määriä hahmoja, joiden liikkeiden täsmällisyys ei ole kerrottavan tarinan kannalta oleellista. Erityisesti yksinkertaisten eläinten tapauksessa tämä teknologia toimii hyvin (Terzopoulos, 1998). Kasveja ja muita orgaanisia muotoja ja niiden värityksiä voidaan nykyisten animaatio-ohjelmistojen ns. proseduraalisten ominaisuuksien (jotka ovat läheistä sukua keinoelämässä käytetyille menetelmille) ansiosta mallintaa automaattisesti (Mahoney, 1999).
Keinoelämä tuo mielenkiintoisia mahdollisuuksia tietokonepelien hahmojen kehittämistyöhön (Salminen, 1999), ja olen sitä mieltä, että keinoelämää kannattaisi soveltaa tällä alalla nykyistä enemmän. Luonnon evoluutio on luonut tehokkaita saalistajia, joten digitaalinen luonnonvalinta voisi tuottaa tehokkaita vastustajia tulevaisuuden taistelupeleihin.
Digitaalista elämää käsittelevistä peleistä ensimmäisiä oli ekologiasimulaattori Simlife (Karakotsios, 1993), jossa pelaaja sai suunnitella oman keinomaailmansa ja seurata sen kehittymistä. Tamakotchimaisesta Creatures-pelistä (Grand et al., 1996) on ilmestynyt jo kolme versiota, ja se on erittäin suosittu. Pelaajat voivat opettaa olentojaan ja vaihtaa niitä Internetin välityksellä. Keinotekoista evoluutiota on hyödynnetty myös uudessa räiskintäpelissä Evolva, jossa pelaajan ohjaama hahmo voi liittää geneeihinsä surmaamiensa vastustajien kykyjä antavat geenit.
Keinoelämän yhdistäminen langattomiin tietokoneisiin ja viestintävälineisiin voisi avata uusia mahdollisuuksia ajanvieteteollisuudelle. Uskon, että tulemme näkemään tästä pian esimerkkejä.
Fysiikan mallintaminen tuo keinoelämään uuden vaikeusasteen. Ensinnäkin keinoeliöiden ja niiden asuttaman maailman tulee olla kolmiulotteisia. Simulaatioista tulee laskennallisesti raskaampia, koska neuroverkkojen ja keinotekoisen evoluution mallinnuksen lisäksi pitää ottaa huomioon eliöiden dynamiikka ja vuorovaikutus ympäristönsä kanssa. Lisääntynyt monimutkaisuus tekee järjestelmästä kuitenkin otollisemman ympäristön odottamattomien ilmiöiden emergenssille, ja biologista elämää muistuttavien rakenteiden ja prosessien ilmaantuminen keinomaailmaan ei ole epätodennäköistä.
Inspiraation tähän lopputyöhön sain nähtyäni animaation Karl Sims'in laatikkomaisista keinoeliöistä (Sims, 1994a,b). Toisiinsa liitetyistä suorakulmaisista särmiöistä muodostuvia eliöitä on muotojensa säännöllisyyden takia suhteellisen yksinkertaista mallintaa (Baraff, 1998). Simsin eliöiden morfologia määritellään toisiinsa liitettyjen noodien avulla (ks. kuva 5). Hierarkia alkaa ''torsonoodista'', ja liitosten avulla voidaan saada aikaan myös rekursiota (fraktaalityyppisiä rakenteita). Kunkin liitoksen vapausaste ja liittymiskohta isäntänoodiin määritellään myös eliön geeneissä.
Kuva: Erilaisia genotyyppejä vastaavat rakenteet (Sims (1994a), image reproduced with permission from the author).
Jotta eliölle pystyisi kehittymään liikkumista ja aistimista tukeva yksinkertainen neuroverkko (Nelson ja Illingworth, 1991; Zurada, 1992), kukin noodi sisältää sensoreita, joita on kolmea tyyppiä: liitoskulmasensoreita, kosketussensoreita (kullekin osan tahkolle) ja valosensoreita (kertovat valolähteen suunnan suhteessa osaan). Käytännössä sensorit ovat laskettuja lukuja, joita voidaan käyttää syötteenä eliön neuroneille. Neuroneissa syötteille tehdään jokin geenien määräämä laskutoimitus, ja tulos annetaan ns. effektoreille, joita on vain yhtä tyyppiä: ne kohdistavat voimia eliön liitoksiin (Sims, 1994a).
Kullekin neuronille voi olla vain kolme syötettä, tulosteita on vain yksi. Neuronit voivat olla yhteydessä toisiinsa yhden noodin sisällä tai kuljettaa informaatiota noodista toiseen. Kuhunkin noodiin liittyy neuroneita, mutta eliöllä voi olla myös vapaita neuroneita, joiden avulla on mahdollista muodostua jonkinlainen keskushermosto.
Mutaatiot eliön määrittävissä graafeissa tapahtuvat sitten seuraavasti:
Simsin eliöistä parhaat (annettujen kriteerien perusteella) risteytettiin keskenään uuden sukupolven synnyttämiseksi. Uusia graafeja voidaan luoda kolmella tapaa:
Sims käytti työssään kaikkia edellämainittuja tapoja suhteessa 30%, 30%, 40%.
Kuva: Kaksi Sims'in olentoa kilpailee vihreän kuution hallinnasta (Sims (1994b), image reproduced with permission from the author).
Simsin työ tuotti erittäin luonnollisen näköisesti liikkuvia olentoja, mutta niiden ulkomuoto ei muistuta mitään luonnollista eliötä. Olisiko mahdollista määritellä monimutkaisempi geometria ja saada yhtä hyviä tai parempia tuloksia nyt, kun tietokoneiden laskentateho on moninkertaistunut?
Simsin jalanjälkiä seuraava, uudempi projekti on puolalainen Framsticks (Komosinski ja Ulatowski, 1999). Heidän eliönsä ovat tikkumaisia, joten mallinnukseen voidaan käyttää nopeaa finite element method (FEM) -laskentaa (Hämäläinen ja Järvinen, 1994). Framsticks-eliöillä on myös neuroverkko, erilaisia sensoreita sekä effektoreita. Framsticks-eliöiden neuroneissa käytetään tulosignaalien painotettua summaa, ja neuronin toiminnassa on muisti-ilmiö aidon hermosolun tapaan. Neuroverkon topologiaa ei ole rajoitettu mitenkään.
Framstick-maailmassa voidaan määritellä olennoille jokin kelpoisuuskriteeri tai antaa evoluution kulkea vapaasti, ainoana rajoittimena eliöiden rajallinen ikä. Maailman pinta voidaan määritellä epätasaiseksi, ja lisäkomponenttina on myös vesi.
Eliöiden geenit on koodattu merkkijonoiksi, esimerkki: rfX[|G:1.375]AX[|*:2.036](XX,). Tämä helpottaa niiden tulkintaa ihmisen silmissä. Kuten Simsin järjestelmässä, mutaatiot ja geenien yhdistäminen pitää tehdä muuttumattomien sääntöjen mukaan.
Kuva: Eräs Framsticks-olento (Komosinski ja Ulatowski (1999), image reproduced with permission from the authors).
Framsticks-eliöt kehittyvät liikuntakykyisiksi muutamassa tunnissa nykyisillä työasemilla. Liikettä ja saalistusta monimutkaisempia käyttäytymismekanismeja ei ole esitelty ainakaan projektin kotisivuilla, joten saattaa olla että järjestelmä ei ole riittävän joustava sellaisten syntymiseen (esim. parasitismi).
Uusi fysikaalisesti mallinnetun keinoelämän projekti GOLEM (Lipson ja Pollack, 2000) yhdistää virtuaali- ja reaalimaailman: GOLEMin olentojen annettiin ensin kehittyä simuloidussa maailmassaan, ja sen jälkeen parhaimmat (tässä simulaatiossa kyky liikkua nopeasti pintaa myöten eteenpäin oli kelpoisuuden määräävä tekijä) yksilöt rakennettiin muovista ja askelmoottoreista reaalimaailmassa. Tulokset olivat hyvät: Reaalimaailmaan luodut virtuaaliolennot osasivat etetä myös täällä, joskin hieman hitaammin: muovisten osien lipsuminen liukkaalla pinnalla oli ilmeisesti mallinnettu simulaatiossa huonosti.
GOLEMin olentojen rakenne on mahdollisimman yksinkertainen: ne koostuvat toisiinsa pallonivelillä liitetyistä tikuista, lineaarista efektoreista (lihakset, joita reaalimaailmassa vastaavat askelmoottorit) ja liikettä ohjaavasta neuroverkosta. Evoluutio laitettiin liikkeelle tilanteesta, jossa olennoilla ei ollut mitään rakennetta eikä ainuttakaan neuroverkon neuronia.
Kuva: Virtuaalinen ja reaalinen GOLEM-olento (Lipson ja Pollack (2000), images reproduced with permission of the authors).
Projekti jatkuu: GOLEM@HOME on näytönsäästäjä, jonka avulla kuka tahansa tietokoneen omistaja voi kasvattaa keino-olentoja omalla ruudullaan. Tämä on hajautettua keinoelämää: olennoilla on satunnainen mahdollisuus siirtyä koneelta toiselle, joten populaatiot eivät ole täysin eristettyjä.
Tom Ray on kopioinut Sims'in olentojen periaatteet ja tehnyt simulaatioita lähinnä esteettiset päämäärät mielessään (Ray, 2000). Tuloksena on värikkäitä olentoja, jotka liikkuvat kiehtovasti kosketettaessa. Fysikaaliseen mallinnukseen hän käyttää Mathengine-yhtiön valmiita mallinnusrutiineja.
Kuva: Eräs Tom Rayn ''virtuaalilemmikeistä'' (Ray (2000), image reproduced with permission from the author).
Rayn lähtökohtana on se, että ihmiset voivat ohjata evoluution kulkua valitsemalla keinoeliöistä (''-lemmikeistä'') ne yksilöt jatkamaan sukua, jotka käyttäytyvät heitä miellyttävällä tavalla kosketeltaessa. Rayn mielestä tämä voisi johtaa tilanteeseen, jossa keinolemmikkeihin voi kiintyä aitojen lemmikkieläinten tai koristekasvien tapaan.
Keinoelämän tulevaisuus on tiukasti sidoksissa tietokoneteknologian ja erilaisten mallinnusalgoritmien kehitykseen. Kuten muussakin tietokoneavusteisessa tutkimuksessa, koneilla ei ole nopeutta koskaan riittävästi, vaan kaikille resursseille keksitään kyllä käyttöä.
Oleellinen kysymys keinoelämäjärjestelmää suunniteltaessa onkin se, mitä osa-alueita painotetaan, miten laskentamahdollisuuksia jaetaan, jotta järjestelmän tuottama keinoelämä olisi luonteeltaan mahdollisimman mielenkiintoista ja monimuotoista. Järjestelmän tulisi olla mahdollisimman joustava, jotta erilaisten painotusten vaikutusta erilaisten ilmiöiden emergenssiin voitaisiin tutkia. Emme vielä tiedä, millaiset olosuhteet ovat keinoelämälle optimaaliset.
Ollakseen kiinnostava ja fysikaalisesti mallinnettavissa, keinoeliöllä pitää olla kolmiulotteinen rakenne. Luonnollinen valinta eliöiden geometrian perusyksiköiksi ovat tietokonegrafiikan perusyksiköistä, polygoneista (Foley et al., 1996; Watt, 1989) koostuvat muodot. Koska fysikaaliseen mallinnukseen tarvitaan tietoa eliöiden kokonaismassasta, tilavuudesta, pinta-alasta, törmäyksistä toisiin eliöihin ja muista vastaavista, erilaisten algoritmien avulla eliön rakenteen pohjalta laskettavissa olevista suureista, pitää eliöiden geometria mallintaa huolella siten, että algoritmeja on mahdollista käyttää (Mäntylä, 1987). Jakamalla geometria säännöllisiin osiin, voidaan laskennassa käyttää elementtimenetelmiä ja visualisointi on helpompaa (Ruokolainen ja Gröhn, 1996).
Jos keinoeliöiden rakenne eli morfologia mallinnetaan kyllin yksityiskohtaisesti, simulaatioilla saattaa olla annettavaa teoreettiselle morfologialle esimerkiksi paleontologiassa (Eble, 2000). Tämä on kuitenkin vasta pitkän aikavälin tavoite.
Funes ja Pollack (1998, 1999) ovat tutkineet yksinkertaisten rakenteiden kuten siltojen rakentamista (Lego-palikoista) reaalimaailmassa sen jälkeen, kun rakenne on ensin suunniteltu evolutiivisesti tietokoneella. Suorakulmaisia ja säännöllisiä palikoita on helpompi mallintaa kuin mielivaltaisen muotoisia kappaleita. Jos keinoeliöistä ei ole tarkoitus rakentaa toimivia, fyysisiä malleja, niiden geometriaa ei tarvitse turhaan rajoittaa. Liian abstrakteissa eliöissä on kuitenkin se ongelma, että tietynlaisia yksityiskohtia eläinten rakenteesta etsimään oppinut ihmissilmä menettää merkityksensä tutkimuksen apuvälineenä. Ihminen luo keinoelämästä väistämättä omaa kuvaansa, se pitää muistaa tuloksia tarkasteltaessa.
Niin sanotut L-järjestelmät ovat osoittautuneet toimiviksi erityisesti kasveja mallinnettaessa (Deussen et al., 1998; Mech ja Prusinkiewicz, 1998; Prusinkiewicz et al., 1998). Näiden algoritmien avulla on mahdollista piirtää biologisia kasveja muistuttavia muotoja, jopa niin, että ne ottavat huomioon kasvien ympäristön (valon suunta ja määrä, naapurikasvit) niiden muotoa määriteltäessä. Kukaan ei kuitenkaan ole vielä toistaiseksi luonut L-järjestelmiä hyödyntävää ekosysteemin mallia, jossa esimerkiksi kasvien kasvupaikat määräytyvät niille sopivien olosuhteiden mukaan eivätkä ihmisten määrääminä.
Kuva: L-järjestelmien avulla renderöity metsämaisema (Deussen et al. (1998), image reproduced with permission from the authors).
Luonnollista muistuttavien liikkumistapojen ja realistisen energiatalouden mallintamiseksi on välttämätöntä kiinnittää riittävästi huomiota fysiikan lakien tyydyttävään simulointiin. Keinoeliöiden dynamiikka voidaan mallintaa käyttämällä Newtonin liikelakeja, mihin on olemassa valmiit algoritmit (Baraff, 1998). Eliöiden raajojen liikkeiden vaikutusten selvittämiseen voidaan käyttää mm. elementtimenetelmää (Hämäläinen ja Järvinen, 1994; Haataja et al., 1993). Elementtimenetelmän avulla voidaan laskea eliön osiin vaikuttavia voimia ja esimerkiksi selvittää väliaineen aiheuttama liikevastus. Menetelmä soveltuu hyvin mielivaltaisten kappaleiden laskennalliseen käsittelyyn ja se perustuu fysiikassa yleisten differentiaaliyhtälöiden diskretointiin eli jakamiseen osiin, jako-osiksi voidaan luonnollisesti asettaa keinoeliön geometrian muodostavat perusyksiköt.
Simulaatiossa voidaan tietenkin valita, millaisia luonnonlakeja mallinnetaan. Jotta keinoeliöitä voitaisiin verrata järkevästi biologisiin eliöihin, on kuitenkin syytä yrittää ottaa huomioon perustavaa laatua olevat biofysiikan havainnot (Alexander, 1989; Bell, 1998; Mela, 1969; Pennyquick, 1992; Rubinow, 1975). Tämä tarkoittaa mm. energiankulutuksen järkevää mallinnusta sekä jälkeläisten tuottamiseen liittyvien kustannusten huomioon ottamista. Allometria (McGowan, 1994; Reiss, 1989) eli eliön koon vaikutus mm. energian kulutukseen, kasvunopeuteen ja lisääntymisikään, tulisi myös ottaa mallinnuksessa huomioon ainakin jollakin tasolla.
Oleellisin osa keinoeliötä on neuroverkko (Nelson ja Illingworth, 1991; Zurada, 1992), joka toimii sen keskushermostona ja ohjaa sen liikkeitä ja käyttäytymistä. Neuroverkot ovat biologisten hermojärjestelmien mallin mukaan rakennettuja tietorakenteita, joissa signaalit etenevät verkon solmusta eli neuronista toiseen. Neuroverkkojen prosessoinnin alkumuuttujina toimivat erilaiset simuloitujen aistien tuottamat ärsykkeet ja keinoeliön sisäistä tilaa (asento, jäljelläoleva energia jne.) kuvaavat muuttujat. Signaalit kulkevat yhden tai useamman neuronikerroksen läpi, jotka suodattavat tiettyjä signaaleja ja voimistavat toisia, neuroverkon määrittelevien painotusten mukaan. Prosessoinnin lopputuloksena on käskysignaali jollekin efektorille, kuten lihakselle. Neuroverkkoja voidaan rakentaa monella muullakin tavalla, ja kaikilla edellä esitellyillä kolmiulotteisen keinoelämän toteutuksilla on oma neuroverkkorakenteensa. Neuroverkon rakenteen valinta riippuu projektin tavoitteista ja käytännön toteutuksen tuomista rajoitteista.
Neuroverkko mahdollistaa myös eliön oppimisen, mikäli siinä sallitaan takaisinkytkentä (Holland, 1992, luku 5). Tällöin on mahdollista kehittyä muistin tapaisia rakenteita, joiden sisältämää informaatiota keinoeliö voi myöhemmin käyttää päätöksenteossa hyväkseen.
Kun neuroverkon rakenne määräytyy eliön geenien perusteella, hyödylliset käyttäytymismekanismit ja taipumus uuden oppimiseen yleistyvät nopeasti populaatiossa. Jos keinomaailmassa annetaan eliöille mahdollisuus kommunikointiin siten, että viesteillä on mahdollisuus toimia syötteinä neuroverkkoon, lienee mahdollista havainnoida kulttuurievoluutiota. Kulttuurievoluutiolla tarkoitetaan sellaisia emergenttejä ilmiöitä, jotka ovat järjestelmän historian tuotteita ja joita ei voida johtaa tarkastelemalla keinoeliöiden geenejä millään tietyllä ajanhetkellä.
Järkevästi suunniteltu neuroverkko, jonka evoluutio on mahdollista, luo edellytykset hämmästyttävän edistyksellisten käyttäytymismuotojen kehittymiselle. Terzopoulos et al. (1994) ovat saaneet keinokalat käyttäytymään hyvin luonnollisella tavalla (parveilu, saalistajien välttäminen) yhdistämällä simuloidun näköaistin keinokalojen neuroverkkoon.
Rinnakkaislaskennalla (Haataja ja Mustikkamäki, 1997) tarkoitetaan laskentatehtävän jakamista useammalle tietokoneen prosessorille, joilloin tehtävän ratkaisuun kuluva kokonaisaika pienenee. Koska keinomaailman simulointi on erittäin monimutkainen ja paljon laskentaa vaativa työ, rinnakkaistaminen pitää ottaa lähtökohdaksi jo järjestelmää suunniteltaessa. Kaikkia laskentatehtäviä ei voi jakaa osiin ja rinnakkaistaa. Oletettavasti monien eliöiden muodostamassa keinoekologiassa rinnakkaistaminen saattaisi toimia siten, että yksittäisten eliöiden simulointi jaetaan eri prosessoreille.
Erikoistapaus rinnakkaislaskennasta on nykyisin muodikas massiivinen rinnakkaistaminen, jossa laskentatehtävä jaetaan jopa satojen tuhansien vapaaehtoisten työasemille internetin välityksellä. Tätä tapaa kannattaa suositella ainakin yhdeksi mahdollisuudeksi, sillä se lisää projektin tunnettuutta huomattavasti (mutta samalla aiheuttaa aikaa vievän tarpeen koordinoida laskentaa).
Keinomaailman rakenne ilman muuta vaikuttaa siihen, mihin suuntaan keinoeliöt alkavat kehittyä. Tutkimuskäytössä olisi parasta, jos keinomaailma olisi mahdollisimman geneerinen ja muunneltavissa tehtävän työn mukaan. Tähän mennessä miltei jokainen keinoelämän kanssa työskennellut on tyhjästä rakentanut oman ympäristönsä (Terzopoulos et al., 1996; Ventrella, 1998, 1999; Yaeger, 1994).
Pienetkin päätökset vaikuttavat suuresti kokonaisuuteen. Tutkitaanko vain yhden lajin evoluutiota, vain halutaanko tarkastella esimerkisi eri lajien rinnakkaisevoluutiota (Reynolds, 1994)? Otetaanko mukaan solutason dynamiikka, halutaanko tutkia yksilön kasvua muutaman perusyksikön mudostamasta alkiosta asti (Eggenberger, 1997)? Sallitaanko loisiminen eli parasitismi, toisten lajien hyväksikäyttö, jonka on osoitettu olevan merkittävä evoluutiota edistävä tekijä (Rötzer, 1993)?
Alemmalla tasolla pitää päättää, miten eliöiden perimä, geenit, koodataan. Jos geenien annetaan vaikuttaa toisiinsa, kuten luonnossa ilmeisesti on hyvin yleistä, miten se vaikuttaa keinoelämäympäristön kompleksisuuteen? Toinen avoin kysymys on tapa, miten valinta tehdään luotaessa jälkeläisiä. Valitaanko vanhemmat satunnaisesti koko populaatiosta vai suositaanko lokaaleja vuorovaikutuksia? Määritelläänko sukupuolien määräksi kaksi vai annetaanko senkin olla vapaa, evoluution muokattavissa oleva muuttuja?
Jos keinoelämää on tarkoitus käyttää ekosysteemien tutkimiseen, on järjestelmissä oltava mahdollisuus keinoeliöiden elinympäristön muokkaamiseen riittävän diversiteetin luomiseksi. Tarvitaan keinoja luoda erilaisia elinympäristöjä, jotka eivät ole välittömästi yhteydessä toisiinsa. On myöskin täysin avoin kysymys, kuinka suuri keinoympäristön tulee olla, jotta evoluutio ei heti pysähdy tietylle tasolle ja uusille innovaatioille jää rauha kehittyä?
Luonnon ekosysteemit ovat äärimmäisen monimutkaisia järjestelmiä, joten sellaisen jäljittely ei ole yksinkertaista. Keinoelämän tällä alueella on toistaiseksi vain vähän kulkijoita.
Keinoelämän tulevaisuus näyttää valoisalta. Tietokoneiden suorituskyky kasvaa tasaisen kiihtyvästi, joten yhä monimutkaisempia geometrioita, tiheämpiä neuroverkkoja, realistisempaa fysikaalista mallinnusta ja suurempia populaatioita voidaan käyttää huomispäivän keinoelämäsimulaatioissa. Edes yksinkertaisimpien yksisoluisten organismien kompleksisuutta vastaavia keino-olentoja tuskin saadaan aikaan nykyisillä tietokoneteknologioilla, mutta sitä tavoittelemalla voimme oppia uusia asioita aidosta elämästä.
Geneesys (GENEEttinen SYSteemi) on nimi hahmottelemalleni projektille, jonka tarkoituksena on kehittää uusi, moneen tarkoitukseen sopiva keinoelämäympäristö. Sen keskeisimmät tavoitteet on esitelty alla.
Geneesyksen keinoeliöiden geometrian pitää voida olla monimutkaisempi kuin nykyisissä ympäristöissä. Ideaalisesti olennoille pitäisi pystyä kehittymään sisäisiä rakenteita ja erikoistuneita elimiä. Erikoistuneet elimet vaativat erilaisia kudostyyppejä, joilla on erilaiset fysikaaliset ominaisuudet (kuten tiheys, kovuus, energiasisältö, kitkakerroin, läpinäkyvyys, taitekerroin, kimmokerroin, vetolujuus jne.) tai muuten määriteltyjä erikoisominaisuuksia (kyky sulattaa kudoksia energiaksi, kyky ''haistaa'', kyky vastaanottaa vieraita geenejä). Esimerkkejä erikoistuneista elimistä ovat mm. silmät, kova ulkokuori, tarttumaelimet, sisäelimet ja sukupuolielimet.
Olentojen geometrian perusyksikön pitää käytännössä koostua tietokonegrafiikan perusyksiköistä, kolmikulmaisista ja litteistä polygoneista (Foley et al., 1996; Watt, 1989). Geometrian perusyksikkö ei voi olla litteä (nollatilavuuksinen), joten niiden pitää muodostua useasta toisiinsa liitetystä polygonista. Ehdokkaita Geneesyksen perusyksiköiksi ovat neljän kolmion muostostama tetraedri ja kahden kolmion ja kolmen neliön muodostama ''palkki'', ks. kuva 11.
Kuva: Geneesyksen eliöiden rakenteen perusosat
Perusyksiköt voisivat liittyä toisiinsa kolmella tavalla.
Yllä luetellut kolme liitostapaa mahdollistavat jo joitakin mielenkiintoisia dynaamisia rakenteita. Niiden lisäksi on kuitenkin määriteltävä myös perusyksiköille tiettyä joustavuutta, niiden muotoa on voitava muuttaa efektorein.
On mahdoton sanoa etukäteen, miten toimiva edellä kuvailtu perusyksiköistä muodostuva geometria on. Se selviää vain testaamalla eri vaihtoehtoja. Täysin mielivaltainen geometria vaatisi runsaasti tietokoneen laskentatehoa ja ehkä uusien algoritmien kehittämistä, mutta se nostaisi keinoelämän monimuotoisuuden aivan uudelle tasolle. Mielenkiintoista olisi mm. seurata, onko luonnossa yleisesti esiintyvä symmetria (Weyl, 1999) emergentti ominaisuus myös keinoeliöillä.
Jotta voitaisiin seurata myös yksilönkehitystä Geneesys-ympäristössä, keinoeliöiden fenotyypin (ulkomuodon) pitää voida muuttua olennon vanhentuessa. Geenien tulee siis määritellä rakenteen kehityksen vaiheet, mahdollisesti jollakin L-järjestelmiä muistuttavalla tavalla. Myös vammautumisen (raajan katkeaminen yms.) tulee olla mahdollista (jos halutaan, tämä voi näkyä myös geeneissä, jolloin voidaan tutkia lamarckismin vaikutuksia keinoelämään!).
Olentojen ulkomuodon pitäisi olla ihmissilmää miellyttävä, mikäli mahdollista. Tämä tarkoitaa värien, läpinäkyvyyden ja pehmeiden pintojen käyttöä visualisoinnissa, mikäli käytettävissä olevat resurssit antavat myöten.
Eri kudostyyppien lisäksi olennoilla tulisi olla käytössään monipuolinen sensorivalikoima, joka mahdollistaisi kaikki tuntemamme aistit (näkö-, tunto-, kuulo-, haju- ja makuaisti) ja mahdollisesti myös muita, jotka ovat tietokonegrafiikan muodostamassa maailmassa luonnollisia. Aistien reseptorit kannattaa sitoa geometrian perusyksiköiden polygonien ominaisuuksiksi.
Aistit mahdollistavat eliöiden välisen kommunikaation ja mahdollisesti kulttuurievoluution. Niiden avulla eliön neuroverkko on yhteydessä ympäristöön. Aistien käytölle tulisi järjestelmässä antaa jokin hinta, esimerkiksi lisääntyneenä energiakulutuksena. Tällöin erikoistuminen tulee kannattavaksi.
Ympäristön fysiikka ja energiankulutus tulee mallintaa mahdollisimman realistisesti, kuten selostettu kohdassa 3.2.2.
Merkki hyvästä fysiikan mallinnuksesta on mm. se, että suurin osa eliöistä olisi pieniä, kuten todellisuudessakin (bakteereja on enemmän kuin ihmisiä). Olisi mielenkiintoista nähdä, minkälaisia ravintoketjuja keinomaailmassa syntyisi.
Mallinnettavan keinomaailman pitää olla riittävän suuri ja rakenteeltaan vaihteleva (jos niin halutaan), jotta erilaisten keinoeläinlajien syntyminen olisi mahdollista. Maailma voisi esimerkiksi sisältää kuivan maan lisäksi vettä ja ilmakehän, joilla luonnollisesti on omat fysikaaliset ominaisuutensa. Ulkoisia parametreja voisi varioida myös muilla tavoin, jotka olisivat keinotekoiselle ympäristölle "luonnollisempia". Parametrejahan on tietokoneessa hyvin helppo varioida paikan funktiona simuloidussa tilassa.
Keino-olennoilla tulee olla keinoja fyysisesti muokata ympäristöään (pesien rakentaminen jne.) Erilaisten kudostyyppien kasvattamiseksi eliön on saatava ympäristöstään niihin tarvittavia, simuloituja alkuaineita joko suoraan tai syömällä muita eliöitä.
Järjestelmän avulla pitää pystyä mallintamaan, paitsi yksilöiden, myös populaatioiden ja eri lajien evoluutiota. Monimutkaisten lajien välisten vuorovaikutusten kuten symbioosin ja loisimisen tulee olla mahdollista.
Järjestelmää tulee voida käyttää ainakin kahdella eri tavalla: eräajoina (jolloin evoluutio etenee laskentanopeuden määräämällä nopeudella) ja interaktiivisesti (jolloin aika etenee normaalia tahtia, ja olentojen elämää voidaan seurata reaaliajassa).
Geneesys-projektin osana pitää toteuttaa myös ohjelma simulaatioiden tulosten analysointiin.
Geneesys on iso projekti, ja on melkoisen varmaa, ettei kaikkia yllä luettelemiani tavoitteita voida toteuttaa (aikanaan kokonaisuutena) vielä moneen vuoteen. Työ voidaan toki aloittaa esimerkiksi ehdotetun geometrian toimivuutta kokeilemalla ja kehittämällä keinoeliöiden geeneille soveltuva esitystapa. Kiinnostuneita yhteistyökumppaneita pitää etsiä biotieteiden edustajista.
Olen tässä lopputyössä esitellyt tämän hetken tilanteen fysikaalisesti mallinnetun, kolmiulotteisen keinoelämän parissa tehtävästä työstä. Väistämättä näin laajan aiheen käsittely on jäänyt ajan puutteen takia hyvin yleiselle tasolle. Esittämäni Geneesys-projektin tavoitteet vaikuttavat kirjoittamishetkellä järkeviltä, mutta olen varma, että projektin edetessä suunnitelmat tulevat muuttumaan useaan otteeseen.
Haluan lopuksi kiittää lopputyöni ohjaajia, professori Timo Honkelaa ja filosofian tohtori Jyrki Hokkasta heidän antamastaan tuesta ja hedelmällisestä palautteesta.
Tämän HTML-dokumentin tekemisessä on käytetty Nikos Drakosin LaTeX2HTML -ohjelmiston versiota 96.1-h. (Uudempikin versio ko. ohjelmasta on tosin olemassa.)