A számítási komplexitáselmélet területén, különösen a véges állapotú gépek tanulmányozásában, a non-determinizmus fogalma fontos szerepet játszik.
A nem-determinisztikus véges állapotú gépek (NFSM-ek) olyan elméleti modellek, amelyek lehetővé teszik több elfogadható út megtételét bármely adott állapotban. Ilyen helyzettel szembesülve azonban felmerül a kérdés: melyik utat válasszuk?
Ez a lekérdezés érinti az "elfogadás" fogalmát az NFSM-ekben és a döntéshozatalhoz felhasználható kritériumokat.
A kiválasztási folyamat megértéséhez először is vizsgáljuk meg a non-determinizmus természetét az NFSM-ekben. A determinisztikus véges állapotú gépekkel (DFSM) ellentétben az NFSM-ek nem rendelkeznek egyedi átmenettel minden lehetséges bemeneti szimbólumhoz az egyes állapotokban. Ehelyett lehetővé teszik több átmenet létezését ugyanahhoz a bemeneti szimbólumhoz. Ez a jellemző ahhoz a lehetőséghez vezet, hogy egyetlen állapotból több útvonalat kell követni, ami különböző kimeneteleket eredményezhet.
Amikor ilyen helyzettel szembesülnek, az NFSM-ek egy „elágazásnak” nevezett mechanizmust alkalmaznak az összes lehetséges útvonal egyidejű feltárására. Ez azt jelenti, hogy a gép több másolatot hoz létre önmagáról, mindegyik más útvonalat követve. Ennek eredményeként az NFSM egy faszerű struktúra feltárásának tekinthető, ahol minden ág más-más számítási útvonalat képvisel. Ez az elágazási technika alapvető fontosságú az NFSM-ek és számítási összetettségük elemzésében.
Most nézzük meg, milyen kritériumok alapján választhatunk ki egy adott utat a több elfogadható közül. Az egyik általános megközelítés az „elfogadás” fogalmának figyelembevétele az NFSM-ekben. Az elfogadás arra a feltételre vonatkozik, amely meghatározza, hogy egy adott bemenetet a gép érvényesnek tekint-e vagy sem. Az NFSM-ekben az elfogadás két fő módon határozható meg: "elfogadás végső állapot szerint" és "elfogadás üres veremben".
A végső állapot szerinti elfogadás akkor következik be, amikor a teljes bemeneti karakterlánc elfogyasztása után az NFSM egy végső állapotként kijelölt állapotba kerül. Ez a feltétel azt jelenti, hogy a gép elfogadja a bemenetet, ha létezik legalább egy számítási útvonal, amely a végső állapothoz vezet. Ezzel szemben, ha egyetlen út sem vezet a végső állapothoz, a bemenet elutasításra kerül.
Az üres verem általi elfogadás viszont akkor releváns, ha az NFSM-ek további összetevőként tartalmaznak egy veremet. Ebben a forgatókönyvben az elfogadás akkor következik be, amikor a bemeneti karakterlánc teljesen feldolgozásra kerül, és a verem kiürül. A végső állapot szerinti elfogadáshoz hasonlóan, ha létezik legalább egy számítási útvonal, amely üres veremhez vezet, a bemenet elfogadásra kerül; ellenkező esetben elutasításra kerül.
Ezen kritériumok ismeretében egy nem-determinisztikus gépben egy adott útvonal kiválasztása a többszörös elfogadható út közül az elfogadási feltételek priorizálásával határozható meg. Például, ha a végső állapot szerinti elfogadás az elsődleges feltétel, a gép azt az utat választja, amely a végső állapothoz vezet, függetlenül a többi lehetséges útvonaltól. Ellenkező esetben, ha az üres verem általi elfogadás az elsődleges feltétel, a gép azt az utat fogja előnyben részesíteni, amely üres veremhez vezet.
Fontos megjegyezni, hogy az NFSM-ekben az útvonalválasztás nem befolyásolja a gép számítási teljesítményét. A választott útvonaltól függetlenül az NFSM ugyanazt a nyelvkészletet tudja felismerni, mint bármely más NFSM egy adott bemenethez. A kiválasztási folyamat csupán a bemenet elfogadását vagy elutasítását határozza meg a megadott kritériumok alapján.
Ha egy nem-determinisztikus gépben több elfogadható útvonallal kell szembenézni, az útvonal kiválasztása az elfogadási feltételek prioritásainak megadásával határozható meg, mint például a végső állapot szerinti elfogadás vagy az üres verem általi elfogadás. A kiválasztási folyamat nem befolyásolja a gép számítási teljesítményét, de befolyásolja, hogy a bemenetet elfogadják vagy elutasítják.
További friss kérdések és válaszok ezzel kapcsolatban EITC/IS/CCTF számítási komplexitáselmélet alapjai:
- Mi a szerepe a rekurziós tételnek az ATM eldönthetetlenségének bizonyításában?
- Ha figyelembe vesszük a palindromok olvasására képes PDA-t, meg tudná részletezni a verem fejlődését, amikor a bemenet először palindrom, másodszor pedig nem palindrom?
- A nem determinisztikus PDA-k esetében az állapotok szuperpozíciója definíció szerint lehetséges. A nem determinisztikus PDA-knak azonban csak egy veremük van, amely nem lehet egyszerre több állapotban. Hogyan lehetséges ez?
- Mi a példa a hálózati forgalom elemzésére és a potenciális biztonsági résekre utaló minták azonosítására használt PDA-kra?
- Mit jelent az, hogy az egyik nyelv erősebb, mint a másik?
- A környezetérzékeny nyelveket felismeri a Turing-gép?
- Miért nem szabályos az U = 0^n1^n (n>=0) nyelv?
- Hogyan lehet meghatározni egy FSM-et, amely felismeri a páros számú '1' szimbólumú bináris karakterláncokat, és megmutatni, mi történik vele az 1011-es bemeneti karakterlánc feldolgozása során?
- Hogyan befolyásolja a nondeterminizmus az átmeneti függvényt?
- A reguláris nyelvek egyenértékűek a véges állapotú gépekkel?
További kérdések és válaszok az EITC/IS/CCTF számítási komplexitáselmélet alapjaiban