Tierra szimulációs rendszer

Genetikai műveletek

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

  •