🪴 FIT CVUT

Search

Search IconIcon to open search

01 Klasifikace gramatik a jazyků

Last updated Nov 9, 2022

$$ \require{mathtools} \DeclarePairedDelimiter\ceil{\lceil}{\rceil} \DeclarePairedDelimiter\floor{\lfloor}{\rfloor} \newcommand{\dv}[1]{\frac{\mathrm{d}}{\mathrm{d} #1}} \newcommand{\dvv}[2]{\frac{\mathrm{d} #1}{\mathrm{d} #2}} $$

Klasifikace gramatik a jazyků

# Klasifikace jazyků

Formální jazykGramatikaModel výpočtu (automat)
0. rekurzivně spočetnéneomezené pravidloTuringův stroj
1. kontextovépravidlo má na obou stranách stejný kontext (např. $\gamma A \delta \Rightarrow \gamma B \delta$)lineární automat (TM s omezenou velikostí pásky)
2. bezkontextovéA -> $\alpha$ (vlevo neterminál, na pravé straně může být cokoliv)zásobníkový automat
3. regulární*regulárníkonečný automat

*každá regulární je zároveň i bezkontextová, ale ne obráceně

Minimální deterministický konečný automat - nejefektivnější model výpočtu pro daný problém

Pumpování = rekurzivně vytvoření libovolně dlouhé posloupnosti

# Klasifikace gramatik

# Regulární gramatiky (RG)

Pozorování

  • Prázdný jazyk $L(G)={}$ lze generovat RG, tedy prázdný jazyk patří do všech [tříd](None#Klasifikace jazyků) jazyků
  • Pro každý konečný jazyk lze vyrobit regulární gramatiku, tedy každý konečný jazyk je i regulární

# Bezkontextové gramatiky (BG)

Pozorování

# Kontextové gramatiky (KG)

# Neomezené gramatiky (NG)

Možnosti klasifikací gramatik

Gramatiky mohou splňovat více klasifikací najednou, ale jen tyto možnosti z toho vychází jako validní:

Pozorování

  • Gramatika, ve které existují pouze derivace nekonečné délky, generuje prázdný jazyk