Skip to content
Snippets Groups Projects
Commit 2de82188 authored by Martin Mareš's avatar Martin Mareš
Browse files

Kanonické automaty a Myhill-Nerode

parent d95ba595
No related branches found
No related tags found
No related merge requests found
...@@ -107,7 +107,7 @@ Tedy existuje-li konečný automat~$A$ takový, že $L = L(A)$. ...@@ -107,7 +107,7 @@ Tedy existuje-li konečný automat~$A$ takový, že $L = L(A)$.
přijímací stavy mají tučný zelený okraj.} přijímací stavy mají tučný zelený okraj.}
\examplen{počítání jedniček}{ \examplen{počítání jedniček}{
Uvažme jazyk $L_3 = \{ \alpha\in\{\0,\1\} \mid |\alpha|_{\1} \bmod 3 = 0 \}$, Uvažme jazyk $L_3 = \{ \alpha\in\{\0,\1\}^* \mid |\alpha|_{\1} \bmod 3 = 0 \}$,
tedy jazyk slov, jejichž počet jedniček je dělitelný třemi. Tento jazyk je regulární. tedy jazyk slov, jejichž počet jedniček je dělitelný třemi. Tento jazyk je regulární.
O~tom se snadno přesvědčíme sestrojením automatu: bude mít stavy $\{0,1,2\}$ odpovídající O~tom se snadno přesvědčíme sestrojením automatu: bude mít stavy $\{0,1,2\}$ odpovídající
možným zbytkům po dělení počtu zatím přečtených jedniček třemi. Stav~0 bude jak počáteční, možným zbytkům po dělení počtu zatím přečtených jedniček třemi. Stav~0 bude jak počáteční,
...@@ -905,7 +905,7 @@ Nyní ukážeme, jak ekvivalentní stavy sloučit: ...@@ -905,7 +905,7 @@ Nyní ukážeme, jak ekvivalentní stavy sloučit:
\defn{Nechť $A=(Q,\Sigma,\delta,q_0,F)$ DFA, $\approx$ ekvivalence jeho stavů \defn{Nechť $A=(Q,\Sigma,\delta,q_0,F)$ DFA, $\approx$ ekvivalence jeho stavů
a pro každý stav $s\in Q$ je $[s]$ jeho ekvivalenční třída. a pro každý stav $s\in Q$ je $[s]$ jeho ekvivalenční třída.
Pak definujeme \df{faktorový automat} $A/\mathord{\approx} = (Q',\Sigma,\delta',q'_0,F')$, kde: Pak definujeme \df{faktorový automat} $A/\mathord{\approx} = (Q',\Sigma,\delta',q'_0,F')$, kde:
\tightlist{o} \list{o}
\:$Q' = \{[s] \mid s\in Q\}$, \:$Q' = \{[s] \mid s\in Q\}$,
\:$\delta'([s],x) = [t]$, kdykoliv $\delta(s,x)=t$, \:$\delta'([s],x) = [t]$, kdykoliv $\delta(s,x)=t$,
\:$q'_0 = [q_0]$, \:$q'_0 = [q_0]$,
...@@ -1016,7 +1016,239 @@ V~tomto oddílu prozkoumáme některé souvislosti mezi teorií automatů ...@@ -1016,7 +1016,239 @@ V~tomto oddílu prozkoumáme některé souvislosti mezi teorií automatů
a algebrou. Předpokládáme čtenáře zběhlého v~základech algebry, takže a algebrou. Předpokládáme čtenáře zběhlého v~základech algebry, takže
důkazy jsou zde poněkud hutnější. důkazy jsou zde poněkud hutnější.
\subsection{Monoidy a polookruhy} \subsection{Kanonické automaty}
Když jsme zkoumali jazyk $L_{01} = \{ \0^n\1^n \}$, intuice nám říkala, že by neměl být
regulární, protože si po načtení $\0^n$ musíme pamatovat libovolně velké číslo~$n$,
na což nestačí konečná paměť automatu. Nyní se pokusíme něco jako paměť potřebnou
k~rozpoznávání jazyka zavést pořádně.
\defn{Nechť $L$ je nějaký jazyk nad abecedou~$\Sigma$. Řetězce $\alpha,\beta \in \Sigma^*$
jsou rozlišitelné vzhledem k~$L$, pokud existuje nějaký suffix $\sigma\in\Sigma^*$
takový, že právě jeden z~řetězců $\alpha\sigma$ a~$\beta\sigma$ leží v~$L$.
}
\defn{\em{Syntaktická kongruence} neboli \em{Nerodova kongruence}\foot{Pro zjednodušení
výkladu zde nerozlišujeme levé kongruence od pravých. Brzy to uvedeme na pravou míru.}
jazyka $L\subseteq\Sigma^*$ je binární relace~$\sim_L$ na množině řetězců~$\Sigma^*$
taková, že $\alpha\sim_L\beta$ právě tehdy, když $\alpha$ a~$\beta$ nejsou
rozlišitelné vzhledem k~$L$.
}
\obs{Syntaktická kongruence je ekvivalence na množině~$\Sigma^*$.}
\example{
Pro jazyk $L_{01}$ jsou každá dvě slova $\0^n$ a~$\0^m$ ($n\ne m$) navzájem rozlišitelná,
stačí zvolit suffix~$\1^n$, takže syntaktická kongruence má nekonečně mnoho tříd.
Naopak pro jazyk $\{ \0^n \mid n \bmod 3 = 0 \}$
jsou slova $\0^n$ a $\0^m$ rozlišitelná právě tehdy, když $n-m$ je dělitelné třemi;
syntaktická kongruence má proto jenom 3~třídy určeně zbytkem po dělení délky řetězce třemi.
}
Ukážeme, že kdykoliv má syntaktická kongruence konečně mnoho tříd, jazyk
je regulární. Dokážeme totiž vytvořit automat, jehož stavy odpovídají třídám
synaktické kongruence. (Časem uvidíme, že platí i opačná implikace.)
\defn{\df{Kanonický automat} pro jazyk~$L\subset\Sigma^*$ je $A_L = (Q,\Sigma,\delta,q_0,F)$, kde:
\list{o}
\:$Q = \{ [\alpha] \mid \alpha\in\Sigma^* \}$ je množina ekvivalenčních tříd syntaktické ekvivalence~$\sim_L$,
\:$\delta([\alpha],x) = [\alpha x]$,
\:$q_0 = [\varepsilon]$,
\:$F = \{ [\alpha] \mid \alpha\in L \}$.
\endlist
}
\obs{Opět nezáleží na volbě reprezentantů tříd. Kdykoliv $[\alpha]=[\alpha']$, tak slova $\alpha$
a~$\alpha'$ nejsou rozlišitelná žádným suffixem, a~proto ani $\alpha x$ a $\alpha' x$
nemohou být rozlišitelná, takže $[\alpha x] = [\alpha' x]$. Také z~$[\alpha]=[\alpha']$
plyne, že $\alpha$ i~$\alpha'$ jsou buď obě v~$L$, nebo obě mimo~$L$ -- jinak by slova
byla rozlišitelná prázdným suffixem.
}
\lemma{Kanonický automat~$A_L$ přijímá jazyk~$L$.
}
\proof
Indukcí podle délky řetězce~$\alpha$ dokážeme, že $\delta(q_0,\alpha) = [\alpha]$.
Stav $[\alpha]$ je přijímací právě tehdy, když $\alpha\in L$.
\qed
Podobně se můžeme dívat na všechny automaty -- stavům vždy můžeme přiřadit nějaké
ekvivalenční třídy slov.
\defn{\df{Automatová kongruence} pro automatu $A=(Q,\Sigma,\delta,q_0,F)$ je binární relace
$\simeq_A$ na množině slov $\Sigma^*$ taková, že $\alpha\simeq_A\beta$ právě tehdy, když
po zpracování slov $\alpha$ a~$\beta$ automat skončí ve stejném stavu (tedy $\delta^*(q_0,\alpha)
= \delta^*(q_0,\beta)$).
}
\lemma{Nechť $L$ je jazyk automatu~$A$ a $\alpha\simeq_A\beta$. Potom slova $\alpha$
a $\beta$ nejsou rozlišitelná žádným suffixem, takže platí $\alpha\sim_L\beta$.
}
\proof
Pokusme se $\alpha$ od~$\beta$ oddělit nějakým suffixem~$\sigma$.
Automat po zpracování $\alpha$ a~$\beta$ skončí v~tomtéž stavu~$s$.
Potom $\delta^*(q_0,\alpha\sigma) = \delta^*(q_0,\beta\sigma) = \delta^*(s,\sigma)$,
takže $\alpha\sigma\in F$ právě tehdy, když $\beta\sigma\in F$. K~oddělení tedy nedošlo.
\qed
\cor{
Automatová kongruence~$\simeq_A$ je tedy zjemněním syntantické kongruence~$\sim_L$.
Ekvivalenční třídy kongruence~$\sigma_A$ navíc odpovídají dosažitelným stavům
automatu~$A$. Proto automat má alespoň tolik stavů, kolik je tříd syntaktické kongruence.
}
Z~toho už snadno získáme následující slavnou větu.
\theoremn{Myhillova-Nerodova}{
Jazyk~$L$ je regulární právě tehdy, když jeho syntaktická kongruence~$\sim_L$
má konečně mnoho tříd.
}
\proof
Nechť $\sim_L$ má konečně mnoho tříd. Pak existuje kanonický automat pro~$L$,
takže $L$ je regulární.
Naopak existuje-li nějaký automat~$A$ přijímající jazyk~$L$, uvažme jeho
automatovou kongruenci~$\simeq_A$. Počet jejích tříd je shora omezený počtem
stavů automatu, tudíž je konečný. A~jelikož automatová kongruence je zjemněním
syntaktické, musí mít syntaktická také konečně mnoho tříd.
\qed
\subsection{Izomorfismus automatů}
Mnoha různými odvětvími matematiky se jako červená nit vine pojem \em{izomorfismu.}
Odhlédneme-li od detailů, vždy se tím myslí bijekce mezi nějakými dvěma množinami,
která zachovává nějaké vlastnosti.
\example{Izomorfismus neorientovaných grafů $G=(V,E)$ a $G'=(V',E')$ je bijekce
$f: V\rightarrow V'$, která zachovává vlastnost \uv{být spojen hranou}.
Tedy $\{u,v\}\in E$ právě tehdy, když $\{f(u),f(v)\} \in E'$.
Existuje-li taková bijekce, řekneme, že grafy $G$ a~$G'$ jsou izomorfní,
a představujeme si, že se liší jenom pojmenováním vrcholů. Snadno nahlédneme, že vlastnost
\uv{být izomorfní} je ekvivalence na grafech.
}
Podobně můžeme definovat izomorfismus konečných automatů.
\defn{\df{Izomorfismus automatů} $A = (Q,\Sigma,\delta,q_0,F)$ a $A' = (Q',\Sigma,\delta',q'_0,F')$
je bijekce $f: Q\rightarrow Q'$, pro kterou platí:
\list{o}
\:$f(q_0) = q'_0$,
\:$s\in F \Leftrightarrow f(s)\in F'$,
\:$\delta(s,x) = t \Leftrightarrow \delta'(f(s),x) = f(t)$.
\endlist
Pokud taková bijekce existuje, řekneme, že automaty $A$ a~$A'$ jsou izomorfní, což značíme $A\cong A'$.
}
\obs{
Relace~$\cong$ je ekvivalence na automatech.
}
\note{
Izomorfismus tedy zachovává vlastnosti \uv{být počáteční stav}, \uv{být koncový stav}
a přechody mezi stavy. Izomorfní automaty se proto liší jen pojmenováním stavů. S~touto
představou je následující tvrzení jen cvičením z~dosazování do definic:
}
\lemma{
Izomorfní automaty rozpoznávají tentýž jazyk.
}
\proof
Nechť mezi automaty $A=(Q,\Sigma,\delta,q_0,F)$ a $A'=(Q',\Sigma,\delta',q'_0,F')$ vede izomorfismus~$f$.
Uvažme slovo $\alpha\in\Sigma^*$ délky~$n$ a výpočet automatu~$A$ nad tímto slovem. To je nějaká posloupnost stavů
$q_0=s_0,s_1,\ldots,s_n$. Funkce~$f$ tento výpočet zobrazí na posloupnost stavů
$s'_0=f(s_0),s'_1=f(s_1),\ldots,s'_n=f(s_n)$.
Ověříme, že tato posloupnost je výpočtem automatu~$A'$ nad tímtéž slovem.
Použijeme vlastnosti z~definice izomorfismu. Nejprve ověříme $s'_0 = f(s_0) = f(q_0) = q'_0$.
Podle definice výpočtu je $s_{i+1} = \delta(s_i, \alpha[i])$, takže
$s'_{i+1} = f(s_{i+1}) = f(\delta(s_i, \alpha[i])) = \delta'(f(s_i), \alpha[i]) = \delta'(s'_i, \alpha[i])$.
Nakonec víme, že $s_n\in F$ právě tehdy, když $s'_n = f(s_n) \in F'$, takže automaty
se shodnou na tom, zda slovo~$\alpha$ přijmou. Jelikož $\alpha$ jsme mohli zvolit libovolně,
znamená to, že automaty přijímají tentýž jazyk.
\qed
\subsection{Minimální automaty}
Postupně ukážeme, že všechny redukované automaty přijímající jazyk~$L$
jsou izomorfní s~kanonickým automatem~$A_L$.
\lemma{
Nechť $A$ je automat přijímající jazyk~$L$.
Stavy $s$ a~$t$ jsou ekvivalentní právě tehdy, když jejich třídy automatové kongruence~$\simeq_A$
leží v~těže třídě syntaktické kongruence~$\sim_L$.
}
\proof
Nechť $T_s$ a~$T_t$ jsou třídy kongruence~$\simeq_A$ příslušné ke stavům~$s$, $t$
a $\alpha\in T_s$ a $\beta\in T_t$ jsou nějací reprezentanti těchto tříd. Platí tedy
$s=\delta^*(q_0,\alpha)$ a $t=\delta^*(q_0,\beta)$.
Stavy $s$ a~$t$ jsou ekvivalentní právě tehdy, když pro každé dva suffixy~$\sigma$
je $\delta^*(s,\sigma)\in F \Leftrightarrow \delta^*(t,\sigma)\in F$. To je totéž
jako $\delta^*(q_0,\alpha\sigma)\in F \Leftrightarrow \delta^*(q_0,\alpha\sigma)\in F$,
čili $\alpha\sigma\in L \Leftrightarrow \beta\sigma\in L$, a~to je přesně $\alpha\sim_L\beta$.
\qed
\cor{
Automat bez nedosažitelnych stavů je redukovaný právě tehdy, když automatová kongruence je rovna
syntaktické kongruenci jazyka. Kanonický automat je proto vždy redukovaný.
}
Rovnost tříd obou kongruencí nám dá postup, jak sestrojit izomorfismus
s~kanonickým automatem. Z~toho plyne následující věta, která se někdy považuje
za druhou část tvrzení Myhillovy-Nerodovy věty.
\theorem{
Nechť~$A$ je redukovaný automat přijímající jazyk~$L$.
Potom~$A$ je izomorfní s~kanonickým automatem pro jazyk~$L$.
}
\proof
Nechť $A=(Q,\Sigma,\delta,q_0,F)$ je daný redukovaný automat
a $A_L=(Q',\Sigma,\delta',q'_0,F')$ je kanonický automat pro jazyk~$L$.
Definujme funkci~$f$, která každému stavu $s\in Q$ přiřadí příslušnou třídu $f(s)$
automatové kongruence~$\simeq_A$. Z~předchozího víme, že pro redukovaný automat jsou třídy kongruence~$\simeq_A$
rovny třídám syntaktické kongruence~$\sim_L$. Takže $f$ přiřazuje stavům automatu~$A$
stavy kanonického automatu~$A_L$. Tato funkce je bijekce a ukážeme, že je to dokonce izomorfismus
automatů. To už je jednoduché cvičení na dosazování do definic.
Nejprve ověříme kompatibilitu s~přechodovou funkcí. Chceme, aby platilo
$f(\delta(s,x)) = \delta'(f(s),x)$.
Jelikož automat~$A$ má všechny stavy dosažitelné, existuje nějaké slova~$\alpha$,
po jehož zpracování automat skončí ve stavu~$s$. Platí tedy $\alpha\in f(s)$,
což je totéž jako $f(s) = [\alpha]$.
Po zpracování slova $\alpha x$ automat skončí ve stavu $s' = \delta(s,x)$,
jehož třída je $f(s') = [\alpha x]$.
To odpovídá přechodu kanonického automatu: podle jeho definice je $\delta'([\alpha],x) = [\alpha x]$.
Pak ověříme, že $f(q_0) = q'_0$. Třída $f(q_0)$ obsahuje slova, po kterých automat
skončí v~počátečním stavu, takže $f(q_0) = [\varepsilon]$. To je ovšem~$q'_0$ z~definice
kanonického automatu.
Nakonec potřebujeme zkontrolovat kompatibilitu s~přijímacími stavy:
Stav~$s$ s~třídou $f(s) = [\alpha]$ je přijímací právě tehdy, když $\alpha\in L$,
což je právě když $f(s)\in F'$.
\qed
\defn{
Automat $A$ je \df{minimální,} pokud má mezi všemi automaty přijímajícími jazyk~$L$
nejmenší počet stavů.
}
\cor{
Každý minimální automat je redukovaný (jinak bychom redukcí získali menší automat).
Tudíž je izomorfní s~kanonickým automatem~$A_L$. Jazyk má tedy (až na izomorfismus)
právě jedne minimální automat.
}
\subsectionstar{Monoidy a polookruhy}
\defn{ \defn{
\df{Monoid} je algebraická struktura $(X,\cdot,1)$, kde $X$ je množina prvků, \df{Monoid} je algebraická struktura $(X,\cdot,1)$, kde $X$ je množina prvků,
...@@ -1076,7 +1308,7 @@ jsou svázány distributivitou $(A\cup B)\cdot C = A\cdot C \cup B\cdot C$ ...@@ -1076,7 +1308,7 @@ jsou svázány distributivitou $(A\cup B)\cdot C = A\cdot C \cup B\cdot C$
a analogicky z~opačné strany. a analogicky z~opačné strany.
} }
\subsection{Lineární rovnice pro jazyky} \subsectionstar{Lineární rovnice pro jazyky}
Pojďme prozkoumat, jak se chovají rovnice typu $X=AX\cup B$, kde $X$ je neznámý Pojďme prozkoumat, jak se chovají rovnice typu $X=AX\cup B$, kde $X$ je neznámý
jazyk a $A$ a~$B$ známé jazyky. To je analogie lineárních rovnic, jen v~okruhu jazyků jazyk a $A$ a~$B$ známé jazyky. To je analogie lineárních rovnic, jen v~okruhu jazyků
...@@ -1178,99 +1410,8 @@ To vyjde, neboť koeficienty soustavy jsou konečné, a~tedy regulární jazyky ...@@ -1178,99 +1410,8 @@ To vyjde, neboť koeficienty soustavy jsou konečné, a~tedy regulární jazyky
a řešení soustavy z~nich umíme vyjádřit pomocí operací regulárních výrazů. a řešení soustavy z~nich umíme vyjádřit pomocí operací regulárních výrazů.
} }
\subsection{Izomorfismus automatů}
Mnoha různými odvětvími matematiky se jako červená nit vine pojem \em{izomorfismu.}
Odhlédneme-li od detailů, vždy se tím myslí bijekce mezi nějakými dvěma množinami,
která zachovává nějaké vlastnosti.
\example{Izomorfismus neorientovaných grafů $G=(V,E)$ a $G'=(V',E')$ je bijekce
$f: V\rightarrow V'$, která zachovává vlastnost \uv{být spojen hranou}.
Tedy $\{u,v\}\in E$ právě tehdy, když $\{f(u),f(v)\} \in E'$.
Existuje-li taková bijekce, řekneme, že grafy $G$ a~$G'$ jsou izomorfní,
a představujeme si, že se liší jenom pojmenováním vrcholů. Snadno nahlédneme, že vlastnost
\uv{být izomorfní} je ekvivalence na grafech.
}
Podobně můžeme definovat izomorfismus konečných automatů.
\defn{\df{Izomorfismus automatů} $A = (Q,\Sigma,\delta,q_0,F)$ a $A' = (Q',\Sigma,\delta',q'_0,F')$
je bijekce $f: Q\rightarrow Q'$, pro kterou platí:
\list{o}
\:$f(q_0) = q'_0$,
\:$s\in F \Leftrightarrow f(s)\in F'$,
\:$\delta(s,x) = t \Leftrightarrow \delta'(f(s),x) = f(t)$.
\endlist
Pokud taková bijekce existuje, řekneme, že automaty $A$ a~$A'$ jsou izomorfní, což značíme $A\cong A'$.
}
\obs{
Relace~$\cong$ je ekvivalence na automatech.
}
\note{
Izomorfismus tedy zachovává vlastnosti \uv{být počáteční stav}, \uv{být koncový stav}
a přechody mezi stavy. Izomorfní automaty se tedy liší jen pojmenováním stavů. S~touto
představou je následující tvrzení jen cvičením z~dosazování do definic:
}
\lemma{
Izomorfní automaty rozpoznávají tentýž jazyk.
}
\proof
Nechť mezi automaty $A=(Q,\Sigma,\delta,q_0,F)$ a $A'=(Q',\Sigma,\delta',q'_0,F')$ vede izomorfismus~$f$.
Uvažme slovo $\alpha\in\Sigma^*$ délky~$n$ a výpočet automatu~$A$ nad tímto slovem. To je nějaká posloupnost stavů
$q_0=s_0,s_1,\ldots,s_n$. Funkce~$f$ tento výpočet zobrazí na posloupnost stavů
$s'_0=f(s_0),s'_1=f(s_1),\ldots,s'_n=f(s_n)$.
Ověříme, že tato posloupnost je výpočtem automatu~$A'$ nad tímtéž slovem.
Použijeme vlastnosti z~definice izomorfismu. Nejprve ověříme $s'_0 = f(s_0) = f(q_0) = q'_0$.
Podle definice výpočtu je $s_{i+1} = \delta(s_i, \alpha[i])$, takže
$s'_{i+1} = f(s_{i+1}) = f(\delta(s_i, \alpha[i])) = \delta'(f(s_i), \alpha[i]) = \delta'(s'_i, \alpha[i])$.
Nakonec víme, že $s_n\in F$ právě tehdy, když $s'_n = f(s_n) \in F'$, takže automaty
se shodnou na tom, zda slovo~$\alpha$ přijmou. Jelikož $\alpha$ jsme mohli zvolit libovolně,
znamená to, že automaty přijímají tentýž jazyk.
\qed
\subsection{Redukce automatu}
TODO:
\list{o}
\:Odstranění nedosažitelných stavů (možná později?)
\:Připomenutí ekvivalencí a jejich tříd, zjemnění ekvivalence
\:Ekvivalence stavů
\:Algoritmus na konstrukci ekvivalence (indukce podle délky oddělujícího slova)
\:Cvičení: využití algoritmu pro test, zda dva automaty přijímají tentýž jazyk
\:Faktorizace stavů $\Rightarrow$ redukovaný automat, jeho ekvivalence stavů je triviální
\:Plán: dva redukované automaty pro tentýž jazyk jsou izomorfní
\endlist
\subsection{Kongruence slov a Myhillova-Nerodova věta}
TODO:
\list{o}
\:Co je to kongruence na monoidu
\:Automatová kongruence (potřebujeme všechny stavy dosažitelné)
\:Syntaktická kongruence (asi jen jednostranná)
\:Automatová kongruence je zjemněním syntaktické
\:Myhillova-Nerodova věta: jazyk je regulární $\Leftrightarrow$ levá/pravá syntaktická
kongruence má konečně mnoho tříd.
\:Nějaké příklady jazyků a jejich kongruencí
\:Dva stavy jsou ekvivalentní, pokud jejich kongruenční třídy patří do téže třídy syntaktické kongruence.
\:Pokud dva automaty mají tutéž automatovou kongruenci, jsou izomorfní.
\:Důsledek: Redukované automaty pro tentýž jazyk jsou izomorfní.
\endlist
\exercises \exercises
\ex{Charakterizujte všechna řešení rovnice $X=AX\cup B$ v~případě, že $\varepsilon\in A$.
\ex{Homomorfismus se od izomorfismu liší tím, že nevyžadujeme, aby zobrazení bylo bijektivní. \ex{Homomorfismus se od izomorfismu liší tím, že nevyžadujeme, aby zobrazení bylo bijektivní.
Můžeme si tedy představit, že je to izomorfismus jednoho objektu s~nějakou podmnožinou druhého Můžeme si tedy představit, že je to izomorfismus jednoho objektu s~nějakou podmnožinou druhého
objektu. Rozmyslete si, co znamená homomorfismus automatů, a~ukažte, že z~něj také plyne, objektu. Rozmyslete si, co znamená homomorfismus automatů, a~ukažte, že z~něj také plyne,
...@@ -1278,6 +1419,8 @@ objektu. Rozmyslete si, co znamená homomorfismus automatů, a~ukažte, že z~n ...@@ -1278,6 +1419,8 @@ objektu. Rozmyslete si, co znamená homomorfismus automatů, a~ukažte, že z~n
} }
\ex{Formulujte definici izomorfismu pro nedeterministické automaty.} \ex{Formulujte definici izomorfismu pro nedeterministické automaty.}
\exx{Charakterizujte všechna řešení rovnice $X=AX\cup B$ v~případě, že $\varepsilon\in A$.
} }
\endexercises \endexercises
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment