You are on page 1of 4

Note del corso di Calcolabilit` e Linguaggi a Formali - Lezione 1

Alberto Carraro 5 ottobre 2011


DAIS, Universit` Ca Foscari Venezia http://www.dsi.unive.it/~acarraro a

Alfabeti, stringhe linguaggi

Denition 1 (Alfabeto). Un alfabeto ` un insieme nito non vuoto. e Per indicare un alfabeto si usano convenzionalmente le lettere greche maiuscole , , . . .. Per esempio un noto alfabeto ` linsieme {0, 1}, detto alfabeto e binario. Per convenzione gli elementi di una alfabeto si chiamano simboli e si usano le prime lettere minuscole dellalfabeto a, b, c, . . . per indicare generici simboli di un alfabeto. Denition 2 (Stringa). Si un alfabeto. Una stringa (o parola) su ` una e sequenza nita di simboli scelti da . Ad esempio 01001 ` una stringa sullalfabeto binario. Per indicare le stringhe e si usano di solito le ultime lettere minuscole dellalfabeto inglese come x, y, u, w, z, . . ., con eventuali apici/pedici. Una particolare stringa ` quella vuota, composta da e zero simboli. Questa stringa, indicata con , ` la sola componibile con qualunque e alfabeto. La lunghezza di una stringa w, indicata con |w|, ` la quantit` di occore a renze di simboli in essa. Ad esempio |01001| = 5 e | | = 0. Unoperazione molto utilizzata sulle stringhe ` la concatenazione. Il risultato e della concatenazione di x ad y ` la stringa xy di lunghezza |x| + |y| ottenuta e giustapponendo i simboli di y, nel loro ordine, allultimo simbolo di x. Ad esempio 01001 ` la concatenazione di 01 a 010. La concatenazione ` unoperazione e e associativa, cio` (xy)z = x(yz); ci` rende superuo luso delle parentesi, permee o ttendo di scrivere semplicemente xyz. Diciamo che x ` sottostringa di y se esistono due stringhe w, w tali che e wxw = y. Due particolari casi di sottostringa sono il susso ed il presso. Una stringa x ` susso di y se esiste una stringa w tale che wx = y ed ` presso di y se e e esiste una stringa w tale che xw = y. Ad esempio 01 e 11 sono, rispettivamente, un presso ed un susso della stringa 0101011. Diciamo che un presso (resp. susso) x di w ` proprio se |x| < w e non banale se 0 < |x| < w. e La potenza n-esima di una stringa x, indicata con xn , ` denita per induzione e da x0 = e xn+1 = xn x. Ad esempio (01)2 = 0101. e La stringa rovesciata di w = a1 an , indicata con wR , ` denita come wR = an a1 .

A. Carraro

Denition 3 (Linguaggio). Un linguaggio su un alfabeto ` un insieme di e stringhe su . Per indicare un linguaggio si usano convenzionalmente le lettere maiuscole L, L , . . .. Si noti che ogni alfabeto ` un caso particolare di linguaggio su se stesso. e Le operazioni applicabili alle stringhe si possono di norma estendere ai linguaggi. Ad esempio abbiamo Rovesciamento: LR = {wR : w L} Concatenazione: LL = {xy : x L, y L } Potenza: L0 = { }, Ln+1 = Ln L Notate che {xn : x L} Ln ma i due linguaggi non sono in generale uguali. Sui linguaggi si possono inoltre applicare le operazioni proprie degli insiemi, come lunione, lintersezione, ecc. Combinando unione e potenza si ottiene unimportante operazione, chiamata stella (o chiusura) di Kleene, cos` denita: L = n0 Ln . Unoperazione da essa derivata ` L+ = n1 Ln = L { }. e Risulta dunque che ` il pi` grande (al senso dellinclusione insiemistica) e u ` linguaggio su . E per tale motivo che spesso si pu` genericamente denire un o linguaggio come un sottoinsieme di . A questo punto possiamo anche denire formalmente il complemento di un linguaggio L come Lc = {w : w L}. 1.1 Linguaggi e problemi - una visione dinsieme sul corso

Un tema fondamentale della teoria dei linguaggi formali ` la loro classicazione. e Il criterio di maggior interesse adottato per tale classicare un linguaggio L ` la e dicolt` di decidere se, data una stringa w, essa appartiene ad L. La procedura a di decisione a cui si fa implicitamente riferimento qui si intende essere implementata da un dispositivo automatico che pu` essere descritto matematicamente ed o il concetto di dicolt` pu` corrispondere sia alla complicazione/potenza del disa o positivo automatico sopraccitato, che al tempo di calcolo richiesto dal dispositivo per dare la risposta. Il problema di decisione, la cui forma generale ` e () data w, ` vero che w L? e ` di fondamentale importanza perch, tramite opportuna codica, esso potrebbe e e corrispondere a domande come dato un grafo G, ` vero che G ` bipartito?. e e I principali dispositivi automatici, detti automi, che incontreremo sono: gli Automi Finiti (FA), gli Automi a Pila (PDA), le Macchine di Turing.

Note del corso di Calcolabilit` e Linguaggi Formali - Lezione 1 a

La potenza di una classe di dispositivi ` data dalla classe di problemi del tipo e () che essa pu` risolvere, o equivalentemente dalla classe di linguaggi che essa o pu` riconoscere; chiaramente daremo un signicato matematico a questa frase. o Lelenco rispecchia la potenza di calcolo dei dispositivi citati (crescente dallalto verso il basso). La grande dierenza delle Macchine di Turing rispetto agli altri tipi di automi ` il fatto che esista una Macchina di Turing general purpose; al contrario gli e Automi Finiti ed a Pila sono single purpose. Avremo modo di capire cosa signicano queste cose. Ogni tipo di automa corrisponde a un modello astratto di computazione: per ogni tale modello vedremo studieremo delle sue variazioni che possono o meno mutarne la potenza, ovvero la classe dei linguaggi che quel tipo di automa pu` o riconoscere. Le classi di linguaggi di cui parliamo sono le seguenti: i linguaggi regolari, i linguaggi liberi dal contesto, i linguaggi ricorsivamente enumerabili. Lordine di questo elenco riette il fatto che ognuna di queste classi ` denita e come la classe di linguaggi riconosciuti dal tipo di automi nella posizione corrispondente dellelenco precedente. Un tema centrale della teoria dei linguaggi formali ` dare caratterizzazioni alternative per le classi di linguaggi sopraccitate. e Per denire un linguaggio possiamo utilizzare diversi approcci: un approccio riconoscitivo, fornando cio` una macchina che ricevendo una e stringa in input dice se essa appartiene o no al linguaggio; un approccio algebrico, mostrando cio` come il linguaggio ` costruito a pare e tire da linguaggi pi` elementari utilizzando operazioni su linguaggi; u un approccio generativo, denendo cio` mediante una grammatica le regole e strutturali che devono essere soddisfatte dalle sue stringhe; un approccio descrittivo, che da delle condizioni sulla forma delle stringhe che appartengono ad un linguaggio. Questo ultimo approccio si applica bene per le classi di linguaggi pi` ristrette ed ` soprattutto utile per dimostrare u e quando un dato linguaggio non appartiene ad una data classe (Pumping Lemmas). Concludiamo questa sezione con una tabella che riassume le corrispondenze tra i temi principali della teoria dei Linguaggi Formali, che occupa la prima parte del corso. Grammatiche (Chomsky) Automi Linguaggi Tipo 3 Automi niti Regolari Tipo 2 Automi a pila Liberi dal contesto Tipo 1 Automi linear-bounded Sensibili al contesto Decisori Ricorsivi Tipo 0 Macchine di Turing Ricorsivamente enumerabili

A. Carraro

La seconda parte del corso invece ` dedicata alla teoria della Calcolabilit`, e a che si sviluppa uno studio approfondito dei linguaggi citati nellultima riga della tabella qui sopra. In particolare la teoria della Calcolabilit` si sviluppa su un a modello matematico di computazione alternativo alle macchine di Turing (ma equivalente) basato su insiemi di numeri naturali e funzioni su di essi.

You might also like