A következő címkéjű bejegyzések mutatása: genetikus. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: genetikus. Összes bejegyzés megjelenítése

2016. július 5., kedd

Kumato

Itt a fekete paradicsom mag a kumato!

Tíz év keresztezéssel egy svájci cég, a Syngenta egy teljesen újfajta paradicsomot hozott létre, a neve kumato, magyarul fekete paradicsom.

A kumatót egy elfeledett vadparadicsomból hozták létre keresztezéssel svájci szakemberek mintegy tíz év szorgos munkájával. A kumato rendkívül ízletes paradicsomféle, de ellentétben a közönséges paradicsommal, az érési folyamat bármely fázisában kiválóan fogyasztható, tehát nem csak akkor, amikor teljesen érett, hanem úgyszólván éretlenül is.

Eleinte sötétzöld, ilyenkor kiválóan lehet szeletelni. Aztán sötétbarnává érik, ilyenkor édesen zamatos az íze, s ilyenkor különösen salátákba és szendvicsekbe ajánlják.

Végül sötétvörös lesz, ilyenkor a legszaftosabb és legédesebb, ami a megnövekedett fruktóztartalomnak köszönhető.

A Syngenta szakemberei hangsúlyozzák, hogy nem genetikai módosításról van szó, hanem szigorúan keresztezésről, nehogy bárki azt higgye, valamilyen futurisztikus paradicsommal kívánják elárasztani a piacot. Noha a kumato nagyon hasonlít a paradicsomra, a színe és az íze nagyon más.

Ültetése és gondozása megegyezik a sima paradicsommal.

A kumato egy olyan különleges fekete paradicsom fajta, amelynek a magjait nem lehet kereskedelmi forgalomban megvásárolni, csak kiválasztott termesztők részére biztosítanak magokat. De fekete paradicsom mag már itthon is megvásárolható, sőt hamarosan a zöldséggel is találkozhatunk itthon.


Forrás: http://www.kertvarazsmagazin.hu/index.php/zoldseg/2461-itt-a-fekete-paradicsom-mag-a-kumato

2015. április 29., szerda

Kimérák és mozaikok – a bennünk élő genomok


A biológia órától kezdve a nyomozós sorozatokig mindenütt ismételten azt halljuk, hogy genomunk biológiai identitásunk kulcsa. Egyetlen sejtünk kromoszómáinak szekvenálása révén minden megtudható genetikai múltunkról, tehát magunkról is, hangoztatják előszeretettel a prominens genetikai cégek.

A valóság azonban nem egészen így néz ki. A kutatók egyre több jelét találják annak, hogy valójában korántsem vagyunk egységesnek tekinthetők genetikailag. Nem is olyan régen a szakértők még úgy hitték, hogy egyetlen személy egészséges sejtjei örökítőanyag szempontjából gyakorlatilag egyformának tekinthetők, valójában azonban meglepően gyakori, hogy egy-egy ember több különböző genomot hordozzon. Egyesek olyan sejtcsoportokkal rendelkeznek, amelyek génanyagának mutációi a szervezet többi részén nem találhatók meg. Másokban olyan genomok találhatók, amelyek más emberektől származnak.

Alexander Urban, a Stanford kutatója szerint, ha három évvel ezelőtt valaki azzal állt volna elő, hogy egyetlen szervezeten belül genetikai variációk elképesztő sokfélesége fordulhat elő, a többség nevetségesnek tartotta volna a feltételezést. Az utóbbi időszakban azonban több olyan tanulmány is megjelent, amelyek bizonyítékokat sorakoztatnak fel az elmélet mellett. Egyre inkább úgy tűnik, hogy az egy személyen belül variációk olyan sokfélék lehetnek, és olyan elterjedt jelenségről van szó, hogy azt a továbbiakban nem lehet figyelmen kívül hagyni.

Amikor egy petesejt és egy hímivarsejt genetikai anyaga kombinálódik, a keletkező genomban minden információ megvan, ami egy új emberi lény létrehozásához szükséges. A zigóta aztán osztódni kezd, és az új sejtek már ezen eredeti genom másolataival lesznek ellátva. A genetikusokat évtizedek óta izgatja, hogyan képes egyetlen genom ennyi különféle sejt, szerv és testrész létrehozására, és azt is kutatják, hogy egyes génváltozatok milyen fejlődési rendellenességek, betegségek kialakulásához vezethetnek. A genetikai tesztelésnek köszönhetően így a beteg és annak családja időben felkészülhet a legrosszabbra, illetve megelőző intézkedésekkel, például dietáris változtatásokkal elodázhatja a problémák kialakulását.



A teljes genom szekvenálásának költségei nagyon lecsökkentek az elmúlt húsz évben: míg az első emberi genom leírása még nagyjából 3 milliárd dollárba, és több éves munkába került, manapság már néhány ezer dollárból, mindössze 50 óra alatt bárki feltérképeztetheti génállományát. Ennek a fejlődésnek köszönhetően aztán egyre több beteg teljes genomját szekvenálják az orvosok, új, eddig sosem látott összefüggésekre derítve fényt egyes génvariációk, mutációk és betegségek közt.

Mindezen vizsgálatokat azonban egy nagyon lényeges feltételezés előzte meg: mindeddig úgy hittük, hogy az emberi szervezet minden sejtjének genomja egyforma, így egy bárhonnan (nyálból, bőrből, hajból) szerzett minta révén pontosan tudhatjuk, hogy milyen génkészlettel rendelkeznek a máj, az agy vagy bármely más szervünk sejtjei.

Már a 20. század közepe táján utaltak jelek arra, hogy ez nem feltétlenül van így minden esetben. 1953-ben egy brit hölgyről egy véradás folyamán kiderült, hogy vérének egyes részei a nullás, mások az A-s vércsoportba tartoznak. A kutatók annak idején azzal magyarázták a különös jelenséget, hogy az alany még az anyaméhben, ikertestvérétől kaphatta a másfajta genommal rendelkező vérsejteket, amelyek aztán beépültek saját szervezetébe.

A kimérizmusnak nevezett állapotot ezt követően sokáig ritkaságnak tartották, napjaink kutatásai alapján azonban meglehetősen gyakori. Az ikrek például nagyon gyakran tesznek szert egymás genomjára a méhbeli közös tartózkodás során. Más esetekben pedig a két megtermékenyített petesejt még a kezdet kezdetén összeolvad, és a megszülető csecsemő sokszor sosem tudja meg, hogy két génkészletet hordoz. Egy esetben egy hölgyről 52 éves korában derült ki, hogy kiméra. Veseátültetésre lett volna szüksége, és vérrokonainak vizsgálata során az derült ki, hogy vércsoportja alapján nem lehetne az anyja három gyermekéből kettőnek. Alaposabb vizsgálatokkal aztán kiderítették, hogy vérsejtjei és petesejtei két különböző genomból eredeztethetők.

A terhesség alatt gyakran előfordul az is, hogy a gyermek hagy hátra néhány sejtet anyja testében, amelyek aztán a szervezet legkülönbözőbb pontjain bukkannak fel. A szakértők mai álláspontja szerint azok a nők, akik már voltak életükben terhesek, nagy valószínűséggel rendelkeznek gyermeküktől eredő sejtekkel, vagyis kimérák.


A kutatók a kezdeti felfedezések után célzottan keresni kezdték kimérizmus elterjedtségét és előfordulási formáit. Egy 2012-es kanadai kutatás során 59 nőbeteg agyából vettek mintát, és 37 esetben találtak Y kromoszómával rendelkező neuronokat, amelyek vélhetően az alanyok fiaitól származó sejtekből fejlődhettek ki. Egy hasonló amerikai kutatás során beigazolódott, hogy ezek a sejtek a mellek szövetébe is bejuthatnak, a vizsgált nők 56 százalékának mellében találtak Y kromoszómás sejteket.

A genetikusok már egy évszázaddal ezelőtt rájöttek az egyik módjára annak, hogyan tehet szert egy élőlény két különböző genomra. Úgynevezett „mozaikos állatokat” vizsgáltak, amelyek egy helyen furcsa színű vagy mintájú szőrcsomóval rendelkeztek testükön. Az ilyen élőlények nem valamilyen külső forrásból (szüleiktől, testvéreiktől, utódaiktól) örökölték a test többi részének sejtjeiben találhatótól eltérő genomot, hanem korai embrionális állapotban egyik sejtjük valamiféle mutáción esett át, amelyet aztán az összes belőle kifejlődő sejt, köztük az adott bőrrészlet sejtjei is örököltek.

A mozaicizmust a DNS-szekvenálás elterjedése előtt meglehetősen nehéz volt emberi alanyokon vizsgálni, mivel általában csak akkor vették észre, ha a mutáció következményei jelentősek és látványosak voltak. 1960-ban aztán kiderült, hogy a leukémia is egyfajta mozaicizmus eredménye: egy vérsejt osztódás közben spontán mutáción megy át, egyik kromoszómájának egy nagy darabja egy másik kromoszómához kapcsolódik. Későbbi kutatások is alátámasztották, hogy a daganatos megbetegedések bizonyos specifikus sejtek mutációinak eredményei, vagyis a mozaicizmus tipikus esetei.

Később aztán az is kiderült, hogy a mozaicizmusnak más, ártalmatlanabb formái is gyakran előfordulnak. Egy fibroblasztokat vizsgáló kutatás például kimutatta, hogy ezen sejtek 30 százalékában fordul elő olyan mutáció, amely a DNS egy nagyobb részének megduplázódásával vagy törlődésével jár. Hasonló eredményre jutott az a kutatás is, amely más szervek sejtjeit vizsgálta ilyen szempontból.


Azt egyelőre nem tudni, hogy a kimérizmus és a mozaicizmus ilyen fokú elterjedtsége milyen hatással van egészségi állapotunkra, de a szakértők többsége egyetért abban, hogy ezen állapotok jelentős része semmiféle következménnyel nem jár, vagy ha van is valamilyen hatása, az inkább pozitív. A mutációk esetében ez könnyebben belátható, de arra is utalnak jelek, hogy a kimérizmusnak köszönhető extra genomoknak is hasznát veheti a szervezet. A magzati fejlődés során például olyat is megfigyeltek, hogy az idegen forrásból származó sejtek rátaláltak egyes sérült vagy beteg szövetrészekre, és kijavították ezeket.

Persze az is előfordul, hogy a mutáció kifejezetten negatív következményekkel jár. Létezik például egy nagyon súlyos kórkép, amelynek során az agy egyik fele nagyobbra nő a másiknál, komoly görcsrohamokat okozva a páciensnek. A hemimegalenkefáliában szenvedő gyermekeknek csak akkor van esélyük viszonylag normális életre, ha agyuk egyik felét műtétileg eltávolítják. Az elmúlt évek ilyen műtétei után aztán kiderült, hogy a nagyobbra növő agyfélteke neuronjainak nagy részében ugyanazon gén mutációja figyelhető meg, vagyis szintén mozaicizmus állhat a háttérben. A probléma pontos okának felderítése pedig az első lépést jelenti a megoldás felé. Más kutatók azt vizsgálják, hogy a mozaicizmusnak milyen szerepe van az olyan kórképek kialakulásában, mint például a skizofrénia.

Az orvoslásban dolgozók azonban nem az egyedüliek, akiket érdekel és közelről érint a többszörös genomok ügye. A probléma ugyanis komoly kérdéseket vet fel az törvényszéki genetikai vizsgálatokkal kapcsolatban is, hiszen a mozaicizmus és a kimérizmus széles körű elterjedtsége azt jelenti, hogy többé nem vehető készpénznek az sokáig kőbe vésett igazságként kezelt egy ember, egy genom elv. Ha egyetlen ember egyszerre több különböző genomnak is „otthont adhat”, akkor mostantól jóval nagyobb alapossággal kell kezelni a DNS-en alapuló bizonyítási eljárásokat. Nem is olyan régen lehetett hallani például egy olyan rendőrségi ügyről, amelynek során beigazolódott, hogy az erőszaktétellel vádolt elkövető nyálából és spemájából vett DNS-minták nem egyeztek egymással.

Jelentős kavarodásokat okozhat az ember sejtjeinek génkészletében a csontvelőátültetés is. Egy osztrák kutatás során 77 transzplantált beteget vizsgáltak meg, és 74 esetben a donor genomját is sikerült kimutatni a páciensek szervezetének legkülönbözőbb pontjain, tehát nemcsak a vérben, hanem például a szájüreget borítóhámsejtek némelyikében is.

Mind a bűnüldözésben, mind pedig az orvoslásban alapos odafigyelést igényel tehát a többszörös genomok problémája. Ha egy mutációk után kutató teszt során kizárólag vérmintákat vesznek a szakértők, könnyen előfordulhat, hogy a szervezet más pontjain található, másfajta genetikai állományú sejtek kimaradnak a vizsgálatból. Mindez tehát alapvetően változtatja meg a genetikáról eddig alkotott képünket, és úgy tűnik, hogy genomjaink tanulmányozásához még pontosabb és gyorsabb módszerekre lesz szükség a jövőben.

Forrás: https://ipon.hu/elemzesek/kimerak_es_mozaikok_%E2%80%93_a_bennunk_elo_genomok/1866/1

2015. április 27., hétfő

XNS ‒ szintetikus nukleinsavak

Már rendelkezésre áll egy mesterséges genetikai rendszer, amely elvben lehetővé teszi a földitől alapjaiban különböző létformák előállítását.

"Semmiféle élet nem képzelhető el az örökletes információ tárolására és átadására alkalmas rendszer nélkül. Azonban ezeket a feladatokat nem egyedül a DNS és az RNS képes ellátni" - vezet be Philipp Holliger a mesterséges örökítőanyagok birodalmába. "Legalább hatféle más polimer alkalmas lehet erre a funkcióra. Az, hogy a földi élet éppen a DNS-en és az RNS-en alapul, egyfajta történeti véletlen, amely az élet keletkezése óta kísér bennünket."

Az angliai Cambridge-ben dolgozó molekuláris biológus által kidolgozott mű-örökítőanyag, az XNS (xeno-, vagyis idegen nukleinsav) a DNS-hez hasonlóan csavart létrára emlékeztető szerkezetű polimer, melyben négy különféle alkotórész váltakozik. Azonban a molekula gerincét alkotó úgynevezett cukor-foszfát lánc cukormolekuláit teljesen a DNS-étől teljesen eltérő komponensek - a hat szénatomos gyűrűjű ciklohexán, illetve a treóz nevű négyszénatomos cukor - helyettesítik.


Holliger csapata létrehozott továbbá egy sor enzimet, amelyek funkciójukban megfeleltethetők a DNS-en működő enzimeknek, azonban DNS helyett XNS-sel dolgoznak. Így rendelkezésre áll egy komplett új genetikai rendszer, amely elvben lehetővé teszi a földitől alapjaiban különböző létformák előállítását - írja a Scientific American.

Az XNS-t másoló-szabdaló enzimek tökéletesítése után elképzelhető lesz például, hogy egy létező baktériumsejt DNS-ét XNS-sel helyettesítsék. Holliger elismeri: egyelőre távoli álom az XNS-sel működő létformák életre keltése. Azonban ha egyszer megvalósulnak, óriási előnyük lehet, hogy genetikai anyaguk semmiféle módon nem keveredhet a környezeti mikrobákéval, ami folytonos aggály a "hagyományos", DNS-alapú génmódosított organizmusok esetében.

A földi élet elképzelhetetlen a két természetben megtalálható nukleinsav, a DNS és az RNS nélkül. Felmerül a kérdés azonban, hogy létezhetnek-e más olyan polimer molekulák is, amelyek az említettekhez hasonlóan képesek a genetikai információ hordozására. Van valami egyedi különlegesség a DNS-ben és az RNS-ben? Vagy egyszerűen csak ezek voltak az első működőképes változatok?

Ezekre a kérdésekre kereste a választ Vitor Pinheiro, a cambridge-i MRC Laboratory of Molecular Biology kutatója is, és eredményei önmagukért beszélnek: bár jelenlegi tudásunk szerint a DNS és az RNS végzi a genetikai információk kizárólagos hordozását, nem ezek az egyedüli molekulák, amelyek képesek erre. Pinheiro kutatócsoportja hat különféle alternatív polimert hozott létre, amelyek képesek hordozni a genetikai kódot, valamint evolúciós lépéseken átmenni. A molekulák egyike sem található meg a természetben, mindannyian a szintetikus genetikának nevezett új tudományterület alkotásai. A kutatásról beszámoló tanulmány a Science oldalain jelent meg.

Az élethez oly fontos nukleinsavak kémiai szerkezete nem túlságosan bonyolult. Dezoxiribóznak, illetve az RNS esetében ribóznak nevezett cukrok hosszú lánca alkotja ezeket, amelyeket egy-egy foszfátcsoport köt össze. Minden cukorhoz egy nitrogén tartalmú szerves bázis kapcsolódik (adenin, timin, citozin vagy guanin). Az RNS-ben a timin helyett uracil szerepel. Ha a DNS térbeli szerkezetét egy hosszanti tengelye körül megcsavart létrához hasonlítjuk (kettős hélix), amelynek fokait az egymással párt alkotót bázisok alkotják, akkor az RNS ennek a létrának az egyik felére emlékeztet (szimpla hélix).


Pinheiro XNS-e, amelyben az X a xeno (idegen) előtag helyett áll, szintén a nukleinsavak közé tartozik, csak éppen másfajta cukrokat tartalmaz dezoxiribóz helyett: arabinózt (ANS), ciklohexánt (CeNS) vagy éppen treózt (TNS). Ezen eltéréseken túl az XNS ugyanolyan bázisokból és foszfátcsoportokból áll, mint a természetben megtalálható nukleinsavak, és képes is bármilyen komplementer DNS-szállal vagy RNS-sel összekapcsolódni.

Ahogy Jack Szostak, a Harvard biológusa elmondta, elméletben rengeteg különféle polimer elképzelhető, amely alkalmas lenne a DNS és az RNS szerepének ellátására. De akkor miért használja a biológia kizárólag ezt a két molekulát?

A szakértők többsége egyetért abban, hogy a DNS-t megelőzően az RNS lehetett minden élő dolgok fő információs molekulája- Phil Holliger, az XNS-kutatás egyik résztvevője szerint pusztán az élet kialakulása során bekövetkezett véletlenek sora vezetett a ribonukleinsav egyeduralmához. Nem valamiféle minőségi előnyről van szó tehát, egyszerűen a körülmények összejátszásának volt köszönhető, hogy az RNS-nek jutott ez a kitüntetett szerep.

A másik lehetőség, hogy egyes nukleinsavak egyszerűen jobbak önmaguk másolásában és a különféle kémiai reakciók felgyorsításában, így kiválasztódtak a feladatra kevésbé alkalmas jelöltek közül. Az XNS-kutatás révén most esély nyílik ezen teória tesztelésére is, hiszen végre van mivel összehasonlítani a természetben megtalálható nukleinsavak funkcionális képességeit.


Az XNS létrehozásához egy módosított DNS-polimeráz enzimet használtak. Ez az enzim felelős a DNS replikációjáért: leolvassa a DNS egyik szálának egy szakaszát, majd összeszerkeszt egy ehhez passzoló darabot a rendelkezésre álló építőkövekből, a dNTP-kből (dezoxinukleozid-trifoszfátok). Az enzim általában nagyon „válogatós” abban, hogy milyen építőanyagot hajlandó használni: csak olyan molekulákat választ, amelyekben dezoxiribóz van, hogy biztosan DNS-t építsen, ne pedig egy másfajta nukleinsavat. Pinheiro úgy módosította az polimerázt, hogy az az adott XNS építőelemeit preferálja mindenek felett.

Ezt olyan módon ért el, hogy enyhén eltérő polimeráz enzimeket kevert össze az őket kódoló génnel, majd a keverékhez hozzáadta az XNS alapelemeit. Egyes enzimváltozatok inkább hajlandóak voltak felhasználni ezeket az építkezéshez, mint mások. A legsikeresebbnek bizonyuló variációk kiválasztásával Pinheiro és csapata képes volt létrehozni azt az enzimet, amely már kifejezetten ezeket az elemeket választotta ki, és XNS szálakat párosított a DNS szálaihoz. Egy olyan enzimet is megalkottak a polimeráz enzim többszörös mutációja révén, amely képes megfordítani a folyamatot, vagyis az XNS-t DNS-sé alakítja. 


A kutatók megalkottak tehát két enzimet, amelyek legalább 95 százalékos pontossággal képesek oda-vissza másolni a genetikai információz az XNS- és a DNS-forma között. A kísérlet folytatásával idővel lehetséges lesz a DNS-t teljesen kiiktatni a körből, vagyis XNS-ről XNS-re adódhat tovább a genetikai kód. Ha ez működőképesnek bizonyul, az hosszútávon akár egészen új, mesterséges genetikai polimereken alapuló életformák megalkotását is lehetővé teheti.

És a jelek szerint, hogy működhet a dolog: a kutatók sikeres replikációt hajtottak végre FANS és FANS (fluorarabinóz-nukleinsav) közt, CeNS és CeNS közt, valamint HNS-t (anhidrohexitol-nukleinsav) hoztak létre a CeNA szálainak segítségével. Ezek a lépések azonban egyelőre sokkal kevésbé hatékonyak, mint a molekulák DNS-ről történő legyártása. De más dolgok is a DNS folyamatban tartása mellett szólnak: a genetikai technológia összes jelenleg létező darabja hagyományos nukleinsavakra készült. Ha tehát kizárólag XNS-sel foglalkozó kísérletekbe akarunk kezdeni, ahhoz már módosított szekvenáló és egyéb műszerek szükségesek. 


Az XNS különféle változatai kémiailag látszólag nem sokban különböznek rokonaiktól, más területeken azonban óriási eltéréseket mutatnak hozzájuk képest. Az egyik ilyen jellegzetesség, hogy rendkívül ellenállónak bizonyulnak a környezettel szemben. A DNS-re és az RNS-re számos veszély leselkedik a természetes világban: a savak megtörhetik a szerkezet létrafokait, és számos enzim könnyedén átvágja a polimerláncot. Az XNS-sel nincsenek ilyen problémák, mivel mesterséges eredetüknek köszönhetően gyakorlatilag sebezhetetlenek a természetes enzimekkel, a szélsőséges pH-val vagy egyéb extrém körülményekkel szemben. Ahogy Holliger elmondta, minden kémiai reagenst ráeresztettek a molekulákra, ami csak készleten volt, de az XNS meglepően szívósnak bizonyult a fenyegetésekkel szemben.

Az XNS-ek ezen tulajdonsága különösen alkalmassá teszi őket bizonyos szerepek ellátására. A kutatók évtizedek óta használják DNS vagy RNS molekula rövidebb láncait bizonyos célvegyületek (fehérjék, metabolitok, toxinok) szelektív megkötésére. Az aptamernek nevezett láncdarabok biológiai szenzorokként viselkednek, különféle hatóanyagokat szállítanak specifikus célpontokhoz, és még rengeteg egyéb hasznos alkalmazásuk létezik, amelyek mindegyikével egyetlen nagy probléma van: az aptamerek nagyon sérülékeny eszközök.

XNS-ből építve ugyanezen láncok sokkal ellenállóbbak lennének, viszont megőriznék funkcióképességüket, vagyis képesek lennének adott célpontok felismerésére és megkötésére. Az RNS-hez hasonlóan az XNS-ek többsége bonyolult háromdimenziós szerkezetbe csomagolja magát. Alex Taylor ezt a jellemzőt felhasználva sikeresen létrehozott egy HNS-aptamert, amely képes egy specifikus fehérje és RNS-forma felismerésére. A kutató módszere itt is az evolúciós megközelítés volt: a többféle nukleinsav közül ismételten mindig azokat választotta ki, amelyek leginkább hasonlítottak az RNS-aptamer alakjára.

Pinheiro kísérlete csak egy a genetikai információt hordozni képes molekulák megalkotására irányuló próbálkozások közül. A létra minden egyes eleme megváltoztatható, legalábbis elviekben. Steve Benner, a Foundation for Applied Molecular Evolution munkatársa például két új bázist épített be a meglevők közé (Z, P), és ilyen módon nagyobb információsűrűséget valósított meg.


A kutatók egyetértenek abban, hogy mindez csak a kezdet, a mesterséges genetika egészen új és beláthatatlan lehetőségekkel kecsegtet. Azonban a nehezen elpusztítható szintetikus kreációk kapcsán a kockázat kérdése is óhatatlanul felmerül. Gerald Joyce, a Scripps Intézet munkatársa ezt úgy fogalmazta meg, hogy az alternatív genetikával játszadozó biológusoknak nagyon fontos odafigyelniük arra, hogy ne tévedjenek olyan utakra, amelyek károsíthatják a természetes biológiai rendszereket.

Benner szerint viszont az XNS alkalmazása révén inkább csökkenhet a biotechnológiát övező félelmek szintje. A génmódosítások kapcsán sokan aggódnak amiatt, hogy a módosított gének „elszabadulnak”, és kiszorítják a természetes változatokat. Az XNS esetében ez a veszély nem állhat fenn. Egy DNS és RNS által uralt világban az XNS elhatárolódva üldögélne egy genetikai tűzfal mögött, mivel komoly mesterséges segédeszközök hiányában képtelen lenne arra, hogy genetikai információt cseréljen az élőlényekkel. Ezek a molekulák távol állnak attól, hogy bármiféle természetellenes veszélyt jelentsenek az élővilágra. Okos használattal viszont a biológiai biztonság legfontosabb fegyvereivé válhatnak.

Forrás: https://ipon.hu/elemzesek/xns_%E2%80%92_szintetikus_nukleinsavak/1311/1;
http://www.origo.hu/tudomany/20121214-vilagmegvalto-otletek-dns-nelkuli-szintetikus-letformak.html

2015. április 23., csütörtök

Mesterséges élet: darwini programozás

Képes-e szaporodásra a számítógép?


Neumann János, a számítógép feltalálója, aki kétségkívül a huszadik század legrangosabb elméi közé tartozott, az 1950-es évek elején azt a kérdést tette fel, hogy létrehozható-e olyan számítógép, amely szaporodni (!) képes, azaz a természet analógiájára saját magáról másolatot tud létrehozni. Utolsó könyvében (A komputer és az agy) olyan irányát jelölte meg a mesterséges intelligencia fejlődésének, amely azóta több új tudományág létrejöttét eredményezte. Tudnak-e a gépek szaporodni? Képes lehet-e egy program az evolúció mintájára önmagát továbbfejleszteni? Létrehozató-e egy teljes ökológiai rendszer vagy társadalom egyetlen számítógép memóriájában? Ha igen, akkor készíthetünk-e saját magunkról digitális másolatot, hogy ily módon halhatatlanokká váljunk?


Alife

A mesterséges élet (artificial life vagy egyszerűen "alife") gondolatával csak az utóbbi évtizedben kezdtek el foglalkozni a tudósok. A mesterséges intelligenciához (AI) hasonlóan ez az interdiszciplináris kutatási terület is sok különböző tudományág határán helyezkedik el, így a számítástechnikán kívül a fizikához, a matematikához, a biológiához, a kémiához és - meglepő módon - a közgazdaságtanhoz, sőt a filozófiához is kell valamennyire értenie annak, aki ezzel szeretne foglalkozni. A látszat ellenére az "alife" nem azonos a mesterséges intelligencia kutatásával vagy a biológiai rendszerek szimulációjával. Célja az élet alapvető folyamatainak megértése és modellezése olyan szinten, hogy ebből új létformákat hozhassunk létre, illetve saját életünk mechanizmusait - talán értelmét is - jobban megérthessük. Míg a biológusok és AI-kutatók komplex rendszerek és folyamatok analitikus megértésével foglalkoznak, az "alife" inkább egyszerű viselkedésekre és túlélési sémákra összpontosít, amelyekből szintézis segítségével - alapvetően igen egyszerű sejtekből - egyre bonyolultabb és bonyolultabb "lényeket" próbál meg létrehozni. Nincs tehát másról szó, mint a számítógép memóriájában létező lények evolúciójáról és minél tökéletesebb adaptációjáról egy adott környezet körülményeihez.

Neumann hagyatéka

Neumann János nevét a világ a modern számítógépek feltalálójaként ismerte meg. Még ma is kevesen ismerik a mesterséges élet és a modern genetika fejlődését elősegítő kutatásait. Neumann idejében még nem volt modern genetika, és nem ismertük az emberi öröklődés mechanizmusának alapjait sem. Így legfőbb vizsgálódásának tárgya a reprodukció logikájának megértése volt. Neumann nem kisebb eredménnyel gazdagította a tudományt, mint - a mesterséges élet lehetőségét keresve tisztán matematikai alapokon jutva el a következtetésig - hogy bármilyen szaporodási vagy reprodukciós folyamat csak akkor lehetséges, ha ugyanazt a biológiai vagy matematikai kódot két különböző módon értelmezzük. Az első fázisban az összeszereléshez szükséges utasításként, míg a második fázisban egyszerű adatként, amelyet az utódnak a további generációk életképessége miatt örökölnie kell. A Neumann halálát követő évtizedben megszületett a modern genetika, s első nagy eredményeként azt bizonyította, hogy a természet, úgy tűnik, "adaptálta Neumann ötletét", és valóban ezt a két mechanizmust választotta minden élet alapjául. A folyamat, amely a DNS formájában kódolt összeszerelései utasításokból működő gépeket, azaz proteineket gyárt, a valóságban is e kettősségen alapul. A biológusok ezt a két lépést a transzláció és transzkripció mechanizmusaként tartják számon.
A mesterséges élet algoritmusainak alapja tehát mindig egy egyszerű sejt, amely bizonyos funkciókat képes ellátni, például a környezetéből információt gyűjteni, majd annak függvényében egyetlen jelet kiadni (mesterséges neuron), öröklődéssel osztódni, valamint a környezethez alkalmazkodni. Ezekből az igen egyszerű elemekből azután bizonyos szabályszerűségek figyelembevételével bonyolult rendszerek építhetők fel, amelyek különböző komplex funkciók ellátására képesek. Neumann modellje az ún. celluláris automaták elvén alapul.

Celluláris automaták

A celluláris automaták működésének lényegét röviden úgy érzékeltethetjük, hogy elképzelünk egy nagy négyzethálót, ahol sakktáblaszerű elrendezésben minden egyes kocka egy sejtnek vagy más szóval elemnek felel meg. Ezek az elemek bármely adott pillanatban különböző színekkel jelzik, hogy éppen mit csinálnak vagy milyen belső állapotban (internal state) találhatók. A rendszer működése során minden elem végzi a maga feladatát. Ezt mi kívülről úgy érzékelhetjük, hogy látjuk, amint a színüket egyszerre változtatják. A hálózat összes eleme ugyanazt a szabályt (rule) alkalmazza saját következő állapotának megállapítására. Ez a szabály úgy fogalmazható meg, hogy "az új szín csak a pillanatnyi színtől és a négy közvetlen szomszéd színétől függ". Például egy kétszínű (fekete/fehér) tábla esetén mondhatjuk azt, hogy a sejt következő színe legyen fekete, ha páratlan számú fekete szomszédja van, és fehér, ha nem. A rendszer kiinduló állapota lehet pl. egy kép, ahol a fekete és fehér kockákból egy ábra rajzolódik ki. A számítás folyamatát az a lépéssorozat jelenti, amely ebből a kezdeti állapotból lépésenként egy olyan végső és stabil állapotba juttatja a rendszert, ahol az egyes cellák színe már nem változik tovább.

Neumann ezen egyszerű matematikai modell segítségével építette fel automatáját, amelyet univerzális konstruktornak nevezett. Az univerzális konstruktor bármilyen automata létrehozására képes a fenti értelemben vett transzláció és transzkripció módszerének felhasználásával (ne felejtsük el, akkor ezek a kifejezések még nem léteztek). Ha történetesen a kódolt üzenet azt tartalmazza, hogy építsen egy másik univerzális konstruktort, akkor nyilvánvalóan képes lesz önmagát is újrateremteni és újabb életképes automatákat létrehozni, egyszóval szaporodni. Ennek a gondolatsornak a segítségével Neumann azt mutatta meg, hogy egy mesterségesen létrehozott gép képes szaporodni. Azért ne gondoljuk, hogy ilyen egyszerű az élet. A fenti két sor bizonyítása matematikailag meglehetősen bonyolult, pontosabban egy egész könyvet igényelt, amely csak Neumann halálát követően, posztumuszként jelent meg kollégája gondozásában, 1966-ban. Az univerzális konstruktor elmélete olyan szilárd matematikai alapokon nyugodott, hogy a következő általánosan elfogadott mesterségesélet-modell, amely képes volt önmagát reprodukálni, csak majdnem három évtizeddel - igen, jól olvasták -, 28 évvel később, 1984-ben született meg.

Darwini programozás

Neumann munkássága során a szaporodás és az önmagukat reprodukálni tudó gépek elméletére összpontosított. Nem vette figyelembe, hogy az újra és újra felépített hardver - a másolás folyamatába becsúszott hibák vagy a körülmények változásához jobban illeszkedő szoftvermódosítások segítségével - egyre hatékonyabbá tehető. Napjainkban a programokat emberek, azaz számítástechnikusok, programozók, matematikusok vagy egyszerűen - a szó jó értelmében vett - laikusok írják saját kedvtelésükre. Mi lenne, ha továbbvinnénk Neumann gondolatát, és az univerzális konstruktor programját is módosítani tudnánk az evolúció elvének figyelembevételével? Ennek eredményeképpen született meg a genetikus programozás (genetic programming) módszerének fogalma, amely végeredményben nem más, mint azonos problémát megoldó programok seregének együttes, párhuzamos fejlesztése. A módszer a számítástechnikusok által jól ismert genetikus algoritmusok (genetic algorithms) elvén működik. Míg egy programozó egyszerre csak egyetlen programon dolgozik, javítja és továbbfejleszti, a genetikus programozás több, kissé eltérő, de ugyanazt a problémát megoldó program populációjából indul ki, amelyből újabb és újabb verziókat hoz létre az öröklődés és a mutáció elvének segítségével. Az új programgeneráció minden egyes egyedét kiértékeljük, és ha a funkció ellátására alkalmasnak találjuk, akkor meghagyjuk, egyébként eltávolítjuk (szelekció). Nyilván minél jobb egy program egy konkrét feladat végrehajtásában, annál nagyobb az esélye a túlélésre. Elvileg tehát egyre tökéletesebb programok sorozatát kapjuk, míg a folyamat végén elérünk ahhoz a programhoz, amely hibátlanul oldja meg a feladatot.
Az elmélet gyakorlati alkalmazásához sok-sok iterációra van szükség. A legnagyobb gondot a szelekció feltétele (kritériuma) jelenti, azaz hogy miként döntsük el, melyik programunk áll közelebb a tökéletes megoldáshoz. Az élővilágban ezt a funkciót a túlélésért folytatott harc helyettesíti, a gyengék elhullanak, az erősek megerősödnek. A genetikus programozó ránk bízza, melyik programot hagyjuk meg vagy dobjuk el. Ha például egy robotot arra szeretnénk megtanítani, hogy dobozokat rakjon egymásra, akkor attól függően, hogy az egyes programok ezt a feladatot milyen jól végezték el, osztályozhatjuk azokat. Ez az osztályzat azután eldönti, hogy mennyire életképesek. Maga az evolúció azonban emberi beavatkozás nélkül történik. John Koza, a módszer feltalálója több feladat megoldására is sikeresen hozott így létre programokat. Programozni tudó olvasóinknak azonban nem kell túlzottan aggódniuk. Valószínűleg még nagyon sokáig nem ilyen módszerekkel fognak a Windows új verziói elkészülni :-).

Digitális élet

A fentiekben azt próbáltuk meg dióhéjban áttekinteni, hogy milyen elvekkel és módszerekkel hozhatunk létre olyan önmagát reprodukálni és továbbfejleszteni képes mesterséges lényt vagy rendszert, amely az élet biológiai definíciójának minden tekintetben eleget tud tenni. Mi történik azonban akkor, ha ezeknek a lényeknek különböző szintű értelmet és intelligenciát adunk, ha racionalitásukat felülbíráló digitális érzelmekkel (!) látjuk el őket, ha a ma elterjedt hagyományos számítógépeink helyett kémiai és biológiai folyamatokon alapuló molekuláris számítógépeket használunk megvalósításukra, vagy ha a számítógép memóriáján belül társadalomba szervezzük őket? Ezekre a kérdésekre a mesterséges életről szóló cikkünk második részében, adunk választ.

Mesterséges élet: digitális társadalom

"Egyszóval korunk technológiája elérkezett oda, hogy rövid időn belül megteremthesse az első olyan mesterséges lényt vagy rendszert, mely az élet definíciójának minden szempontból eleget tud tenni. Mi történik akkor, ha sok ilyen lény önálló "életet" kezd egy számítógép belsejében, és egymással kommunikálva társadalmakat alakít ki ? Ennel jóval izgalmasabb kérdést teszek fel: vajon miként hat ez ránk, valóban élő emberekre?"

A 2001. év hajnalán járunk. Ismét eszembe jut Stanley Kubrick 2001. űrodüsszeia című filmjének talán leghíresebb jelenete, amelyben a kezdetben hidegen racionális, erős és magabiztos hangú HAL - a fedélzeti számítógép - átváltozását láthatjuk egy elgyengült, az elmúlás gondolatától félő, érző lénnyé. A dátum talán nem pontos, de a mesterséges élet megszületése és fogalma nincs is olyan távol a valóságtól, mint azt gondolnánk. Sorozatunkban a virtuális színészek és digitális klónozás technológiájától elju-tottunk az intelligens, érzelmekkel rendelkező, önmagukat reprodukálni képes, evolúcióra és adaptációra is alkalmas digitális lényekig. Azt is megmutattuk, hogy mindezek nemcsak szilikon alapú (hagyományos) számítógépeken hozhatók létre, hanem megvalósíthatók molekuláris komputerek segítségével is. Egyszóval korunk technológiája elérkezett oda, hogy rövid időn belül megteremthesse az első olyan mesterséges lényt vagy rendszert, mely az élet definíciójának minden szempontból eleget tud tenni. Mi történik akkor, ha sok ilyen lény önálló "életet" kezd egy számítógép belsejében, és egymással kommunikálva társadalmakat alakít ki ? Ennel jóval izgalmasabb kérdést teszek fel: vajon miként hat ez ránk, valóban élő emberekre?

Virtuális élővilág

Létrehozható-e egy olyan evolúciós rendszer a számítógép belsejében, mely külső emberi beavatkozás nélkül a maga sajátos törvényei szerint fejlődik tovább? Ezt a kérdést tette fel Thomas Ray, aki egy olyan virtuális szimulációt tervezett, amelyben a mesterséges lények szerepét a számítógépes vírusokhoz hasonló, igen rövid programok töltik be. Ezek a rövid programok a szó egyfajta értelmezésében társadalmat alkotnak, ahol az egyének a gép belső erőforrásaiért versengenek (processzor, memória, kommunikációs csatornák stb.). Mivel az említett erőforrások végesek, egy virtuális társadalom csak a versengés szabályait követve alalkulhat ki és fejlődhet tovább. A kísérlet, mely Tierra néven vált ismerté, a földtörténet egy viszonylag korai szakaszát modellezte. Körülbelül 600 millió évvel ezelőtt, az ún. kambrium korszak elején jöttek létre Földünkön azok az igen egyszerű organizmusok, amelyekből mai színes élővilágunk kifejlődött. A Tierra kísérlet azoban nem ennek a robbanásszerű evolúciós fejlődésnek a mechanizmusát kívánta felderíteni, hanem arra volt kíváncsi, hogy mi történik egy szabadon fejlődő rendszerben, amelyben az egyetlen emberi tényező csak az első őssejt (ancestor) tervezésében nyilvánul meg. A kísérlet eredménye meglepő volt. Egyetlen őssejtből egy egész világ fejlődött ki, amelyben minden lénynek megvolt a pontosan meghatározott szerepe. A Tierra kísérlet tehát tágabb értelemben véve megteremtete a digitális társadalom fogalmát.
Mint láttuk, az evolúció mechanizmusa túlmutat biológiai ismereteinken és olyan alapvető törvényszerűségek felismeréséhez vezet, melyek bármely komplex rendszerre alkalmazhatók, többek között a társadalom és a gazdaság fejlődésének elemzésére is. Időzzünk el még egy pillanatot a digitális élet és társadalom gondolatánál. Vajon mi értelme lehet mindennek számunkra? Vajon a halhatatlanság egy új formájáról van szó? Sokan, ha játékosan is, de úgy gondolják.

Internethalhatatlanság

Egy kaliforniai cég (PersonaForm), amely az "Immortality through Technology" - szabadon fordítva: halhatatlanság a technológia segítségével - jelszót tűzte zászlajára, azon internetcégek közé tartozik, amelyek akár saját életünk részleteit dokumentálják és archiválják. Felismerve, hogy a halhatatlanság és az örök élet ma még sokunk számára elérhetetlen, a tudomány és technika gyors fejlődésében bízva a cég arra biztatja az interneten szörföző átlagembereket, hogy (nem meglepő módon szerény fizetség ellenében) életük és tudásuk legapróbb részleteit is dokumentálják egy későbbi generáció számára, amely majd - gondolom, akkor még több pénzért - feléleszti őket. Az ötlet nyilvánvalóan kissé bizar, és nem kell túl komolyan venni. A módszert egyébként "spirituális fotográfiának" nevezték el és racionálisan gondolkodó lévén sokat töprengtem, hogy megemlítsem-e ebben a sorozatban. Végül azért tettem meg, mert felvet egy igen fontos kérdést, amely e sorozat és sok tudományág szempontjából érdekfeszítő. A klónozás technológiája (legyen az biológiai vagy digitális) mindig csak arra lehet alkalmas, hogy másolatot készítsen valakiről. Bármilyen tökéletes is ez a másolat, ezt elkészülte után tartalommal kell megtölteni. Ez a tartalom valójában teljes életünk anyaga. Személyiségünk kialakulásában minden élmény, szép pillanat, fájdalom és csalódás benne van. Vajon tudományos értelemben dokumentálható és tárolható mindez? A választ magam sem tudom.

A fentebb említett cég valószínűleg nem a tudományos precizitás igényességével indult. Mégis rámutat egy alapvető pszichés szükségletünkre, amely majdnem minden ember sajátja és társadalmunk egyik alappillére. Ez nem más mint a lét és az emberi élet végességének gondolata. A halhatatlanság, a mulandóság és az örök élet gondolata minden kultúrában megjelenik. Különböző elixírek formájában az ókortól napjainkig az egyik legjobb üzlet, különösen Kaliforniában, ahol a szépség, és így a fiatalság, egy az egyben dollárra váltható.

E rövid kitérő után térjünk viszsza az internet világába. Vajon milyen pszichés és szociológiai hatással lesz ránk, ha kialakul egy másik, velünk párhuzamosan létező, digitális társadalom, melyben eltérő személyiséggel és cselekvőképességgel felruházott virtuális emberek élnek? Valószínűleg komoly válsághoz vezet, ha erre nem készülünk fel tudatosan. Valóságérzetünk és személyes viszonyunk embertársainkhoz ugyanis a lét azon szilárd logikáján alapul, miszerint valaki vagy létezik, vagy nem. Más eset nem lehetséges. Ez az elv, amelyet a matematikusok a harmadik kizárásának elveként neveznek, a mi esetünkben ott változik, hogy harmadik eset mégis lehetséges! Egy jövőbeli virtuális popsztárról például készülhet sajtófotó anélkül, hogy a hölgy fizikai valóságában valaha is megszületett volna. Ha jobban belegondolunk, társadalmunk híres egyedeinek léte már jelenleg is legtöbbünk számára sokszor csak a médián keresztül igazolható. Ennek eredményeképp a jövőben potenciálisan olyan szépségideált, szellemi és érzelmi viszonyt alakíthatunk ki egy velünk párhuzamosan létező virtuális társadalommal, valamint annak tagjaival, amely negatívan hathat saját pszichénkre, vágyainkra és létünk értelmére.

Információs társadalom

Az internet sokak számára áldás, másoknak csapás vagy csupán közömbös. Nem egyszerűen személyes véleményről vagy generációs különbségről van szó. Az internet, mint médium, a szabadság jelképe, és így különböző módon tagolja a társadalmat. Egyfelől szinte korlátlan hozzáférést biztosít minden olyan információhoz, amit tudni szeretnénk. Ingyenes szórakozást nyújt, oktat (ha jól használják), és korábban elképzelhetetlen lehetőségeket tár ki a mindennapi em-berek előtt. Másfelől nyilvánvalóan sok veszélyt rejt magában azáltal, hogy a keresett információhoz csak rengeteg "szemét" és reklám elolvasása árán juthatunk hozzá. Társadalmunk elidegenedését és szétesését okozhatja, hogy már nem beszélünk egymással, hogy félünk személyes kontaktust teremteni, és eközben valahol mélyen elveszítjük önmagunkat.

Miként viszonyul tehát a társadalom és annak legfontosabb elemeként az egyén a minket bombázó hihetetlen mennyiségű információhoz ? Sajnos nem túl jól, és a legijesztőbb éppen az, hogy ennek biológiai okai vannak! Mindjárt megmagyarázom. Dr. Freund Tamás akadémikus, a Bólyai-díj 2000 kitüntetettjének szavaival. "Napjaink információáradata ahhoz vezetett, hogy agyunkban felborult a külső és belső világunkból származó információ egyensúlya. Ez súlyos problémákhoz vezethet. Ez oka lehet számos szorongásos agyi megbetegedésnek, de bizonyos társadalmi devianciáknak, úgymint terrorizmus vagy vallási szekták. Itt ugyanis arról van szó, hogy agyunk biológiai fejlődése egy jó ideig, ötvenezer évig párhuzamosan haladt a befogadó információ mennyiségével és komplexitásával. Körülbelül ötven éve a kommunikáció hihetetlen fejlődése során ez egy ollóvá nyílt szét, hiszen az információ-áradat televízión, rádión, interneten, mobiltelefonon keresztül olyan tempóban bombázza agyunkat, hogy az azt már nem képes követni."

Az eredmény tehát beszűkülés. Igen, minél több információval bombázzuk az agyat, annál inkább fennáll annak a veszélye, hogy egy idő után telítődik, és az egyén beszűkül. Az internet hatását társadalmunkra még csak most kezdjük tanulmányozni és megérteni. Egy új kommunikációs eszköz alkalmazásának igen korai fázisában vagyunk, amikor is sokan csak az üzleti lehetőségekre fókuszálnak, míg az esetleges veszélyeket nem mérjük fel pontosan. Érzesem szerint a jövőben a technológia mellett a pszichológia és a társadalomtudományok kulcsszerepet fognak betölteni az internet fejlődésében.

A jövő zenéje

Az elmúlt tíz hónapban megpróbáltam végigkövetni eg,y az internet jövőjét sokban befolyásoló technológia (virtuális emberek) tudományos, üzleti és társadalmi hátterét. Egy évvel ezelőtt sorozatunk aktualitását Marlene Dietrich digitális klónozása adta, ami akkor a hollywoodi műhelyek egyik szenzációja volt. Az internet jövőjét megjósolni nehéz, és én nem is mernék vállalkozni rá. Egy dologban azonban biztos vagyok. Bárhogy is hívjuk majd a jövő digitális embereit (avatár, digitális klón vagy synthespian), egy olyan új kor hajnalát éljük, amely a digitális szórakoztatóipar, valamint az internet segítségével alapvetően átformálja majd önmagunkról és a világról alkotott képünket. Ebben a folyamatban olvasók, technológusok, tudósok és művészek közösen veszünk részt. Hogy mi lesz belőle? Ez már a jövő zenéje.

Forrás: http://hirek.prim.hu/cikk/11835; http://hirek.prim.hu/cikk/13290

2015. április 18., szombat

Physis - digitális élőlények

Önmagukat tökéletesítő algoritmusok


Önmagukat tökéletesítő algoritmusokkal fejlődtek ki ezek a lények, amelyek egy virtuális világban kapott feladat megoldására specializálódtak és végzik el azokat generációról-generációra egyre jobban. A mechanizmus viszonylag egyszerű: sok kis különbséggel bíró objektum kerül be egy virtuális térbe, ahol a teljesítményüket megmérjük egy bizonyos szempontból (például milyen gyorsan tud mozogni). Ezután szaporodhatnak olyan módon, hogy  a magasabb pontszámot elérőknek több utódja van, illetve a két szülő algoritmusának keverékéből jön létre az utód + egy kis random változás. A szaporodást követően eltűnik a szülői generáció, az utódok versenyeznek és így tovább. Párszáz generáció után olyan megoldások is megszületnek a feladat elvégzésére, amilyet az ember talán nem is lett volna képes kitalálni.


Ezt az eljárást egyébként nem csak ilyen lények tervezésére használják, hanem szoftverbugok javítására, repülőgép-tervezésre, gyógyszerkutatásra és hasonló finom optimalizációt követelő feladatokra is. Genetikus prgramozás az eljárás neve.

A valódi evolúció lényegében ugyanezen alapelvek szerint működik: életképesség szerint versenyeznek az egyedek, és a sikeresebbek jó eséllyel több utód felnevelésére lesznek képesek. A szülők genetikai anyagának keverékéből jön létre a következő nemzedék apróbb módosulásokkal. Néhány ezer generáció alatt akár lényeges változások itt is lejátszódhatnak (viszonyítás képpen körülbelül ennyi ideje pusztult ki a Neandervölgyi ember). A fejlődés üteme nem lineáris, inkább lépcsőzetes lassú időszakokkal és kisebb-nagyobb ugrásokkal. Ez a jelenség szintén jellemző a szoftveres szimulációkra és a valóságra is.

Virtuállatok

"A Digitális Biota (önkéntes) önreplikáló, független programok, melyek számítógépes vírusokban és férgekben, mesterséges élet programokban, sejtautomatákban, genetikai algoritmusokban, és egyetemes adaptív hálózatokban testesülhetnek meg" - olvasható a honlapon. A környezetükkel interaktív viszonyban álló "lények" élnek és meghalnak, szaporodásra és mutációra szintén képesek. Általában bonyolult evolúciós folyamatokon mennek keresztül. A bióták különös szerzetek, fizikai jellegük nehezen ragadható meg - telejelenlétet biztosító eszközök, például robotok belsejébe is telepíthetők.


Evolúciót másol a kert

De egyelőre (leginkább) 2D-s vagy 3D-s, számítógép által generált képek, esetleg animációk, melyek az organizmus funkcióit és képességeit ábrázolják. Ők lakják be a NerveGarden projekt meseszép, valószerűtlenül tiszta színekben pompázó kertjeit. Egy virtuális terráriumban, "együttműködésen alapuló ALife laboratóriumban" járunk. A bióták dinamikussá formálják a mozdulatlan terepet, élet születik az élettelenből. E fura létezők egyébként nemcsak állatkák, hanem fák, bokrok, virágok, stb. is lehetnek. A magokat a felhasználó veti el.

A kert algoritmikus növények állandó fejlődésben, örök mozgásban lévő rendszere, a biológiai modellt utánzó, sőt, annál látványosabb, álomba illő világot szimuláló ökológiai rendszer, működési elve, akárcsak Thomas Ray nevezetes Tierra Hálózatáé, az evolúción alapul, azt kopírozza. Önszerveződés, emergencia, komplexitás a legfőbb jellemzők. A bonyolult folyamatok végkimenetelét, a kiválasztódás, a verseny győzteseinek kilétét maguk a tervező-szervezők se tudhatják előre.

A NerveGarden ötlete egy 1995-ös, Palo Altóban megtartott, a nanotechnológiáról szóló konferencián született, nevezetesen akkor, amikor Todd Goldenblaum bemutatott egy, nanogépezetet ábrázoló VRML-munkát, az avatárákról később egész könyvet író Bruce Damer pedig egy neurálisháló-szerkezetet (Nerves). Összebarátkoztak, és elkezdtek együtt dolgozni, melynek a Biota.org lett az eredménye.

Távkertből jött az inspiráció

A NerveGardent pedig az 1995-ös SIGGRAPH-on bemutatott, a hálózati felhasználóknak egy (többek között) növényi magokat elültető robotkar feletti kontrollt biztosító USC Telegarden, valamint (a Tierra Hálózat mellett) Karl Sims (szintén evolúciós modellt követő) 3D-s virtuális teremtményei, illetve Chris Langton munkái inspirálták.

Az alkotók arra számítanak, hogy a Digitális Biota hamarosan olyan forradalmi változásokon megy keresztül, mint az evolúció Cambrium-kori, számtalan új életforma térnyerésével jellemezhető "robbanása". Úgy vélik, a leggazdagabb, a legdinamikusabb kiválasztódási feltételeknek megfelelő ökorendszerek az avatárák által lakott, több-felhasználós virtuális világok.

Tierra szimulációs rendszer

Tierra szintetikus élet - a lemodellezett evolúció

Vajon mi történik, ha egy biológus úgy dönt, hogy saját magát reprodukáló számítógépes programok kis világát teremti meg, hogy vizsgálhassa az evolúciót?
Az evolúciós folyamat modellezéséhez szándékosan el kellett rontani néhány bitet a modellbe betáplált "kód-organizmusokban". A tökéletesen működő számítógép belsejében egyfajta virtuális gépet hozott létre, amelyik kevésbé tökéletesen működik, mondjuk minden ötszázadik bitet hibásan másol át. Ezzel a másolási hibák gyakorisága szabályozott volt. Így alkotta meg Thomas Ray a "mesterséges Föld" absztrakt modelljét. Erre utalva a spanyol TIERRA nevet kapta, ami Földet jelent.

A TIERRA környezetben egy egység 5 bitből áll. Ezzel 32 utasítás volt kódolható. Ray kidolgozta, hogy milyen utasításkészlet alkossa a TIERRA programozási nyelvét. Úgy válogatta össze a 32 utasítást, hogy olyan programot lehessen írni, amik a TIERRA memóriájában létrehozzák önmaguk egy (a már említett random hibákkal létrejövő) másolatát.


Matematikusok később bebizonyították, hogy ez a szélsőségesen lecsupaszított számítógép is valójában éppen olyan univerzális, mint Neumann számítógépe volt. (Neumann megmutatta, hogy az univerzális számítógép képes önmagukat fizikailag reprodukáló robotok készítésére.) Ha megépítenénk valódi gépnek, azon is lehetne futtatni szövegszerkesztő-, játék- vagy böngészőprogramokat is. Ez fontos tény: nem lehet ugyanis azt állítani, hogy a TIERRA csak szimuláció, aminek alig van köze a valódi folyamatokhoz.

A TIERRA környezetben lényegét tekintve számítógépes vírusokhoz hasonló programok futottak. Egymással versenyeztek a processzor erőforrásaiért és a rendelkezésre álló memóriaterületért, amelyek az energia és az életterület absztrakt analógiájának tekinthetők. Ebben a környezetben az a program, amelyik kevesebb helyet foglal el, könnyen talál az utódjának helyet. Az amelyik gyorsabban, kevesebb processzorművelet felhasználásával szaporodik, szintén előnybe kerülhet.

A TIERRA környezet a benne futó konkrét programoktól függetlenül gondoskodik a másolási hibákról, illetve az idős, valamint a rendszert gyakran lefagyasztó programok elpusztításáról. (Találó neve ezen alrésznek a Reaper [Kaszás] volt. )

"Lehet zöld az ég, és lehet kék a fű..."

Amikor a környezet elkészült, Thomas Ray legjobb tudása szerint írt egy programot, amely képes volt elkészíteni önmaga másolatát. A legrövidebb ilyen program, amit el tudott képzelni, 80 utasításból állt. 1990. január 3-án sikerült először lefuttatnia ezt a programot a frissen elkészült TIERRA virtuális gépen, és mint írja, "ezzel elszabadult a pokol. [...] Kutatási programom egyszerre csak gyökeresen átalakult. Eddig egy rendszer tervezése volt a feladatok, innentől pedig csak a megfigyelés. Újra a dzsungelben voltam, hogy leírjak egy idegen világot, amelynek fizikája és kémiája teljesen másmilyen volt, mint az élet azon formáié, amelyeket ismertem és szerettem. Mégis, az élet olyan formái és folyamatai jelentek meg, amelyek egy gyakorlott természetkutató szemével valahogy nagyon is jól azonosíthatók voltak."

A gyakorlott természetkutató (és a hírszerzési dolgozó is) tudja, hogy amikor így ül megfigyelőhelyén, sokáig nem történik semmi érdekes. De figyelme nem lankadhat, bármikor történhet valami fontos dolog. Ray nem akart hinni a szemének, amikor egy 79 utasításból álló lényt látott, amely valamivel gyorsabban szaporodott, mint az ő 80-as utasítássorozata. Hosszabb programok is megjelentek, de azok idővel kihaltak. Egyszer csak megjelent egy 45 utasításból álló program, ami a vizsgálatok alapján egy valódi parazitának bizonyult: egy másik program kódjának részletét is felhasználta szaporodásához: megkereste az egyik 80-as kódját a memóriában, rákapcsolódott egy alkalmas ponton, és így magát a másolást (mint szaporodást) már ezzel végeztette el.

Számomra itt válik még érdekesebbé a történet. Egyes programok immunitást fejlesztettek ki az őket gyötrő parazita ellen, például a 79-es immunissá vált a 45-ös parazita egy változatára. Ám ekkor megjelent egy 51 soros, ami ezt a védelmet fel tudta törni. Még az altruizmus különböző formái is megjelentek, és hosszabb időn át fenn is maradtak. Előfordult, hogy egy parazita fejlesztett ki védelmet a "gazdaszervezete" számára, és ezzel annak ellenére jól járt, hogy maga egy kicsit hosszabbá vált.

Így történt, hogy Thomas Raynek soha többé nem kellett önreprodukáló programot írni. Gyártott neki rengeteget a TIERRÁ-ban zajló evolúció. Ezzel zárta ki azt a korlátozó tényezőt, ami az evolúció kutatásában állt a tudósok előtt: hogy csak egy van belőle, és azt is csak kis részletekben, régészeti leletekből vizsgálhatjuk. A TIERRA sokszori újraindítása során mindig más-más ökoszisztéma alakult ki, másfajta élőlényekkel és ezek legkülönbözőbb fajta összefonódásával. Néha még az ivaros szaporodás valamiféle formája is kifejlődött: egy programpár először is megkereste egymást a szaporodáshoz, ezek után mindkettő a TIERRA memóriájának ugyanarra a részére kezdte másolni önmagát, és így az utód által elfoglalt memóriaterület egy részére az egyik, a többi részére pedig a másik program kódrészlete került.

A TIERRÁ-nak sikerült elképesztenie Rayt, mint biológust és mint programozót. Egyszer váratlanul megjelent egy 22 utasításból álló program, amely teljesen egyedül is képes volt szaporodni. Nem volt sem parazita, sem másképpen nem függött más programoktól. Joggal döbbentette meg a program hatékonysága: negyed annyi utasítás is elég volt a kitűzött célhoz. Az evolúció minden megjelenési formájában csodákra képes.

Evolúciós verseny gazdák és a paraziták között egy leves-ben a Tierra Szintetikus Life program által kifejlesztett Tom Ray. A képeket az Artificial Life Monitor program jelenítette meg, amit Marc Cygnus írt. Minden kép 60.000 bájt-os levest jelenít meg. Minden egyes lényt egy színes sáv jelöl, színei megfelelnek-genom méretének (pl, piros 80, sárga 45, kék 79). 

A gazdák pirosak, nagyon gyakoriak. A paraziták sárgák, itt már megjelentek, de még ritkák.

A gazdák már ritkák, mert a paraziták itt már nagyon gyakoriak.
Itt megjelentek a pirosakra immunins gazdák a kékek, de még ritkák.

Az immunins gazdák egyre nagyobb a számban, elkülönülve a parazitáktól a felső memóriában.

Az immunins gazdák uralják memóriát, míg paraziták és fogékony gazdák csökkenése látszik.
A paraziták hamarosan a kihalás szélére kerülnek.

Röviden a Tierra rendszerről

Tierra - Spanyol szó, jelentése: Föld

Az eredeti tervezési kritérium szerint evolúcióra képes önreprodukáló gépi kód.

Másnéven darwini operációs rendszer, virtuális gép formájában van megvalósítva. A virtuális gép megvalósítás oka, hogy az önreprodukáló kód valójában egy vírus. Ha egy vírus nem virtuális környezetben működik, akkor bármikor elszabadulhat további gépekre. ld. első számítógépes vírus Creeper, (és Reaper).

Ez a szimulátor tulajdonképpen egy MIMD gép emulációja. A szimulátor alkotója: Thomas S. Ray (Tom Ray) A Tierra első verzója 1990-ben jelent meg. Jelenleg a V6.02 verzió érvényes (2011 nyár). A számítógép tudományon belül a mesterséges intelligencia azon belül a mesterséges élet témakörében találunk további információkat.


Template címzés

Architetúrális adottságok

A Tierra virtuális gépben nincs nincs numerikus művelet (ahol argomentumot adnánk). Ezért cím kalkuláció sem lehet ilyen alapon, vagyis nem lehet ugrási címet kalkulálni. Tom Ray azt "ajánlja" hogy az utasításkészlet a lehető legkisebb méretű legyen. A Tom Ray által definiált Istruction Set #0 32 utasításból áll.

Asszociáció

Hogyan lehet ilyen körülmények között ugró (ill. hívó) utasításokat megvalósítani? A válszhoz az ötlet a molekuláris gnetikából jön. Hogy "találják" meg egymást az összekapcsolódo molekulák? A kapcsolódó molekulák megtalálják az a "helyet" (egymáshoz illeszkedő formákat) ahol összekapcsolódhatnak. Ezek az un. template-ek.

Template-ek megvalósítása

Hogyan lehet megvalósítani a template-eket a Tierra programozási nyelvén? Az ötlet a következő: két különböző nop utasítás van, nop0 és nop1. Egyik nop sem csinál semmi "hasznosat", azoban egy template-et lehet belőlük csinálni. Íme egy template:

nop0
nop0
nop1
nop1

; ez a template: 0011 mintájú

; ehhez a template-hez illeszkedő template, 
; ennek az inverze, azaz: 1100, vagyis nop-okkal

nop1
nop1
nop0
nop0

; ez a template: 1100 mintájú

Hogy működik a jump?

A jump a mögötte lévő template-hez egy adott írányban az első illeszkedő template-re ugrik. Tehát az illeszkedő template keresése (így az ugrás iránya) egy adott irányba (előre vagy hátra) történik. Ha meggondoljuk, akkor ebből következik, hogy jump magára nem ugorhat, ilyen fajta végtelen ciklust nem okozhatunk.


Genetikai műveletek

Mutációk

A mutációk két féle módon változtathatják a gépi utasításokat:
  • Bit átbillentéssel: ekkor az utasítás egy bitjét (váletlenszerűen) átbillenti a rendszer
  • Véletlenszerű csere: ekkor egy teljes (véletlenszerűen választott) utasítás lesz kicserélve egy másik (szintén véletlenszerűen választott) utasításra. 

A mutációk a következő esetekben történhetnek:
  • a folyamatok születésekor
  • amikor a kód másolódik (egyik helyről a másikra)
  • bármikor véletlenszerűen (a kozmikus sugárzás hatását szimulálva)

Gének összekapcsolódása

További három esete van:
  • Kereszteződés
  • Beszúrás
  • Törlés 

A gének összekapcsolódása két helyen történhet:
  • Bárhol a genomban
  • Csak szegmens határokon, melyeket a template-ek jelölnek 

Szegmensek mentén történő gén összekapcsolás jellemzői:
A template-ek funcionálisan összefüggő kód darabokat jelölnek ki, így ha ezek mentén történnek a genetikai műveletek, akkor van esély hogy nem "értelmetlen" kódok kapcsolódnak össze. Nyilvánvalóan azon a felismerésen alapul, hogy a Tierra vezérlési folyamának pontjait jelölik ki a template-ek. A gének összekapcsolódása a folyamatok szaporodása során, az utód folyamaton törénik, annak megszületésekor.

Kereszteződés

A kereszteződésben résztvevő párok véletlenszerűen választódnak. Ekkor a genom kereszetzési pontja véletlenszerűen lesz megválasztva. A kereszteződés során az utód kisebbik része kicserélődik a kiválasztott pár megfelelő részével.

A kereszteződés kétféle formában történhet:
  • megtartva az utód méretét
  • megváltoztatvan az utód méretét

Beszúrás

A kereszteződéshez hasonlóan egy utód és egy kiválasztott társ vesz részt benne. Eltérően a kereszteződéstől a kód az utód kódjába beszúródik (nem cserélődik). A kód az utód bármely részébe beszúródhat. A kiválaszott társ kódjának bármely része beszúródhat az utódba.

Törlés

Maximálisan a genom fele törlődhet. A törlés folyamata: Elsőként a törlendő "darab" mérete kerül meghatározásra. Majd a törlés genomon belüli helye lesz kijelölve. Végül az adott méretű kódrészlet a törlődik a kijelölt helyről.

Szándékos hibák

A szándékos hibák (ebben a fejezetben a továbbiakban csak hibák) nem genetikai műveletek, mivel nem változtatják meg a genomot - bár módosítják a kód működését. A hibák ötlete a metabolikus reakciókban keletkező természetes hibákon alapulnak. Ekkor a reakció sikertelen vagy valamilyen melléktermék jön létre. Ennek megfelelően a Tierrában a hibák szándékosan változtatják meg a gépi utasítások hatását. Néhány példa a hibák hatására: aritmetikai műveletek esetén az eredményt +/- 1-el megváltoztaják regiszter mozgatások esetén egy szomszédos regiszterbe teszik az eredményt bit léptetés vagy rotáció esetén egy bittel tovább shiftelődik vagy léptetődik az eredmény


Darwini operációs rendszer

Slicer

A Slicer egy körré formált sor (queue) adat szerkezettel rendelkezik, a virtuális gépben futó folyamatok számára. A Slicer allokálja a CPU időszeleteket a sorban lévő folyamatoknak. A kapott időszelet mérete befolyásolja a folyamat által végrehajtható gépi utasítások számát. Az időszelet mérete lehet fixen meghatározott, véletlen változó alapján kiosztott vagy függhet a folyamat méretétől. A folyamatok születésükkor kerülnek a silcer sorába, pontosan a szülő folyamatuk utáni pozicióra.

Reaper

A Reaper egy közönséges sor (queue) adat szerkezettel rendelkezik a virtuális gép folyamatai számára. Az újonnan született folyamatok a sor alján lépnek be. Amikor a memória betelik, akkor a Reaper terminálja a Reaper sor tetején lévő folyamatot, majd eltávolítja a terminált folyamatot mind a Slicer, mind a Reaper sorából. Az eltávolított folyamat által allokált memória felszabadításra kerül, viszont a terminált folyamat kódja nem lesz eltávolítva, benne marad a soup-ban. Elős megközelítésben látható, hogy az idősebb folyamat terminálódik (hal meg) előbb. A Reaper ezen kívűl még terminálhat egy - a Reaper sor felső adott X%-ból - véletlenszerűen kiválasztott folyamatot. Amikor egy folyamat egy hibát generál (sikertelen mal vagy divide utasítás), akkor a folyamat feljebb lép egyet a Reaper sorban. Sikeres mal vagy divide esetén azonban lejjeb lép egyet a folyamat a Reaper sorban.

Memória allokálás

A memória allokálás összeköttetésben áll a Reaper-el. Amikor egy memória allokáció kérést nem lehet teljesíteni, mert nincs adott mennyiségű szabad memória, akkor a Reaper működésbe lép és terminál annyi folyamatot, hogy az általuk felszabadított memória elegendő legyen a legutóbbi memória allokáció kérés kiszolgálására. A memória kérések limitálva vannak, az első blokk méretének egy adott számszorosával (N*first_block_size).

Zavarok

A (mesterséges) zavarok a nem várt természeti események szimulációja. A virtuális gép szabályozott vagy szabálytalan időpillanatokban terminálhatja egyes folyamatok populációját. Indítási paraméterben megadható, hogy adott populációk hány százaléka kerüljön terminálásra és ez milyen időbeli minta szerint történjen meg.


A Tierra programozása

Hogyan kell programozni Tierra-ban?

A rendszer felépítéséből adódóan önreprodukáló kódot kell írni. Persze van lehetőség "egyszerűbb" (pl. teszt jellegű) programok írására, ekkor azonban nem nyer értelmet a Tierra eszközrendszere. A megírt önreprodukáló kódot creature-nek nevezik. A Tierra felparaméterezve (soup méret, genetikai műveletek paraméterei stb.) ezzel a creature-rel kerül elindításra. Ha a creature jól van megírva, akkor azonnal el kezd replikálódni, terjedni a soup-ban. Persze közben hatnak rá a szimulációs környezet hatásai (pl. genetikai műveletek) így a replikálódó kód el kezd megváltozni. A Tierra eszközrendszere ezeknek a változásonak a megfigyelésére és szabályozására készült. A soup-ban működő kódot gyakran genom vagy folyamat populációnak nevezik. Az azonos kódok egy genomot reprezentálnak. A genomot el is nevezi a Tierra rendszer, hogy könnyebben azonosítható legyen. A genomot alapvetően a programkód hosszáról és generációjáról nevezi el a rendszer. Nézzünk egy példát! A Tierra rendszerrel kapunk kész creature-öket. Ilyen a 0080aaa, melynek a neve a hosszából 80 (hexadecimálisan) és generációjából jön. Mivel ez az "első" generáció ezért az aaa nevet kapja, a következő ilyen hosszú kód generáció az aab nevet kapja. A 00800aaa Tom Ray által írt un. ősprogram. Ha ezzel elindítjuk a Tierra-t, további populációk jönnek létre, pl: 0061aai, 0069aab stb.

Az önreprodukáló kód szerkezete

Template
Önellenőrzés (méret), self-exam
Template
Reprodukciós ciklus, reproduction loop
Template
Másoló eljárás, copy procedure
Template

Utasításkészlet

Ahogy az 1. fejezetben említve lett, hogy a Tierra úgy lett kidolgozva, hogy könnyen változtatható legyen az alkalmazott utasítás készlet és könnyen és új utasítás készleteket is lehessen definiálni. A Tierra-val több utasítás készlet is jön. Természetesen mindegyik utasítás készletnek megfelelően különböző creature-ket lehet írni. Természetesen van egy "alapértelmezett" utasítás készlet, az Instruction Set #0. Ebben a leírásban minden példa a Instruction Set #0 felhasználásán alapúl.

Íme az Instruction Set #0

Instr Set #0

The original instruction set, designed and implemented by Tom Ray, in early 1990.

This instruction set operates on a CPU based on the following definitions:

#define STACK_SIZE 10
#define ALOC_REG 4
#define NUMREG 4         /* NUMREG = ALOC_REG */

typedef struct {         /* structure for registers of virtual CPU */
    Reg re[ALOC_REG];    /* array of registers */
    Reg ip;              /* instruction pointer */
    Reg sp;              /* stack pointer */
    Reg st[STACK_SIZE];  /* stack */
    I8s fl;              /* flag */
} Cpu;

The four registers in the re[] array are referred to as follows:
AX = re[0], BX = re[1], CX = re[2], DX = re[3].

No Operations: 2

nop0
nop1

Memory Movement: 11

pushA  (push AX onto stack)
pushB  (push BX onto stack)
pushC  (push CX onto stack)
pushD  (push DX onto stack)
popA   (pop from stack into AX)
popB   (pop from stack into BX)
popC   (pop from stack into CX)
popD   (pop from stack into DX)
movcd  (DX = CX)
movab  (BX = AX)
movii  (move from ram [BX] to ram [AX])

Calculation: 9

subCAB (CX = AX - BX)
subAAC (AX = AX - CX)
incA   (increment AX)
incB   (increment BX)
incC   (increment CX)
decC   (decrement CX)
zero   (zero CX)
not0   (flip low order bit of CX)
shl    (shift left all bits of CX)

Instruction Pointer Manipulation: 5

ifz    (if CX == 0 execute next instruction, otherwise, skip it)
jmp    (jump to template)
jmpb   (jump backwards to template)
call   (push IP onto the stack, jump to template)
ret    (pop the stack into the IP)

Biological and Sensory: 5

adr    (search outward  for template, put address in AX, template size 
       in CX)
adrb   (search backward for template, put address in AX, template size 
       in CX)
adrf   (search forward  for template, put address in AX, template size 
       in CX)
mal    (allocate amount of space specified in CX)
divide (cell division)

Total: 32 instructions

Creature létrehozása

Egy majndem üres program szerkezete:
A file nevének 0001aaa.tie-nak kell lennie.

format: 3  bits: 3
genotype: 0001aaa  genetic. 0,1  parent genotype: 0666god

CODE

track 0:

nop1    ; 110 01   egyetlen nop1 utasítás

Miért majdnem üres ? Hogy meg lehessen mutatni a programozáshoz alapvetően szükséged dolgokat. A fájl elnevezése nem véletlen. A 0001 résznek pontosan a fájlban lévő utasítások számával kell hogy megegyezzen, hexadecimálisa. Tehát ha a program 1 db utasításból áll akkor 0001 a név első része, ha 128 db utasítás van benne akkor 0080 a név első része. A név második részét érdemes fix aaa-ra venni. Ezt azt jelképezi, hogy egy mi általunk (ember által írt) genom lesz a file-ban. Ha ez a genom változik, akkor az újabb genomok az aab, aac stb. neveket kapják (feltételezve, hogy a genom hossza változatlan marad) megkülönböztetésűl. A file kiterjesztését célszerű .tie-re venni, hogy tudjuk ez egy Tierra forrás file.

Azonban nem elég, hogy a file neve tartalmazza a benne szereplő program hosszát! Ez inkább csak konveció, azért, hogy jobban meg tudjuk különböztetni a genomokat (pl. az ember által írtat a futás során létrejöttektől). A program méretének meg kell jelennie a genotype kezdetű sorban (ilyenmódon) kétszer is. Először genom (vagyis a file név kiterjesztés nélküli része), majd a genetic szó után szereplő 0, követve a program méret jön hexadecimális formában. Ha ennek a kitételnek nem teszünk eleget, akkor a fordító program figyelmeztet bennünket, hogy javítsuk ki.


A Tierra eszközök használata

A Tierra üzebehelyezése

A Tierra program üzembehelyezése egyszerű. Az általános ismertető oldalon megadott linkről azonnal letölthető, szintén a mellékelt linkek között van az elérhető dokumentáció linkje is. Érdemes a Quick Start lépéseit áttekinteni. A Tierra mind Windows és Linux ill UNIX rendszereken képes működni. Sem a Windows sem a (legtöbb) Linux esetén nem kell a program le fordításval bajlódnunk, a binárisok azonnal futnak.
(A példa Linux-ra vonatkozik)
A Tierra fő directory-jába (a példákban legyen ez is tierra) kerül a tierra végrehajtható file. Indítása egyszerű, ha nincs a PATH-ban, akkor a Tierra fő directory-jában:

$ ./tierra

Ha minden rendben, akkor azonnal indul a tierra. A tierra program azonnal üzen az alapértelmezett konzolra. Itt léthatjuk, hogy ha valami baj van. Ha rendben mennek a dolgok, akkor az üzenetek követik egymást. A programot a ^C billentyű paranccsal interaktív módba válthatjuk, ahol a megjelenő menün keresztül adhatunk különböző parancsokat, pl. leállíthatjuk a program futását.
Célszerű néhány további dolgot ismerni a program működéséről. A soup_in konfigurációs file-ban lehet beállítani az alapértelemezett futási paramétereket. A felhasználó is készíthet ilyen konfigurációs fájlt a saját beállításainak. Például ha a felhasználói konfigurációs fájl neve: si11, akkor a következő módon kell a tierra-t indítani:

$ ./tierra si11

Ekkor a konfigurációs fájlban megadott paraméterekkel indul a program. A legfontosabb paraméter GenebankPath paraméter.
A GenebankPath adja meg melyik un. gén bank directory-ból vegye a szükséges genom fájlokat a futáshoz és hová tegye az futás outputját.
Hogy a különböző genomok jól elkülöníthetően legyenek, a tierra a gén bank directory-kat használja. Ha készítünk egy új kézzel írt creature-t, akkor azt célszerű külön gén bank directory-ba tenni és ha "futtatjuk" a creature-t, akkor a keletkező outputokat szintén oda lehet helyezni. Így látható lesz, milyen genomok futtatása mit eredményez. A tierra konvencionálisan gb kezdetű directory neveket használ.
A konfigurációs fájl utolsó sora adja meg melyik genom kezdjen műköni a tierra indításával.
Példa konfig részlet (a # jel komment sort jelöl)

#
GenebankPath = gb11/  path for genebanker output
.
.
.
#
0080aaa

Ebben az esetben a tierra/gb11-es directory-ban léteznie kell egy 0080.gen fájlnak, csak akkor indul el a tierra.

Program fordítás a Tierra-ban

Ha már létrehoztunk egy forrás fájlt, mondjuk 0107aaa.tie néven akkor a következőket kell tennünk: Célszerű egy külön gén bank directory-ban tenni a fájlt, pl. gb11
A fordítás menete egyszerű:

$ ../arg c 0107aaa.gen 0107.tie

Ekkor keletkezik egy 0107aaa.gen biáris (végrhajtható fájl). Ha a soup paraméterek utolsó sora 0107aaa, akkor kell hogy létezzen a gb11/0107aaa.gen nevű filenak, aminek a már említett végrehajtható fájlnak kell lennie (célszerű a lefordított fájlt átmásolni vagy átnevezni).
A meglévő .gen fájlok visszafordíthatók forrás formára szintén az arg program segítségével.

$ ../arg x 0107aaa.gen aaa

A parancs kiadása után létrejön egy 0107aaa nevű fájl, ami Tierra forráskódot tartalmaz.

A tierra futásának megfigyelése

A Tierra rendszer számos eszközt biztosít a program "életének" nyomonkövetésére, hisz az egész rendszer értelme a szimuláció nyomén történő elemzés. Az egyik ilyen legfontosabb vizuális elemző program a Beagle Explorer (ez csak Linux-on áll rendelkezésre, Windows esetében egy másik program használható hasonló célokra). A Beagle Explorerrel nyomon követhetjük vizuálisan is a soup állapotát. Linux alatt a bgl-GUI_X11_Linux paranccsal indítható el.
Különböző log elemző programok is segíthetnek a munkában.

A tierra program futtatásának célja hogy elemezzük a megírt vagy létrejött kódok (genomok) működését:
  • Hogyan változnak a genomok?
  • Parazitizmus, alkalmazkodás, szexualitás mőködése
  • Például: a futtatások magas (több mint 70%-ban) megfigyelhető a loop unroll technika „kifejlődése”
  • Egyre kisebb creature-ok létrejötte


Egy Tierra program Tom Ray nyomán

0107aaa.tie ötlete

Assembly nyelven programozva, ha a programunkhoz hozzáadunk egy nop utasítást, akkor általában nem sok változást tapasztalunk. Persze, Assembly-ben is lehet olyan programot írni, ahol dramatikus hatása van egy nop-nak, de nem ez a jellemző. A Tierra kódjában azonban már néhány nop-pal is jelentősen megváltoztathatjuk programunk hatását! Emlékezzünk vissza a template címzés módszerére, ahol a jump utasítás egy kiegészítő (inverz) template-et keres meg ugrási célnak.

Ha például a kódunkba több helyre is elhelyezünk egy template-et, akkor előfordulhat, hogy a genetikai változások hatására a következő template-re ugrik a jump, ezzel jelentősen megváltoztatva a kód működését.

Tierra kódok írásakor elfogatott, hogy mindenki szeretné kissebb méretű önreprodukáló kódot írni, ami kihívásnak tűnik. Azonban más irányban is lehet próbálkozni. Tom Ray 0080aaa "ős programját" úgy vátoztattam, meg hogy 5 különböző 5 db nop-ból álló template-et tettem bele. A változtatás látszólag semmit nem jelent, nincs meg az aminek párja lehet a beírt template, nem csak összefüggő kóddarabokat választanak el ezek a template-ek (amitől az lenne várható, hogy hamar "szét esik" és nem tud tovább szaprodni a genom, hamar leáll a tierra futása).

Az így készült 0107aaa.tie mégis hasonlóan életképes (azonos indításai paraméterekkel) mint a kiválasztott ős.

0107aaa.tie

A pluszban beírt template nop utasításokhoz nem írtam kommentet.

**** begin genome file (note blank line at top of file)

format: 3  bits: 3
genotype: 0107aaa  genetic. 0,107  parent genotype: 0666god

CODE

track 0:

nop1    ; 110 01   0 beginning marker
nop1    ; 110 01   1 beginning marker
nop1    ; 110 01   2 beginning marker
nop1    ; 110 01   3 beginning marker
zero    ; 110 04   4 put zero in cx
not0    ; 110 02   5 put 1 in first bit of cx
shl     ; 110 03   6 shift left cx (cx = 2)
nop0
nop0
nop1
nop1
nop1
shl     ; 110 03   7 shift left cx (cx = 4)
nop0
nop1
nop1
nop1
nop1
nop1
movDC   ; 110 18   8 move cx to dx (dx = 4)
adrb    ; 110 1c   9 get (backward) address of beginning marker -> ax
nop0    ; 100 00  10 complement to beginning marker
nop0    ; 100 00  11 complement to beginning marker
nop0    ; 100 00  12 complement to beginning marker
nop0    ; 100 00  13 complement to beginning marker
subAAC  ; 110 07  14 subtract cx from ax, result in ax
movBA   ; 110 19  15 move ax to bx, bx now contains start address of mother
adrf    ; 110 1d  16 get (forward) address of end marker -> ax
nop0    ; 100 00  17 complement to end marker
nop0    ; 100 00  18 complement to end marker
nop0    ; 100 00  19 complement to end marker
nop1    ; 100 01  20 complement to end marker
incA    ; 110 08  21 increment ax, to include dummy instruction at end
subCAB  ; 110 06  22 subtract bx from ax to get size, result in cx
nop1    ; 110 01  23 reproduction loop marker
nop1    ; 110 01  24 reproduction loop marker
nop0    ; 110 00  25 reproduction loop marker
nop1    ; 110 01  26 reproduction loop marker
mal     ; 110 1e  27 allocate space (cx) for daughter, address to ax
call    ; 110 16  28 call template below (copy procedure)
nop0    ; 100 00  29 copy procedure complement
nop0    ; 100 00  30 copy procedure complement
nop1    ; 100 01  31 copy procedure complement
nop1    ; 100 01  32 copy procedure complement
divide  ; 110 1f  33 create independent daughter cell
jmpo    ; 110 14  34 jump to template below (reproduction loop)
nop0    ; 100 00  35 reproduction loop complement
nop0    ; 100 00  36 reproduction loop complement
nop1    ; 100 01  37 reproduction loop complement
nop0    ; 100 00  38 reproduction loop complement
ifz     ; 000 05  39 dummy instruction to separate templates
nop1    ; 110 01  40 copy procedure template
nop1    ; 110 01  41 copy procedure template
nop0    ; 110 00  42 copy procedure template
nop0    ; 110 00  43 copy procedure template
pushA   ; 110 0c  44 push ax onto stack
pushB   ; 110 0d  45 push bx onto stack
pushC   ; 110 0e  46 push cx onto stack
nop1    ; 110 01  47 copy loop template
nop0    ; 110 00  48 copy loop template
nop1    ; 110 01  49 copy loop template
nop0    ; 110 00  50 copy loop template
movii   ; 110 1a  51 move contents of [bx] to [ax] (copy one instruction)
decC    ; 110 0a  52 decrement cx (size)
ifz     ; 110 05  53 if cx == 0 perform next instruction, otherwise skip it
jmpo    ; 110 14  54 jump to template below (copy procedure exit)
nop0    ; 110 00  55 copy procedure exit complement
nop1    ; 110 01  56 copy procedure exit complement
nop0    ; 110 00  57 copy procedure exit complement
nop0    ; 110 00  58 copy procedure exit complement
incA    ; 110 08  59 increment ax (address in daughter to copy to)
incB    ; 110 09  60 increment bx (address in mother to copy from)
jmpo    ; 110 14  61 bidirectional jump to template below (copy loop)
nop0    ; 100 00  62 copy loop complement
nop1    ; 100 01  63 copy loop complement
nop0    ; 100 00  64 copy loop complement
nop1    ; 100 01  65 copy loop complement
ifz     ; 000 05  66 this is a dummy instruction to separate templates
nop1    ; 110 01  67 copy procedure exit template
nop0    ; 110 00  68 copy procedure exit template
nop1    ; 110 01  69 copy procedure exit template
nop1    ; 110 01  70 copy procedure exit template
popC    ; 110 12  71 pop cx off stack (size)
nop0
nop1
nop1
nop0
nop0
popB    ; 110 11  72 pop bx off stack (start address of mother)
nop0
nop1
nop1
nop1
nop0
popA    ; 110 10  73 pop ax off stack (start address of daughter)
nop1
nop0
nop0
nop1
nop1
ret     ; 110 17  74 return from copy procedure
nop1    ; 100 01  75 end template
nop1    ; 100 01  76 end template
nop1    ; 100 01  77 end template
nop0    ; 100 00  78 end template
ifz     ; 000 05  79 dummy instruction to separate creature

**** end genome file

Forrás: http://fbkerulo.blog.hu/2013/05/24/udvozlunk_a_blog_hu-n_16165
http://nyelvek.inf.elte.hu/leirasok/Tierra/index.php?chapter=1