Problemi senza soluzione

Documenti analoghi
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 8

Principio di composizione delle MT

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Aniello Murano Problemi non decidibili e riducibilità

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

Teoria della Calcolabilità!

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

Informatica Teorica. Appunti della lezione su tesi di Church-Turing e problemi indecidibili

1 Il Teorema della funzione implicita o del Dini

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

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

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

Teoria della Calcolabilità!

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

11. Misure con segno.

Gli insiemi N, Z e Q. I numeri naturali

Complementi di Analisi Matematica Ia. Carlo Bardaro

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

Le parole dell informatica: algoritmo e decidibilità

8. Completamento di uno spazio di misura.

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

Funzioni implicite - Esercizi svolti

CAPITOLO SECONDO APPLICAZIONI TRA INSIEMI E RELAZIONI DI EQUIVALENZA

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)

Informatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 1 a.a Soluzioni

Andrea Asperti. Department of Computer Science, University of Bologna Mura Anteo Zamboni 7, 40127, Bologna, ITALY

non solo otteniamo il valore cercato per la validità della (1.4), ma anche che tale valore non dipende da

Corso di Linguaggi di Programmazione

Problemi, algoritmi, calcolatore

401 PREDICATI RICORSIVI PRIMITIVI

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

Appunti del Corso Analisi 1

DAI NUMERI NATURALI AI NUMERI RAZIONALI

Le derivate parziali

Sviluppi e derivate delle funzioni elementari

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Il concetto di calcolatore e di algoritmo

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

Appunti sui Codici di Reed Muller. Giovanni Barbarino

1 Ampliamento del piano e coordinate omogenee

Teoria degli Insiemi

CORSO DI ANALISI MATEMATICA 2 SOLUZIONI ESERCIZI PROPOSTI 18/03/2013

Aniello Murano Decidibilità delle teorie logiche

Massimo limite e minimo limite di una funzione

I teoremi della funzione inversa e della funzione implicita

1 Principio di Induzione

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

Grafi e reti di flusso

Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica

Logica proposizionale

Turing cercò di fornire una risposta matematica al problema CHE COSA SIGNIFICA CALCOLARE?

LEZIONI Dispense a cura del Docente.

3. Successioni di insiemi.

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica

1. Funzioni implicite

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

2. I numeri reali e le funzioni di variabile reale

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

Dimostrazione. Indichiamo con α e β (finiti o infiniti) gli estremi dell intervallo I. Poniamo

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 2 a.a Soluzioni

Teoria della computazione

Richiami di Matematica. 1. Insiemi, relazioni, funzioni. 2. Cardinalitá degli insiemi infiniti e numerabilitá. 3. Notazione asintotica.

Il Teorema di Kakutani

FUNZIONI ELEMENTARI, DISEQUAZIONI, NUMERI REALI, PRINCIPIO DI INDUZIONE Esercizi risolti

LEZIONE 30. Se x = 1 si dice che x è un versore. Se poi y = (y 1,..., y n ) R n poniamo. Ricordiamo che vale la cosiddetta disuguaglianza triangolare

Esercitazioni per il corso di Logica Matematica

Alcuni equivalenti dell Assioma della Scelta

Il teorema di Stone Weierstrass

Massimi e minimi vincolati

Geometria e Topologia I (U1-4) 2006-mag-10 61

ALGEBRA I: SOLUZIONI QUINTA ESERCITAZIONE 9 maggio 2011

LEZIONE 12. Y = f(x) = f( x j,1 f(e j ) = x j,1 A j = AX = µ A (X),

COMPLETAMENTO DI SPAZI METRICI

Lezione 7: Il Teorema di Rouché-Capelli

1 Successioni di funzioni

Osservazione 1.1 Si verifica facilmente che esiste un unica relazione d ordine totale su Q che lo renda un campo ordinato.

Limiti e continuità. Teoremi sui limiti. Teorema di unicità del limite Teorema di permanenza del segno Teoremi del confronto Algebra dei limiti

(2) se A A, allora A c A; (3) se {A n } A, allora +

Similitudine (ortogonale) e congruenza (ortogonale) di matrici.

1 Primitive e integrali indefiniti

Serie di Fourier - Esercizi svolti

INSIEMI. Se X è un insieme, indichiamo con P(X) l insieme dei sottoinsiemi di X (sono elementi di P(X) anche e X).

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

La macchina universale

Capitolo 8: Teoria della complessitá

Appunti su Indipendenza Lineare di Vettori

Calcolo integrale. Regole di integrazione

FUNZIONI TRA INSIEMI. Indice

Dimostrazioni del capitolo 8

Operazioni tra matrici e n-uple

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

CLASSE LIMITE DI UNA SUCCESSIONE DI NUMERI REALI C. MADERNA, G. MOLTENI, M. VIGNATI

Note sugli insiemi. Alberto Zanardo. Febbraio 2003

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

Il teorema di Schwarz

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

L insieme dei numeri Naturali (N)

Transcript:

Problemi senza soluzione

La Tesi di Church-Turing Nelle lezioni precedenti abbiamo visto il modello di calcolo delle macchine di Turing, caratterizzato da: assunzioni molto semplici operazioni di base elementari meccanismi di calcolo semplici ed effettivamente calcolabili Tali caratteristiche hanno indotto a pensare che: la nozione di calcolabilità da esso derivante fossa la più generale possibile non potessero esistere procedimenti di calcolo algoritmici non esprimibili in tale modello L equivalenza tra tutti i modelli ha quindi indotto Church e Turing a formulare la congettura che L insieme delle funzioni calcolabili coincide con l insieme delle funzioni T-calcolabili Tale congettura per sua sua natura non è dimostrabile ma è universalmente accettata come vera. Per questo motivo funzione T-Calcolabile è sinonimo di funzione calcolabile.

La Tesi di Church-Turing L accettazione della tesi di Church-Turing ci permette di svincolarci da un particolare modello di calcolo usare una descrizione astratta o machine independent di algoritmo per dimostrare che una funzione è calcolabile In tal senso parleremo di teoria della calcolabilità generale, nell ambito della quale possiamo dimostrare alcune proprietà che caratterizzano l insieme delle funzioni calcolabili.

Per le macchine di Turing Enumerazione delle Funzioni T-calcolabili esiste una corrispondenza biunivoca con l'insieme dei numeri naturali. La dimostrazione dell esistenza di tale corrispondenza può essere fatta in modo costruttivo definendo un algoritmo che ci permette di codificare tutte le macchine di Turing con un numero naturale e viceversa. Tale corrispondenza si chiama enumerazione di Göedel o processo di göedelizzazione, esipuò dimostrare che esiste un processo di göedelizzazione per ognuno dei modelli "equivalenti" alle Macchine di Turing. Poichè esistono molti modi diversi di stabilire una corrispondenza tra programmi per un modello di calcolo e l insieme dei numeri naturali, consideremo solamente enumerazioni accettabili Definizione Sia P l insieme dei programmi rispetto ad un modello di calcolo, sia γ una corrispondenza biunivoca γ : P N, sia p x il programma associato all intero x, eϕ (k) x la funzione di k variabili calcolata da p x. Il numero x viene detto indice o numero di Göedel del programma p x o indice della funzione ϕ (k) x calcolata da p x. La corrispondenza x ϕ (k) x viene detta enumerazione delle funzioni T-calcolabili Una generica corrispondenza tra numeri naturali soddisfa le seguenti condizioni: e funz. T-calcolabili è una enumerazione accettabile se 1. deve contenere tutti gli indici di tutti gli algoritmi di tutte le funzioni 2. deve essere un processo costruttivo, cioè effettivamente calcolabile T-calcolabili

Enumerazione Accettabile delle Funzioni T-calcolabili Formalmente caratterizziamo una enumerazione accettabile nel seguente modo: Definizione Una enumerazione di Göedel accettabile è ogni corrispondenza biunivoca tra l insieme delle funzioni T-calcolabili e l'insieme dei numeri naturali tale che: 1. esista un algoritmo di decodifica che dato un numero x permette di individuare il programma p x ad esso corrispondente 2. esista un algoritmo di codifica che dato un qualsiasi programma p consenta di calcolare il corrispondente numero x

Teorema di Enumerazione o di Esistenza della funzione Universale Teorema Data una enumerazione accettabile delle funzioni ogni x e y la funzione ϕ (2) z (x, y) è cosí definita, esiste un numero naturale z tale che per ϕ (2) j z (x, y) = ϕx (y) se ϕ x (y) undef altrimenti Dimostrazione Si consideri il seguente algoritmo A avente come input x ed y: 1. decodifica il programma p x di indice x 2. esegue il programma p x con input il numero y 3. se e quando p x (y) termina restituisci il valore calcolato come output, altrimenti cicla indefinitivamente La funzione calcolata dall algoritmo A è la seguente: f A (x, y) = j ϕx (y) undef se p x (y) ovvero se ϕ x (y) altrimenti Poichè l algoritmo A è effettivamente calcolabile, per la tesi di Church la funzione f A è una funzione Dunque, esiste un numero z nell enumerazione delle funzioni T-calcolabili ali, tale che f A = ϕ z.

Teorema di Enumerazione o di Esistenza della funzione Universale Dal teorema precedente si deduce che esiste una funzione universale che presi in input un indice x di una funzione ed un valore y calcola la funzione ϕ x (y). Il teorema appena dimostrato può essere generalizzato al caso di funzioni di k variabili Teorema Data una enumerazione accettabile delle funzioni, per ogni k, numero di variabili, esiste un numero z tale che per ogni tupla y 1,...,y k la funzione ϕ (k+1) z (x, y 1,...,y k ) è definita nel seguente modo ϕ (k+1) z (x, y 1,...,y k )= j ϕx (y 1,...,y k ) undef se ϕ x (y 1,...,y k ) altrimenti

Teorema S-M-N Il teorema s-m-n o teorema del parametro, consente di effettuare in modo algoritmo la trasformazione da un programma ad n + m variabili di input ad un programma ad n variabili di input e m parametri. Esempio Un flight simulator è un programma che opera su m + n variabili, m descrivono le caratteristiche strutturali dell aereo, consumo, dimensioni, velocità massima, portanza massima,..., ed n descrivono i parametri operativi di un particolare volo, ad esempio peso imbarcato, quantità di carburante, velocità del vento... Quindi i primi dipendono esclusivamente dal tipo di aereo Airbus 320, 330,..., Boeing 727, 737, 767, 777,..., Atr 42, 72, Dornier 310, 320,..., mentre i rimanenti descrivono le condizioni sotto le quali un particolare aeromobile deve operare. Se si vende il flight simulator alla compagnia aerea Volare Tranquilli che utilizza solamente Airbus 320 il teorema s-m-n ci assicura che esiste una particola istanza del flight simulator che simula il comportamento degli Airbus 320, basta fissare una volte per tutte gli m valori che descrivono le caratteristiche dell aeromobile da simulare.

Teorema S-M-N Teorema Data una qualunque enumerazione accettabile delle funzioni T-calcolabili, per ogni m, n 1 esiste una funzione s m n di m +1variabili tale che per ogni x, y 1,...,y m,z 1,...,z n ϕ x (y 1,...,y m,z 1,...,z n )=ϕ s m n (x,y 1,...,ym)(z 1,...,z n ) Dimostrazione Facciamo la dimostrazione per m =1,n =1, cioè dimostriamo che esiste una funzione s 1 1 tale che per ogni x, y, z ϕ x (y, z) =ϕ s 1 1 (x,y) (z) Fissati x = x 0 e y = y 0 un modo per calcolare il valore s 1 1 (x 0,y 0 ) è il seguente: decodifica la funzione di indice x 0, ϕ x0 (y, z) sostituisci y con y 0 ottenendo la funzione ϕ x0 (y 0,z)=ϕ k (z) per un qualche indice k l indice k della funzione così ottenuta sarà uguale al valore di s 1 1 (x 0,y 0 ) Quindi, esiste una procedura effettiva che ci permette di calcolare s 1 1 (x 0,y 0 ) comunque siano fissati x 0,y 0. Applicando quindi la tesi di Church, si deduce che esiste una funzione eday tale che: s, dipendente solamente da x ϕ x (y, z) =ϕ s(x,y) (z)

Teorema S-M-N Considerazioni: il teorema s-m-n afferma la possibilità di introdurre in un programma dati come parametri ovvero, dato un programma generale con input y, z si può passare ad un programma con input z in cui ho parzialmente valutato y il programma trasformato sarà parametrico in y questa tecnica è alla base del metodo di valutazione parziale di un algoritmo per cui fissata una variabile si specializza l algoritmo cosí ottenuto per ottenere versioni più efficienti in casi particolari con riferimento alle funzioni possiamo dire che il teorema consente di calcolare in modo algoritmico l indice di una funzione in cui ho trasformato una variabile in parametro

Teorema S-M-N Esempio Si consideri la funzione ϕ i (x, y) =f(x, y) =x + y e supponiamo abbia indice i nella enumerazione delle funzioni Fissando y = y 0 =4si ottiene la funzione f (x) =x +4 della sola variabile x. L indice della funzione f può essere calcolato a partire dall indice della funzione f e dal valore della variabile y fissata (infatti per valori diversi di y si ottengono funzioni f diverse). Ovvero: ϕ j = f j = s(i, y) Una ipotetica macchina di Turing che calcola tale funzione deve: decodificare il programma associato all indice i sostituire ad y il valore prefissato y 0 =4 calcolare l indice della nuova macchine cosí ottenuta

Proprietà delle Enumerazioni di Göedel Teorema Data una qualunque enumerazione accettabile delle funzioni ammette un insieme infinito di indici., ogni funzione Dimostrazione Sia data la funzione T-calcolabile ϕ i (x), si consideri la funzione: f(i, k, x) =ϕ i + k k f = ϕ i Per la tesi di Church f è calcolabile, quindi esiste un indice j della enumerazione delle funzioni che, tale ϕ j (i, k, x) =f(i, k, x) Per il teorema s-2-1 esiste una funzione s 2 1 tale che ϕ j (i, k, x) =ϕ s 2 1 (j,i,k) (x) ove, la funzione s 2 1 (j, i, k) calcola un indice diverso al variare di k, ovvero un indice diverso per una funzione che coincide semanticamente con ϕ i. Come conseguenza di questo teorema si ha che un problema ammette infinite soluzioni ed infiniti algoritmi di risoluzione.

Funzioni non Calcolabili: Halting Problem Teorema Data una qualsiasi enumerazione delle funzioni, non esiste una funzione f tale che per ogni x e y: j 1 se ϕx (y) f(x, y) = 0 altrimenti Dimostrazione Supponiamo per assurdo che la funzione f sia calcolabile, allora anche la funzione h(x) = j 1 se f(x, x) =0 undef se f(x, x) =1 è una funzione calcolabile. Esiste quindi un indice y 0, nella enumerazione delle funzioni, tale che ϕ y0 = h. Si calcoli l applicazione della funzione h al proprio indice h(y 0 )=ϕ y0 (y 0 ). Distinguiamo due casi, o h(y 0 ) è definita e vale 1 oè indefinita. se supponiamo h(y 0 ) definita, per definizione di h si ha che h(y 0 ) f(y 0,y 0 )=0. Ma f(y 0,y 0 ) = 0 implica che, per definizione di f, ϕ y0 (y 0 ) è indefinita, quindi abbiamo una contraddizione. se supponiamo h(y 0 ) indefinita, per definizione di h deve essere f(y 0,y 0 )=1. Ma f(y 0,y 0 )=1implica che, per definizione di f, ϕ y0 (y 0 ) è definita, ed anche in questo caso abbiamo contraddetto l ipotesi. Poichè la funzione h(x) non esiste, concludiamo che l ipotesi che f esista è falsa.

Funzioni non Calcolabili Dal precedente teorema deriva immediatamente il seguente corollario: Corollario Non esiste una funzione g tale che per ogni x g(x) = j 1 se ϕx (x) 0 se ϕ x (x) Dimostrazione Si supponga per assurdo che g esista e si definisca la funzione h(x) = j 1 se g(x) =0 undef se g(x) =1 Poichè per ipotesi g è anche h è quindi esiste un indice y 0 tale che h(x) =ϕ y0 (x). Calcoliamo allora ϕ y0 (y 0 ): ϕ y0 (y 0 )=h(y 0 ) g(y 0 )=0 ϕ y0 (y 0 ) ϕ y0 (y 0 )=h(y 0 ) g(y 0 )=1 ϕ y0 (y 0 ) Poichè ammettere la calcolabilità della funzione g conduce a conclusioni assurde, il teorema è dimostrato.

Funzioni non Calcolabili Teorema Data una qualunque enumerazione delle funzioni, non esiste una funzione c tale che per ogni T-. x j 1 ϕx è costante c(x) = 0 altrimenti Dimostrazione Supponiamo per assurdo che c esista. Si consideri la funzione h definita nel seguente modo: h(x, y) = j 0 undef ϕx (x) altrimenti La funzione h deve eseguire la funzione di indice x sull input x. Se e quando il calcolo di ϕ x (x) termina restituisce 0. Poichè la funzione h è calcolabile, per la tesi di Church la funzione h è. Per il teorema s-m-n esiste una funzione ricorsiva s tale che h(x, y) =ϕ s(x) (y) = Osserviamo che: ϕ s(x) (y) =costante se ϕ x (x). Poichè per ipotesi si suppone che c, s siano funzioni funzione. j 0 undef ϕx (x) altrimenti, allora anche la funzione (c s) è una

Quindi possiamo definire una funzione ψ(x) =(c s)(x): ψ(x) =(c s)(x) =c(s(x)) = j 1 ϕs(x) (x) =costante ϕ x (x) 0 altrimenti Abbiamo quindi definito una funzione ψ(x) =c(s(x)) che risolve il problema della fermata. Poichè ciò contraddice l indecidibilità del problema della fermata abbiamo ottenuto un assurdo e quindi la funzione c non esiste. Corollario Il problema di stabilire se una funzione è costante è un problema indecidibile

Funzioni non Calcolabili Teorema Data una qualunque enumerazione delle funzioni, non esiste una funzione T-calcol g tale che per ogni x j 1 ϕx (0) g(x) = 0 altrimenti Dimostrazione Supponiamo per assurdo che g esista. Consideriamo la funzione h definita nel seguente modo: h(x, y) = j 0 undef ϕx (x) altrimenti La funzione h deve eseguire la funzione di indice x sull input x. Se e quando il calcolo di ϕ x (x) termina restituisce 0. Poichè la funzione h è calcolabile, per la tesi di Church la funzione h è.. Per il teorema s-m-n esiste una funzione s tale che h(x, y) =ϕ s(x) (y) = j 0 undef ϕx (x) altrimenti

Si osservi che al variare di x la funzione ϕ s(x) oè sempre uguale a 0 oè sempre indefinita. ϕ x (x) ϕ s(x) =0 ϕ x (x) ϕ s(x) Consideriamo la funzione g = g s, allora: g (x) =g(s(x)) = j 1 se ϕs(x) (0) 0 altrimenti quindi, poichè ϕ s(x) (0) se ϕ x (x) g (x) =g(s(x)) = j 1 se ϕx (x) 0 altrimenti Poichè, se così fosse, g risolverebbe il problema della fermata, contraddicendo l indecidibilità di tale problema, si conclude che la funzione g non è e quindi neanche g è una funzione.

Funzioni non Calcolabili Teorema Data una enumerazione accettabile delle funzioni non esiste una funzione d d(x, y, z) = j 1 ϕx (y) =z 0 altrimenti Dimostrazione Se supponiamo per assurdo che d esista e consideriamo la funzione s del teorema precedente, potremmo definire la funzione g(x) =d(s(x), 0, 0) = j 1 ϕs(x) (0)=0ovvero se ϕ s(x) (0) 0 altrimenti Poichè, per il teorema precedente, se g esistesse, si otterrebbe la decidibilità del problema della fermata, si deduce che la funzione d non è una funzione ovvero calcolabile.

Funzioni non Calcolabili Esercizio Dimostrare che non esiste una funzione g tale che per ogni x, y: g(x, y) = j 1 ϕx = ϕ y 0 altrimenti Sia e un indice, nella enumerazione delle funzioni costantemente nulla, e si definisca la funzione, della funzione f(x) =0, cioè della funzione g (x) =g(x, e) = j 1 ϕx = ϕ e 0 altrimenti g decide se ϕ x è la funzione costante 0 o meno contraddicendo l indecidibilità di questo problema, quindi abbiamo ottenuto un assurdo. Corollario Come conseguenza di ciò è impossibile definire un programma che ci dica se due programmi sono equivalenti.

Funzioni non Calcolabili Esercizio: Data una enumerazione accettabile delle funzioni non esiste una funzione f tale che: j ϕx (x) +1 ϕ f(x) = x (x) 0 ϕ x (x) Si consideri la funzione: h(x) = j 1 f(x) =0 undef altrimenti Poichè per ipotesi f(x) è calcolabile anche h(x) è calcolabile, quindi esiste un indice y 0 della enumerazione delle funzioni tale che: h(x) =ϕ y0 Calcoliamo allora ϕ y0 (y 0 ) ϕ y0 (y 0 )=h(y 0 ) f(y 0 )=0 ϕ y0 (y 0 ) ϕ y0 (y 0 )=h(y 0 ) f(y 0 ) 0 ϕ y0 (y 0 ) Poichè abbiamo allora ottenuta una contraddizione, si conclude che f non esiste.

Insiemi Decidibili, Semidecidibili ed Indecidibili Un modo equivalente con cui studiare la calcolabilità delle funzioni è quello di usare la teoria degli insiemi. Una funzione ϕ(x) è calcolabile se l insieme è un insieme calcolabile. {(x, y) y = ϕ(x)} Vogliamo quindi definire il concetto di insieme calcolabile o piú precisamente di insieme decidibile e semidecidibile. Il concetto di insieme decidibile e semidecidibile lo abbiamo introdotto usando la definizione di T- calcolabilità in particolare: un insieme è decidibile se esiste una MT M che lo riconosce un insieme è semidecidibile se esiste una MT M che lo accetta

Insiemi Ricorsivi Cominciamo a dare delle definizioni che ci permettono di caratterizzare gli insiemi decidibili e semi-decidibili Definizione Un insieme A N è un insieme ricorsivo se la sua funzione caratteristica c A (x) = j 1 x A 0 x A c è una funzione. L insieme A c = N A si dice insieme complemento di A. Esempi di insiemi ricorsivi sono: N ogni insieme finito l insieme dei numeri primi

Proprietà degli insiemi Ricorsivi poichè l insieme delle funzioni ricorsive totali è numerabile, si deduce che l insieme degli insiemi ricorsivi èuninsieme numerabile. Ad ogni insieme ricorsivo corrisponde una funzione totale. poichè l insieme delle parti di N, P(N) non è numerabile si deduce che esistono insiemi non ricorsivi. Infatti se tutti gli elementi di P(N) fossero ricorsivi si dedurrebbe che P(N) sia numerabile che è assurdo. dall indecidibilità o non calcolabilità di alcune funzioni si deduce che i seguenti insiemi non sono ricorsivi A = {x ϕ x (x) }, infatti se lo fosse la funzione caratteristica risolverebbe il problema della fermata c A = j 1 x A ϕx (x) 0 x A c ϕ x (x) {(x, y, z) ϕ x (y) =z} {(x, y) ϕ x = ϕ y }

Prorietà degli Insiemi Ricorsivi Teorema Un insieme A N è un insieme ricorsivo se e solo se è un insieme decidibile Dimostrazione ( ) SeA è un insieme ricorsivo la sua funzione caratteristica è una funzione calcol. totale. Quindi, per la tesi di Church, è T-calcolabile, cioè esiste una MT M che decide se un elemento appartiene ad A o meno. Quindi per definizione è decidibile ( ) SeA è decidibile allora esista una MT M che decide se un elemento appartiene ad A o meno. La funzione calcolata da M è quindi una funzione totale che vale 1 se x A e vale 0 se x/ A, quindi per definizione A è un insieme ricorsivo Teorema Se A è un insieme ricorsivo allora l insieme complementare A c = N A è un insieme ricorsivo. Dimostrazione è sufficiente osservare che la funzione caratteristica di A c c A c =1 c A è una funzione totale.

Proprietà degli Insiemi Ricorsivi Teorema Se A N e B N sono due insiemi ricorsivi allora 1. l insieme A B è ricorsivo 2. l insieme A B è ricorsivo Dimostrazione è sufficente osservare che le funzioni caratteristiche di ciascuno insieme: c A B = c A or c B c A B = c A and c B sono funzioni totali e il teorema è dimostrato.

Insiemi Ricorsivamente Enumerabili Definizione Un insieme A, A N è un insieme ricorsivamente enumerabile (r.e.) se esiste una funzione f(x) parziale tale che f(x) = j 1 undef x A x A c ovvero A = dom(f). Alternativamente possiamo definire un insieme ricorsivamente enumerabile mediante l esistenza di una opportuna funzione g che ne enumera gli elementi. Definizione Un insieme A, A N è un insieme ricorsivamente enumerabile se esiste una funzione g(x) ricorsiva totale tale che A = cod(g). La funzione g è detta funzione enumeratrice di A. Osservazione: la proprietà di ricorsione enumerabile è una condizione piú debole della ricorsione, ci accontentiamo di saper decidere quando x A.

Esempio Esempio L insieme P dei numeri pari P = {x x numero pari } è un insieme ricorsivo. Infatti la sua funzione caratteristica c P (x) = j 1 x mod 2=0 0 x mod 2 0 è una funzione totale, quindi per definizione P è insieme ricorsivo.288625702

Esempio Esempio L insieme A definito come: {(y, t) ϕ y (y) in meno di t passi} è un insieme ricorsivo. Per dimostrare che A è un insieme ricorsivo definisco la seguente funzione ψ(y, t) = j 1 se ϕy (y) in meno di t passi 0 altrimenti La funzione ψ(y, t) decide se una coppia (y, t) appartiene o meno all insieme A. Bisogna dimostrare che ψ è una funzione La funzione ψ è calcolabile poichè è sufficente eseguire il seguente algoritmo: 1. decodifica la funzione di indice y 2. esegui t passi di computazione di ϕ y (y) 3. se dopo t passi il valore è definito restituisci 1 altrimenti 0 quindi per la tesi di Church è una funzione.

Esempio di insieme NON Ricorsivo Esempio L insieme K = {(x, y) ϕ x (y) } non è un insieme ricorsivo. Infatti se per assurdo lo fosse allora la sua funzione caratteristica c K (x, y) = j 1 ϕx (y) 0 ϕ x (y) risolverebbe il problema della fermata. Quindi la funzione caratteristica dell insieme K non è ricorsiva totale e quindi K non è un insieme ricorsivo.

Esempio di insieme NON Ricorsivo Esempio L insieme Z = {(x, y, z) ϕ x (y) =z} non è un insieme ricorsivo. Infatti se lo fosse la sua funzione caratteristica risolverebbe un problema che abbiamo dimostrato essere indecidibile: c Z (x, y, z) = j 1 ϕx (y) =z 0 altrimenti

Esempio Esempio L insieme T = {x ϕ x è totale } non è un insieme ricorsivo. Supponiamo per assurdo che lo sia, allora la sua funzione caratteristica: c T (x) = j 1 ϕx è totale 0 altrimenti è per definizione ricorsiva totale. Si consideri allora la funzione f(x) = j ϕx (x) +1 c T (x) =1 ϕ x è totale 0 altrimenti Chiaramente, la funzione f è totale. Se c T (x) è calcolabile anche la funzione f(x) è calcolabile quindi esiste y 0 tale che f(x) =ϕ y0 (x), e poichè f è totale, c T (y 0 )=1. Calcoliamo ϕ y0 (y 0 ) ed otteniamo una contraddizione: In conclusione la funzione c T non è calcolabile. ϕ y0 (y 0 )=f(y 0 )=ϕ y0 (y 0 )+1

Relazione tra Insiemi Ricorsivamente Enumerabili e Semidecidibili Teorema Dato un insieme S N ricorsivamente enumerabile allora S è un insieme semidecidibile Dimostrazione Se S è ricorsivamente enumerabile allora esiste una funzione f enumeratrice di S. Costruisco una MT che preso un input x calcola la funzione f sui valore 0, 1, 2,... e verifica se il risultato coincide con x. In tal modo se x S allora la MT accetta x altrimenti non termina. Per definizione quindi l insieme S è semidecidibile.

Relazione tra Insiemi Ricorsivi e Ricorsivamente Enumerabili (T. di Post) Teorema Un insieme A N è un insieme ricorsivo se e solo se A e A c sono ricorsivamente enumerabili Dimostrazione ( ) SeA è un insieme ricorsivo allora la fuzione caratteristica di A, c A (x), è una funzione Allora posso definire le funzioni parziali f e g: totale. f(x) = j ca (x) undef x A altrimenti dom(f) ={x x A} g(x) = j 1 ca (x) undef x A c altrimenti dom(g) ={x x A c } Poichè f, g sono funzioni enumerabili. parziali si deduce che A ed A c sono, per definizione, ricorsivamente

( ) Consideriamo le seguenti implicazioni A r.e. f dom(f) =A, f parziale A c r.e. g dom(g) =A c,g parziale Allora possiamo definire c A (x) =h(x) = j 1 f(x) x A 0 g(x) x A c Poichè h(x) è una funzione totale che decide se un elemento appartiene ad A o A c, si deduce che A è, per definizione, un insieme è ricorsivo.

Proprietà degli Insiemi Ricorsivamente Enumerabili Teorema Se A, B N sono due insiemi ricorsivamente enumerabili allora gli insiemi A B e A B sono insiemi ricorsivamente enumerabili Dimostrazione consideriamo le seguenti implicazioni Allora posso definire le seguenti funzioni A r.e. f dom(f) =A, f parziale B r.e. g dom(g) =B, g parziale h A B (x) = j 1 undef f(x) or g(x) altrimenti h A B (x) = j 1 undef f(x) and g(x) altrimenti Poichè h A B e h A B sono parziali e dom(h A B )=A B, e dom(h A B )=A B, si deduce che A B e A B sono insiemi ricorsivamente enumerabili.

Insiemi NON Ricorsivamente Enumerabili Dimostriamo adesso che esistono insiemi che NON sono ricorsivamente enumerabili Teorema L insieme Tot = {x ϕ x è totale } non è un insieme ricorsivamente enumerabile. Dimostrazione Supponiamo per assurdo che Tot sia un insieme ricorsivamente enumerabile. Esiste quindi per definizione una funzione totale f tale che cod(f) =Tot Si consideri allora la funzione: Osserviamo che: g(x) =ϕ f(x) (x) +1 1. f è una funzione totale per ipotesi 2. ϕ f(x) è totale per ipotesi poichè f(x) cod(f) =Tot ϕ f(x) è un funzione totale Quindi g(x) =ϕ f(x) (x) +1è una funzione totale. Esiste quindi un indice y 0, nella enumerazione delle funzioni tale per cui g(x) =ϕ y0 (x)

Poichè per ipotesi del teorema valgono le seguenti relazioni: cod(f) =Tot f è una funzione totale y 0 Tot, poichè ϕ y0 è una funzione totale ] si deduce che esiste x 0 tale che x 0 = f 1 (y 0 ). Quindi, dalla precedente relazione otteniamo che: g(x 0 )=ϕ y0 (x 0 ) A questo punto poichè x 0 = f 1 (y 0 ),sihachey 0 = f(x 0 ). Mettendo insieme le relazioni così ottenute si ha: Poichè abbiamo ottenuto che g(x 0 )=ϕ f(x0 )(x 0 )+1=ϕ y0 (x 0 )+1 g(x 0 )=ϕ y0 (x 0 ) g(x 0 )=ϕ y0 (x 0 )=ϕ y0 (x 0 )+1=g(x 0 ) ovvero un assurdo, si conclude che l ipotesi che l insieme Tot sia un insieme ricorsivamente enumerabile è falsa.

Insiemi Ricorsivamente Enumerabili ma NON Ricorsivi Teorema L insieme K = {x ϕ x (x) } è un insieme ricorsivamente enumerabile ma non è un insieme ricorsivo. Dimostrazione K non è un insieme ricorsivo poichè se per assurdo lo fosse la sua funzione caratteristica risolverebbe il problema della fermata. Invece K è un insieme ricorsivamente enumerabile. Infatti, si consideri la seguente funzione: h(x) = j 1 undef ϕx (x) altrimenti Poichè h(x) è una funzione ricorsiva parziale e dom(h) =K, si deduce che l insieme K è per definizione un insieme ricorsivamente enumerabile. Questo teorema ci garantisce che gli insiemi ricorsivi sono un sottoinsieme proprio degli insiemi ricorsivamente enumerabili. Infatti esiste almeno un insieme, ad esempio K, che non è ricorsivo ma è ricorsivamente enumerabile.

Considerazioni Poichè K non è un insieme ricorsivo ma è un insieme ricorsivamente enumerabile, dal teorema: A r.e. e A c r.e. A ricorsivo si deduce che K c non è un insieme ricorsivamente enumerabile. Infatti se lo fosse, l insieme K dovrebbe essere ricorsivo, ma abbiamo visto che ciò è impossibile. Intuitivamente ciò significa che il complementare di un insieme ricorsivamente enumerabile ha caratteristiche di indecidibilità piú elevate. Ovvero, èpiú facile decidere se un elemento appartiene a K piuttosto che K c. Infatti: decidere che un elemento x appartiene a K significa determinare un valore y tale che f(x) dopo al piú y passi. decidere se un elemento appartiene a K c significa verifica che x e y f(x) dopo y passi. Mentre la prima affermazione può essere decisa in un tempo finito la seconda richiede un tempo infinito. In questo senso K c ha un grado di indecidibilità maggiore di K.

Teorema di Ricursione o di Kleene Teorema Sia data una enumerazione delle funzioni allora esiste un intero k tale che, sia g(z, x 1,...,x n ) una funzione g(k, x 1,...,x n )=ϕ (n) k (x 1,...,x n ) Dimostrazione Sia s 1 n la funzione definita dal teorema s-1-n, ovvero la funzione che parametrizza le funzioni di n +1argomenti in funzioni di n argomenti. La funzione così definita g(s 1 n (v, v),x 1,...,x n ) è una funzione dipendente dalle variabili v, x 1,...,x n. Poichè la funzione s 1 n e la funzione g sono funzioni calcolabili per ipotesi, esiste un indice z 0 della enumerazione delle funzioni tale che: g(s 1 n (v, v),x 1,...,x n )=ϕ z0 (v, x 1,...,x n ) Applicando il teorema s-1-n alla funzione ϕ z0, si ottiene la seguente relazione: ϕ z0 (v, x 1,...,x n )=ϕ s 1 n (z 0,v) (x 1,...,x n )

Supponiamo che v = z 0 e k = s 1 n (z 0,z 0 ). Allora: g(k, x 1,...,x n ) poichè k = s 1 n (z 0,z 0 ) = g(s 1 n (z 0,z 0 ),x 1,...,x n ) poichè g(s 1 n (v, v),x 1,...,x n )=ϕ z0 (v, x 1,...,x n ) = ϕ z0 (z 0,x 1,...,x n ) applicando il teorema s-1-n = ϕ s 1 n (z 0,z 0 ) (x 1,...,x n ) poichè k = s 1 n (z 0,z 0 ) = ϕ k (x 1,...,x n ) Nella versione appena dimostrata, il teorema di ricursione permette di definire una funzione ϕ (n) k e n argomenti in termini di una codifica del suo stesso programma: di indice k ϕ (n) k (x 1,...,x n )=g(k, x 1,...,x n )

Teorema del Punto Fisso Conseguenza del teorema di rucursione è il teorema del punto fisso. Teorema Sia data una enumerazione delle funzioni, sia f una funzione totale, allora esiste n N tale che ϕ f(n) = ϕ n Dimostrazione. Si definisca la seguente funzione: g(z, x) =ϕ f(z) (x) applicando il teorema di ricursione a g(z, x), si ha che esiste n tale per cui g(n, x) =ϕ n (x) quindi, poichè g(z, x) =ϕ f(z) (x) per definizione si ha che ϕ f(n) (x) =ϕ n (x) ed il teorema è dimostrato.

Conseguenze del Teorema del Punto Fisso Come conseguenza del teorema del punto fisso si ha che data una funzione ψ : R R (R insieme delle funzioni ) totale t la trasformazione ψ(ϕ i )=ϕ t(i) ammette un punto fisso e tale per per cui: ψ(ϕ e )=ϕ t(e) = ϕ e Il teorema del punto fisso sta alla base della teoria della semantica denotazionale delle funzioni ricorsive ed in particolare degli schemi di programmazione µ o while. Infatti data una trasformazione di programmi in programmi (es: while) se la trasformazione è una funzione essa ammette un punto fisso e quindi la trasformazione ad un certo punto è idempotente. Conseguenza del teorema del punto fisso è il seguente: Corollario Data una enumerazione delle funzioni, esiste un indice i tale che, per ogni x N ϕ i (x) =i cioè in ogni modello di calcolo esiste una funzione che fornisce costantemente in output il proprio codice

Teorema di Rice Teorema Sia F un insieme di funzioni T-calcolabili di una variabile. Allora, l insieme I F = {x ϕ x F } è un insieme ricorsivo se e solo se F è l insieme vuoto o contiene tutte le funzioni variabile. T-calcolabili di una Dimostrazione Supponiamo per assurdo che F non contenga tutte le funzioni T-calcolabili e non sia vuoto. Ovvero, se indichiamo con R l insieme delle funzioni parziali di una sola variabile, assumiamo che: I F φ I F R Quindi, stiamo supponendo (per assurdo) che: f, g R f F, g / F Supponiamo per assurdo che I F sia ricorsivo e si consideri la funzione h(t, x): h(t, x) = j g(x) f(x) t IF t/ I F

Poichè f, g Rsono funzioni ricorsive, per la tesi di Church h è una funzione Applicando il teorema di ricursione alla funzione h si ottiene che esiste un n tale che: h(n, x) =ϕ n (x) = j g(x) f(x) n IF n/ I F A questo punto, dalla relazione appena ottenuta e dalle ipotesi: I F = {x ϕ x F } f F, g / F deduciamo che: se supponiamo h(n, x) =ϕ n (x) =g(x) si deduce che n I F, ma poichè g / F deduciamo che ϕ n / F e quindi che n/ I F. Poichè abbiamo ottenuto una contraddizione h(n, x) g(x) se supponiamo h(n, x) =ϕ n (x) =f(x) si deduce che n / I F, ma poichè f F deduciamo che ϕ n F e quindi che n I F. Poichè abbiamo ottenuto una contraddizione h(n, x) f(x) Poichè abbiamo ottenuto un assurdo, la funzione h(n, x) non è partiti è falsa., e quindi l ipotesi da cui siamo Abbiamo quindi dimostrato che I F = {x ϕ x F } è un insieme ricorsivo se e solo se è un insieme vuoto o contiene tutte le funzioni.