The wiki page is under active construction, expect bugs.

This is an old revision of the document!


Regulární jazyky a bezkontextové jazyky. Popis těchto jazyků pomocí automatů a gramatik, vlastnosti regulárních a bezkontextových jazyků

  1. Deterministické a nedeterministické konečné automaty a jejich vztah.
  2. Regulární jazyky a jejich vlastnosti. Lemma o vkládání (Pumping lemma) a Nerodova věta.
  3. Regulární výrazy a jejich vztah k regulárním jazykům.
  4. Bezkontextové gramatiky. Chomského hierarchie jazyků. Bezkontextové jazyky a jejich vlastnosti. Lemma o vkládání pro bezkontextové jazyky (Pumping lemma pro bezkontextové jazyky).
  5. Zásobníkové automaty (nedeterministické i deterministické ) a jejich vztah k bezkontextovým jazykům.

Deterministické a nedeterministické konečné automaty

Deterministický konečný automat (DFA) má přechodovou funkci, která z daného stavu a vstupního symbolu určuje právě jeden další stav. Má jeden počáteční stav a množinu koncových stavů. Nedeterministický konečný automat (NFA) umožňuje více možných přechodů ze stavu pro stejný vstupní symbol nebo přechody bez vstupu (ε-přechody).

Vizualizace

Deterministický automat (DFA)

Vlastnosti: Každý vstupní symbol má přesně jeden přechod (např. a přechází z $q_0$ do $q_1$, b zůstává v $q_0$).

Nedeterministický automat (NFA)

Vlastnosti: Některé přechody jsou vícevýběrové (např. $q_0$ na vstup 0 může jít do $q_1$ nebo $q_2$).

Epsilon-NFA (s ε-přechody)

Vlastnosti: Přechody bez vstupu (např. $q_0$ → $q_1$ přes $\varepsilon$), které umožňují “volné” přechody.


Vztah mezi DFA a NFA:

  1. Ekvivalencí schopností: Každý NFA lze konstruktivně převést na ekvivalentní DFA (pomocí podmnožinové konstrukce).
  2. Podmnožinová konstrukce: Stavy nového DFA reprezentují množiny stavů původního NFA. Přechody v DFA simuluji všechny možné přechody NFA.
  3. Regulární jazyky: Obě modely přijímají právě třídu regulárních jazyků. Nedeterminismus nepřidává výpočetní sílu, pouze usnadňuje popis některých automatů.

Příklad: NFA hledající podslovo “011” může mít v přechodu mezi stavy více možností, ale existuje ekvivalentní DFA s přesnými přechody.

Regulární jazyky

Regulární jazyky a jejich vlastnosti. Lemma o vkládání (Pumping lemma) a Nerodova věta.

Regulární jazyky jsou jazyky přijímané deterministickými nebo nedeterministickými konečnými automaty (DFA/NFA) nebo popsané regulárními výrazy. Klíčové vlastnosti zahrnují uzávěrnost na unii, průnik, komplement, součin, Kleeneho operátor a kvocienty.

Nerodova věta tvrdí, že jazyk $L$ nad abecedou $\Sigma$ je regulární právě tehdy, když existuje ekvivalence $R$ na $\Sigma^*$ splňující:
1. $L$ je sjednocení některých tříd ekvivalence $R$.
2. Pro $uRv$ a libovolné $w \in \Sigma^*$ platí $uwRvw$.
3. $R$ má konečně mnoho tříd ekvivalence .

Lemma o vkládání (Pumping Lemma) pro regulární jazyk $L$ uvádí, že existuje délka $p$ (pumping length), takže pro každé slovo $w \in L$ s $|w| \geq p$ lze psát $w = xyz$, kde:
- $|y| \geq 1$,
- $|xy| \leq p$,
- Pro všechna $i \geq 0$ platí $xy^iz \in L$.

Tato věta slouží k dokazování, že nějaký jazyk není regulární (např. $L = \{a^n b^n \mid n \geq 0\}$). Nerodova věta poskytuje ekvivalentní charakterizaci pomocí ekvivalencí, což je klíčové pro teoretické důkazy.

Regulární výrazy

Regulární výrazy a jejich vztah k regulárním jazykům.

Bezkontextové gramatiky

Bezkontextové gramatiky. Chomského hierarchie jazyků. Bezkontextové jazyky a jejich vlastnosti. Lemma o vkládání pro bezkontextové jazyky (Pumping lemma pro bezkontextové jazyky).

Zásobníkové automaty

Zásobníkové automaty (nedeterministické i deterministické ) a jejich vztah k bezkontextovým jazykům.

Navigation

Playground

QR Code
QR Code statnice:bakalar:b4b01jag (generated for current page)