Különbség az NFA és a DFA között A különbség a

Anonim

NFA vs DFA

A számításelmélet a számítástechnika olyan ágát jelenti, amely foglalkozik azzal, hogyan oldják fel a problémákat algoritmusokkal. Három ág van, nevezetesen; a számítási komplexitáselmélet, a kiszámíthatóságelmélet és az automatonelmélet.

Az automaton vagy automata elmélet olyan absztrakt matematikai gépek vagy rendszerek tanulmányozása, amelyek a számítási problémák megoldására alkalmasak. Az automata államokból és átmenetekből áll, és mivel egy szimbólumot vagy betűjelet lát, egy másik állapotba való átmenetet hajt végre, figyelembe véve az aktuális állapotot és a szimbólumot.

Az automatában vagy automata elméletben számos osztály van, amelyek magukban foglalják a Determinisztikus Finita Automatát (DFA) és a Nondeterminisztikus Finita Automatát (NFA). Ez a két osztály automata vagy automata átmeneti funkciója.

Átmenetileg a DFA nem használhat n üres karakterláncot, és ez egy gépnek értelmezhető. Ha a karakterlánc olyan állapotba kerül, amely nem elfogadható állapot, a DFA elutasítja azt. Minden bemenettel és kimenettel DFA gépet lehet létrehozni.

A DFA-nak csak egy átadása van az ábécé minden szimbólumára, és csak egy végső állapot áll rendelkezésére az átmenethez, ami azt jelenti, hogy minden olvasott karakter esetében egy megfelelő állapot van a DFA-ban. Könnyebb ellenőrizni a tagságot a DFA-ban, de nehezebb megépíteni. Visszatérés megengedett a DFA-ban, és több helyet igényel, mint az NFA.

A háttéranyagolás nem mindig engedélyezett az NFA-ban. Bár bizonyos esetekben lehetséges, másokban ez nem lehetséges. Könnyebb létrehozni az NFA-t, és kevesebb helyet is igényel, de nem lehet minden NFA-gépet létrehozni minden bemenethez és kimenethez.

Úgy értendő, hogy több apró gép is egyszerre számol, és a tagság nehezebb ellenőrizni. Használja az Üres karakterlánc átmenetet, és számos lehetséges állapot áll rendelkezésre minden egyes állapot- és beviteli szimbólumhoz. Egy adott állapotból indul ki, és elolvassa a szimbólumokat, és az automata meghatározza a következő állapotot, amely az aktuális bemenetektől és egyéb következményektől függ. Elfogadó állapotában az NFA elfogadja a karakterláncot, és egyébként elutasítja.

Összefoglaló:

1. "DFA" jelentése "Deterministic Finite Automata", míg az "NFA" a "Nondeterministic Finite Automata" kifejezést jelenti. „

2. Mindkettő automata átmeneti funkciója. A DFA-ban a következő lehetséges állapot határozottan van beállítva, míg az NFA-ban mindegyik állapot- és bemeneti szimbólum számos lehetséges állapotot tartalmazhat.

3. Az NFA használhatja az üres karakterlánc átmenetet, míg a DFA nem használhatja az üres karakterlánc átmenetet.

4. Az NFA-t könnyebben építhetjük, míg a DFA-t nehezebb felépíteni.

5. Visszatérés megengedett a DFA-ban, míg az NFA-ban megengedett vagy nem engedélyezett.

6. A DFA-nak több helyre van szüksége, míg az NFA kevesebb helyet igényel.

7. Bár a DFA egy gépnek értelmezhető, és minden be- és kimenetre DFA-gépet lehet létrehozni, 8. az NFA-t úgy lehet érteni, mint néhány kis gép, amely együtt számít, és nincs lehetőség NFA-gép felépítésére minden bemenethez és kimenethez.