7.4. Műveletek a membránrendszerben

Ahogy korábban már említettük a membránokat és az általuk körülölelt régiókat szinonimaként használjuk. Egy ilyen membrán (régió) objektumok multihalmazát és ezekhez tartozó evolúciós szabályokat tartalmaz. Tekintsük most az evolúciós szabályokat.

7.4.1. Evolúciós szabályok

Egy evolúciós szabály (más átíró rendszerekhez hasonlóan) szimbólumokat (a használt ábécé szimbólumait) tartalmazza az alkalmazás előtti és utáni időpontban.

Egy szabálynál az szó által leírt multihalmaz számosságát (azaz az hosszát) a szabály sugarának nevezzük. Ha minden szabály sugara 1, akkor a rendszert nem-kooperatívnak hívjuk. (Ekkor a rendszer a környezetfüggetlen nyelvtanokkal tekinthető analógnak, e tekintetben.) Ha van olyan szabály a rendszerben, aminek a sugara legalább kettő, akkor a rendszer kooperatív.

Például a szabály jelentése a következő. Ha az adott membránban rendelkezésre áll egy és egy szimbólum (molekula) akkor lehetséges az, hogy ezek kölcsönhatása nyomán az eltűnik, a megmarad, továbbá egy szimbólum bemegy a membránba (általában elvárjuk, hogy a membrán ilyen esetekben éppen az aktuális membrán egy gyermeke legyen a fastruktúrát tekintve), egy szimbólum kimegy az adott membránból (eggyel feljebb a membránhierarchiában, vagyis az aktuális membrán szülő membránjába, illetve, ha az aktuális membrán maga a sejt, azaz a hierarchia csúcsán, a fa gyökerében van, akkor a környezetbe jut a molekula), és egy szimbólum is keletkezik, ami az aktuális membránban marad.

Egy szabályban esetlegesen előforduló olyan szimbólumokat, amelyeknek száma nem változik meg egyetlen szabály alkalmazása következtében sem, katalizátoroknak nevezzük. A fenti példában ilyen a , ő maga nem változik meg, de szükség van rá a szabály végrehajtásához. A generatív nyelvtanok szabályaihoz hasonlítva az evolúciós szabályokat, a katalizátoros (katalitikus) szabályok valamiképpen a környezetfüggő szabályoknak feleltethetőek meg.

A membránrendszer egy számítási állapotát írja le a konfiguráció , vagyis a membránokban levő aktuális multihalmazok.

Egyik konfigurációból a másikba úgy megyünk át, hogy a szabályokat nemdeterminisztikus módon, maximálisan párhuzamos módon alkalmazzuk. A maximálisan párhuzamos mód azt jelenti, hogy egyik membránban sem maradhat ki a szabályok alkalmazásából objektumok olyan multihalmaza, amely tartalmaz valamely ott levő szabályhoz minden szükséges szimbólumot (a megfelelő példányszámban).

Például legyen egy membrán tartalma . (Így adjuk meg azt a multihalmazt, ami 5 darab és 2 darab szimbólumot tartalmaz.) Továbbá legyenek a membránhoz tartozó evolúciós szabályok a következők:

1.

2. .

Ekkor a nemdeterminisztikus maximálisan párhuzamos működés a következő eseteket jelentheti:

  • lejátszódhat 5-ször egyszerre az első szabály (ekkor az alkalmazás után lesz a membrán tartalma); vagy

  • 4-szer az első és egyszer a második szabály (ekkor multihalmazt kapjuk); illetve

  • 3-szor az első és 2-szer a második szabály (a -t eredményezve).

Minden membrán szabályai között prioritási reláció van értelmezve (ez lehet üres is, ami azt jelenti, hogy a régió minden szabálya azonos prioritású). Ez azt jelenti, hogy egy alacsonyabb prioritású szabály nem hajtható végre, ha egy nála magasabb prioritású szabály bal oldalához minden szimbólum rendelkezésre áll (legalább annyi példányban, ami az adott magasabb prioritású szabály további egy alkalmazását lehetővé tenné az adott evolúciós lépésben). Tehát ahhoz, hogy egy alacsonyabb prioritású szabály (is) végrehajtódjon egy lépésben, az szükséges, hogy ne legyen olyan nála nagyobb prioritású szabály, ami eggyel több példányban is végrehajtódhatna a lépés során.

Ha például az előbbi példában az reláció áll fenn, akkor az állapotból az állapot jöhet csak létre.

Világos, hogy egy membránból kiküldött szimbólum közvetlenül a szülő-membránban fog megjelenni. Ezalól viszont kivétel maga a sejt, vagyis a legkülső membrán, aminek nincs szülője. Az innen kiküldött szimbólumok a környezetbe mennek ki. A környezetben (elméletileg) végtelen számú előfordulás van minden típusú objektumból, amikre akkor lehet szükség, ha van olyan szabály a legkülső membránban, ami innen „beszív” szimbólumokat.

Egy konfiguráció „meghalt” (vagy „halott”; a rendszer, illetve a számítás megállt, a számítás befejeződött), ha nincs olyan régió, ahol szabályt lehetne alkalmazni. Nagyon fontos a számítás eredményének meghatározása (a befejezett számítások esetén).

7.4.2. A számítás eredménye

A számítás eredményét többféleképpen is definiálhatjuk, céljainktól függően.

A számításnak, pl. a Turing-gépek számításaihoz hasonlóan, akkor van eredménye, ha a számítás megállt.

Ekkor, az első lehetséges módszer a következő. Van egy kimeneti membrán , amely a membránstruktúrában tetszőlegesen elhelyezett, kitüntetett membrán. Ezesetben az eredmény a kimeneti membránban keletkezik a számítás során, a számítás végén a membrán tartalma az eredmény (melyik szimbólumból mennyi van itt.)

Más számításoknál eredménynek tekinthetjük a környezetet is oly módon, hogy tekintjük azon objektumok multihalmazát, melyek elhagyták a külső membránt a számítás során. Ily módon akár a kimeneteket sztringekként is definiálhatjuk, a végeredményt (és csak azt) tekintve, visszatérve a hagyományos számításokra (bár a számítás belső lépései multihalmaz számítási lépések). Legyen . Legyen a számítás . lépésében a környezetbe kilépő szimbólumok multihalmazának Parikh vektora . Ekkor . Ha a számítás a . lépésben véget ér, akkor jelenti a futás által generált nyelvet. Tehát, ha az egy lépésben a környezetbe kimenő szimbólumok összes lehetséges permutációját konkatenáljuk az addigi kimeneti nyelvhez, akkor az aktuális kimeneti nyelvet kapjuk, ami a számítás végén az adott számítás kimeneti (sztring)nyelvét adja.

Tekintve a nemdeterminisztikus működést, az összes lehetséges befejeződő számítási folyamat által generált nyelv unióját tekinthetjük az adott membránrendszer által generált nyelvnek.

A számítási folyamat „nyomon követésével” is definiálhatjuk az outputot. Például, azt figyeljük, hogy egy adott egyedi molekula (pl. katalizátor, amiből végig pontosan egy van a számítás során) melyik membránban van az egymást követő konfigurációkban. Ekkor minden (befejeződő) számítás egy-egy szót jelent a membránok címkéi, mint ábécé felett.

Az evolúciós szabályok nemdeterminisztikusságának valamilyen szintű irányítását adhatjuk meg a számításokban következő módokon:

  • Katalizátorok segítségével.

  • Prioritási relációval a szabályok közt az adott membránon belül.

  • Aktív membránok által, amiket majd a következő fejezetben részletezünk.

Most nézzünk egy példát a membránrendszer működésére ( 7.5. ábra).

A rendszer kezdőállapotában tehát egy-egy és objektum található az 1. régióban, a 2. régió (ez a kimeneti membrán) üres. Az evolúciós szabályok közti prioritási reláció üres. A rendszert nyelvgenerálásra fogjuk használni.

A végállapotot (megállt számítás) kivéve a rendszer minden állapotára igaz, hogy a külső régióban pontosan egy és egy objektum van. Ha ezekből bármelyik abban az evolúciós szabályban vesz részt, ami a 2. régióba küld be szimbólumokat, akkor a maximális párhuzamosság miatt a másik szimbólum is a hasonló jellegű szabály szerint kell hogy fejlődjön. Ezekben a párhuzamos lépésekben két-két és három-három jut be a 2. membránba.

7.5. ábra - Példa kooperatív membránrendszerre.

Példa kooperatív membránrendszerre.

A 2. régióban nincs felhasználható szabály, ezért ami oda bekerült, változatlanul ott marad a számítás befejezéséig. A számítási folyamat addig tart, amíg az első régióban a kooperatív szabály végre nem hajtódik, kiküldve az itt levő és szimbólumokat a környezetbe. A számítás leáll ezzel a lépéssel. A rendszer által generált multihalmaznyelv Parikh halmaz formában írva: (a természetes rendezéssel). Ez a nyelv (Parikh értelemben) lineáris, vagyis a halmaz elemei (mint kétdimenziós vektorok) egy lineáris halmazt alkotnak.

A természetben lejátszódó folyamatok alapján továbbfejleszthetjük a számítási modellt úgynevezett aktív membránok bevezetésével. Például bevezethetünk egy olyan speciális műveletet ami egy membrán megszűnésének, kilyukadásának felel meg, ekkor a tartalma egy szinttel feljebb kerül a membránstruktúrában. Hasonlóan, a membránok száma nőhet is a számítás során új membránok születésével, vagy meglevő membránok osztódásával. A következő fejezetben ilyen rendszereket részletezünk.