CLASSIFICAZIONE DI CHOMSKY

la classificazione delle grammatiche di Chomsky prevede 4 tipologie principali di grammatiche, divise in base alla capacita computazionale richiesta per riconoscerle

GRAMMATICHEAUTOMI RICONOSCITORI
TIPO 0Se e riconoscibile e necessaria una macchina di turing
TIPO 1Macchina di turing
TIPO 2Push down automaton (PDA)
TIPO 3Automa a stati finiti (ASF)

esiste una relazione gerarchica fra le grammatiche, un linguaggio generato da una grammatica di tipo inferiore può essere generato anche da una grammatica di tipo superiore

PROBLEMA DELLA STRINGA VUOTA

i linguaggi generati da GRAMMATICHE DI TIPO 1 non ammettono produzioni con la stringa vuota ma quelle di tipo 2 e 3 si data la relazione gerarchica grammatiche di tipo possono generare linguaggi di tipo con ma la grammatica di tipo ha necessità computazionali più esose

GRAMMATICHE, TIPO 1 VS TIPO 2

le grammatiche di tipo 2 non ammettono produzioni della forma

ovvero non consentono di scambiare i simboli in una produzione

GRAMMATICHE, TIPO 2 VS TIPO 3

le produzioni di Tipo 2 ammettono un metasimbolo in qualunque punto della frase (self embedding) mentre le produzioni di tipo 3 ammettono metasimboli solo a destra o a sinistra della frase

TIPO 2TIPO 3

NELLA PRATICA

Le grammatiche 1 2 e 3 sono tutte riconoscibili, ma la capacita computazionale richiesta per riconoscerle cambia assieme alle capacita espressive della grammatica stessa, sta al progettista scegliere la corretta grammatica in base ai requisiti (i linguaggi general purpose sono generati da grammatiche di tipo 2, riconosciute da un push down automaton)

PREVIOUS NEXT