Regulárna gramatika

Zo stránky testwiki
Prejsť na navigáciu Prejsť na vyhľadávanie

Regulárna gramatika je v teórii formálnych jazykov bezkontextová gramatika taká, že pravá strana každého prepisovacieho pravidla obsahuje najviac jeden neterminálny symbol, ktorý navyše musí byť na konci pravej strany pravidla.

Definícia

Formálne sa regulárna gramatika definuje ako štvorica G=(N,T,P,σ), kde N je množina neterminálnych symbolov, T je množina terminálnych symbolov, PN×T(N{ε}) je množina prepisovacích pravidiel a σN je počiatočný neterminál.

Krok odvodenia a jazyk akceptovaný regulárnou gramatikou sa definujú rovnako, ako pri bezkontextových gramatikách alebo frázových gramatikách. Krok odvodenia je binárna relácia G na (NT) definovaná nasledovne:

xGyw1,w2(NT)(uv)P:x=w1uw2  y=w1vw2.

Keďže má regulárna gramatika oproti frázovým gramatikám obmedzený tvar prepisovacích pravidiel, je možné predchádzajúcu definíciu prepísať ako:

xGywT(ξv)P:x=wξ  y=wv.

Jazyk akceptovaný regulárnou gramatikou sa definuje nasledovne:

L(G)={wT | σw}.

Sila

Jazyk, pre ktorý existuje regulárna gramatika, ktorá ho generuje, sa nazýva regulárny jazyk. Trieda jazykov generovaných regulárnymi gramatikami (teda trieda regulárnych jazykov) sa rovná triede jazykov akceptovaných konečnými automatmi. Regulárne gramatiky a konečné automaty sú teda z hľadiska popisnej sily ekvivalentné.

Šablóna:Formálne jazyky a gramatiky