diff --git a/01-regular/regular.tex b/01-regular/regular.tex index d99d01a0ae205e6aa821caaf7e4358fe038f7bbb..3ed2b44abe4fe167a567e2bb8b05328322609da0 100644 --- a/01-regular/regular.tex +++ b/01-regular/regular.tex @@ -737,7 +737,7 @@ Zkuste najít vysvětlení jednotlivých částí výrazu, aniž byste se odkáz \figure[kleene]{kleene.epdf}{width \hsize}{Převod automatu pro dělitelnost 3 na regulární výraz} -\note{UNIXové nástroje (například \|grep| a \|sed| používají nejrůznější varianty regulárních +\note{UNIXové nástroje (například \|grep| a \|sed|) používají nejrůznější varianty regulárních výrazů, které se od těch našich liší pouze detaily notace. Jinde (například v~Perlu) ale najdeme \uv{regulární} výrazy vybavené i schopností zpětných odkazů a rekurze. Ty dokáží popsat i mnohé neregulární jazyky, ale algoritmy používané k~jejich vyhodnocování nemají polynomiální časovou @@ -1094,7 +1094,7 @@ rozlišitelné vzhledem k~$L$. \obs{Syntaktická kongruence je ekvivalence na množině~$\Sigma^*$.} \examples{\tightlist{o} -\:Pro jazyk $L_{01} = \{\0^n\1^m\}$ nad abecedou $\{\0,\1\}$ jsou každá dvě slova +\:Pro jazyk $\{\0^n\1^m\}$ nad abecedou $\{\0,\1\}$ jsou každá dvě slova $\0^n$ a~$\0^m$ (kde $n\ne m$) navzájem rozlišitelná suffixem~$\1^n$, takže syntaktická kongruence má nekonečně mnoho tříd. \:Pro jazyk $\{ \0^n \mid n \bmod 3 = 0 \}$ nad abecedou $\{\0\}$ jsou slova $\0^n$ a $\0^m$ diff --git a/02-ctxfree/ctxfree.tex b/02-ctxfree/ctxfree.tex index 77e4e2653b0b21b2cb193b3bb8af6dea1699a5cc..84363a57160951c58ac54e0f2e721634e3c27e53 100644 --- a/02-ctxfree/ctxfree.tex +++ b/02-ctxfree/ctxfree.tex @@ -226,7 +226,7 @@ Nabízí se použít opačný postup k~převodu RLG na automat. Ale musíme se v s~několika překážkami: \list{o} -\:V~gramatice mohou současně pravidla $X\grule aY$ i $X\grule aY'$. +\:V~gramatice mohou být současně pravidla $X\grule aY$ i $X\grule aY'$. To nevadí, prostě vyrobíme nedeterministický automat a posléze se osvědčeným způsobem nedeterminismu zbavíme. \:Pravidla tvaru $X\grule\alpha Y$ pro $\alpha$ jiné než jednoznakové: diff --git a/03-recursive/recursive.tex b/03-recursive/recursive.tex index d3dd2f7a5b8eaad5101a2eb6bd9b47f2ab3e5728..58857c3e2250d187b2fc21d59f615e3a01d01a21 100644 --- a/03-recursive/recursive.tex +++ b/03-recursive/recursive.tex @@ -176,7 +176,7 @@ Na rozdíl od konečných automatů mohou být různé TM pro tentýž vstup roz \em{Prostor výpočtu} je počet políček pásky, která během výpočtu navštívila hlava stroje. } -\defn{\em{Časová složitost} stroje je funkce, která každému přirozenému čísl~$u$ +\defn{\em{Časová složitost} stroje je funkce, která každému přirozenému číslu přiřadí maximální čas výpočtu pro vstupy délky nejvýše~$n$.\foot{Často se složitost definuje přes vstupy délky \em{právě~$n$.} Naše definice má tu výhodu, že vždy dává neklesající funkce, se kterými se zachází snáz.} @@ -759,7 +759,7 @@ Inkluze tříd $\cc{R} \subset \cc{RE} \subset \Ell$ jsou tedy všechny ostré. } \note{Jiný pohled na totéž je tzv. \em{problém zastavení (halting problem):} máme najít -algoritmus, který dostane kód programu a jeho vstup a ma rozhodnout, zda se program pro +algoritmus, který dostane kód programu a jeho vstup a má rozhodnout, zda se program pro daný vstup zastaví. Takový algoritmus ovšem nemůže existovat, protože by rozhodoval jazyk~$L_u$. }