intelligent design

Published 2006/11/25 by dna

fleck

  "gutta cavat lapidem, non vi sed saepe cadendo"
  "állandó csöpögés koptatja el a követ"
    -- latin szállóige

mai pen rai nyitott minden kérésre. így mikor imre kérte, hogy egy pillangó képe is szerepeljen egy bejegyzés felvezető képe gyanánt, nem lehetett nemet mondani. ám mégsem most, mint eredetileg volt tervbe véve. majd ha itt az ideje. most a tegnapi és egy régebbi bejegyzést szeretnők összefogni egy valamivel kerekebb egységbe.

az evolúció szó a latin evolveré-ből származik. eredeti jelentése kihajtódás, feltárulás, áramlás. ókori rómában tekercsek kitekerése. ma az evolúciót jelentősen tágabb értelemben használjuk. az evolúció az élőlények egyik legkarakteresztikusabb tulajdonsága, noha nem csak az élőlényekre jellemző. számtalan kontextusban, mesterséges rendszerekben, gondolatok területén, művészetekben vagy akár a társadalomban is beszélhetünk evolúcióról, egy lassú, organikus fejlődésről, szemben a robbanásszerű revolúcióval. az evolúciós tanok kritikájaként egy régi-új idea tűnik mostanság fel, az intelligens tervezés (intelligent design), mely szerint evolúció nincs, vagy ha igen, az csak mikroevolúció szintjén működik. mai pen rai célja – mint eddig is – puszta illusztráció. nem voks az egyik vagy másik oldal mellett…

a biológia két fő kategóriára osztja a fejlődési folyamatokat. ontogenetikus (ontogeny), az egyed fejlődésével (mag+nap+víz+tápanyag => növény) és filogenikus (phylogeny) a populáció fejlődésével foglalkozókra. most ez utóbbira koncentrálunk. a múltkori bejegyzésben említett “a fajok eredete” (on the origin of species by means of natural selection, or the preservation of favoured races in the struggle for life) c. könyvben darwin által vázolt evolúciós alapelvek igazán mind a mai napig nem nagyon változtak. e szerint három – szükséges és elégséges – feltétele van az evolúció létrejöttének:-

  • reprodukció
  • mutáció
  • szelekció

a teória szerint ezen folyamatok szerint generációról generációra óriási genetikai variáció áll elő a leszármazottak között, de csak néhány túlélő akad aki sikeresen reprodukálja magát. azon egyedek akik leghatékonyabban adaptálódtak a környezetükhöz élnek túl legnagyobb eséllyel és állítják elő a következő generációt.

az érdekes persze az egészben ugyebár az, hogy sehol sincs a feltételek között az megszabva, hogy ez csak élő populációra lehetne igaz. sőt tovább menve az következik ebből, hogy ha e három szabály teljesül egy tetszőleges rendszerben, akkor az evolúciós minta előáll és a folyamat beindul. ha már folyamatoknál vagyunk, akkor célszerű őket ott vizsgálni ill. szimulálni ahol hatékonyan és gyorsan lehet számításokat végezni, pl. a számítógépen.

richard dawkins az evolúciós folyamatok prófétája illusztrálja a vak órás (the blind watchmaker) c. könyvében egy-két frappáns mintán keresztül a fenti folyamatokat. itt az egyik példát ragadnánk ki és szemlélnénk közelebbről, illetve a már fentebb említett másik bejegyzésre vonatkozó következtetéseket vonnánk le.

tekintsük az alábbi szófüzért: “intelligent design“. ez 18 betűből áll (a helyközt is betűnek tekintve). a kérdés: ki tudnánk e rakni ezt a szót véletlenszerűen variálgatva a betűit, hol egyet, hol többet, emberi beavatkozás nélkül pusztán egy folyamat segítségével. nyilvánvalóan. de mint tudjuk az is valószínű (ha nem is túlságosan), hogy majmok shakespeare összes művét legépeljék ha véletlenszerűen püfölik a billentyűzetet, csak kellően sokat kell várjunk. no de jelen esetben a szófüzér kapcsán mégis hogy lehetne és mennyi idő kellene ahhoz, hogy véletlenszerűen rátaláljunk erre a szófüzérre?

a legegyszerűbb az, ha :-

  1. kiindulunk egy teljesen véletlenszerűen választott ugyancsak 18 betűből álló szófüzérből
  2. pár betűt véletlenszerűen megváltoztatunk
  3. megnézzük a kapott szófüzért és ha “intelligent design” jött ki, akkor kész vagyunk. ha nem, akkor a 2-es ponttól folytatjuk

nos ez történetesen előbb utóbb megtalálná a megoldást valamilyen valószínűséggel, most viszont vizsgáljunk egy ezzel rokon ám elsőre hatékonyabbnak tűnő (némileg pongyolán illusztrált) megközelítést :-

  1. induljunk ki egy csupa helyközből álló 18 betű hosszú karakterfüzérből
  2. változtassunk egyetlen betűt (először első betűt a-ról b-re. következőre c-re, stb. ha a z-t elérjük, helyközre visszaállítjuk az első betűt, második betűt b-re állítjuk, majd az első betűt újra a-tól z-ig stb)
  3. megnézzük a kapott szófüzért, hogy “intelligent design” jött-e ki. ha igen akkor kész vagyunk, ha nem, akkor a 2-es ponttól folytatjuk

nyilvánvalóan ez egy idő után megtalálja a keresett “intelligent design” szófüzért. a kérdés, közben hányszor kellene ezen a pár ponton végig haladnunk.

mint tudjuk minden betű ábrázolható egy számmal. pl a számítógép a helyközt a 32-es számnak felelteti meg ascii kódolás szerint. jelen esetben a helyköztől (ascii kódja 32) indulva mondjuk a z betűig (ascii kódja 122) haladva 91 betűnk van. 18 helyen ezen 91 betű bármelyike szerepelhet egy tetszőlegesen választott cél szófüzér esetén, így matematikailag 9118 különböző lehetőség van. ez egész pontosan 183123913839120657539940631629904921, vagyis ~ 1.83 x 1035 eset. ha felteszem, hogy egy számítógép 1 másodperc alatt 100 millió ilyen szófüzért próbál végig, akkor legrosszabb esetben (ha az utolsó kombináció adja ki a keresett szót) kb. 1015 évi munkájába telne azt megtalálnia…. … … nem, a tiszta véletlen nem tűnik túl célravezetőnek…

vegyük a fentebb említett három evolúciós szabályt és keressük meg a nekik megfelelő műveleteket szófüzérekre alkalmazva. például :-

reprodukció

  • veszünk egy szófüzért és ahány példányban (populáció mérete) szeretnénk, lemásoljuk és új szófüzért készítünk belőle
  • például a “werd” 4 reprodukciója után “werd”, “werd”, “werd”, “werd”, “werd” lesz a populáció

szelekció

  • két azonos hosszú szó távolságát megállapíthatjuk pl. az információ elméletből ismert un. hamming távolság segítségével. ez felettébb egyszerű bár bonyolultnak hangzik első olvasatra; a két szóból vesszük az azonos helyen álló betűket párosával, megnézzük ezen betűk ascii kódjának különbségét, ezt négyzetre emeljük, majd összeadjuk. pl. a “vord” és “werd” távolsága: v – 118, o – 111, r – 114, d – 100, w – 119, e – 101. ezek alapján v-w=1, o-e=10, r-r=0 és d-d=0. így a távolság 12+102+02+02, ami 1+100+0+0 azaz 101
  • legyen egy szófűzér annál “életképesebb“, minél közelebb van a cél szófűzérhez (közelség az előző hamming értelemben értendő)

mutáció

  • egy szófűzérben vegyünk minden betűt egyesével, dobjunk fel egy érmét ami eldönti változtatjuk-e az adott betűt vagy sem. majd dobjunk egyet egy dobókockával ami azt döntse el mennyire változtassuk meg a betűt (hamming értelemben milyen messze kerüljön az eredetitől, tehát pl. a c betűt 1-es dobás esetén b-re vagy d-re, 2-es esetén a-ra, b-re, d-re vagy e-re változtathatjuk, stb.)
  • nevezzük az első valószínűséget (érme) a mutáció valószínűségének (azaz, hogy milyen eséllyel mutálódik egy egyed), a második valószínűséget (kocka) pedig a mutáció “sugarának” (azaz, hogy milyen távolra eshet egy megváltoztatott betű az eredetitől)
  • az illusztrációra használt érme (50%-os fej vagy írás) helyett használjunk tetszőleges valószínűséget és a mutációs sugár is lehessen 6-nál több

a mellékelt fisz (f#) program (forrás itt) a fentieket valósítja meg. működési elve :-

  1. generál véletlenszerűen egy adott hosszú szófüzért
  2. ezt a szót reprodukálja a fenti értelemben, azaz N-1 másolatát létrehozza (ha a célpopuláció mérete N)
  3. minden egyes másolatát mutálja a fenti értelemben, azaz adott valószínűséggel és mutációs sugárral az összes másolat karaktereit megváltoztatja
  4. a keletkezett új szófüzérek életképességét (hamming értelemben vett távolsága a cél szófüzértől) kiszámítja
  5. ez alapján a legéletképesebb egyedet kiválasztja
  6. ha ez a szó a célszó, akkor véget ér, ha nem, akkor a 2-es ponttól folytatja a legéletképesebb egyeddel
     

as it turns out

 a kísérlet megdöbbentő. a fenti paraméterekkel (cél mondat “intelligent design“, populáció mérete 60, mutációs sugár 2, mutációs valószínűség 10%) a rendszer kb. 400 generáció (lépés) után a teljesen véletlenszerű szövegfüzérből a cél szófüzérbe alakul. vessük össze ezt a 400 lépést a fentebbi teljesen véletlen rendszer 183123913839120657539940631629904921 lépésével.

a programban persze a legérdekesebb az, hogy szabadon lehet kísérletezni különböző paraméterekkel. variálni a populáció méretét és mutációs tulajdonságait ami alapján fontos észrevételek tehetők. kísérletezőbb kedvűek számára a fisz (f#) programból készült futtatható program mellékelve, innen tölthető le (futtatásához .NET 2.0 szükséges, mely innen letölthető)

azok kedvéért akiknek nincs kedvük kísérletezni íme az összefoglalás, mely már pár kísérlet után is észrevehető :-

  1. a populáció méretének növelése növeli a fejlődés sebességét, de nem lineárisan (pl duplázva a populáció számosságát a fejlődés nem lész kétszer gyorsabb)
  2. a populáció méretének csökkentése lassítja a fejlődés sebességét, de ugyancsak nem lineárisan
  3. nagy mutációs sugár ill nagy mutációs valószínűség lassítja a fejlődés folyamatát
  4. túl kis mutációs sugár vagy mutációs valószínűség lassítja a fejlődés folyamatát

a négy eset közül a két utolsó figyelemre méltó. a kísérletek arra utalnak, hogy evolúciós folyamatok során a mutáció paramétereinek van egy “optimális” szintje, amely mellett a fejlődés a leggyorsabb, olyan értelemben, hogy ettől eltérő paramétereket választva a fejlődés lelassul, ill. végletekben meg is áll.


  "Be not afeared.
   The isle is full of noises,
   sounds and sweet airs,
   which bring delight and hurt not"
     --Caliban from 'The Tempest' act III, scene II by Shakespeare

a cikk elején igért másik cikkel fennálló kapcsolat pedig itt tárható fel. a betűk mutációját nyilvánvalóan a jelen/jelben (itt betűfűzéren) keletkező zaj gyanánt is felfoghatjuk. ekkor a fenti kísérleteket átfogalmazva mondhatjuk, hogy a tapasztalat azt mutatja, hogy egy organikus rendszer fejlődéséhez elkerülhetetlen egy csekély mértékű zaj jelenléte. ezt átfogalmazva:-

a zaj jelenléte előfeltétele az organikus fejlődésnek.

a margóra … elmereng az ember, hogy vajon melyik komponista kreatívabb. az aki komponál egy az összes eddigi valaha megírt művet minden tekintetben felülmúló darabot (persze ez már önmagában értelmetlen, de elég ha a szuperlatívuszok átjönnek), hogy az zengjen az örökkévalóságig és kristályszerű struktúrája hírdesse alkotója dícsőségét, vagy az aki kompozíció gyanánt egy organikus/dinamikus rendszert szerkeszt egyszerű szabályokkal és peremfeltételekkel, majd ezt mozgásba hozva hátradőlve figyeli ahogy a rendszer a kezdeti dallamocskákból építkezve örökkön megújulva egyre fejlettebb – és akár a komponista számára is meglepő – műveket produkál. … … melyek nem hogy nem kristályszerűek, hanem előbb utóbb kényszerűen zajosak

Filed under math, other, tech

You might also be interested in muttha, evolvisio, game theory

Comments (0)

Comments RSS - Trackback - Write Comment

No comments yet

Write Comment