• Non ci sono risultati.

Calcolabilit` a e Linguaggi Formali Parte II Compito BBBBB

N/A
N/A
Protected

Academic year: 2021

Condividi "Calcolabilit` a e Linguaggi Formali Parte II Compito BBBBB"

Copied!
2
0
0

Testo completo

(1)

Calcolabilit` a e Linguaggi Formali Parte II Compito BBBBB

16 Dicembre 2014

Esercizio 1

Enunciare e dimostrare il secondo teorema di ricorsione.

Soluzione

Teorema. Sia h una funzione calcolabile totale. Allora esiste un numero naturale n tale che φn= φh(n).

Prova. Si definisca la seguente funzione di due variabili:

f (x, y) = φh(φx(x))(y).

f `e calcolabile:

Input x,y;

Decodifica x per ottenere il programma Px; If Px↓ x then z := h(φx(x));

Decodifica z per ottenere il programma Pz; If Pz↓ y then Output φz(y).

Possiamo applicare il teorema del parametro. Esiste una funzione calcolabile totale s tale che φs(x)(y) = f (x, y).

Sia m un indice tale che s = φm. Allora abbiamo

φs(x)(y) = φφm(x)(y) = φh(φx(x))(y) ed assegnando il valore m ad x si ha:

φs(m)(y) = φφm(m)(y) = φh(φm(m))(y)

Si noti che essendo s ed h funzioni totali, φm(m) e h(φm(m)) sono ben definiti. Per ottenere la conclusione, bisogna definire n = φm(m).

Esercizio 2

Dimostrare che K = {x : Px↓ x} non `e estensionale (i.e., non rispetta le funzioni).

Soluzione

Sia n un indice di un programma che si autoriconosce. In altre parole, Pn ↓ n, mentre Pn ↑ x per ogni x 6= n. Sia inoltre r 6= n tale che φn= φr. Si vede facilmente che n ∈ K mentre r /∈ K. Infatti Pr↑ r perch´e Pr converge solo su n ed r 6= n.

Esercizio 3

(a) Definire una grammatica per ciascuno dei seguenti linguaggi:

L1= {(anb)mcak: n, m, k > 0};

L2= {anbk+nch: n, k, h > 0, k pari, 1 ≤ h ≤ 2}.

(b) Determinare il tipo di grammatica data nella classificazione di Chomski;

(c) Determinare il tipo del linguaggio. Se il linguaggio non `e regolare verificarlo con il pumping lemma. Se il linguaggio

`e regolare definire un’espressione regolare che lo definisce.

(2)

Soluzione

Il linguaggio L1 = {(anb)mcak : n, m, k > 0} non `e n`e regolare n`e libero. Infatti il tipo di simmetria della stringa (anb)m= anbanb . . . anb (m volte) richiede della memoria per ricordarsi il numero n. Quindi il linguaggio puo’ essere generato da una grammatica di tipo 0.

Il linguaggio L2`e libero dal contesto. Possiamo scrivere

L2= {anbnb2rc : n, r > 0} ∪ {anbnb2rcc : n, r > 0}

Una grammatica che genera L2: S ::= ABc|ABcc

Utilizziamo il simbolo nonterminale A per generare il linguaggio {anbn : n > 0}, ed il simbolo nonterminale B per generare il linguaggio {b2r: r > 0}.

A ::= aAb|ab B ::= bb|bbB

Supponiamo per assurdo che il linguaggio L2sia regolare. Supponiamo che siano n gli stati di un automa che riconosce L2. Consideriamo la stringa

anbnbbc

Il numero di b `e pi`u grande di n. Allora esiste una suddivisione di bn+2= xyz in tre parti con y 6=  in maniera tale che xz = bs con s < n + 2. Si perde la simmetria tra an e bnbb. Infatti l’automa riconosce

anxzc = anbsc ed s < n + 2.

Esercizio 4

Semplificare la seguente espressione regolare giustificando ogni passaggio:

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

Soluzione

Definiamo per brevit`a Z = (R + SR + U)+ (S + SR).

Prima di tutto = {}. Siccome  ∈ Uallora possiamo semplificare U con U ed otteniamo Z = (R + SR + U)+ (S + SR)

Inoltre, S ⊆ SR e R ⊆ SR perch´e

SR= S + SR + SRR + · · · + SRn+ . . . e

SR = R + SR + SSR + · · · + SnR + . . . Quindi otteniamo

Z = (SR + U)+ (SR) By U∗∗= U we derive

Z = (SR + U )+ (SR) Attenzione! Z 6= (S + R + U ) perch´e per esempio SU 6⊆ Z.

Riferimenti

Documenti correlati

Rice II per I: e’ applicabile con f la funzione costante di valore 0 sul dominio {3, 5, 6}, e g la funzione costante su tutto l’insieme N.. Ad I non appartengono programmi di

Inoltre la precedente scomposizione in tre parti esiste in ogni sottostringa di z che abbia lunghezza maggiore di n. Si consideri quindi a n+1 ba 3

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

Possemato Andrea Voto

(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

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