KA04 – Ekvivalentní automaty

Přestože dva konečné automaty obsahují rozdílný počet stavů, rozdílný počet a tvar přechodových funkcí, mohou být ekvivalentní.

Definice 1: Konečný automat A a konečný automat B jsou ekvivalentní, pokud oba rozpoznávají jeden společný jazyk, tedy L(A) = L(B).

Abychom mohli velice jednoduše ověřit, zdali dva konečné automaty jsou ekvivalentní, je zapotřebí nejprve definovat dosažitelnost a nedosažitelnost každého stavu.

Definice 2: Pokud existuje pro daný konečný automat slovo w takové, že pak je stav q dosažitelný. V opačném případě je daný stav nedosažitelný.

Algoritmus nalezení dosažitelných stavů

  1. Použijeme tabulku s definicí konečného automatu.
  2. Označíme počáteční stav (počáteční stavy).
  3. Pro každý označený stav postupně procházíme hierarchii přechodových definic tak, že vždy označíme další stavy, které lze z daného stavu dosáhnout.
  4. Pokud již nevznikají nově označené stavy a prošli jsme celou strukturu konečného automatu, pak všechny označené stavy jsou dosažitelné a všechny neoznačené jsou nedosažitelné.

Na následujícím příkladu si ukážeme algoritmus nalezení dosažitelných stavů v praxi. Mějme následující konečný automat:

Nejprve označíme vstupní stav A:

Vstupní stav je jen jeden, a to stav A. Z něj se pak můžeme dostat pouze do dvou dalších stavů, a to B a D. Oba dva tyto stavy nyní označíme:

Ze stavu B se automat posouvá do stavu D a F, ze stavu D se pak automat posouvá do stavu H a B, přičemž stavy D a B již označeny jsou. Označíme tedy pouze nové stavy, a to F a H: Oba nově označené stavy F a H směřují do již označených stavů, tedy do {D, A} a {B, F}. Z toho vyplývá, že jsme se právě dostali na konec našeho algoritmu. Zeleně označené stavy jsou stavy dosažitelné (A, B, D, F, H} a neoznačené stavy jsou stavy nedosažitelné (C, E, G, I). Všimněte si, že původní počet výstupních stavů klesl z počtu 5 na pouhé dva. Nedosažitelné stavy včetně jejich přechodových funkcí můžeme z konečného automatu vyjmout. Následující obrázek ukazuje výsledek po eliminaci. Tento konečný automat je ekvivalentní tomu původnímu.


KA03 – Převod NKA na DKA                                                    KA05 – Zobecněné NKA

 

Share on FacebookTweet about this on TwitterShare on Google+

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *