RACCOLTA DI ESERCIZI CON SOLUZIONI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "RACCOLTA DI ESERCIZI CON SOLUZIONI"

Transcript

1 Università degli Studi di Padova Dipartimento di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria Informatica Automi, Linguaggi e Computazione RACCOLTA DI ESERCIZI CON SOLUZIONI prof. Giorgio Satta

2 Prefazione Gli esercizi presentati in questa raccolta sono classificati secondo tre categorie, sulla base della difficoltà richiesta per la soluzione. Per questa classificazione viene utilizzato il simbolo stellina ( ), con il seguente significato. Gli esercizi con zero stelline sono molto simili ad esercizi già proposti nel libro di testo, oppure hanno una soluzione che richiede l applicazione diretta di un metodo studiato a lezione. Questi esercizi non presentano particolari difficoltà di ragionamento, anche se lo svolgimento potrebbe essere lungo. Gli esercizi con una stellina sono considerati di media difficoltà. La loro soluzione richiede la capacità da parte dello studente di rielaborare conoscenze studiate durante il corso, e di ragionare secondo le metodologie tipiche della disciplina degli automi e dei linguaggi formali. Si raccomanda agli studenti di provare a risolvere in modo autonomo almeno due esercizi in questa categoria per ciascun capitolo della raccolta, e di leggere solo successivamente la soluzione proposta per verificare il proprio grado di apprendimento della materia. Gli esercizi con due stelline sono considerati difficili. Questi esercizi costituiscono dei piccoli progetti, da risolvere anche in gruppo, in modo da poter confrontare con altri studenti la metodologia sviluppata. Si raccomanda comunque la lettura della soluzione di questi esercizi, come esempio delle tecniche e delle metodologie tipiche della disciplina degli automi e dei linguaggi formali. Si puntualizza che gli esercizi in questa raccolta non sono rappresentativi di problemi che possono essere assegnati alla prova finale del corso: quasi tutti gli esercizi qui presentati richiedono lo sviluppo di dimostrazioni matematiche piuttosto lunghe, e non ci sarebbe tempo a sufficienza alla prova finale per risolvere questi esercizi, anche nel caso di zero stelline. Si reputa comunque che questa raccolta possa essere di valido aiuto per imparare a risolvere in modo rigoroso la tipologia di problemi che verranno assegnati alla prova finale. Gli esercizi in questa raccolta sono stati rielaborati dal docente dell insegnamento di Automi, Linguaggi e Computazione, professor Giorgio Satta, sulla base del materiale elencato di seguito. Raccolta di esercizi risolti per l insegnamento di Informatica Teorica, Corso di Laurea Quinquennale in Ingegneria Informatica, Università 1

3 degli Studi di Padova. Gli esercizi sono variazioni di temi d esame assegnati negli anni accademici 1993/94, 1994/95, 1995/96. Le soluzioni sono state elaborate dagli studenti Paolo Chioetto, Carlo Fantozzi e Ferruccio Fantozzi. Raccolta di esercizi risolti per l insegnamento di Informatica Teorica, Corso di Laurea Triennale in Ingegneria dell Informazione, Università degli Studi di Padova. Gli esercizi sono variazioni di temi d esame assegnati per il suddetto insegnamento. Le soluzioni sono state elaborate dai docenti Maria Silvia Pini e Cinzia Pizzi. Esercizi svolti per l insegnamento di Automi, Linguaggi Formali e Computazione, Corso di Laurea Magistrale in Ingegneria Informatica, Università degli Studi di Padova. Le soluzioni sono state elaborate nell anno accedemico 2018/19 dagli studenti Francesco Cazzaro, Samuele Papa e Federico Soldà. prof. Giorgio Satta 2

4 Notazione Riportiamo alcune convenzioni notazionali relative agli automi ed ai linguaggi formali, che non sono presenti nel libro di testo adottato nel corso ma che verranno usate nei capitoli seguenti. Il simbolo N rappresenta l insieme dei numeri naturali, zero incluso. Dati due insiemi S 1 e S 2, scriviamo S 1 \ S 2 per indicare la differenza insiemistica tra S 1 ed S 2. Sia Σ un alfabeto finito e sia L un linguaggio definito su Σ. Indichiamo con L il linguaggio complemento di L, definito come L = Σ \ L. Sia w una stringa su di un alfabeto Σ e sia a Σ. Scriviamo # a (w) per indicare il numero di occorrenze di a in w. Per una generica stringa w e per un intero i con 1 i w, scriviamo w[i] per denotare il simbolo i-esimo di w, contando da sinistra a destra. 3

5 Indice 1 Linguaggi Regolari 5 2 Linguaggi Context-Free 55 3 Linguaggi Ricorsivi e Ricorsivamente Enumerabili 89 4

6 Capitolo 1 Linguaggi Regolari Esercizio 1.1 Si consideri l automa deterministico a stati finiti A con insieme degli stati {q 0, q 1 }, dove q 0 è lo stato iniziale e q 1 è lo stato finale, ed avente la funzione di transizione rappresentata graficamente in Figura 1.1. Dimostrare che A riconosce il linguaggio L = {w w {0, 1}, # 1 (w) è dispari}. Soluzione Il libro di testo spiega che per dimostrare la relazione L = L(A), dove A è un automa a stati finiti deterministico, è necessario definire un insieme di proprietà P q, una per ogni stato q di A. Nel nostro caso, le proprietà P q sono definite sull insieme di tutte le stringhe binarie {0, 1}. Successivamente si deve dimostrare che, per ogni proprietà P q e per ogni stringa x {0, 1}, abbiamo che P q (x) è vera se e solo se ˆδ(q 0, x) = q, dove q 0 indica lo stato iniziale di A. Informalmente, ciò significa che P q (x) è vera se e solo se, partendo dallo stato iniziale e leggendo x, l automa A raggiunge lo stato q. Tale dimostrazione deve essere sviluppata usando la tecnica della mutua induzione. Procediamo dunque definendo le due proprietà P q0 e P q1. Per ogni x {0, 1}, P q0 (x) è vera se e solo se # 1 (w) è pari. Per ogni x {0, 1}, P q1 (x) è vera se e solo se # 1 (w) è dispari. Dobbiamo ora dimostrare le due affermazioni seguenti. (i) Per ogni x {0, 1}, P q0 (x) è vera se e solo se ˆδ(q 0, x) = q 0. 5

7 0 0 Start 1 q 0 q 1 1 Figura 1.1: Diagramma delle transizioni dell automa A dell Esercizio 1.1. (ii) Per ogni x {0, 1}, P q1 (x) è vera se e solo se ˆδ(q 0, x) = q 1. Informalmente, l affermazione (i) stabilisce che la stringa x ha un numero pari di occorrenze del carattere 1 se e solo se, partendo dallo stato iniziale e leggendo x, l automa A raggiunge lo stato q 0. In modo simile, l affermazione (ii) stabilisce che la stringa x ha un numero dispari di occorrenze del carattere 1 se e solo se, partendo dallo stato iniziale e leggendo x, l automa A raggiunge lo stato q 1. Intuitivamente, per uno stato q di A la proprietà P q vi dice quali stringhe A accetterebbe se A avesse q come unico stato finale. A questo punto osserviamo che l affermazione (ii) sopra riportata può essere utilizzata per dimostrare la proprietà richiesta dalla consegna. Infatti abbiamo la seguente catena di equivalenze x L(A) sse ˆδ(q0, x) = q 1 (definizione di A) sse P q1 (x) (affermazione (ii)) sse # 1 (x) è dispari (definizione di P q1 ) sse x L (definizione di L) che ci porta a concludere che L(A) = L. Per completare l esercizio, dobbiamo dunque dimostrare le affermazioni (i) e (ii). Poiché le affermazioni (i) e (ii) sono della forma se e solo se, dobbiamo dimostrare quattro enunciati, e per ciascun enunciato dobbiamo esaminare il caso base ed il caso induttivo. Come già suggerito, è necessario procedere per mutua induzione. (Parte (i), solo se) Dobbiamo dimostrare che, per ogni x {0, 1}, se P q0 (x) è vera allora ˆδ(q 0, x) = q 0. Procediamo per induzione sulla lunghezza della stringa x. 6

8 Base. Abbiamo x = 0, cioè x = ε. Poichè # 1 (ε) è pari, P q0 (ε) è vera. Inoltre, per definizione di ˆδ possiamo scrivere ˆδ(q 0, ε) = q 0. Concludiamo allora che l implicazione da dimostrare è vera. Induzione. Sia x = n > 0. Se P q0 (x) è falsa, allora l implicazione da dimostrare è sempre vera. Consideriamo invece il caso in cui P q0 (x) sia vera, cioè # 1 (x) è pari. Scriviamo x = ya con a {0, 1} e y {0, 1}, y = n 1. Dobbiamo distinguere due casi, a seconda che sia a = 0 oppure a = 1. Se a = 0, allora # 1 (y) = # 1 (x) e dunque vale anche P q0 (y). Possiamo allora applicare l ipotesi induttiva per l affermazione (i), parte solo se, e concludere che ˆδ(q 0, y) = q 0. Dalla definizione della funzione di transizione di A, abbiamo che dallo stato q 0 leggendo il simbolo 0 si raggiunge lo stato q 0. Dunque possiamo scrivere ˆδ(q 0, x) = δ(ˆδ(q 0, y), 0) = δ(q 0, 0) = q 0. Se a = 1, allora # 1 (y) = # 1 (x) 1, cioè # 1 (y) è dispari, e dunque vale P q1 (y). Possiamo allora applicare l ipotesi induttiva per l affermazione (ii), parte solo se, e concludere che ˆδ(q 0, y) = q 1. Dalla definizione della funzione di transizione di A, abbiamo che dallo stato q 1 leggendo il simbolo 1 si raggiunge lo stato q 0. Dunque possiamo scrivere ˆδ(q 0, x) = δ(ˆδ(q 0, y), 1) = δ(q 1, 1) = q 0. Ciò conclude la parte induttiva, ed abbiamo dunque dimostrato la parte solo se dell affermazione (i). (Parte (i), se) Dobbiamo dimostrare che, per ogni x {0, 1}, se ˆδ(q 0, x) = q 0 allora P q0 (x) è vera. Procediamo ancora per induzione sulla lunghezza della stringa x. Base. Abbiamo x = 0, cioè x = ε. La relazione ˆδ(q 0, ε) = q 0 è sempre vera, per definizione di ˆδ. Inoltre, P q0 (ε) è anche vera, perchè # 1 (ε) è pari. Concludiamo dunque che l implicazione da dimostrare è vera. Induzione. Sia x = n > 0. Se ˆδ(q 0, x) = q 0 è falsa, allora l implicazione da dimostrare è sempre vera. Consideriamo invece il caso in cui ˆδ(q 0, x) = q 0 sia vera. Come già fatto in precedenza, scriviamo x = ya con a {0, 1} e y {0, 1}, y = n 1. Distinguiamo due casi, a seconda che sia a = 0 oppure a = 1. 7

9 Sia a = 0. Poiché ˆδ(q 0, x) = q 0, l automa si trova nello stato q 0 dopo aver letto x. L ultimo simbolo di x è il carattere 0, e dalla definizione di A vediamo che leggendo 0 lo stato q 0 può essere raggiunto solo se l automa si trova già nello stato q 0 dopo aver letto y. Concludiamo dunque che deve essere ˆδ(q 0, y) = q 0. Possiamo adesso applicare l ipotesi induttiva per l affermazione (i), parte se, e concludere che P q0 (y) è vera, cioè y ha un numero pari di occorrenze del carattere 1. Allora anche x ha un numero pari di occorrenze del carattere 1, e possiamo asserire che anche P q0 (x) è vera. Sia a = 1. Poiché ˆδ(q 0, x) = q 0, l automa si trova nello stato q 0 dopo aver letto x. L ultimo simbolo di x è il carattere 1, e dalla definizione di A vediamo che leggendo 1 lo stato q 0 può essere raggiunto solo se l automa si trova nello stato q 1 dopo aver letto y. Concludiamo dunque che deve essere ˆδ(q 0, y) = q 1. Possiamo dunque applicare l ipotesi induttiva per l affermazione (ii), parte se, e concludere che P q1 (y) è vera, cioè y ha un numero dispari di occorrenze del carattere 1. Poiché abbiamo # 1 (y) = # 1 (x) 1, concludiamo che x ha un numero pari di occorrenze del carattere 1, e possiamo asserire che P q0 (x) è vera. Ciò conclude la parte induttiva, ed abbiamo dunque dimostrato anche la parte se dell affermazione (i). Le parte solo se e la parte se dell affermazione (ii) possono essere dimostrate in modo molto simile alla dimostrazione delle rispettive parti dell affermazione (i), sopra riportate. Queste due dimostrazioni vengono dunque tralasciate. Nota In questa nota di coda all esercizio, motiviamo la necessità di impiegare la tecnica della mutua induzione nella dimostrazione delle affermazioni (i) e (ii). Consideriamo il caso induttivo della parte solo se dell affermazione (i). Abbiamo discusso due diverse situazioni, a seconda che la stringa x terminasse con il carattere 0 oppure con il carattere 1. In quest ultimo caso, abbiamo x = y1, e dunque se x ha un numero pari di occorrenze del carattere 1, allora y ha un numero dispari di occorrenze dello stesso carattere. Per questo motivo, non possiamo invocare su y l ipotesi induttiva della stessa affermazione (i) che stiamo dimostrando, che riguarda le stringhe con un numero pari di occorrenze del carattere 1: dobbiamo invece essere in grado di invocare su y l ipotesi induttiva della affermazione (ii), che riguarda le stringhe con un numero dispari di occorrenze del carattere 1. Ciò richiede dunque la tecnica della mutua induzione. 8

10 Start 1 q 0 q , 1 0, 1 q 3 0 q 2 Figura 1.2: Automa a stati finiti deterministico che riconosce il linguaggio L definito nell Esercizio 1.2. Esercizio 1.2 Si consideri il linguaggio L = {w w {0, 1} +, w[i] = 1 per ogni i dispari, 1 i w }. Definire un automa deterministico a stati finiti A che riconosce il linguaggio L e dimostrare rigorosamente che L = L(A). Soluzione Il grafo delle transizioni dell automa A è riportato in Figura 1.2. La definizione di A segue implicitamente da tale figura. Per una migliore comprensione del funzionamento dell automa, ma anche in vista dello sviluppo successivo della nostra dimostrazione di correttezza, è utile descrivere a questo punto l insieme delle stringhe associate a ciascuno stato di A. Lo stato q 0 è lo stato iniziale a cui è associata solo la stringa vuota, che non appartiene ad L. Allo stato q 1 sono associate tutte le stringhe del linguaggio L che hanno lunghezza dispari, e allo stato q 2 sono associate tutte le stringhe del linguaggio che hanno lunghezza pari. Infine, allo stato q 3 sono associate tutte le stringhe che non appartengono ad L, ad esclusione della stringa vuota. Per dimostrare che L = L(A) conviene utilizzare la tecnica della mutua induzione, come già fatto per l Esercizio 1.1. Procediamo dunque con la definizione di un insieme di proprietà P q, una per ogni stato q di A, dove ciascuna proprietà è definita sull insieme delle stringhe binarie {0, 1}. Per ogni x {0, 1}, P q0 (x) è vera se e solo se x = 0. 9

11 Per ogni x {0, 1}, P q1 (x) è vera se e solo se x > 0 è un numero dispari e x L. Per ogni x {0, 1}, P q2 (x) è vera se e solo se x > 0 è un numero pari e x L. Per ogni x {0, 1}, P q3 (x) è vera se e solo se x > 0 e x L. Dobbiamo ora dimostrare le quattro affermazioni seguenti. (i) Per ogni x {0, 1}, P q0 (x) è vera se e solo se ˆδ(q 0, x) = q 0. (ii) Per ogni x {0, 1}, P q1 (x) è vera se e solo se ˆδ(q 0, x) = q 1. (iii) Per ogni x {0, 1}, P q2 (x) è vera se e solo se ˆδ(q 0, x) = q 2. (iv) Per ogni x {0, 1}, P q3 (x) è vera se e solo se ˆδ(q 0, x) = q 3. Si tratta dunque di dimostrare quattro relazioni di doppia implicazione, cioè otto relazioni di singola implicazione. Per ciascuna singola implicazione dobbiamo inoltre considerare un caso base ed un caso induttivo. La dimostrazione risultante è piuttosto lunga ed articolata, ed è dunque facile perdere il filo del ragionamento. Può aiutare la lettura il considerare che ogni singola implicazione dimostrata si riferisce sempre ad uno stato q di A. Inoltre, quando dimostriamo una singola implicazione associata ad uno stato q, dobbiamo esaminare un certo numero di casi in cui viene invocata una diversa ipotesi induttiva. Non è difficile vedere che questi casi corrispondono agli archi di A entranti nello stato q considerato. Passiamo dunque ad esporre la dimostrazione delle otto relazioni di singola implicazione. (Parte (i), solo se) Dobbiamo dimostrare l implicazione P q0 (x) ˆδ(q 0, x) = q 0. Procediamo per induzione sulla lunghezza della stringa x. Base. Consideriamo l unica stringa con lunghezza 0, cioè x = ε. Abbiamo che P q0 (ε) risulta vera. Dalla definizione di ˆδ, abbiamo anche che ˆδ(q 0, ε) = q 0. Dunque la parte solo se di (i) è vera per x = ε. Induzione. Sia x 1. Allora x ε e dunque P q0 (x) è falsa. Segue allora che l implicazione solo se di (i) è sempre vera. (Parte (i), se) Dobbiamo dimostrare l implicazione ˆδ(q 0, x) = q 0 P q0 (x). Procediamo ancora per induzione sulla lunghezza della stringa x. Base. Abbiamo già osservato nella parte precedente che, per x = ε, ˆδ(q 0, x) = q 0 e P q0 (x) sono entrambe vere. Dunque l implicazione se di (i) risulta vera. 10

12 Induzione. Sia x 1. Dalla definizione di A in Figura 1.2, osserviamo che per lo stato q 0 non vi sono transizioni entranti, e dunque ˆδ(q 0, x) = q 0 con x ε è sempre falso. Segue allora che l implicazione se di (i) risulta sempre vera. (Parte (ii), solo se) Dobbiamo dimostrare l implicazione P q1 (x) ˆδ(q 0, x) = q 1. Procediamo per induzione sulla lunghezza della stringa x. Base. Sia x = ε; allora P q1 (x) è falsa, e dunque l implicazione solo se di (ii) risulta vera. Induzione. Poiché x 1, scriviamo x = ya con a {0, 1} e y {0, 1}. Se P q1 (x) è falsa, l implicazione solo se di (ii) risulta sempre vera. Assumiamo adesso che P q1 (x) sia vera. Per definizione di P q1 abbiamo che x è un numero dispari e x L. Nella stringa x = ya dobbiamo necessariamente avere a = 1, poiché l occorrenza di a si trova in posizione dispari e sappiamo che x L. Distinguiamo ora alcuni casi, in dipendenza dalla lunghezza di y. Se y = 0 possiamo direttamente concludere che ˆδ(q 0, ε) = q 0. Dalla definizione di A vediamo che leggendo 1 nello stato q 0 l automa transita nello stato q 1, e dunque ˆδ(q 0, x) = q 1. Se y > 0 sappiamo che y è un numero pari. Poiché x L, deve anche essere y L. Applichiamo allora ad y l ipotesi induttiva usando la parte solo se di (iii) e deriviamo ˆδ(q 0, y) = q 2. Dalla definizione di A vediamo che leggendo 1 nello stato q 2, l automa transita nello stato q 1, e dunque ˆδ(q 0, x) = q 1. Abbiamo esaminato tutti i possibili casi per la stringa y {0, 1}, concludendo sempre che per x = ya si ha ˆδ(q 0, x) = q 1. Ciò dimostra dunque che la parte solo se della condizione (ii) è sempre vera. (Parte (ii), se) Dobbiamo dimostrare l implicazione ˆδ(q 0, x) = q 1 P q1 (x). Procediamo per induzione sulla lunghezza della stringa x. Base. Sia x = ε. Dalla definizione di ˆδ abbiamo che ˆδ(q 0, ε) = q 0 e dunque ˆδ(q 0, ε) = q 1 è falsa. Segue allora che l implicazione se di (ii) è vera. Induzione. Poiché x 1, scriviamo x = ya con a {0, 1} e y {0, 1}. Se ˆδ(q 0, x) = q 1 è falsa, l implicazione se di (ii) risulta sempre vera. Assumiamo adesso che ˆδ(q 0, x) = q 1 sia vera. Dalla definizione di A in Figura 1.2 osserviamo che il solo modo per raggiungere lo stato q 1 è quello di essere negli stati q 0 oppure q 2 e leggere il carattere 1. Dunque per la stringa 11

13 x = ya dobbiamo necessariamente avere ˆδ(q 0, y) = q 0 oppure ˆδ(q 0, y) = q 2, ed inoltre deve essere a = 1. Discutiamo separatamente i due casi. Se ˆδ(q 0, y) = q 0 dobbiamo necessariamente avere y = ε, come già osservato. Segue allora x = a = 1, e P q0 (x) è vera. Se ˆδ(q 0, y) = q 2, applichiamo ad y l ipotesi induttiva usando la parte se di (iii), ottenendo che P q2 (y) è vera. Dunque y L e y è un numero pari. Segue allora che x = y1 ha lunghezza dispari, e anche tale stringa appartiene ad L poiché l ultimo carattere è in posizione dispari ed è 1. Concludiamo dunque che P q1 (x) è vera. Abbiamo esaminato tutti i possibili casi per la stringa y {0, 1}, concludendo sempre che P q1 (x) è vera per x = ya, a {0, 1}. Ciò dimostra che la parte se della condizione (ii) è sempre vera. (Parte (iii), solo se) Dobbiamo dimostrare l implicazione P q2 (x) ˆδ(q 0, x) = q 2. Procediamo per induzione sulla lunghezza della stringa x. Base. Sia x = ε; allora P q2 (x) è falsa, e dunque l implicazione solo se di (iii) risulta vera. Induzione. Poiché x 1, scriviamo x = ya con a {0, 1} e y {0, 1}. Se P q2 (x) è falsa, l implicazione solo se di (iii) risulta sempre vera. Assumiamo adesso che P q2 (x) sia vera. Per definizione di P q2 abbiamo che x è un numero pari e x L. Segue dunque che y è un numero dispari e che y L. Possiamo allora affermare che P q1 (y) è vera. Applichiamo adesso l ipotesi induttiva ad y, usando la parte solo se di (ii), e deriviamo ˆδ(q 0, y) = q 1. Dalla definizione di A vediamo che leggendo 0 oppure 1 nello stato q 1, l automa transita nello stato q 2, e dunque ˆδ(q 0, x) = q 2. Concludiamo dunque che la parte solo se della condizione (iii) è sempre vera. (Parte (iii), se) Dobbiamo dimostrare l implicazione ˆδ(q 0, x) = q 2 P q2 (x). Procediamo per induzione sulla lunghezza della stringa x. Base. Sia x = ε. Abbiamo che ˆδ(q 0, ε) = q 2 è falsa e dunque l implicazione se di (iii) è vera. Induzione. Poiché x 1, scriviamo x = ya con a {0, 1} e y {0, 1}. Se ˆδ(q 0, x) = q 2 è falsa, l implicazione se di (iii) risulta sempre vera. Assumiamo adesso che ˆδ(q 0, x) = q 2 sia vera. Dalla definizione di A in Figura 1.2 osserviamo che il solo modo per raggiungere lo stato q 2 è quello di essere nello stato q 1 e leggere il carattere 0 oppure il carattere 1. Dunque per la stringa x = ya dobbiamo necessariamente avere ˆδ(q 0, y) = q 1. Applichiamo 12

14 adesso l ipotesi induttiva ad y, usando la parte se di (ii), ed otteniamo che P q1 (y) è vera. Dunque y L e y è un numero dispari. Segue allora che x = ya ha lunghezza pari e x L. Infatti possiamo avere a = 0 oppure a = 1, ma tale carattere è inifluente ai fini dell appartenenza di x al linguaggio L. Dalla definizione di P q2 segue allora che P q2 (x) è vera. Concludiamo dunque che la parte se della condizione (iii) è sempre vera. (Parte (iv), solo se) Dobbiamo dimostrare l implicazione P q3 (x) ˆδ(q 0, x) = q 3. Procediamo per induzione sulla lunghezza della stringa x. Base. Sia x = ε. Allora P q3 (x) è falsa, e dunque l implicazione solo se di (iii) risulta vera. Induzione. Scriviamo x = ya con a {0, 1} e y {0, 1}. Se P q3 (x) è falsa, l implicazione solo se di (iii) risulta sempre vera. Assumiamo adesso che P q3 (x) sia vera. Per definizione di P q3 abbiamo x L. Distinguiamo ora alcuni casi, in dipendenza dal fatto che y appartenga o meno ad L. Se y L, P q3 (y) deve essere vera. Applichiamo dunque l ipotesi induttiva usando la parte solo se di (iv) e deriviamo ˆδ(q 0, y) = q 3. Dalla definizione di A vediamo che leggendo 0 oppure 1 nello stato q 3 l automa permane nello stato q 3. Concludiamo dunque che, sia per a = 0 che per a = 1, vale sempre ˆδ(q 0, x) = q 3. Se y L dobbiamo necessariamente concludere che la lettura dell occorrenza di a in x = ya ha causato una violazione della definizione del linguaggio L. Ciò significa che y è un numero pari e che a = 0. Abbiamo dunque che P q2 (y) deve essere vera. Applichiamo allora l ipotesi induttiva usando la parte solo se di (iii) e deriviamo ˆδ(q 0, y) = q 2. Dalla definizione di A vediamo che leggendo a = 0 nello stato q 2 l automa transita allo stato q 3, e dunque ˆδ(q 0, x) = q 3. Abbiamo esaminato tutti i possibili casi per la stringa y {0, 1}, concludendo sempre che per x = ya si ha ˆδ(q 0, x) = q 3. Ciò dimostra dunque che la parte solo se della condizione (iii) è sempre vera. (Parte (iv), se) Dobbiamo dimostrare l implicazione ˆδ(q 0, x) = q 3 P q3 (x). Procediamo per induzione sulla lunghezza della stringa x. Base. Sia x = ε. Sappiamo che ˆδ(q 0, ε) = q 3 è falsa, e dunque l implicazione se di (iv) è vera. Induzione. Scriviamo x = ya con a {0, 1} e y {0, 1}. Se ˆδ(q 0, x) = q 3 è falsa, l implicazione se di (iv) risulta sempre vera. Assumiamo adesso che 13

15 ˆδ(q 0, x) = q 3 sia vera. Dalla definizione di A in Figura 1.2 osserviamo vi sono due soli modi per raggiungere lo stato q 3. La prima possibilità è di essere già nello stato q 3 e leggere indifferentemente il carattere 0 oppure 1. La seconda possibilità è di essere nello stato q 2 e leggere il carattere 0. Discutiamo separatamente i due casi. Sia ˆδ(q 0, y) = q 3 con a {0, 1}. Applichiamo ad y l ipotesi induttiva usando la parte se di (iv), ottenendo che P q3 (y) è vera. Ciò significa che y L, e dunque anche x L, comunque sia definito il carattere a. Poiché x ε, P q3 (x) deve essere vera. Sia ˆδ(q 0, y) = q 2 con a = 0. Applichiamo ad y l ipotesi induttiva usando la parte se di (iii), ottenendo che P q2 (y) è vera. Dunque y L e y è un numero pari. Segue allora che x = y0 ha lunghezza dispari. Inoltre, possiamo affermare che x L, poiché l ultimo carattere è in posizione dispari e non è 1. Concludiamo dunque che P q3 (x) è vera. Abbiamo esaminato tutti i possibili casi per la stringa y {0, 1}, concludendo sempre che P q3 (x) è vera. Ciò dimostra dunque che la parte se della condizione (iv) è sempre vera. Per concludere l esercizio, dobbiamo ora dimostriamo l equivalenza L = L(A) richiesta dalla consegna. Le condizioni (ii) e (iii) affermano che tutte le stringhe di L portano l automa A in uno dei due stati q 1 e q 2. Poiché q 1 e q 2 sono stati finali per A, ciò equivale ad affermare che L L(A). Le condizioni (i) e (iv) affermano che tutte le stringhe in L = {0, 1} \ L portano l automa A in uno dei due stati q 0 e q 3. Poiché q 0 e q 3 non sono stati finali per A, ciò equivale ad affermare che L L(A) =, ovvero L(A) L. Abbiamo dunque dimostrato che L = L(A), e possiamo concludere che l automa proposto è corretto. Nota La dimostrazione che abbiamo proposto è molto lunga. Discutiamo in questa breve nota un modo possibile per semplificare tale dimostrazione, basato sul fatto che l automa A per il quale dobbiamo dimostrare la relazione L = L(A) è deterministico. Iniziamo con una osservazione generale. Poiché A è un automa deterministico, sappiamo che partendo dallo stato iniziale q 0 e leggendo una qualsiasi stringa x {0, 1}, l automa raggiunge uno stato unico. Formalmente possiamo scrivere che, per ogni stringa x {0, 1}, una solo delle seguenti è vera: ˆδ(q0, x) = q 0, ˆδ(q 0, x) = q 1, ˆδ(q 0, x) = q 2 e ˆδ(q 0, x) = q 3. Analogamente, le quattro proprietà P q0, P q1, P q2 e P q3 da noi definite inducono una partizione dell insieme {0, 1}, cioè una divisione di {0, 1} in quattro sot- 14

16 toinsiemi disgiunti, la cui unione è ancora {0, 1}. Questo significa che per ogni x {0, 1}, una ed una sola delle quattro proprietà può essere vera. Possiamo sfruttare la precedente osservazione per semplificare la nostra dimostrazione. Supponiamo di dimostrare solamente la parte solo se delle affermazioni (i), (ii), (iii) ed (iv), usando la mutua induzione come già visto. A questo punto, possiamo dimostrare la parte se di (i) mediante il seguente ragionamento. Dobbiamo dimostrare l implicazione ˆδ(q 0, x) = q 0 P q0 (x) per ogni x {0, 1}. Se ˆδ(q 0, x) = q 0 è falsa, l implicazione risulta vera. Supponiamo ora che ˆδ(q 0, x) = q 0 sia vera. Per quanto precedentemente osservato, abbiamo che ˆδ(q 0, x) = q 1, ˆδ(q 0, x) = q 2 e ˆδ(q 0, x) = q 3 devono essere false. Poiché abbiamo dimostrato la parte solo se per le affermazioni (ii), (iii) ed (iv), dobbiamo concludere che P q1 (x), P q2 (x) e P q3 (x) non possono essere vere. Usando infine l osservazione che le quattro proprietà studiate inducono una partizione dell insieme {0, 1}, possiamo concludere che P q0 (x) deve necessariamente essere vera. Abbiamo così dimostrato la parte se di (i). Lo stesso ragionamento può essere impiegato per dimostrare la parte se di (ii), (iii) ed (iv). Alternativamente, potremmo anche procedere dimostrando solamente la parte se delle affermazioni (i), (ii), (iii) ed (iv), usando la mutua induzione. In seguito, sfruttando il fatto che A è deterministico e che le quattro proprietà studiate inducono una partizione dell insieme {0, 1}, possiamo dimostrare anche la parte solo se di (i), (ii), (iii) ed (iv) usando un ragionamento del tutto simmetrico a quello precedente. Ricordiamo infine che la semplificazione proposta vale solamente nel caso in cui A sia un automa deterministico. La tecnica diretta che abbiamo invece adottato nella prima parte di questo esercizio è più generale e può essere impiegata anche nei casi in cui l automa A non sia deterministico. Esercizio 1.3 Sia N = (Q, Σ, δ N, q 0, F ) un NFA con Q = {q 0, q 1, q 2 }, Σ = {0, 1}, F = {q 2 } e δ N specificata dalla tabella di transizione riportata in Figura 1.3. Produrre un DFA D equivalente ad N. Soluzione Si utilizza la costruzione denominata lazy evaluation, in cui si producono gli stati di D al bisogno. Si parte dallo stato iniziale q 0 di N, che corrisponde allo stato {q 0 } di D, e si calcola l insieme degli stati da esso raggiungibili nell NFA leggendo, rispettivamente, i simboli 0 e 1. L insieme degli stati così ottenuti rappresenta un unico stato nel DFA, per il quale andrà calcolata la funzione di trasferimento. Questo unico stato rappresenta il fatto che nell NFA possiamo trovarci contemporaneamente in 15

17 δ N 0 1 q 0 {q 0, q 1 } {q 1 } q 1 {q 1, q 2 } q 2 {q 2 } Figura 1.3: Tabella di transizione per l NFA dell Esercizio 1.3. ciascuno degli stati coinvolti. Si ricorda che la formula per ottenere lo stato successivo a uno stato {q 1, q 2,..., q r } del DFA, leggendo il simbolo a Σ, è la seguente: δ D ({q 1, q 2,..., q r }, a) = r δ N (q i, a). i=1 Ecco dunque alcuni tra i primi stati di D, in ordine di raggiungibilità: δ D ({q 0 }, 0) = δ N (q 0, 0) = {q 0, q 1 } δ D ({q 0 }, 1) = δ N (q 0, 1) = {q 1 } δ D ({q 0, q 1 }, 0) = δ N (q 0, 0) δ N (q 1, 0) = {q 0, q 1 } {q 1, q 2 } = {q 0, q 1, q 2 } δ D ({q 0, q 1 }, 1) = δ N (q 0, 1) δ N (q 1, 1) = {q 1 } = {q 1 } δ D ({q 1 }, 0) = δ N (q 1, 0) = {q 1, q 2 } δ D ({q 1 }, 1) = δ N (q 1, 1) = In modo analogo si ottengono i rimanenti stati (per i quali si omettono i passaggi intermedi): δ D ({q 0, q 1, q 2 }, 0) = {q 0, q 1, q 2 } δ D ({q 0, q 1, q 2 }, 1) = {q 1, q 2 } δ D ({q 1, q 2 }, 0) = {q 1, q 2 } δ D ({q 1, q 2 }, 1) = {q 2 } δ D ({q 2 }, 0) = δ D ({q 2 }, 1) = {q 2 } L automa ottenuto è rappresentato in Figura

18 0 Start 0 0 {q 0 } {q 0, q 1 } {q 0, q 1, q 2 } {q 1 } {q 1, q 2 } , 1 {q 2 } 1 Figura 1.4: Il DFA D equivalente all NFA con tabella di transizione riportata in Figura 1.3. Esercizio 1.4 Si produca un automa a stati finiti deterministico per l insieme delle stringhe w su {a, b} tali che il terzultimo simbolo in w sia b. Soluzione Il linguaggio descritto nel testo può essere formalmente specificato nel seguente modo L = {xby x, y {a, b}, y = 2}. Non è difficile convincersi che L contiene proprio tutte e sole le stringhe il cui terzultimo carattere è b. Anche se l esercizio richiede di esibire un automa deterministico che riconosca L, è conveniente costruire dapprima un automa nondeterministico. Successivamente sarà possibile ottenere una versione deterministica dell automa applicando la costruzione già utilizzata nella soluzione dell Esercizio 1.3, ovvero la costruzione utilizzata per dimostrare l equivalenza dei linguaggi generati dalle classi di automi DFA e NFA. La scelta di questo metodo deriva dal fatto che, come spesso accade, l automa nondeterministico ha un numero più ridotto di stati: ciò semplifica 17

19 la descrizione e la dimostrazione che il linguaggio da esso riconosciuto è effettivamente quello richiesto. Costruiamo dunque l automa nondeterministico M = (Q, {a, b}, δ, q 0, F ), con Q = {q 0, q 1, q 2, q 3 } e F = {q 3 }. La funzione δ : Q {a, b} 2 Q è definita dalla tabella in Figura 1.5, in cui riportiamo per maggiore chiarezza anche il diagramma delle transizioni dell automa. a, b stato q 0 q 1 q 2 q 3 a {q 0 } {q 2 } {q 3 } b {q 0, q 1 } {q 2 } {q 3 } Start b a, b a, b q 0 q 1 q 2 q 3 Figura 1.5: Tabella e diagramma delle transizioni dell automa nondeterministico M definito nella soluzione dell Esercizio 1.4. Mostreremo ora che il linguaggio riconosciuto da M è esattamente L, ovvero che L(M) = L. Invece di produrre una dimostrazione rigorosa utilizzando la tecnica della mutua induzione, come precedentemente fatto per gli Esercizi 1.1 e 1.2, proponiamo qui un ragionamento più breve ed intuitivo, ma sicuramente meno rigoroso. La dimostrazione si divide in due parti. (Parte L L(M)) Presa una generica stringa z L, dobbiamo mostrare che z L(M). Questo risultato si può ottenere, ad esempio, per induzione sulla lunghezza di z. Base. La stringa più corta di L si ottiene ponendo x = ε nella definizione: in tal caso, si ha z = by con y = 2, e quindi z = 3. Partendo dallo stato iniziale e leggendo una b, che è il primo carattere di z, si può passare nello stato q 1, in quanto q 1 δ(q 0, b). Di qui, qualsiasi siano i due caratteri di y, si passa necessariamente in q 2 e poi nello stato finale q 3, in quanto δ(q 1, a) = δ(q 1, b) = {q 2 } e δ(q 2, a) = δ(q 2, b) = {q 3 }. Abbiamo così trovato un percorso etichettato z = by dallo stato iniziale allo stato finale, e possiamo concludere che z L(M). 18

20 Induzione. Sia z > 3; in base alla definizione di L, possiamo scrivere z = xby, con x 1. Dato che x contiene almeno un carattere, scriviamo z = Xx by, dove X {a, b} rappresenta il primo carattere di x e x appartiene a {a, b}. Partendo dallo stato iniziale e qualunque sia X, si può restare in q 0, in quanto q 0 δ(q 0, a) e q 0 δ(q 0, b). Osserviamo ora che anche la stringa x by appartiene a L, e si ha x by < z : per l ipotesi induttiva, x by appartiene allora a L(M), e quindi esiste un percorso da q 0 a q 3 etichettato x by. Complessivamente, abbiamo così mostrato l esistenza di un percorso etichettato Xx by = z dallo stato iniziale allo stato finale, e concludiamo che z L(M). (Parte L(M) L) Osserviamo innanzitutto che, assegnata una generica stringa z L(M), il numero n di passi impiegati da M per accettare z è univocamente determinato da z; non dimostriamo però tale proprietà per non allungare troppo la soluzione dell esercizio. La dimostrazione della proprietà L(M) L procede per induzione sul numero n. Base. Per come è stata definita la funzione δ, per passare dallo stato iniziale allo stato finale è necessario visitare in sequenza tutti gli stati intermedi. Dato che l automa ha in totale quattro stati, sono necessari almeno tre passi perché esso accetti una qualsiasi stringa. Gli unici percorsi di lunghezza 3 da q 0 a q 3 sono etichettati baa, bab, bba, bbb: tutte le stringhe iniziano con una b perché q 1 δ(q 0, a), e dunque soltanto leggendo una b l automa può cambiare subito stato. In tutti i casi b è il terzultimo carattere, e quindi possiamo concludere che tutte le stringhe accettate dall automa in tre passi appartengono a L. Induzione. Sia z una generica stringa accettata dall automa in n passi, con n > 3. Osserviamo che, al primo passo, l automa deve necessariamente rimanere nello stato q 0 : in caso contrario, giungerebbe poi in due passi allo stato finale (abbiamo già detto che, indipendentemente dal carattere letto, da q 1 si passa in q 2 e da q 2 in q 3 ), dal quale nessuna mossa è più possibile. Scriviamo ora z = Xx, dove X {a, b} rappresenta il primo carattere di z. La stringa x è accettata dall automa in meno di n passi: per l ipotesi induttiva, essa appartiene a L, e dunque il suo terzultimo carattere è una b. Ma il terzultimo carattere di x è anche il terzultimo carattere di Xx = z: concludiamo che z L, e quindi, per l arbitrarietà di z, che anche le stringhe accettate da M in n passi appartengono a L. Abbiamo così dimostrato che l automa nondeterministico M riconosce esattamente il linguaggio L. Costruiamo ora l automa deterministico equivalente M = (Q, {a, b}, δ, {q 0 }, F ), procedendo come nell Esercizio

21 Gli elementi di Q sono sottoinsiemi di Q e rappresentano gli insiemi di stati in cui varie copie dell automa M possono trovarsi contemporaneamente, dopo aver letto la stessa stringa in ingresso. Per determinare gli elementi di Q utilizziamo la definizione seguente: δ ({q 1, q 2,..., q r }, X) = r i=1 δ(q i, X), X {a, b}. Con questa definizione partiamo dallo stato iniziale {q 0 } di M e calcoliamo gli stati raggiungibili. δ ({q 0 }, a) = δ(q 0, a) = {q 0 } δ ({q 0 }, b) = δ(q 0, b) = {q 0, q 1 } δ ({q 0, q 1 }, a) = δ(q 0, a) δ(q 1, a) = {q 0 } {q 2 } = {q 0, q 2 } δ ({q 0, q 1 }, b) = δ(q 0, b) δ(q 1, b) = {q 0, q 1 } {q 2 } = {q 0, q 1, q 2 } δ ({q 0, q 2 }, a) = δ(q 0, a) δ(q 2, a) = {q 0 } {q 3 } = {q 0, q 3 } δ ({q 0, q 2 }, b) = δ(q 0, b) δ(q 2, b) = {q 0, q 1 } {q 3 } = {q 0, q 1, q 3 } δ ({q 0, q 1, q 2 }, a) = δ(q 0, a) δ(q 1, a) δ(q 2, a) = {q 0 } {q 2 } {q 3 } = {q 0, q 2, q 3 } δ ({q 0, q 1, q 2 }, b) = δ(q 0, b) δ(q 1, b) δ(q 2, b) = {q 0, q 1 } {q 2 } {q 3 } = {q 0, q 1, q 2, q 3 } δ ({q 0, q 3 }, a) = δ(q 0, a) δ(q 3, a) = {q 0 } = {q 0 } δ ({q 0, q 3 }, b) = δ(q 0, b) δ(q 3, b) = {q 0, q 1 } = {q 0, q 1 } δ ({q 0, q 1, q 3 }, a) = δ(q 0, a) δ(q 1, a) δ(q 3, a) = {q 0 } {q 2 } = {q 0, q 2 } δ ({q 0, q 1, q 3 }, b) = δ(q 0, b) δ(q 1, b) δ(q 3, b) = {q 0, q 1 } {q 2 } = {q 0, q 1, q 2 } δ ({q 0, q 2, q 3 }, a) = δ(q 0, a) δ(q 2, a) δ(q 3, a) = {q 0 } {q 3 } = {q 0, q 3 } δ ({q 0, q 2, q 3 }, b) = δ(q 0, b) δ(q 2, b) δ(q 3, b) = {q 0, q 1 } {q 3 } = {q 0, q 1, q 3 } δ ({q 0, q 1, q 2, q 3 }, a) = δ(q 0, a) δ(q 1, a) δ(q 2, a) δ(q 3, a) = {q 0 } {q 2 } {q 3 } = {q 0, q 2, q 3 } δ ({q 0, q 1, q 2, q 3 }, b) = δ(q 0, b) δ(q 1, b) δ(q 2, b) δ(q 3, b) = {q 0, q 1 } {q 2 } {q 3 } = {q 0, q 1, q 2, q 3 } 20

22 L insieme degli stati dell automa deterministico è quindi Q = {{q 0 }, {q 0, q 1 }, {q 0, q 2 }, {q 0, q 1, q 2 }, {q 0, q 3 }, {q 0, q 1, q 3 }, {q 0, q 2, q 3 }, {q 0, q 1, q 2, q 3 }}. L automa M ha otto stati, contro i quattro della versione nondeterministica. Dalla teoria sappiamo (la cosa appare chiaramente esaminando il procedimento adottato) che il numero di stati può crescere in modo esponenziale: nel nostro caso, ci aspettavamo un massimo di sedici stati. L insieme F è costituito dagli stati in Q che contengono almeno uno stato in F ; nel nostro caso, F = {{q 0, q 3 }, {q 0, q 1, q 3 }, {q 0, q 2, q 3 }, {q 0, q 1, q 2, q 3 }}. Infine, la funzione δ : Q {a, b} Q è banalmente ricavabile dalla precedente tabella per determinare gli stati accessibili. Abbiamo così completato la definizione dell automa deterministico M. Sapendo che esso è equivalente all automa M, e avendo dimostrato che L(M) = L, concludiamo che M riconosce L, come richiesto dall esercizio. Esercizio 1.5 Impiegando gli automi a stati finiti, si dimostri che la classe dei linguaggi regolari è chiusa rispetto alla complementazione. Quale delle ipotesi sull automa impiegato nella dimostrazione risulta fondamentale? Giustificare la risposta. Soluzione Sia L un linguaggio regolare, e sia Σ un alfabeto tale che L Σ : vogliamo dimostrare che L \ Σ = L è ancora un linguaggio regolare. Dato che Σ può contenere simboli non presenti nelle stringhe di L, nel seguito indicheremo con Σ L l alfabeto sul quale L è definito, ovvero l alfabeto costituito soltanto dai simboli effettivamente utilizzati nelle stringhe del linguaggio. Dalla teoria sappiamo che se L è regolare, esiste sempre un automa a stati finiti M = (Q, Σ L, δ, q 0, F ) che riconosce L, ovvero tale che L(M) = L. Vogliamo trasformare M in modo da ottenere un automa M capace di riconoscere L. Intuitivamente, visto che M accetta le stringhe che conducono ad uno stato finale, si potrebbe pensare di sostituire semplicemente l insieme F con Q \ F, ottenendo così un automa che non si trova in uno stato finale solo dopo aver letto le stringhe di L, e dunque accetta proprio Σ L \L. Il metodo che adotteremo, in effetti, è proprio questo; sono però indispensabili delle precisazioni, dovute sia al fatto che non sappiamo nulla della struttura dell automa M, sia al fatto, a cui abbiamo già accennato, che Σ L può essere strettamente incluso in Σ. 21

23 Per prima cosa, è fondamentale che M sia deterministico. Secondo la definizione, un automa nondeterministico accetta una stringa x se e solo se δ(q 0, x) contiene almeno uno stato in F. In particolare, può accadere che δ(q 0, x) contenga anche uno o più stati non in F, ovvero che δ(q 0, x) contenga almeno uno stato in Q \ F. In tal caso, x è accettata anche dall automa con gli stati finali complementati, che invece dovrebbe accettare soltanto le stringhe in Σ L \ L. Tutto questo non accade con gli automi deterministici, in quanto δ(q 0, x) è costituita da un unico stato, che ovviamente può essere in F o in Q \ F, ma non in entrambi gli insiemi. Sappiamo d altronde che ogni automa nondeterministico ha un equivalente deterministico, ed esiste una procedura automatica (cfr. Esercizio 1.4) per ottenere il secondo dal primo. Se dunque l automa M non è deterministico, si può sempre costruire un automa deterministico equivalente che non presenta il problema citato. Nel seguito indicheremo ancora con M = (Q, Σ L, δ, q 0, F ) l automa deterministico, in modo da non appesantire inutilmente la notazione. Ovviamente, esistono linguaggi ed automi, anche nondeterministici, per i quali questa trasformazione non è necessaria: la nostra costruzione deve però essere valida nel caso generale, e dunque non possiamo escludere nessuna possibilità. In secondo luogo, bisogna estendere la funzione δ ai simboli di Σ \ Σ L. A questo scopo, aggiungiamo all automa uno stato trappola q s, che supponiamo non appartenga già a Q, e definiamo δ(q, X) = q s, per ogni q Q e X Σ \ Σ L ; δ(q s, X) = q s, per ogni X Σ. Nel caso particolare in cui Σ = Σ L, lo stato q s risulta irraggiungibile e il comportamento dell automa rimane invariato. Altrimenti, l automa passa in q s soltanto leggendo un carattere appartenente a Σ \ Σ L : qui rimane senza accettare, dato che q s Q e quindi q s F. Questo comportamento è perfettamente logico: L è definito su Σ L, e quindi ogni stringa che contenga simboli in Σ\Σ L sicuramente non appartiene a L. Il linguaggio riconosciuto dall automa rimane quindi invariato, visto che per ogni stringa in Σ L le transizioni aggiunte non hanno alcuna influenza. Riassumendo le considerazioni precedenti, costruiamo l automa deterministico a stati finiti M = (Q, Σ, δ, q 0, F ), dove Q = Q {q s }, F = Q \ F e δ è la funzione di transizione di M estesa a Q Σ nel modo indicato in precedenza. Data una stringa x Σ, M accetta x se e solo se δ(q 0, x) è in Q \ F. Visto che invece l automa di partenza M accetta una stringa se e solo se δ(q 0, x) è in F, concludiamo che M accetta se e solo se M non accetta. In altre parole, L(M ) = Σ \ L(M) = Σ \ L = L, come volevamo. 22

24 Possiamo concludere che se L è regolare, anche il suo complementare L lo è. La classe dei linguaggi regolari è dunque chiusa rispetto all operazione di complementazione. In più, abbiamo descritto una procedura automatica che, dato un automa M che riconosce L, permette di costruire un automa M che riconosce L: questo significa che la chiusura dei linguaggi regolari rispetto all operazione di complementazione è effettiva. Venendo ora alla seconda parte dell esercizio, sottolineiamo che l ipotesi fondamentale del teorema di chiusura è che l automa che riconosce L sia deterministico; in caso contrario, come abbiamo visto, tutta la costruzione descritta viene a cadere. Non è infatti più possibile fare previsioni sul linguaggio riconosciuto dall automa con gli stati finali complementati: fissato L, esso dipende dal particolare automa scelto. La seconda ipotesi, riguardante il fatto che la funzione δ sia definita su tutti i simboli di Σ, è invece assai meno importante: lasciandola cadere, rimane comunque possibile dimostrare la chiusura rispetto all operazione di complementazione del linguaggio L, ma solo rispetto a Σ L, ovvero rispetto all insieme delle stringhe formate soltanto da simboli effettivamente presenti in L. La seconda osservazione ha dunque una funzione prettamente tecnica, permettendo di dimostrare una versione leggermente più generale del teorema. Esercizio 1.6 Dimostrare che le espressioni regolari (R + S) e (R S ) sono equivalenti. Soluzione Per dimostrare l equivalenza delle due espressioni, si dimostra che i linguaggi da esse descritti L 1 = L((R + S) ) e L 2 = L((R S ) ) coincidono. Si scompone la dimostrazione in due parti: L 1 L 2 e L 2 L 1. (Parte L 1 L 2 ) Dimostriamo dunque che se w L 1 allora w L 2. Per definizione di linguaggio associato alla chiusura transitiva di un espressione regolare si ha: w L((R + S) ) w [L(R + S)] Questo significa che w è costituita dalla concatenazione di zero o più stringhe di L(R + S). Senza perdita di generalità supponiamo w sia composta da k stringhe concatenate: w = w 1 w 2 w k con w i L(R + S) Per definizione di linguaggio associato all unione di due espressioni regolari si ottiene: w i L(R + S) w i L(R) L(S) 23

25 Quindi ciascuna w i deve appartenere a L(R) o a L(S). Supponiamo che w i L(R). A maggior ragione possiamo affermare che w i [L(R)]. Infatti [L(R)] contiene stringhe ottenute dalla concatenzazione di zero o più stringhe di L(R), quindi sicuramente tutte le stringhe di L(R). Per definizione avremo inoltre che ε [L(S)] e w i = w i ε. In conclusione, w i = w i ε [L(R)] [L(S)] = L(R )L(S ) = L(R S ). Se invece w i L(S) si ragiona in modo duale tenendo presente che ε è elemento neutro per la concatenazione sia a destra che a sinistra: w i = εw i. Abbiamo dimostrato che se w i L(R + S) allora w i L(R S ). Ritornando alla struttura di w questo implica che: w [L(R S )] = L[(R S ) ] (Parte L 2 L 1 ) Dimostriamo ora che se w L 2 allora w L 1. Applicando la definizione di linguaggio associato alla chiusura si ottiene: w L[(R S ) ] = [L(R S )] = [L(R )L(S )] = [L(R) L(S) ] Possiamo affermare che w è costituita dalla concatenazione di zero o più stringhe di L(R) L(S). Senza perdita di generalità assumiamo che sia concatenazione di k stringhe: w = w 1 w 2 w k con w i L(R) L(S) Questo significa che ciascuna stringa w i è composta da zero o più stringhe di L(R) seguite da zero o più stringhe di L(S). Per come è costruita w, possiamo affermare che a maggior ragione w i [L(R) L(S)]. Infatti di questo insieme fanno parte tutte le stringhe ottenute per concatenazione di zero o più stringhe prese da L(R) o da L(S), in ordine qualsiasi. In particolare quindi ci saranno quelle ottenute concatenando ε e stringhe di L(R) seguite da ε e stringhe di L(S). Poiché w i [L(R) L(S)] si avrà w {[L(R) L(S)] }. Per la proprietà di idempotenza abbiamo inoltre w [L(R) L(S)]. Infine, per definizione di espressione regolare associata all unione dei linguaggi di due espressioni, e per definizione di chiusura transitiva si ottiene: w [L(R) L(S)] = [L(R + S)] = L[(R + S) ] che conclude dunque la seconda parte della dimostrazione. Avendo dimostrato che L 1 L 2 e L 2 L 1, possiamo concludere che L 1 = L 2. 24

26 Esercizio 1.7 Stabilire se i seguenti linguaggi siano regolari o meno, giustificando rigorosamente la risposta: (i) L 1 = {w w {a, b} +, # a (w) # b (w)}; (ii) L 2 = {a, b} L 1. Soluzione Il linguaggio L 1 non è regolare. Per dimostrare questo risultato, introduciamo il linguaggio ausiliario L 0 = {w w {a, b}, # a (w) = # b (w)} e dimostriamo che non è regolare utilizzando il pumping lemma. Per assurdo, assumiamo che L 0 sia regolare. Esiste allora una costante n tale che ogni stringa z L 0, con z n, può essere scritta come z = uvw, con uv n, v 1 e uv i w L 0 per ogni i 0. Consideriamo la stringa z = a n b n, che appartiene sicuramente al linguaggio e ha una lunghezza strettamente maggiore di n. Dobbiamo ora dividere la stringa in tre parti u, v, w, con uv n e v 1. Dato che i primi n caratteri della stringa sono a, non può che essere u = a j e v = a k, dove j, k sono tali che j + k n e k 1. Secondo il pumping lemma, anche la stringa z = uv 0 w = uw appartiene al linguaggio L 0 : questo è però assurdo, poiché # a (z ) = # a (u) + # a (w) = # a (z) # a (v) = n k; # b (z ) = # b (u) + # b (w) = # b (w) = # b (z) = n, con n k strettamente minore di n dato che k 1. Viene così contraddetta la definizione di L 0, e resta dimostrato che L 0 non è un linguaggio regolare. Osserviamo ora che L 1 = {a, b} \ L 0 = L 0. Dato che la classe dei linguaggi regolari è chiusa sotto complementazione, se L 1 fosse regolare tale sarebbe anche L 0, contro quanto abbiamo appena dimostrato. Concludiamo dunque che neppure L 1 è un linguaggio regolare. Il linguaggio L 2 è invece regolare. Mostreremo infatti che L 2 = {a, b} +, che è un noto linguaggio regolare. La dimostrazione si divide in due parti. (Parte L 2 {a, b} + ) Sia z una generica stringa in L 2. In base alla definizione di L 2, possiamo scrivere z = u v, con u {a, b} e v L 1. Dato che L 1 non contiene la stringa nulla, si ha v ε, e dunque z ε. La dimostrazione è a questo punto banale, visto che {a, b} + contiene per definizione ogni stringa composta da occorrenze dei simboli a e b, esclusa la stringa nulla. 25

27 (Parte {a, b} + L 2 ) Sia z una generica stringa in {a, b} +. Per dimostrare che z L 2 dobbiamo, in base alla definizione di L 2, trovare due stringhe u, v tali che z = u v, con u {a, b} e v L 1. Dato che la stringa nulla non è inclusa in {a, b} +, z contiene almeno un carattere: è perciò lecito porre in v l ultimo carattere di z, e in u tutto il resto della stringa. Osserviamo ora che può essere v = a oppure v = b, ma in ogni caso # a (v) # b (v), e quindi, in base alla definizione, v L 1. Questo conclude la nostra dimostrazione, dato che sicuramente u {a, b}. Esercizio 1.8 Stabilire se i seguenti linguaggi siano regolari o meno: (i) L 1 = {w0 n 1 n w {0, 1} +, n 1}; (ii) L 2 = {0 n w1 n w {0, 1} +, n 1}; (iii) L 3 = {w w L 2, w = 2n, n 1}. Soluzione Il linguaggio L 1 non è regolare. Per dimostrare questa proprietà, nel seguito adottiamo la seguente strategia. Supponiamo per assurdo che L 1 sia un linguaggio regolare, e trasformiamo L 1 in altri linguaggi mediante operatori che preservano la regolarità del linguaggio prodotto, sino ad ottenere un linguaggio che dimostriamo essere non regolare. Abbiamo dunque una contraddizione, e dobbiamo concludere che L 1 non può essere regolare. Consideriamo innanzitutto il linguaggio ausiliario L 1 = {10 i 1 j i, j 1}. È facile convincersi che L 1 è regolare. Infatti abbiamo L 1 = L( ), cioè L 1 è il linguaggio generato dall espressione regolare Come secondo passo, consideriamo il linguaggio L 1 = L 1 L 1. Dato che la classe dei linguaggi regolari è chiusa rispetto all operazione di intersezione, e dato che abbiamo assunto che L 1 sia un linguaggio regolare, concludiamo che il linguaggio L 1 sarà ancora un linguaggio regolare. Analizziamo ora la struttura delle stringhe di L 1. Sia x = 10i 1 j una stringa in L 1, con i, j 1. Osserviamo che x appartiene anche a L 1 se e solo se i = j. Infatti, per definizione, le stringhe in L 1 hanno tutte la forma w0 n 1 n, dove w {0, 1} + e n 1. L unica possibilità per x di appartenere anche a L 1 è dunque che w = 1, i = n e j = n. Concludiamo allora che L 1 = {10 n 1 n n 1}. 26

28 Consideriamo infine il linguaggio L 1 = (L 1 )R, cioè il linguaggio ottenuto rovesciando tutte le stringhe di L 1. Possiamo dunque scrivere L 1 = {1 n 0 n 1 n 1}. Abbiamo visto nel libro di testo del corso che i linguaggi regolari godono della proprietà di chiusura rispetto all applicazione dell operatore reverse. Dunque, se L 1 fosse regolare, allora anche L 1 sarebbe regolare. Mostriamo invece, applicando il pumping lemma per i linguaggi regolari, che L 1 non è un linguaggio regolare. Iniziamo osservando che, per ogni stringa w L 1, abbiamo # 1(w) = # 0 (w) + 1. Informalmente, il numero di occorrenze del carattere 1 in w è sempre maggiore di una unità rispetto al numero di occorrenze del carattere 0 in w. Useremo nel seguito questa osservazione in modo cruciale per la nostra dimostrazione. Sia dunque L 1 un linguaggio regolare. Allora, esiste una costante n tale che ogni stringa z L 1, con z n, può essere scritta come z = uvw, con uv n, v 1 e uv i w L 0 per ogni i 0. Consideriamo allora la stringa z = 1 n 0 n 1, che appartiene al linguaggio L 1 e ha una lunghezza strettamente maggiore di n. Dobbiamo dividere la stringa in tre parti u, v, w, con uv n e v 1. Dato che i primi n caratteri della stringa sono tutti 1, dobbiamo necessariamente avere u = 1 j e v = 1 k, dove j, k sono tali che j + k n e k 1. Secondo il pumping lemma, anche la stringa z = uv 0 w = uw appartiene al linguaggio L 1. Consideriamo ora le due quantità # 1 (z ) e # 0 (z ). Possiamo ricavare # 1 (z ) = # 1 (u) + # 1 (w) = # 1 (z) # 1 (v) = n + 1 k; # 0 (z ) = # 0 (u) + # b (w) = # 0 (w) = # 0 (z) = n. Poiché k 1, abbiamo n + 1 k n, cioè il numero di occorrenze del carattere 1 in z non è maggiore del numero di occorrenze del carattere 0 in z. Abbiamo però osservato sopra che questa proprietà non vale per le stringhe del linguaggio L 1, e quindi z non può appartenere a L 1. Abbiamo così ottenuto una contraddizione, e dobbiamo dunque concludere che L 1 non è un linguaggio regolare. Segue allora che anche L 1 non è un linguaggio regolare. Questo conclude la prima parte dell esercizio. Nota Nella parte della dimostrazione precedente avremmo potuto risparmiare un passaggio ed applicare il pumping lemma per i linguaggi regolari direttamente al linguaggio L 1, senza introdurre il linguaggio L 1. L applicazione del pumping lemma a L 1 risulta però più complessa dell applicazione 27

RACCOLTA DI ESERCIZI CON SOLUZIONI

RACCOLTA DI ESERCIZI CON SOLUZIONI Università degli Studi di Padova Dipartimento di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria Informatica Automi, Linguaggi e Computazione: RACCOLTA DI ESERCIZI CON SOLUZIONI prof.

Dettagli

Esercizi di Informatica Teorica - DFA

Esercizi di Informatica Teorica - DFA Esercizi di Informatica Teorica - DFA Esercizio Definire, se esso esiste, l automa deterministico a stati finiti A che riconosce il linguaggio L = {w w {,},w[i] =, i dispari,i > }. Dimostrare rigorosamente

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2 Alberto Carraro 12 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a stati finiti deterministici

Dettagli

ELEMENTI DI LOGICA MATEMATICA LEZIONE VII

ELEMENTI DI LOGICA MATEMATICA LEZIONE VII ELEMENTI DI LOGICA MATEMATICA LEZIONE VII MAURO DI NASSO In questa lezione introdurremo i numeri naturali, che sono forse gli oggetti matematici più importanti della matematica. Poiché stiamo lavorando

Dettagli

Automi a stati finiti

Automi a stati finiti Automi a stati finiti Definizioni preliminari Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: diagramma degli stati, configurazioni, relazione

Dettagli

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R): . equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale

Dettagli

02 - Logica delle dimostrazioni

02 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 0 - Logica delle dimostrazioni Anno Accademico 015/016

Dettagli

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari roprieta dei Linguaggi Regolari Pumping Lemma. Ogni linguaggio regolare soddisfa una proprieta ben nota, il pumping lemma. Questa tecnica fornisce uno strumento utile per dimostrare che un linguaggio non

Dettagli

Linguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.6 Linguaggi Regolari ed Espressioni Regolari Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Linguaggi Regolari

Dettagli

Proprieta dei Linguaggi regolari

Proprieta dei Linguaggi regolari Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Linguaggi regolari e automi a stati finiti 6 Ottobre 214 A.A. 214-215 Enrico Mezzetti emezzett@math.unipd.it Recap Definizione informale di automi a stati finiti Diagramma delle

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 5 05/05/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Dimostrazioni e prove Esercizio 7 pagina 91 Utilizzare una

Dettagli

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale

Dettagli

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.

Dettagli

a p a (p) (a + 1) p = i=0 sono noti come coefficienti binomiali 2 e sono numeri interi (a + 1) p a p + 1 (p) (a + 1) p a + 1 (p)

a p a (p) (a + 1) p = i=0 sono noti come coefficienti binomiali 2 e sono numeri interi (a + 1) p a p + 1 (p) (a + 1) p a + 1 (p) Appunti quarta settimana Iniziamo con un risultato molto importante che ha svariate conseguenze e che3 sarà dimostrato in modi diversi durante il corso: Esercizio 1.[Piccolo teorema di Fermat] Dimostrare

Dettagli

Terza lezione - 15/03/2018

Terza lezione - 15/03/2018 Università degli Studi di Trento CORSO DI ANALISI MATEMATICA II DIPARTIMENTO DI FISICA ANNO ACCADEMICO 2017/2018 ALBERTO MAIONE Terza lezione - 15/03/2018 1. Richiami teorici 1.1. Spazi Topologici. Definizione

Dettagli

Precorsi di matematica

Precorsi di matematica Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono

Dettagli

Ragionamento formalei. Ragionamento formale

Ragionamento formalei. Ragionamento formale Ragionamento formale La necessità e l importanza di comprendere le basi del ragionamento formale, utilizzato in matematica per dimostrare teoremi all interno di teorie, è in generale un argomento piuttosto

Dettagli

Linguaggi regolari e automi a stati finiti. Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti. Linguaggi regolari e automi a stati finiti utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file

Dettagli

Errata corrige del libro Introduzione alla logica e al linguaggio matematico

Errata corrige del libro Introduzione alla logica e al linguaggio matematico Errata corrige del libro Introduzione alla logica e al linguaggio matematico 28 gennaio 2009 Capitolo 1 Pag. 7, Definizione 6. Il complemento di un sottoinsieme A di I è il sottoinsieme A = {x I : x /

Dettagli

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. A.A. 2015-2016. CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. Esercizio 5.1. Determinare le ultime tre cifre di n = 13 1625. (Suggerimento. Sfruttare il Teorema di Eulero-Fermat)

Dettagli

Se con e indichiamo l elemento neutro di in G, e deve appartenere ad H.

Se con e indichiamo l elemento neutro di in G, e deve appartenere ad H. Abbiamo visto a lezione che una sottoalgebra B di un algebra A è identificabile con l immagine di un omomorfismo iniettivo a valori in A. Una sottoalgebra B di A è in particolare un sottoinsieme non vuoto

Dettagli

Esercizi sul Calcolo Proposizionale

Esercizi sul Calcolo Proposizionale Esercizi sul Calcolo Proposizionale Francesco Sborgia Matricola: 459245 December 7, 2015 1 Esercizio 1 Per ogni formula A dimostrare che ρ(a) = min{n A F n } Definizione 1. Ricordiamo che, dato un linguaggio

Dettagli

11. Misure con segno.

11. Misure con segno. 11. Misure con segno. 11.1. Misure con segno. Sia Ω un insieme non vuoto e sia A una σ-algebra in Ω. Definizione 11.1.1. (Misura con segno). Si chiama misura con segno su A ogni funzione ϕ : A R verificante

Dettagli

Proprietà dei linguaggi regolari

Proprietà dei linguaggi regolari Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 principio di induzione finita (o matematica) cardinalità di insiemi pigeonhole principle espressioni

Dettagli

3. OPERAZIONI TRA CLASSI 2

3. OPERAZIONI TRA CLASSI 2 INSIEMI 1. Elementi e Classi Lo scopo di questo primo capitolo è di introdurre in maniera rigorosa le nozioni di classe e insieme, e di studiarne le principali proprietà. Nel seguito useremo il termine

Dettagli

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI 1. GLI ASSIOMI DI PEANO Come puro esercizio di stile voglio offrire una derivazione delle proprietà elementari dei numeri naturali e delle operazioni

Dettagli

APPUNTI DI TEORIA DEGLI INSIEMI. L assioma della scelta e il lemma di Zorn Sia {A i } i I

APPUNTI DI TEORIA DEGLI INSIEMI. L assioma della scelta e il lemma di Zorn Sia {A i } i I APPUNTI DI TEORIA DEGLI INSIEMI MAURIZIO CORNALBA L assioma della scelta e il lemma di Zorn Sia {A i } i I un insieme di insiemi. Il prodotto i I A i è l insieme di tutte le applicazioni α : I i I A i

Dettagli

Fondamenti teorici e programmazione

Fondamenti teorici e programmazione Fondamenti teorici e programmazione FTP(A) - modb Lezione 8 F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1 Ragionamento formale Comprendere le basi del ragionamento

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file

Dettagli

04 - Logica delle dimostrazioni

04 - Logica delle dimostrazioni Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,

Dettagli

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014 MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 4 APRILE 014 1. Trovare il numero di stringhe di lunghezza n che si possono formare usando le lettere A, B, C, D, E in modo che ogni stringa

Dettagli

Fondamenti dell Informatica. Esercizi di preparazione al secondo compitino

Fondamenti dell Informatica. Esercizi di preparazione al secondo compitino Fondamenti dell Informatica (III anno Laurea Triennale) Esercizi di preparazione al secondo compitino a.a. 2016/17 Funzioni primitive ricorsive Si definiscano come primitive ricorsive le seguenti funzioni:

Dettagli

Note di Teoria della Probabilità.

Note di Teoria della Probabilità. Note di Teoria della Probabilità. In queste brevi note, si richiameranno alcuni risultati di Teoria della Probabilità, riguardanti le conseguenze elementari delle definizioni di probabilità e σ-algebra.

Dettagli

Elementi di teoria degli insiemi

Elementi di teoria degli insiemi ppendice Elementi di teoria degli insiemi.1 Introduzione Comincia qui l esposizione di alcuni concetti primitivi, molto semplici da un punto di vista intuitivo, ma a volte difficili da definire con grande

Dettagli

Automi a stati finiti

Automi a stati finiti ommario Introduzione agli automi a stati finiti Concetti di base della teoria degli automi Tecniche di dimostrazione deterministici (DFA) non deterministici (NFA) non deterministici con ɛ-transizione (ɛ-nfa)

Dettagli

Automi e Linguaggi Formali Automi a stack (Pushdown automata)

Automi e Linguaggi Formali Automi a stack (Pushdown automata) Automi e Linguaggi Formali Automi a stack (Pushdown automata) A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Automi a stack Un Pushdown Automata (PDA) o Automa a stack Essenzialmente un ɛ-nfa con

Dettagli

INDUZIONE E NUMERI NATURALI

INDUZIONE E NUMERI NATURALI INDUZIONE E NUMERI NATURALI 1. Il principio di induzione Il principio di induzione è una tecnica di dimostrazione molto usata in matematica. Lo scopo di questa sezione è di enunciare tale principio e di

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Alberto Carraro 26 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a a pila deterministici e

Dettagli

1 Cenni di logica matematica

1 Cenni di logica matematica 1 Cenni di logica matematica 1 1 Cenni di logica matematica Una delle discipline chiave della matematica (e non solo, visto che è fondamentale anche per comprendere la lingua parlata) è la logica matematica,

Dettagli

Corso di Laurea in Informatica Applicata Esame di Calcolo delle Probabilità e Statistica Prova scritta dell 11 gennaio 2007

Corso di Laurea in Informatica Applicata Esame di Calcolo delle Probabilità e Statistica Prova scritta dell 11 gennaio 2007 Corso di Laurea in Informatica Applicata Esame di Calcolo delle Probabilità e Statistica Prova scritta dell 11 gennaio 007 Primo esercizio Per una certa stampante S 1, la probabilità che un generico foglio

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione Generalità delle ǫ-transizioni Gli automi non deterministici, come abbiamo visto, possono

Dettagli

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

IL TEOREMA DI BOLZANO-WEIERSTRASS

IL TEOREMA DI BOLZANO-WEIERSTRASS IL TEOREMA DI BOLZANO-WEIERSTRASS In questa nota dimostriamo il teorema di Bolzano-Weierstrass che garantisce l esistenza, per una opportuna classe di sottoinsiemi di R, di punti di accumulazione. Per

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 principio di induzione finita (o matematica) cardinalità di insiemi pigeonhole principle espressioni

Dettagli

Grammatiche e Linguaggi Liberi da Contesto

Grammatiche e Linguaggi Liberi da Contesto Grammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi più grandi di linguaggi. I Linguaggi Liberi da Contesto (CFL) sono stati usati

Dettagli

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n NOTE DI ALGEBRA LINEARE 2- MM 9 NOVEMBRE 2 Combinazioni lineari e generatori Sia K un campo e V uno spazio vettoriale su K Siano v,, v n vettori in V Definizione Un vettore v V si dice combinazione lineare

Dettagli

$marina/did/md

$marina/did/md Matematica Discreta (elementi) E-O CdL Informatica Relazioni di equivalenza 26 novembre 2003 Marina Cazzola (marina@matapp.unimib.it) Dipartimento di Matematica e Applicazioni Università di Milano Bicocca

Dettagli

Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto

Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto utomi a Pila Un automa a pila (PDA) e una estensione degli automi a stati finiti, che ha una memoria (una pila) Vedremo due modi equivalenti per definire il linguaggio accettato da un PDA Vedremo che la

Dettagli

Successioni ricorsive

Successioni ricorsive Successioni ricorsive Emanuele Paolini Analisi Matematica I, 015 016 In queste note prenderemo in considerazione le successioni a n definite per ricorrenza o ricorsivamente dalle condizioni: a1 = α, (1)

Dettagli

Indice. Aritmetica modulare. Mauro Saita. Versione provvisoria. Febbraio

Indice. Aritmetica modulare. Mauro Saita.   Versione provvisoria. Febbraio modulare e-mail: maurosaita@tiscalinetit Versione provvisoria Febbraio 2018 1 Indice 1 modulare Classe di resti 2 11 Le proprietà delle congruenze 4 12 Le operazioni in Z n : l addizione e la moltiplicazione

Dettagli

Espressioni regolari. Espressioni regolari

Espressioni regolari. Espressioni regolari ommario delle espressioni regolari Da automi a espressioni regolari Da espressioni regolari ad automi Leggi algebriche per linguaggi spressioni regolari DFA, NFA, ɛ-nfa sono un metodo formale per costruire

Dettagli

3.3 - Il principio del buon ordine. Sia A un insieme, e sia una relazione di ordine in A. Si dice che è un buon

3.3 - Il principio del buon ordine. Sia A un insieme, e sia una relazione di ordine in A. Si dice che è un buon Marco Barlotti appunti di Teoria degli insiemi supplemento numero 1 Pag. 1 3.3 - Il principio del buon ordine. Sia A un insieme, e sia una relazione di ordine in A. Si dice che è un buon ordine per A,

Dettagli

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE.

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE. PH. ELLIA Indice Introduzione 1 1. Divisori di un numero. 1 2. Il Teorema Fondamentale dell Aritmetica. 2 3. L insieme dei numeri primi è

Dettagli

ALGEBRE DI BOOLE. (d) x, y X x y oppure y x.

ALGEBRE DI BOOLE. (d) x, y X x y oppure y x. ALGEBRE DI BOOLE Un insieme parzialmente ordinato è una coppia ordinata (X, ) dove X è un insieme non vuoto e " " è una relazione binaria definita su X tale che (a) x X x x (riflessività) (b) x, y, X se

Dettagli

Trasformazione di un NDFA in un DFA con ε-regole

Trasformazione di un NDFA in un DFA con ε-regole Trasformazione di un NDFA in un DFA con -regole a A B D d b C E c t A B C D E a D E b D D c D,E D E D d C C a - t ( s, q i ) = -chiusura (δ (s, q j )) qj -chiusura ( qi) -Primo passo dell algoritmo modificato

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 calcolabilità in vari contesti riduzioni e calcolabilità dimostrazioni di decidibilità di problemi

Dettagli

$marina/did/mdis03/ $marina/did/md $marina/did/mdis03/

$marina/did/mdis03/   $marina/did/md   $marina/did/mdis03/ 1 2 vvertenze Matematica Discreta (elementi E-O CdL Informatica 26 novembre 2003 Queste fotocopie sono distribuite solo come indicazione degli argomenti svolti a lezione e NON sostituiscono in alcun modo

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

Dettagli

Aniello Murano Problemi non decidibili e riducibilità

Aniello Murano Problemi non decidibili e riducibilità Aniello Murano Problemi non decidibili e riducibilità 8 Lezione n. Parole chiave: Riduzione Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Overview Nelle lezioni

Dettagli

Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo.

Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo. Capitolo 3 Il campo Z n 31 Introduzione Introduciamo ora un altro campo, formato da un numero finito di elementi; il campo delle classi resto modulo n, con n numero primo 32 Le classi resto Definizione

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

Esercitazioni per il corso di Logica Matematica

Esercitazioni per il corso di Logica Matematica Esercitazioni per il corso di Logica Matematica Luca Motto Ros 02 marzo 2005 Nota importante. Queste pagine contengono appunti personali dell esercitatore e sono messe a disposizione nel caso possano risultare

Dettagli

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Esercizio 1 (Automi a stati finiti) {a, b}. Si considerino i seguenti automi a stati finiti sull alfabeto Per ognuno degli automi,

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle Tutti i linguaggi che possono essere

Dettagli

Esercitazione 6 Ancora sul Network Flow

Esercitazione 6 Ancora sul Network Flow Esercitazione 6 Ancora sul Network Flow Problema 14 (appello 28/09/2015) Un importante azienda di sviluppo software ha n progetti da portare a termine entro la fine dell anno. Il manager dell azienda stima

Dettagli

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Il compito è diviso in due parti come i compitini: 1) Automi e Linguaggi e 2) Macchine di Turing e Calcolabilità. Si può consegnare

Dettagli

ULTRAFILTRI E METODI NONSTANDARD IN TEORIA COMBINATORIA DEI NUMERI

ULTRAFILTRI E METODI NONSTANDARD IN TEORIA COMBINATORIA DEI NUMERI ULTRAFILTRI E METODI NONSTANDARD IN TEORIA COMBINATORIA DEI NUMERI MAURO DI NASSO 1. Filtri e ultrafiltri Iniziamo introducendo le fondamentali nozioni di filtro e ultrafiltro. Definizione 1.1. Un filtro

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 6 12/05/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Induzione Esercizio 20 pagina 330 Mostrare che 3 n < n! se

Dettagli

Quiz sui linguaggi regolari

Quiz sui linguaggi regolari Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente

Dettagli

Relazioni e Principio di Induzione

Relazioni e Principio di Induzione Relazioni e Principio di Induzione Giovanna Carnovale October 12, 2011 1 Relazioni Dato un insieme S, un sottoinsieme fissato R del prodotto cartesiano S S definisce una relazione ρ tra gli elementi di

Dettagli

LINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti:

LINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: LINGUAGGI REGOLARI Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: 1 - L(GR): linguaggi generati da grammatiche di tipo 3 (anche con ε-produzioni) 2 - L(ASF): linguaggi riconosciuti

Dettagli

c A (a c = b) Le ipotesi che abbiamo ci dicono che esistono h, k A tali che:

c A (a c = b) Le ipotesi che abbiamo ci dicono che esistono h, k A tali che: Definizione 1. Dato un insieme A, un operazione su A è una applicazione da A A a valori in A. Definizione 2. Se A è un insieme con una operazione, dati a, b A diciamo che a divide b (e scriviamo a b) se

Dettagli

Lo sviluppo di un semplice programma e la dimostrazione della sua correttezza

Lo sviluppo di un semplice programma e la dimostrazione della sua correttezza Il principio di induzione Consideriamo inizialmente solo il principio di induzione per i numeri non-negativi, detti anche numeri naturali. Sia P una proprietà (espressa da una frase o una formula che contiene

Dettagli

Complementi di Analisi Matematica Ia. Carlo Bardaro

Complementi di Analisi Matematica Ia. Carlo Bardaro Complementi di Analisi Matematica Ia Carlo Bardaro Capitolo 1 Elementi di topologia della retta reale 1.1 Intorni, punti di accumulazione e insiemi chiusi Sia x 0 IR un fissato punto di IR. Chiameremo

Dettagli

N.B.: compilare il compito in modo sintetico ma esauriente, spiegando chiaramente quanto si fa, e scrivendo in corsivo con grafia leggibile.

N.B.: compilare il compito in modo sintetico ma esauriente, spiegando chiaramente quanto si fa, e scrivendo in corsivo con grafia leggibile. MATEMATICA DISCRETA CdL in Informatica prof. Fabio GAVARINI a.a. 2017 2018 Esame scritto del 3 Luglio 2018 Sessione Estiva, II appello Testo & Svolgimento N.B.: compilare il compito in modo sintetico ma

Dettagli

$marina/did/md

$marina/did/md Matematica Discreta (elementi) E-O CdL Informatica Insiemi (parzialmente) ordinati 10 dicembre 00 Marina Cazzola (marina@matapp.unimib.it) Dipartimento di Matematica e Applicazioni Università di Milano

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}

Dettagli

NFA per riconoscere numeri decimali

NFA per riconoscere numeri decimali NFA per riconoscere numeri decimali Vogliamo un NFA che accetta numeri decimali. Un numero decimale consiste di: 1 Un segno + o -, opzionale 2 Una stringa di cifre decimali 3 un punto decimale 4 un altra

Dettagli

Introduzione alla logica proposizionale

Introduzione alla logica proposizionale Introduzione alla logica proposizionale Mauro Bianco Questa frase è falsa Contents 1 Proposizioni 1 2 Altri operatori 4 Nota : Le parti delimitate da *** sono da considerarsi facoltative. 1 Proposizioni

Dettagli

Capitolo 1: Concetti matematici di base

Capitolo 1: Concetti matematici di base Capitolo 1: Concetti matematici di base 1 Insiemi x A x é elemento dell insieme A. B A B é un sottoinsieme di A. B A B é un sottoinsieme proprio di A. A costituito da n elementi A = n é la sua cardinalitá.

Dettagli

Lista di esercizi 11 maggio 2016

Lista di esercizi 11 maggio 2016 Lista di esercizi 11 maggio 2016 1. Determinare il numero di sequenze binarie di lunghezza n che contengano almeno una coppia di 0 consecutivi. Soluzione. Potrebbe essere utile un programma di calcolo

Dettagli

La definizione di Ultrafiltro e la regolarità per partizioni

La definizione di Ultrafiltro e la regolarità per partizioni La definizione di Ultrafiltro e la regolarità per partizioni Lorenzo Lami Definizione 1 (Filtro). Dato un insieme X, si dice filtro su X una collezione F di sottoinsiemi di X tali che: X F; / F; A F, B

Dettagli

ALGEBRA /2009 Prof. Fabio Gavarini. Sessione estiva anticipata prova scritta del 23 Giugno 2009

ALGEBRA /2009 Prof. Fabio Gavarini. Sessione estiva anticipata prova scritta del 23 Giugno 2009 ALGEBRA 1 2008/2009 Prof. Fabio Gavarini Sessione estiva anticipata prova scritta del 23 Giugno 2009 Svolgimento completo N.B.: lo svolgimento qui presentato è molto lungo... Questo non vuol dire che lo

Dettagli

Complementi ed Esercizi di Informatica Teorica II

Complementi ed Esercizi di Informatica Teorica II Complementi ed Esercizi di Informatica Teorica II Vincenzo Bonifaci 21 maggio 2008 4 Problemi di ottimizzazione: il Bin Packing Il problema bin packing è il seguente: dato un insieme di n oggetti di dimensioni

Dettagli

marina/did/mdis03/ marina/did/mdis03/ marina/did/mdis03/

marina/did/mdis03/   marina/did/mdis03/   marina/did/mdis03/ Matematica Discreta (elementi) E-O CdL Informatica Elementi di logica formale 8 ottobre 2003 Marina Cazzola (marina@matapp.unimib.it) Dipartimento di Matematica e Applicazioni Università di Milano Bicocca

Dettagli

Massimo limite e minimo limite di una funzione

Massimo limite e minimo limite di una funzione Massimo limite e minimo limite di una funzione Sia f : A R una funzione, e sia p DA). Per ogni r > 0, l insieme ) E f p r) = { fx) x A I r p) \ {p} } è non vuoto; inoltre E f p r ) E f p r ) se 0 < r r.

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 7 19/05/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Ricorsione Esercizio 2 pagina 357 Trovare f(1), f(2), f(3),

Dettagli

Qualche informazione su gruppi e anelli

Qualche informazione su gruppi e anelli Qualche informazione su gruppi e anelli 1. Gruppi e sottogruppi: prime proprietà Cominciamo subito scrivendo la definizione formale di gruppo. Definizione 0.1. Un gruppo G è un insieme non vuoto dotato

Dettagli

Grammatiche libere da contesto. Grammatiche libere da contesto

Grammatiche libere da contesto. Grammatiche libere da contesto rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi piu grandi di linguaggi Linguaggi Liberi da Contesto (CFL) sono stati usati nello

Dettagli

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi,

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi, Corso di Automi e Linguaggi Formali Gennaio- Marzo 2004 Docente: Francesca Rossi, frossi@math.unipd.it Corso di Automi e Linguaggi Formali Gennaio-Marzo 2004 p.1/30 Dati del corso Orario: Lunedi 15:50-17:30,

Dettagli

Elezione di un leader in una rete ad anello

Elezione di un leader in una rete ad anello Elezione di un leader in una rete ad anello Corso di Algoritmi Distribuiti Prof. Roberto De Prisco Lezione n a cura di Rosanna Cassino e Sergio Di Martino Introduzione In questa lezione viene presentato

Dettagli

DAI NUMERI NATURALI AI NUMERI RAZIONALI

DAI NUMERI NATURALI AI NUMERI RAZIONALI DAI NUMERI NATURALI AI NUMERI RAZIONALI 1. L insieme dei numeri naturali Nel sistema assiomatico ZF, l Assioma dell infinito stabilisce che: Esiste un insieme A, i cui elementi sono insiemi e tale che

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi e derivate delle funzioni elementari Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim

Dettagli

8. Completamento di uno spazio di misura.

8. Completamento di uno spazio di misura. 8. Completamento di uno spazio di misura. 8.1. Spazi di misura. Spazi di misura completi. Definizione 8.1.1. (Spazio misurabile). Si chiama spazio misurabile ogni coppia ordinata (Ω, A), dove Ω è un insieme

Dettagli

Automi a pila. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017

Automi a pila. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017 Automi a pila Dipartimento di Elettronica e Informazione Politecnico di Milano 17 marzo 2017 Aumentiamo la potenza di un FSA Descrizione operativa dei limiti Un FSA ha un Organo di Controllo (OC) con memoria

Dettagli