Geneesys — katsaus kolmiulotteiseen keinoelämään nyt ja hahmotelmia tulevaisuudesta

Master of Arts (New Media) -tutkinnon lopputyö
Joulukuu 2000

Tomi Salminen
Medialaboratorio, Taideteollinen korkeakoulu

Tiivistelmä:

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.

HUOM! Tästä dokumentista on myös tulostamiseen tarkoitettu PDF-versio (771 kB)!

Sisältö

Johdanto

Keinoelämän määritelmä

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):

  1. kyky evoluutioon (Darwin, 1980),
  2. kyky itsensä jäljentämiseen,
  3. kyky kasvuun ja erilaistumiseen geneettisen ohjelman pohjalta,
  4. kyky aineenvaihduntaan ts. energian sitomiseen ja vapauttamiseen,
  5. kyky itsesäätelyyn, jonka ansiosta mutkikas systeemi pysyy vakaassa tilassa,
  6. kyky reagointiin ympäristöstä tuleviin ärsykkeisiin aistien ja havaitsemisen avulla, sekä
  7. kyky muuntumiseen kahdella tasolla, fenotyyppisellä (ulkomuoto) ja genotyyppisellä (perintötekijät).

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än viehätys

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.)

figure58
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 historiaa

soluautomaatit

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:

I luokka:
soluautomaatti siirtyy nopeasti homogeeniseen, stabiiliin tilaan, jossa kaikilla soluilla on sama, muuttumaton arvo
II luokka:
soluautomaatti siirtyy nopeasti tilaan, jossa solujen arvot muuttuvat säännöllisen syklin mukaan
III luokka:
soluautomaatti on kaoottinen, ilman havaittavaa järjestystä tai jaksollisuutta
IV luokka:
soluautomaatit, jotka eivät kuulu mihinkään kolmesta ensimmäisestä luokasta. Mielenkiintoisin luokka.

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

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:

  1. Luodaan n ratkaisun populaatio, jonka yksilöiden geenit valitaan satunnaisesti
  2. Määritetään kunkin ratkaisun hyvyys matemaattisesti
  3. Toistetaan seuraavia askelia, kunnes n jälkeläistä on luotu
    1. Valitaan populaatiosta risteytettäväksi kaksi ratkaisua siten, että hyvillä ratkaisuilla on suurempi todennäköisyys tulla valituksi kuin vähemmän hyvillä. Ratkaisu voidaan valita risteytettäväksi useamminkin kuin vain kerran.
    2. Todennäköisyydellä pc valitut ratkaisut jaetaan kahteen osaan ja osia vaihtamalla luodaan kaksi uutta ratkaisua. Tämä askel imitoi luonnossa tapahtuvaa kromosomien rekombinaatiota (crossover). Jos rekombiaatiota ei tapahdu, jälkeläisratkaisut ovat vanhempiensa identtisiä kopiota.
    3. Todennäköisyydellä pm tapahtuu mutaatio, eli ratkaisun jotain geeniä muutetaan satunnaisesti.
  4. Korvataan alkuperäinen ratkaisupopulaatio uudella populaatiolla.
  5. Palataan kohtaan 2, mikäli riittävän hyvää ratkaisua ei löytynyt.

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

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.

populaatioiden mallinnus

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.

figure58
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ä tieteenä ja taiteena

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).

Keinoelämä tieteenä

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.

kompleksiset systeemit

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.

teoreettinen biologia

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:

  1. Valitse tunnettu, ratkaisematon teoreettisen biologian ongelma, jota voidaan yrittää ratkaista tietokonesimulaation avulla. Tämä vaatii syvällistä alan julkaisujen tuntemusta.
  2. Tee yhteistyötä valitun ongelman parissa työskentelevien biologien kanssa. Keinoelämätutkijalla tulee olla jotain annettavaa yhteistyöhön (ohjelmointitaitoja, tietoja keinoelämän parissa tehdystä työstä) ja riittävästi kunnioitusta yhteistyökumppaneiden kokemusta kohtaan.
  3. Lue ongelmasta kirjoitetut tutkimukset. Avainjulkaisut, uusimmat oppikirjat jne.
  4. Suunnittele hyvin rajattu simulaatio joka laajentaa nykyisiä teoreettisen biologian malleja ja antaa vertailukelpoisia tuloksia. Hyvä lähtökohta on ottaa tunnettu, yksinkertainen malli ja lieventää siinä tehtyjä oletuksia yksi kerrallaan.
  5. Tutki syitä ja seurauksia simulaatiossa tekemällä järjestelmällisiä vertailuja eri olosuhteiden välillä. Keinoelämäsimulaatiot tuottavat helposti runsaasti dataa, jonka analysointiin pitää kehittää omat menetelmänsä. Ohjelmakoodit pitää tarkastaa huolellisesti virheiden varalta.
  6. Julkaise tulokset biologien luottamissa julkaisuissa. Käytä alan omaa kieltä.

Sellaisia teoreettisen biologian avoimia kysymyksiä, joihin keinoelämä voisi antaa vastauksia, ovat mm. (Miller, 1994)

Keinoelämä taiteena

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).

staattinen 2D

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ä.

figure58
Kuva: Karl Sims'in geneettistä taidetta (Sims (1993), image reproduced with permission from the author).

staattinen 3D

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.

figure58
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.

interaktiiviset installaatiot

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).

elokuvat

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).

tietokonepelit

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ä.

Fysikaalisesti mallinnettu keinoelämä

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ä.

Nykyiset toteutukset

Karl Sims: Creatures

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ä.

figure167
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:

  1. Noodin sisäisten parametrien arvot voivat muuttua. Pieniä muutoksia painotetaan.
  2. Täysin uusi noodi voi syntyä. Se ei vaikuta eliön rakenteeseen ja se poistetaan, mikäli sitä ei liitetä eliöön toisen mutaation seurauksena (ks. seuraavat kohdat).
  3. Noodien välisten liitosten parametrit voivat muuttua, ja liitos voi tietyllä todennäköisyydellä vaihtaa paikkaa.
  4. Noodien välisiä liitoksia voidaan lisätä ja poistaa.
  5. Lopuksi uudet noodit, joita ei ole liitetty eliöön, poistetaan geeneistä.

Simsin eliöistä parhaat (annettujen kriteerien perusteella) risteytettiin keskenään uuden sukupolven synnyttämiseksi. Uusia graafeja voidaan luoda kolmella tapaa:

  1. Ristiinkytkennällä (crossover), jolloin osa uudesta graafista kopioidaan toiselta ja osa toiselta vanhemmalta.
  2. Yhdistämällä kaksi graafia siten, että toisen noodeista tehdään satunnainen liitos toiseen, ja poistamalla operaation jälkeen liitosta vailla jääneet noodit.
  3. Suvuttomasti, jolloin uusi graafi saadaan mutatoimalla vain toista vanhempaa.

Sims käytti työssään kaikkia edellämainittuja tapoja suhteessa 30%, 30%, 40%.


figure179



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?

Framsticks

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.

figure58
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).

GOLEM

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.


figure196

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: Virtual Pets

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.

figure58
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 teknologiset haasteet

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.

keinoeliöiden geometria

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ä.

figure58
Kuva: L-järjestelmien avulla renderöity metsämaisema (Deussen et al. (1998), image reproduced with permission from the authors).

fysiikan mallinnus

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.

neuroverkot

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.

rinnakkaislaskenta

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).

keinotekoisen ekosysteemin suunnittelu

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.

Geneesys-projekti

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.

Tavoitteet

eliöiden rakenne

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.

 figure246
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.

aistit

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.

fysiikka

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.

ympäristö

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ä

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.

Aikataulu

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.

Loppusanat

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.

Viitteet

Christoph Adami.
Introduction to artificial life.
Springer-Verlag, 1998.
ISBN 0-387-94646-2.
Jarmo T. Alander.
Geneettisten algoritmien mahdollisuudet.
Teknologiakatsaus 59, TEKES, 1998.
R. McNeill Alexander.
Dynamics of Dinosaurs & other Extinct Giants.
Columbia University Press, 1989.
ISBN 0-231-06666-X.
Wolfgang Banzhaf, Peter Nordin, Robert E. Keller ja Frank D. Francone.
Genetic programming: An introduction: On the automatic evolution of computer programs and its applications.
Morgan Kaufmann, 1998.
ISBN 1-55860-510-X.
David Baraff.
Rigid body simulation.
Siggraph '98 Course Notes CD-ROM, 1998.
Frank Bell.
Principles of Mechanics and Biomechanics.
Stanley Thornes, 1998.
ISBN 0-7487-3332-9.
Peter Bentley.
An introduction to evolutionary design by computers.
Teoksessa Peter J. Bentley, toimittaja, Evolutionary Design by Computers, luku 1. Morgan Kaufmann Publishers, 1999.
ISBN 1-55860-605-X.
Charles Darwin.
Lajien synty.
Kirjayhtymä, 1980.
ISBN 951-26-1843-5.
Richard Dawkins.
Sokea kelloseppä.
WSOY, 1989.
ISBN 951-0-15863-1.
Oliver Deussen, Pat Hanrahan, Bernd Lintermann, Radomír Mech, Matt Pharr ja Przemyslaw Prusinkiewicz.
Realistic modeling and rendering of plant ecosystems.
Siggraph '98 Course Notes CD-ROM, 1998.
George Dyson.
Darwin among the Machines.
Penguin Books, 1999.
Gunther J. Eble.
Theoretical morphology: state of the art.
2000.
http://www.santafe.edu/sfi/publications/Working-Papers/00-08-045.pdf.
Peter Eggenberger.
Evolving morphologies of simulated 3d organisms based on differential gene expression.
Teoksessa Phil Husbands ja Inman Harvey, toimittajat, Fourth European Conference on Artificial Life. MIT Press, 1997.
ftp://ftp.cogs.susx.ac.uk/pub/ecal97/online/F068.ps.gz.
Claus Emmeche.
Tekoelämä.
Art House, 1995.
ISBN 951-884-162-4.
James D. Foley, Andries van Dam, Steven K. Feiner ja John F. Hughes.
Computer Graphics - principles and practice.
Addison-Wesley, toinen painos, 1996.
ISBN 0-201-84840-6.
Pablo J. Funes ja Jordan B. Pollack.
Evolutionary body building: Adaptive physical designs for robots.
Teoksessa Artificial Life, osa 4, sivut 337-357. 1998.
http://www.demo.cs.brandeis.edu/papers/funpolalife.pdf.
Pablo J. Funes ja Jordan B. Pollack.
Computer evolution of buildable objects.
Teoksessa P. Bentley, toimittaja, Evolutionary Design by Computers, sivut 387-403. Morgan Kaufmann, 1999.
http://www.demo.cs.brandeis.edu/papers/edc98.pdf.
Karl Gerbel ja Peter Webel, toimittajat.
Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Stephen Jay Gould.
Ihmeellinen elämä.
Art House, 1991.
ISBN 951-884-088-1.
Stephen Grand, dave Cliff ja Anil Malhotra.
Creatures: artificial life autonomous software agents for home entertainment.
Cognitive Science Research Paper 434, School of Cognitive and Computing Sciences, University of Sussex, 1996.
http://www.cogs.susx.ac.uk/cgi-bin/htmlcogsreps?csrp434.
Juha Haataja, Juhani Käpyaho ja Jussi Rahola.
Numeeriset menetelmät.
CSC - Tieteellinen Laskenta Oy, 1993.
ISBN 952-9821-00-X.
Juha Haataja ja Kaj Mustikkamäki.
Rinnakkaisohjelmointi MPI:llä.
CSC - Tieteellinen Laskenta Oy, 1997.
ISBN 952-9821-41-7.
Aarne Halme ja Mika Vainio.
Muurahaisten jalanjäljillä - kävelevät koneet, robottiyhteisöt ja niiden ohjaus.
Teoksessa Eero Hyvönen ja Jouko Seppänen, toimittajat, Keinoelämä - Artificial Life. Tekniikkaa, luonnontiedettä, filosofiaa ja taidetta. Suomen Tekoälyseura ry, 1995.
ISBN 951-22-2607-3.
Jari Hämäläinen ja Jari Järvinen.
Elementtimenetelmä virtauslaskennassa.
CSC - Tieteellinen laskenta Oy, 1994.
ISBN 952-9821-07-7.
Jyrki Hokkanen.
Visual simulations, artificial animals and virtual ecosystems.
The Journal of Experimental Biology, 202, 3477-3484, 1999.
John H. Holland.
Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence.
MIT Press, 1992.
ISBN 0-262-58111-6.
John H. Holland.
Emergence - from Chaos to Order.
Perseus Books, 1998.
ISBN 0-7382-0142-1.
Eero Hyvönen ja Jouko Seppänen, toimittajat.
Keinoelämä - Artificial Life. Tekniikkaa, luonnontiedettä, filosofiaa ja taidetta. Suomen Tekoälyseura ry, 1995.
ISBN 951-22-2607-3.
Ken Karakotsios.
The new frontier.
Teoksessa Karl Gerbel ja Peter Webel, toimittajat, Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Aki Kivelä.
Tierra - ohjelmaolioiden evoluutiota ja ekologiaa.
Teoksessa Eero Hyvönen ja Jouko Seppänen, toimittajat, Keinoelämä - Artificial Life. Tekniikkaa, luonnontiedettä, filosofiaa ja taidetta. Suomen Tekoälyseura ry, 1995.
ISBN 951-22-2607-3.
Maciej Komosinski ja Szymon Ulatowski.
Framsticks: towards a simulation of a nature-like world, creatures and evolution.
Teoksessa Proceedings of 5th European Conference on Artificial Life (ECAL99). Springer-Verlag, 1999.
http://www.frams.poznan.pl/ .
Christopher G. Langton.
Artificial life.
Teoksessa Karl Gerbel ja Peter Webel, toimittajat, Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Steven Levy.
Artificial Life - a report from the frontier where computers meet biology.
Vintage Books, 1992.
ISBN 0-679-74389-8.
Hod Lipson ja Jordan B. Pollack.
Automatic design and manufacture of robotic lifeforms.
Nature, 406, 974-978, 2000.
http://www.demo.cs.brandeis.edu/golem/.
Diana Phillips Mahoney.
Powerful procedures.
Computer Graphics World, 22, no. 8, 32-40, 1999.
Martti Mäntylä.
An Introduction to Solid Modeling.
Computer Science Press, 1987.
ISBN 0-88175-108-1.
Ernst Mayr.
Biologia - elämän tiede.
Art House, 1999.
ISBN 951-884-241-8.
Chris McGowan.
Diatoms to Dinosaurs - The Size and Scale of Living Things.
Island Press, 1994.
ISBN 1-55963-304-2.
Radomír Mech ja Przemyslaw Prusinkiewicz.
Visual models of plants interacting with their environment.
Siggraph '98 Course Notes CD-ROM, 1998.
M. J. Mela.
Johdatus biofysiikkaan.
Gummerus, 1969.
Geoffrey E. Miller.
Artificial life as theoretical biology: how to do real science with computer simulation.
Cognitive Science Research Paper 378, School of Cognitive and Computing Sciences, University of Sussex, 1994.
ftp://ftp.cogs.susx.ac.uk/pub/reports/csrp/csrp378.ps.Z.
Melanie Mitchell.
An introduction to genetic algorithms.
MIT Press, 1996.
ISBN 0-262-63185-7.
Richard Morris.
Artificial worlds - computers, complexity and the riddle of life.
Plenum Trade, 1999.
ISBN 0-306-46002-5.
Marilyn McCord Nelson ja W. T. Illingworth.
A practical guide to neural nets.
Addison-Wesley, 1991.
ISBN 0-201-52376-0.
C. J. Pennyquick.
Newton Rules Biology.
Oxford University Press, 1992.
ISBN 0-19-854021-3.
Przemyslaw Prusinkiewicz.
In search of the right abstraction: The synergy between art, science, and information technology in the modeling of natural phenomena.
Teoksessa Christa Sommerer ja Laurent Mignonneau, toimittajat, Art@Science. Springer-Verlag, 1998.
ISBN 3-211-82953-9.
Przemyslaw Prusinkiewicz, Mark Hammel ja Radomír Mech.
The artificial life of plants.
Siggraph '98 Course Notes CD-ROM, 1998.
Thomas S. Ray.
How i created life in a virtual universe.
1993.
http://www.hip.atr.co.jp/~ray/pubs/nathist/.
Thomas S. Ray.
Evolution as artist.
Teoksessa Christa Sommerer ja Laurent Mignonneau, toimittajat, Art@Science. Springer-Verlag, 1998.
ISBN 3-211-82953-9.
Thomas S. Ray.
Aesthetically evolved virtual pets.
2000.
http://www.hip.atr.co.jp/~ray/pubs/alife7a/.
M. J. Reiss.
The Allometry of Growth and Reproduction.
Cambridge University Press, 1989.
ISBN 0-521-42358-9.
Mitchell Resnick.
Turtles, termites, and traffic jams. Explorations in massively parallel microworlds.
MIT Press, 1997.
ISBN 0-262-68093-9.
Craig W. Reynolds.
Flocks, herds, and schools: A distributed behavioural model.
Teoksessa Maureen C. Stone, toimittaja, Computer Graphics - Siggraph '87 Conference Proceedings, sivut 25-34. ACM, 1987.
Craig W. Reynolds.
Competition, coevolution and the game of tag.
Teoksessa Rodney A. Brooks ja Pattie Maes, toimittajat, Artificial Life IV: Proceedings of the Fourth International Workshop on the Synthesis and Simulation of Living Systems, sivut 59-69. MIT Press, 1994.
Lars Risan.
''why are there so few biologists here?'' - artificial life as a theoretical biology of artistry.
1997.
ftp://ftp.cogs.susx.ac.uk/pub/ecal97/online/F036.ps.gz.
Florian Rötzer.
Praise to the parasites.
Teoksessa Karl Gerbel ja Peter Webel, toimittajat, Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Andrew Rowbottom.
Evolutionary art and form.
Teoksessa Peter J. Bentley, toimittaja, Evolutionary Design by Computers, luku 11. Morgan Kaufmann Publishers, 1999.
ISBN 1-55860-605-X.
S. I. Rubinow.
Introduction to Mathematical Biology.
Wiley, 1975.
ISBN 0-471-74446-8.
Juha Ruokolainen ja Matti Gröhn.
Tieteellinen visualisointi.
CSC - Tieteellinen laskenta Oy, 1996.
ISBN 952-9821-24-7.
Tomi Salminen.
Fysikaalisesti mallinnettu keinoelämä ja tietokonepelit - elinkelpoinen yhdistelmä?
Teoksessa Timo Honkela, toimittaja, Pelit, tietokone ja ihminen. Suomen Tekoälyseura ry, 1999.
ISBN 951-22-4535-3.
http://mlab.uiah.fi/~tosalmin/projektit/sd/alife3dpelit.html.
Karl Sims.
Artificial evolution for computer graphics.
Teoksessa Computer Graphics - Siggraph '91 Conference Proceedings, sivut 319-328. ACM, 1991.
http://www.genarts.com/karl/papers/siggraph91.html.
Karl Sims.
Genetische bilder - genetic images.
Teoksessa Karl Gerbel ja Peter Webel, toimittajat, Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Karl Sims.
Evolving 3d morphology and behaviour by competition.
Teoksessa R. Brooks ja P. Maes, toimittajat, Artificial Life IV Proceedings, sivut 28-39. MIT Press, 1994a.
http://www.genarts.com/karl/papers/alife94.ps.
Karl Sims.
Evolving virtual creatures.
Teoksessa Computer Graphics Proceedings, Annual Conference Series (Siggraph '94), sivut 15-22. ACM Siggraph, 1994b.
http://www.genarts.com/karl/papers/siggraph94.ps.
Ricard V. Solé, Susanna C. Manrubia, Michael Benton, Stuart Kauffman ja Per Bak.
Criticality and scaling in evolutionary ecology.
1997.
http://www.santafe.edu/sfi/publications/Working-Papers/97-12-086.ps.
Christa Sommerer ja Laurent Mignonneau.
Art as a living system.
Teoksessa Christa Sommerer ja Laurent Mignonneau, toimittajat, Art@Science. Springer-Verlag, 1998.
ISBN 3-211-82953-9.
Tapio Takala.
Keinoelämää virtuaalitodellisuudessa - hyttysiä ja muita ötököitä.
Teoksessa Eero Hyvönen ja Jouko Seppänen, toimittajat, Keinoelämä - Artificial Life. Tekniikkaa, luonnontiedettä, filosofiaa ja taidetta. Suomen Tekoälyseura ry, 1995.
ISBN 951-22-2607-3.
Demetri Terzopoulos.
Artificial life for computer animation.
Teoksessa Christa Sommerer ja Laurent Mignonneau, toimittajat, Art@Science. Springer-Verlag, 1998.
ISBN 3-211-82953-9.
Demetri Terzopoulos, Tamer Rabie ja Radek Grzeszczuk.
Perception and learning in artificial animals.
Teoksessa Articifial Life V: Proceedings of the 5th International Conference of Living Systems, sivut 313-320. MIT Press, 1996.
Demetri Terzopoulos, Xiaoyuan Tu ja Radek Grzeszczuk.
Artificial fishes: Autonomous locomotion, perception, behavior, and learning in a simulated physical world.
Artificial Life, 1, no. 4, 327-351, 1994.
D'Arcy Thompson.
On Growth and Form.
Cambridge University Press, 1961.
ISBN 0-521-43776-8.
Mark W. Tilden.
Die evolution funktionaler robo-ökologien - the evolution of functional robo-ecologies.
Teoksessa Karl Gerbel ja Peter Webel, toimittajat, Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Stephen Todd ja William Latham.
Evolutionary Art and Computers.
Academic Press, 1992.
ISBN 0-12-437185-X.
Stephen Todd ja William Latham.
The mutation and growth of art by computers.
Teoksessa Peter J. Bentley, toimittaja, Evolutionary Design by Computers, luku 9. Morgan Kaufmann Publishers, 1999.
ISBN 1-55860-605-X.
Jeffrey Ventrella.
Attractiveness vs efficiency (how mate preference affects locomotion in the evolution of artificial swimming organisms).
Teoksessa Artificial Life VI: Proceedings of The 6th International Conference on Artificial Life, sivut 178-186. MIT Press, 1998.
ISBN 0-262-51099-5.
Jeffrey Ventrella.
Animated artificial life.
Teoksessa Jean-Claude Heudin, toimittaja, Virtual Worlds: Synthetic Universes, Digital Life, and Complexity, luku 3. Perseus Books, 1999.
http://www.ventrella.com/.
Alan Watt.
Fundamentals of three-dimensional computer graphics.
Addison-Wesley, 1989.
ISBN 0-201-15442-0.
Hermann Weyl.
Symmetria.
Terra Cognita, 1999.
ISBN 952-5202-16-X.
Michael Witbrock ja Scott Neil-Reilly.
Evolving genetic art.
Teoksessa Peter J. Bentley, toimittaja, Evolutionary Design by Computers, luku 10. Morgan Kaufmann Publishers, 1999.
ISBN 1-55860-605-X.
http://www.geneticart.org/.
Stephen Wolfram.
Cellular automata and complexity: collected papers.
Addison-Wesley, 1994.
ISBN 0-201-62716-7.
Larry Yaeger.
Polyworld: Real life in an artificial context?
Teoksessa Karl Gerbel ja Peter Webel, toimittajat, Ars Electronica 93. Genetische Kunst - Künstliches Leben. Genetic Art - Artificial Life. PVS Verleger, 1993.
ISBN 3-901196-072.
Larry Yaeger.
Computational genetics, physiology, metabolism, neural systems, learning, vision, and behavior or polyworld: Life in a new context.
Teoksessa Chris Langton, toimittaja, Proceedings of the Artificial Life III Conference, sivut 263-298. Addison-Wesley, 1994.
http://www.beanblossom.in.us/larryy/polyworld.html.
Jacek M. Zurada.
Introduction to Artificial Neural Systems.
West Publishing Company, 1992.
ISBN 0-314-93391-3.

Tämän HTML-dokumentin tekemisessä on käytetty Nikos Drakosin LaTeX2HTML -ohjelmiston versiota 96.1-h. (Uudempikin versio ko. ohjelmasta on tosin olemassa.)