• Non ci sono risultati.

Calcolabilit`a e linguaggi formali (integrazione per linguaggi formali: 3 crediti)

N/A
N/A
Protected

Academic year: 2021

Condividi "Calcolabilit`a e linguaggi formali (integrazione per linguaggi formali: 3 crediti)"

Copied!
2
0
0

Testo completo

(1)

Calcolabilit` a e linguaggi formali

(integrazione per linguaggi formali: 3 crediti)

21 gennaio 2014

Esercizio 1

Un programma si aspetta in input una sequenza non banale di stringhe di caratteri alfabetici minuscoli oppure singoli zeri separati da una virgola. La sequenza termina con un punto e virgola.

Esempi di sequenze in input:

pinco, 0, pallino, 0, 0, pallone;

oppure blabla;

(a) Dare una grammatica per descrivere l’input del programma.

(b) Classificare la grammatica data.

(c) Classificare il linguaggio in input.

Se il linguaggio ´e tipo 3 (regolare), dare un’espressione regolare corrispondente o un automa finito corrispondente.

Se il linguaggio ´e tipo 2 (libero dal contesto), dimostrare tramite il pumping lemma tipo 3 che non ´e un linguaggio regolare.

Soluzione

(a) Diamo una grammatica per l’input del programma. Le produzioni sono:

S → X; |X, S

X → 0|a|...|z|aX|...|zX (b) La grammatica ´e tipo 2.

(c) Il linguaggio in input ´e tipo 3 (regolare). Infatti possiamo descriverlo con un’espressione regolare:

sia R = 0 + (a + ... + z)(a + ... + z), allora il linguaggio in input ´e (R, )R;

Esercizio 2

Siano R, S, U espressioni regolari.

Determinare se le seguenti due espressioni regolari sono equivalenti.

Se lo sono, mostrare con tutti i passaggi come trasformarle nella stessa espressione.

Se non lo sono, esibire un controesempio, cio´e una stringa contenuta in una e non nell’altra.

(a) (R + + (SR)+ US)+ (RSS+ U)UR, (b) ((∅S)+ SR+ (UR))+ (U S+ R).

Soluzione

Semplifichiamo le due espressioni per mostrare che sono equivalenti.

(a) (R + + (SR)+ US)+ (RSS+ U)UR=

= (R + (S + R)+ US)+ (RSS+ U)UR=

= (R + S + R + U + S)+ (RSS+ U)UR=

= (R + S + U )+ (RSS+ U)UR =

= (R + S + U ) perch´e (RSS+ U)UR´e contenuto in (R + S + U ).

(2)

(b) ((∅S)+ SR+ (UR))+ (U S+ R)=

= (S+ SR+ (UR))+ (U S+ R)=

= (S+ SR+ (U + R))+ (U S+ R)=

= (S + S + R + U + R)+ (U S+ R)=

= (S + R + U )+ (U S+ R)=

= (S + R + U ) perch´e (U S+ R)´e contenuto in (S + R + U ).

Riferimenti

Documenti correlati

[r]

Eliminiamo i simboli improduttivi: {F, G}.. Eliminiamo i simboli improduttivi:

Possemato Andrea Voto

[r]

(b) Dare un esempio di uno specifico automa a pila che accetta per pila vuota, indicando quale linguaggio riconosce.

(b) Associare un automa finito ad ogni caso della definizione induttiva di

Se il linguaggio ` e di tipo 3, dare un’espressione regolare o un automa

Se il linguaggio ´ e tipo 3, dare un’espressione