NFA vs DFA
Teorie výpočtu je odvětví informatiky, které se zabývá řešením problémů pomocí algoritmů. Má tři větve, jmenovitě; teorie výpočetní složitosti, teorie výpočtu a teorie automatů.
Teorie automatů nebo automatů je studium abstraktních matematických strojů nebo systémů, které lze použít k řešení výpočetních problémů. Automat se skládá ze stavů a přechodů, a když vidí symbol nebo písmeno vstupu, provede přechod do jiného stavu, přičemž jako vstup vezme aktuální stav a symbol..
Teorie automatů nebo automatů má několik tříd, které zahrnují deterministické konečné automaty (DFA) a nedeterministické konečné automaty (NFA). Tyto dvě třídy jsou přechodové funkce automatů nebo automatů.
Při přechodu nemůže DFA použít n prázdný řetězec a lze jej chápat jako jeden stroj. Pokud řetězec končí ve stavu, který není přijatelný, služba DFA jej odmítne. Stroj DFA lze konstruovat s každým vstupem a výstupem.
DFA má pouze jeden stavový přechod pro každý symbol abecedy a existuje pouze jeden konečný stav pro jeho přechod, což znamená, že pro každý čtený znak je v DFA jeden odpovídající stav. Je snazší zkontrolovat členství v DFA, ale je obtížnější jej sestavit. Zpětné sledování je v DFA povoleno a vyžaduje více místa než NFA.
Zpětné sledování není v NFA vždy povoleno. I když je to v některých případech možné, v jiných tomu tak není. Je snazší sestavit NFA a vyžaduje také méně místa, ale není možné zkonstruovat NFA stroj pro každý vstup a výstup.
Je to chápáno jako několik malých strojů, které počítají současně, a členství může být obtížnější zkontrolovat. Používá přechod Prázdný řetězec a pro každou dvojici stavových a vstupních symbolů existuje řada možných dalších stavů. Začíná v určitém stavu a čte symboly a automat pak určí další stav, který závisí na aktuálním vstupu a dalších následných událostech. Ve svém přijímajícím stavu NFA řetězec přijme a jinak jej odmítne.
Souhrn:
1. „DFA“ znamená „deterministický konečný automat“, zatímco „NFA“ znamená „nedeterministický konečný automat“.
2.Both jsou přechodové funkce automatů. V DFA je další možný stav zřetelně nastaven, zatímco v NFA může mít každý pár stavových a vstupních symbolů mnoho možných dalších stavů.
3.NFA může použít přechod prázdný řetězec, zatímco DFA nemůže použít přechod prázdný řetězec.
4.NFA je jednodušší konstruovat, zatímco je obtížnější konstruovat DFA.
5.Zpětné sledování je povoleno v DFA, zatímco v NFA to může nebo nemusí být povoleno.
6.DFA vyžaduje více místa, zatímco NFA vyžaduje méně místa.
7.Pokud DFA lze chápat jako jeden stroj a DFA stroj lze konstruovat pro každý vstup a výstup, 8.NFA lze chápat jako několik malých strojů, které spolu počítají, a není možné konstruovat NFA stroj pro každý vstup a výstup.