Chomsky Klasyfikacja gramatyk

ogłoszenia

według Noama Chomosky ’ ego istnieją cztery rodzaje gramatyk − Typ 0, Typ 1, Typ 2 i typ 3. Poniższa tabela pokazuje, jak różnią się one od siebie−

Typ gramatyki Gramatyka zaakceptowana język zaakceptowany Automat
Typ 0 gramatyka Nieograniczona język rekurencyjnie wyliczany maszyna Turinga
Typ 1 gramatyka kontekstowa język kontekstowy automat liniowy
Typ 2 gramatyka bez kontekstu Język bez kontekstu Automat Pushdown
Typ 3 Gramatyka regularna język regularny

spójrz na poniższą ilustrację. Pokazuje zakres każdego typu gramatyki –

 powstrzymanie typu 3, typu 2, typu 1, Typu 0

Gramatyka typu 3

gramatyki typu 3 generują języki regularne. Gramatury typu 3 muszą mieć po lewej stronie pojedynczy nie-terminal i po prawej stronie składający się z pojedynczego terminala lub pojedynczego terminala, po którym następuje pojedynczy nie-terminal.

produkcje muszą mieć postać x → A lub X → aY

gdzie X, Y ∈ N (Non terminal)

i A ∈ T (Terminal)

reguła s → ε jest dozwolona, jeśli S nie pojawia się po prawej stronie żadnej reguły.

przykład

X → ε X → a | aYY → b 

Gramatyka typu 2

gramatyki typu 2 generują języki wolne od kontekstu.

produkcje muszą mieć postać a → γ

gdzie A ∈ N (Non-terminal)

i γ ∈ (T ∪ N)* (ciąg terminali i nie-terminali).

te języki generowane przez te gramatyki są rozpoznawane przez niedeterministyczny automat wypychania.

przykład

S → X a X → a X → aX X → abc X → ε

Gramatyka typu 1

gramatyki typu 1 generują języki wrażliwe na kontekst. Produkcje muszą mieć postać

α a β → α γ β

gdzie A ∈ N (Non-terminal)

i α, β, γ ∈ (T ∪ N)* (ciągi zacisków i nie-zacisków)

ciągi α i β mogą być puste, ale γ musi być niepuste.

reguła s → ε jest dozwolona, jeśli S nie pojawia się po prawej stronie żadnej reguły. Języki generowane przez te gramatyki są rozpoznawane przez liniowy automat Ograniczony.

przykład

AB → AbBc A → bcA B → b 

Gramatyka typu 0

gramatyki typu 0 generują rekurencyjnie wyliczalne języki. Produkcje nie mają żadnych ograniczeń. Są to gramatyki o dowolnej strukturze fazowej, w tym wszystkie gramatyki formalne.

generują języki rozpoznawane przez maszynę Turinga.

produkcje mogą mieć postać α → β, gdzie α jest ciągiem terminali i nieterminali z co najmniej jednym Nie-terminalem, a α nie może być null. β jest ciągiem terminali i nie-terminali.

Przykład

S → ACaB Bc → acB CB → DB aD → Db 
Ogłoszenia

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.