Introduzione alle grammatiche formali

Noam Chomsky Noam Chomsky

Nel 1950 il linguista Noam Chomsky pubblicò Strutture Sintattiche, la cui tesi di fondo era che alla base dell’apprendimento e dell’uso del linguaggio ci sia la conoscenza di strutture di base grammaticali, fondate su regole formali matematiche, da cui deriverebbero la descrizione, la generazione e la trasformazione delle frasi.
La linguistica ha influenzato in modo significativo sia la musica, la cui relazione con il linguaggio è antica quanto la civiltà occidentale, sia l’intelligenza artificiale. Nella figura seguente si mostra un esempio di struttura grammaticale di una semplice frase affermativa: “Un musicista compone la musica”.

esempio di struttura grammaticale

La regola nella figura dice che:

  • F=GS+GV: una frase F è formata da un gruppo del sostantivo e da un gruppo del verbo
  • GS=A+S: il gruppo del sostantivo è formato da un articolo A e un sostantivo S
  • GV=V+GS: il gruppo del verbo è formato da un verbo V e dal gruppo del sostantivo GS

Si può programmare la regola dell’esempio in un computer per generare automaticamente delle frasi, fornendo alla macchina il lessico da cui scegliere. Ad esempio:

A={il, un, la, una}
S={cane, musica, musicista, computer, caffè}
V={compone, fa, ascolta}

Il lessico definisce le tre classi richieste dalla grammatica: A (articoli), S (sostantivi), V (verbi). Dati regole e lessico, il computer può essere programmato per generare frasi dotate di senso (Un musicista fa il caffè), ma anche prive di senso (un caffè fa il musicista). Si può diminuire la generazione di frasi senza senso definendo in modo più rigido le regole grammaticali, tuttavia per ottenere risultati migliori non si può prescindere dall’introduzione di una qualche nozione di semantica.
La grammatica descritta è detta generativa, poichè viene usata per generare frasi a partire da zero.

Definizione formale delle grammatiche

Una grammatica formale definisce un linguaggio fornendo il meccanismo mediante il quale si può derivare ogni stringa appartenente al linguaggio: si tratta quindi di un meccanismo di tipo generativo.

Def:

Una grammatica G è una quadrupla G=V_T,V_N,P,S dove:

  • V_T è un insieme finito di simboli terminali, detto alfabeto terminale.
  • V_N è un insieme non finito di simboli non terminali, tali che V_T inter V_N= varnothing, detto alfabeto non terminale. V indica V_T union V_N.
  • P è un sottoinsieme finito di V^+ under N*V^{star}, detto insieme delle produzioni di G. Un elemento p di P verrà indicato con alpha right beta. La stringa alpha è la parte sinistra di p; la stringa beta ne è invece la parte destra.
  • S è un elemento particolare di V_N, detto assioma.

Def:

Data una grammatica G, si può definire su V^{star}:alpha right beta una relazione binaria, detta derivazione immediata ed indicata da right under G, se e solo se alpha=alpha_1 gamma alpha_2,~beta=alpha_1 delta alpha_2, con alpha_1,alpha_2,delta in V^star,~gamma in {V^+ under N} e gamma right delta. Il simbolo G è omesso nella scrittura right under G quando il contesto non fa sorgere equivoci. I simboli {right under G} over star,{right under G} over +, {right under G} over K indicano rispettivamente la chiusura riflessiva e transitiva, la chiusura transitiva e la concatenazione di lunghezza k di right under G.

Def:

Per una data grammatica G, il linguaggio L(G) generato da G è definito come L(G)=lbrace x | S{right under G}over star x,~x in {V^star under T} rbrace.
Le grammatiche descrivono la generazione di tutte le stringhe appartenenti ad un linguaggio, mediante una successione di passi di derivazione che partono da un assioma. Ciascun passo della derivazione impiega una produzione alpha right beta come regola di riscrittura, in grado cioè di specificare in che modo effettuare la sostituzione di una sottostringa alpha con un’altra sottostringa beta all’interno di una stringa data.

Creative Commons License logo
Questo materiale è protetto dalla Creative Commons License

Leave a Reply