Calcolabilita' e Complessita
Upcoming SlideShare
Loading in...5
×
 

Calcolabilita' e Complessita

on

  • 748 views

 

Statistics

Views

Total Views
748
Views on SlideShare
748
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Calcolabilita' e Complessita Calcolabilita' e Complessita Presentation Transcript

    • Calcolabilit` e Complessit` a a Andrea Asperti Department of Computer Science, University of Bologna Mura Anteo Zamboni 7, 40127, Bologna, ITALY asperti@cs.unibo.itAndrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 1
    • Content A:Calcolabilit` a Numerabilit` e diagonalizzazione a Ricorsione Primitiva Le Macchine di Turing e la Tesi di Church Enumerazioni accettabili Funzioni non calcolabili Insiemi ricorsivi e ricorsivamente enumerabili I teoremi di Rice e Rice-Shapiro Il teorema del punto fisso di Kleene Riducibilit` a Calcolabilit` e completezza a La gerarchia aritmetica Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 2
    • Obiettivi del corso Fornire una introduzione alla teoria della calcolabilit` e della complessit`, al a a fine di chiarire i seguenti concetti: Capire quali problemi possono essere risolti in modo algoritimico Studiare e confrontate diversi meccanismi e costrutti computazionali Fornire una definizione precisa della nozioni di calcolabilit` e di decidibilit` a a Fornire metodi e strumenti per capire se un problema ` o meno decidibile e Comprendere le implicazioni logiche (Teorema di Incompletezza di G¨del) o Fornire una nozione di costo computazionale Classificare i problemi in base alla loro efficienza Studiare la relazione tra calcolo deterministico e nondeterministico Studiare la relazione tra risorse differenti (tempo e spazio) Discutere i principali problemi aperti di teoria della complessit´ a Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 3
    • Approfondimenti bibliografici Calcolabilit` a S. Barry Cooper, Computability Theory, Chapman & Hall, 2004. N. J. Cutland. Computability: An Introduction to Recursive Function Theory. Cambridge University Press, Cambridge, UK, 1986. P. G. Odifreddi. Classical Recursion Theory: the Theory of Functions and Sets of Natural Numbers, volume 125 of Studies in Logic and the Foundations of Mathematics. Elsevier, 1997. H. Rogers. Theory of Recursive Functions and Effective Computability. MIT press, 1987. Complessit` a Ding-Zhu Du and Ker-I Ko, Theory of Computational Complexity, John Wiley & Sons, 2000 Christos H. Papadimitriou, Computational Complexity, Addison Wesley, 1994 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 4
    • Numerabilit` e diagonalizzazione - Lezioni 1 e 2 a Enumerare, contare, calcolare Quali insiemi sono enumerabili? Dovetailing Alfabeti, stringhe, linguaggi Diagonalizzazione - Teorema di Cantor Diagonalizzazione e paradossi (Russel, Berry) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 5
    • Numerabilit` a Un insieme A si dice numerabile se esiste una funzione suriettiva f dall’insieme dei numeri naturali N in A. f ` detta funzione di enumerazione. e N ` numerabile e Ogni sottoinsieme di un insieme numerabile ` ancora numerabile. e Che possiamo dire dei soprainsiemi di N ? Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 6
    • Aggiungere un elemento Lemma Sia A numerabile. Allora {∗} ⊕ A ` ancora numerabile. e Sia f : N → A la funzione di enumerazione di A. definiamo g : N → {∗} ⊕ A nel modo seguente: g (0) = ∗ g (x) = g (x + 1) = f (x) Chiaramente g ` suriettiva. e Corollario: Sia A numerabile e D finito. Allora D ⊕ A ` ancora numerabile. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 7
    • Aggiungere una quantit` numerabile di elementi a Lemma L’unione di due insiemi numerabili A e B ` ancora numerabile. e Siano f e g le due funzioni di enumerazione di A e B. A ⊕ B ` allora e enumerato dalla seguente funzione h: h(2x) = f (x) h(x) = h(2x + 1) = g (x) Corollario: Un unione finita di insiemi numerabili ` numerabile. e Corollario: Se D ` finito e A ` numerabile allora D × A ` numerabile. e e e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 8
    • Muoversi tra due infiniti: dovetailing Cerchiamo una funzione biunivoca da N × N in N . Un modo alternativo di descrivere il problema consiste nella definizione di una politica di visita delle coppie i, j del piano in modo tale che ogni coppia venga ispezionata una ed una sola volta al passo k. k ` la codifica della coppia i, j . e 0 1 2 3 4 ··· i 0 0 1 3 6 10 1 2 4 7 11 2 5 8 12 3 9 13 4 14 . . . j Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 9
    • Codifica delle coppie del piano La somma delle componenti i ed j per i punti su di una stessa diagonale `e costante e pari al numero di diagonali gi` interamente percorse. Il numero di a punti del piano gi` visitati in queste diagonali ` a e i+j (i + j)(i + j + 1) k= 2 k=0 Per visitare l’elemento < i, j > dovr` ancora percorrere j passi lungo l’ultima o diagonale, per cui i+j (i + j)2 + i + 3j i, j = j + k= 2 k=0 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 10
    • Corollari Lemma Il prodotto cartesiano di due insiemi numerabili ` numerabile. e Lemma L’unione di un insieme numerabile di insiemi numerabili ` ancora numerabile. e Sia A un insieme numerabile e sia f la sua funzione di enumerazione. {Ba |a ∈ A} una collezione di insiemi numerabili, ciascuno enumerato da una funzione ga . La funzione h : N × N → a∈A Ba definita da h(n, m) = gf (n) (m) ` suriettiva. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 11
    • Sequenze ordinate, stringhe, linguaggi Lemma Se A numerabile, anche i∈N Ai ` numerabile. e Osservazione: Nel caso in cui A sia finito, l’insieme i∈N Ai non ` altro che e l’insieme di tutte le stringhe definibili sull’alfabeto A. Dunque ogni linguaggio, inteso come sottoinsime di stringhe definite su di un dato alfabeto, ` sempre e numerabile. Corollario: L’insieme delle parti finite di un insieme numerabile ` numerabile. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 12
    • Il teorema di Cantor Cantor Dato un insieme arbitrario A, non pu` esistere una funzione suriettiva da A in o P(A). Supponiamo che esista una funzione suriettiva g : A → P(A). Consideriamo il seguente insieme: ∆ = {a ∈ A | a ∈ g (a)} ∆ ⊆ A e siccome abbiamo supposto che g sia suriettiva deve esistere δ tale che g (δ) = ∆. Abbiamo allora: δ∈∆ ⇔ δ ∈ g (δ) per definizione di ∆ ⇔ δ∈∆ per definizione di δ Siccome questo ` assurdo, g non pu` essere suriettiva. e o Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 13
    • Il paradosso di Russel Russel Sia U = {x|x ∈ x}. Allora U∈U⇔U∈U Principio di comprensione P(t) ⇔ t ∈ {x|P(x)} Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 14
    • Il problema della definibilit` a Le funzioni definibili da N in N sono una quantit` numerabile. Fissiamo un a qualche enumerazione fi . Definiamo una funzione g nel modo seguente: g (x) = fx (x) + 1 g ` ben definita, dunque dovrebbe comparire nel nostro elenco di funzioni e definibili. Supponiamo che g = fk . Abbiamo allora: fk (k) = g (k) = fk (k) + 1 La nozione di definibilit` ` dunque sempre relativa (dipendente dal linguaggio) ae e incompleta; comunque essa venga fissata esistono “buone definizioni” definite che sfuggono alla definizione adottata. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 15
    • Il paradosso di Berry Berry “Sia n il pi` piccolo intero positivo non definibile con meno di 100 caratteri”. u i numeri definibili con meno di 100 caratteri sono una quantit` finita, a dunque esistono (inifiniti) numeri che soddisfano la propriet` suddetta, e a tra questi deve ne deve esistere uno minino. tale numero ` dunque univocamente determinato dalla definizione di e Berry. ma la definizione di Berry ` piu breve di 100 caratteri: contraddizione. e La “definizione” di Berry non ` ben posta (la nozione di definibilit` non ` ben e a e definita). Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 16
    • Ricorsione primitiva - Lezioni 3, 4, 5 funzioni ricorsive ricorsione primitiva somme e prodotti limitati predicati ricorsivi minimizzazione limitata ricorsione multipla ricorsione primitiva vs. iterazione la funzione di Ackermann ricorsione di ordine superiore incompletezza algoritmica dei formalismi totali Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 17
    • Ricorsione La definizione di una funzione f si dice ricorsiva se il valore di f su alcuni argomenti dipende dal valore di f su altri argomenti, solitamente pi` “semplici” u rispetto ad una opportuna metrica da definire.  fibo(0) = 1 fatt(0) = 1  fibo(1) = 1 fatt(n + 1) = (n + 1) ∗ fatt(n)  fibo(n + 2) = fibo(n) + fibo(n + 1)  Fattoriale Fibonacci Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 18
    • Ricorsione primitiva - funzioni iniziali Le seguenti funzioni sono funzioni iniziali del linguaggio primitivo ricorsivo L: 1. le funzioni costanti k cm (x1 , x2 , . . . , xk ) = m con m ∈ N 2. le proiezioni (identit` generalizzate) a πik (x1 , x2 , . . . , xk ) = xi per qualche 1 ≤ i ≤ k 3. la funzione successore s(x) = x + 1 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 19
    • Ricorsione primitiva - schemi composizionali Composizione Se h : N n → N e g1 , g2 , . . . , gn : N k → N appartengono ad L, anche la seguente funzione f : N k → N ∈ L: f (x) = h (g1 (x), g2 (x), . . . , gn (x)) con x = (x1 , x2 , . . . , xk ) Ricorsione primitiva Se g : N k → N , h : N k+2 → N ∈ L, anche la seguente funzione f : N k+1 → N ∈ L: f (0, x) = g (x) f : f (y + 1, x) = h (y , f (y , x), x) con x = (x1 , x2 , . . . , xk ) Una funzione f ` primitiva ricorsiva se e solo se esiste una sequenza di funzioni e f1 , f2 , . . . , fn = f tale che ogni fi o ` una funzione base oppure ` ottenuta da e e funzioni fj con j < i mediante composizione o ricorsione primitiva. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 20
    • un esempio codice esecuzione f (2) = f6 (2) = f5 (f1 (2), f1 (2)) f1 (x) = x = f5 (f1 (2), 2) = f5 (2, 2) f2 (x) = x + 1 = f4 (1, f5 (1, 2), 2) f3 (x, y , z) = y = f4 (1, f4 (0, f5 (0, 2), 2), 2) = f4 (1, f4 (0, f1 (2), 2), 2) f4 (x, y , z) = f2 (f3 (x, y , z)) = f4 (1, f4 (0, 2, 2), 2) f5 (0, x) = f1 (x) = f4 (1, f2 (f3 (0, 2, 2)), 2) f5 (y , x) = = f4 (1, f2 (2), 2) f5 (y + 1, x) = f4 (y , f5 (y , x), x) = f4 (1, 3, 2) f ≡ f6 (x) = f5 (f1 (x), f1 (x)) = f2 (f3 (1, 3, 2)) = f2 (3) =4 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 21
    • Abusi notazionali (inlining) f1 (x) = x f2 (x) = x + 1 f3 (x, y , z) = y f4 (x, y , z) = f2 (f3 (x, y , z)) = y + 1 f5 (0, x) = f1 (x) = x f5 (y , x) = f5 (y + 1, x) = f5 (y , x) + 1 f ≡ f6 (x) = f5 (f1 (x), f1 (x)) = f5 (x, x) Abuseremo la notazione per ragioni di leggibilit` a Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 22
    • Alcune funzioni primitive ricorsive Moltiplicazione Predecessore mult(0, x) =0 pred(0) =0 mult(y + 1, x) = add(x, mult(y , x)) pred(y + 1) = y Zero Fattoriale zero(0) =1 fatt(0) =1 zero(y + 1) = 0 fatt(y + 1) = mult(s(y ), fatt(y )) Sottrazione Confronto sub(0, m) =m eq(n, m) = zero(add(sub(n, m), sub(m, n))) sub(n + 1, m) = pred(sub(n, m)) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 23
    • Somme e prodotti limitati σf (0, x) = f (0, x) σf (z, x) ≡ f (y , x) : y ≤z σf (z + 1, x) = σf (z, x) + f (z + 1, x) πf (0, x) = f (0, x) πf (z, x) ≡ f (y , x) : y ≤z πf (z + 1, x) = πf (z, x) ∗ f (z + 1, x) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 24
    • Predicati primitivi ricorsivi Un predicato P ` primitivo ricorsivo se e solo se lo ` la sua funzione e e caratteristica cP . Es: zero e eq. Lemma I predicati primitivi ricorsivi sono chiusi rispetto ai connettivi logici. c¬P (x) = 1 − cP (x) ≡ sub(cP (x), 1) cP∧Q (x) = cP (x) ∗ cQ (x) ≡ mult(cP (x), cQ (x)) Lemma I predicati primitivi ricorsivi sono chiusi rispetto alla quantificazione limitata. Ovvero, se P(z, x) ` un predicato primitivo ricorsivo lo sono anche ∀z≤y P(z, x) e e ∃z≤y P(z, x). c∀z≤y P(z,x) ≡ cP (z, x) z≤y Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 25
    • Applicazioni Divisibilit` a divide(x, y ) ⇐⇒ ∃n≤y eq(mult(n, x), y ) Primalit` a prime(x) ⇐⇒ x ≥ 2 ∧ ∀y ≤x (divide(y , x) ⇒ y = 1 ∨ y = x) Posso calcolare l’n-esimo numero primo? Pr (0) = 2 Pr (n + 1) = min{p|prime(p) ∧ (p > Pr (n))} Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 26
    • Minimizzazione limitata Per minimizzazione (µ-ricorsione) si intende la ricerca del minimo intero positivo µy P(y ) che soddifa il predicato P. La minimizzazione si dice limitata se viene fornito un bound alla ricerca. Lemma Le funzioni primitive ricorsive sono chiuse rispetto alla minimizzazione limitata. Dobbiamo dimostrare che se R(y , x) ` un predicato primitivo ricorsivo, allora lo e ` anche µy <z R(y , x). e Consideriamo il predicato primitivo ricorsivo h(y , x) = ∀w ≤y ¬R(w , x) Supponiamo che y0 = µy <z R(y , x). Allora per ogni valore di y < y0 la funzione h(y , x) assume valore 1 e per ogni valore y0 ≤ y < z la funzione h(y , x) assume valore 0. Dunque, y0 ` pari al numero di interi inferiori a z per cui h(y , x) assume valore e 1, ovvero: µy <z R(y , x) = y0 = Σy <z ∀w ≤y ¬R(w , x) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 27
    • Coppie e proiezioni Le funzioni di codifica e decodifica delle coppie sono primitive ricorsive: i+j (i + j)2 + i + 3j < i, j >= j + k= 2 k=0 fst(p) = µx≤p ∃y ≤p < x, y >= p snd(p) = µy ≤p ∃x≤p < x, y >= p Mediante l’uso di coppie posso restituire in output agglomerati di risultati, cosa che permette di simulare la ricorsione multipla. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 28
    • Fibonacci La seguente definizione non ` primitiva ricorsiva: e  fibo(0) = 1  fibo(1) = 1  fibo(n + 2) = fibo(n) + fibo(n + 1)  Idea: definire una funzione ausiliaria fibo’ che, su input x restituisca in output la coppia dei valori < fibo(x), fibo(x + 1) >: fibo’(0) = < 1, 1 > fibo’(x + 1) = < fibo(x + 1), fibo(x + 2) > = < snd(fibo’(x)), fst(fibo’(x)) + snd(fibo’(x)) > La funzione fibo’ ` primitiva ricorsiva, e dunque lo ` anche fibonacci: e e fibo(n) = fst(fibo’(n)) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 29
    • Ricorsione multipla ˆ Si dice storia di f (y , x) la funzione f (y , x) cos` definita: ı ˆ f (y , x) = < f (0, x), f (1, x), . . . , f (y , x) >y +1 ≡ << f (0, x), f (1, x) >, . . . >, f (y , x) >2 >2 . . . >2 y La storia di f permette di definire il seguente schema di ricorsione multipla: f (0, x) = g (x) f (y + 1, x) ˆ = h(y , f (y , x), x) Problema: f ` primitiva ricorsiva? e Si, infatti la storia di f ` esprimibile mediante ricorsione primitiva: e ˆ f (0, x) = f (0, x) = g (x) ˆ(y + 1, x) =< f (y , x), f (y + 1, x) >=< f (y , x), h(y , f (y , x), x) > f ˆ ˆ ˆ Si noti che la definizione precedente non dipende da f ma solo da g e h. Infine: ˆ f (0, x) = f (0, x)) ˆ f (y + 1, x) = snd(f (y + 1, x)) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 30
    • Ricorsione di coda Una funzione si dice in forma ricorsiva di coda se la chiamata ricorsiva ` e l’ultima operazione eseguita dalla funzione chiamante. Teorema Ogni funzione primitiva ricorsiva pu` essere espressa in forma ricorsiva (non o necessariamente primitiva) di coda. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 31
    • Ricorsione di coda - dimostrazione Data la funzione primitiva ricorsiva f si consideri la funzione ricorsiva di coda f’ f (0, x) = g (x) f (0, x, i, acc) = acc f (y + 1, x) = h (y , f (y , x), x) f (y + 1, x, i, acc) = f (y , x, i + 1, h(i, acc, x)) Dimostriamo per induzione su y che, per ogni i f (y , x, i, f (i, x)) = f (i + y , x) Se y = 0, f (0, x, i, f (i, x)) = f (i, x) = f (i + 0, x) Nel caso y + 1, abbiamo f (y + 1, x, i, f (i, x)) = f (y , x, i + 1, h(i, f (i, x), x)) = f (y , x, i + 1, f (i + 1, x)) = f (i + 1 + y , x) per ipotesi induttiva = f (i + y + 1, x) In particolare, f (y , x) = f (y , x, 0, g (x)) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 32
    • Ricorsione di coda e iterazione L’interesse delle funzioni ricorsive di coda consiste nel fatto che possono essere ricondotte banalmente a meccanismi di tipo iterativo. Ad esempio, la precedente funzione f pu` essere calcolata dal seguente o algoritmo ricorsivo: f(y,x1,...,xn):= begin var acc = g(x1,...,xn); for i := 0 to y acc := h(i,acc,x1,...,xn) return acc end ` E possibile dimostrare il seguente risultato: Teorema Le funzioni primitive ricorsive sono tutte e solo quelle for-calcolabili, cio` es- e primibili in un qualunque linguaggio imperativo utilizzando come unici costrutti di controllo di flusso l’if-then-else, il for e la chiamata di funzione non ricorsiva Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 33
    • Schema di iterazione Le considerazioni precedenti suggeriscono che sia possibile indebolire lo schema di ricorsione primitiva, riducendolo alla mera possibilit` di iterare una a determinata funzione h: f (0, x) = g (x) f (y + 1, x) = h(f (y , x)) Si noti che h non dipende n` da y n` da x. e e In particolare: f (y , x) = hy (g (x)) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 34
    • Iterazione + coppie Teorema Iterazione + Coppie = Ricorsione Primitiva. Consideriamno per semplicit` il caso di una funzione primitiva ricorsiva f con vettore di a argomenti x vuoto: f (0) = a f (y + 1) = h(y , f (y )) Si consideri la funzione ausiliaria f (y ) =< y , f (y ) > e si osservi che f (y + 1) = < y + 1, f (y + 1) > = < y + 1, h(y , f (y )) > = < fst(f (y )) + 1, h(fst(f (y )), snd(f (y ))) > Posto next(p) =< fst(p) + 1, h(fst(p), snd(p)) > la funzione f pu` essere definita iterando next nel modo seguente: o f (0) =< 0, a > f (y + 1) = next(f (y )) Infine, f (y ) = snd(f (y )). Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 35
    • Funzionali di ricorsione e iterazione Una funzione definita mediante uno schema ricorsivo primitivo o iterativo ` e univocamente determinata dalle sue componenti g e h. Questo suggerisce la seguente notazione compatta f (0, x) = g (x) f = Rec g h per f = f (y + 1, x) = h(y , f (y , x), x) f (0, x) = g (x) f = Ite g h per f = f (y + 1, x) = h(f (y , x)) Rec e Ite sono esempi significativi di funzionali, ovvero funzioni di ordine superiore che operaro su altre funzioni. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 36
    • La funzione di Ackermann ack(0, 0, y ) = y ack(0, x + 1, y ) = ack(0, x, y ) + 1 ack(1, 0, y ) = 0 ack(z + 2, 0, y ) = 1 ack(z + 1, x + 1, y ) = ack(z, ack(z + 1, x, y ), y ) Funzione di Ackermann La funzione di Ackermann ` ben definita, implementabile, e terminante; e tuttavia non ` esprimibile nel formalismo primitivo ricorsivo. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 37
    • Istanze della funzione di Ackermann Consideriamo le istanze parziali ackz,y x = ack(z, x, y ) In base alle prime due equazioni ack0,y (x) = x + y In base all’ultima equazione abbiamo inoltre che ackz+1,y (x) = ackz,y (ackz+1,y (x − 1)) = ackz,y (ackz,y (ackz+1,y (x − 2))) = ackz,y (ackz,y (. . . ackz,y (ackz+1,y (0)) . . . )) x volte Dunque il risultato di ackz+1,y (x) si ottiene iterando x volte la funzione del livello sottostante ackz,y a partire dal valore base ackz+1,y (0). Le equazione 3 e 4 fissano rispettivamente tale valore base a 0 per z = 1 e a 1 per z ≥ 2. Dunque ack1,y = Ite 0 ack0,y ackz+2,y = Ite 1 ackz+1,y Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 38
    • Crescita della funzione di Ackermann Esplicitando i primi livelli della funzione abbiamo: ack(0, x, y ) = x +y ack(1, x, y ) = x ∗y ack(2, x, y ) = yx .y .. ack(3, x, y ) = yy x volte La funzione di Ackermann cresce dunque molto velocemente; ad esempio ack(3, x, y ) = 327 > 1014 La complessit` della funzione di Ackermann trascende il potere espressivo del a linguaggio primitivo ricorsivo. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 39
    • Iterare un iteratore Posto next f = Ite 1 f abbiamo ackz+2,y = next ackz+1,y e in generale (∗) ackz+1,y = Ite ack1,y next z Se per calcolare Ackermann ` sufficiente iterare, perch` non ` primitiva e e e ricorsiva? Perch` (*) richiede di iterare un funzionale (funzione di ordine superiore). e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 40
    • Iterare un iteratore Posto next f = Ite 1 f abbiamo ackz+2,y = next ackz+1,y e in generale (∗) ackz+1,y = Ite ack1,y next z Se per calcolare Ackermann ` sufficiente iterare, perch` non ` primitiva e e e ricorsiva? Perch` (*) richiede di iterare un funzionale (funzione di ordine superiore). e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 41
    • Un linguaggio di ordine superiore: Il sistema T di G¨del o TIPI: B, N , T1 × T2 , T1 → T2 TERMINI: variabili : x, y , z, . . . ; costanti : 0, S, True, False, Fst, Snd, If, Rec. coppie < M, N > applicazione (M N) astrazione λx : T .M Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 42
    • Regole di tipizzazione per T (costanti) 0 : N S : N →N True : B False : B Fst : T1 × T2 → T1 Snd : T1 × T2 → T2 If : T →T →B→T Rec : T → (N → T → T ) → N → T Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 43
    • Regole di tipizzazione per T (termini strutturati) Predicato di buona tipizzazione Γ M:T leggi: il termine M ha tipo T nel contesto Γ. Il contesto ` un insieme di dichiarazioni di tipo della forma x : Tx . e Ogni variabile libera in M deve essere dichiarata nel contesto. Γ M : T1 Γ N : T2 coppia Γ < M, N > : T1 × T2 Γ M : T1 → T2 Γ N : T1 applicazione Γ (M N) : T2 Γ, x : T1 M : T2 astrazione Γ λx : T1 .M : T1 → T2 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 44
    • Regole di riduzione per T (Fst) (Fst < M, N >) → M (Snd) (Snd < M, N >) → N (β) (λx : T .M N) → M[N/x] (If true) (If M N true) → M (If false) (If M N false) → N (Rec O) (Rec M N O) → M (Rec S) (Rec M N (S P)) → (N P (Rec M N P)) Remark: il tipo ` invariante per riduzione (subject reduction). e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 45
    • Gerarchie di Linguaggi Totali Sistema F Funzioni dimostrabilmente totali nell’aritmetica del second’ordine Sistema T Funzioni dimostrabilmente totali nell’aritmetica del prim’ordine Primitive Ricorsive Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 46
    • Il problema dell’Interprete Sia data una enumerazione effettiva (e.g. lessicografica) Pn dei programmi del linguaggio L, e sia ϕn la funzione calcolata dal programma Pn . Un interprete per L ` una funzione che preso in input l’indice n di un e programma ed un input m simula il comportamento di Pn su tale input, cio` e una funzione I tale che I (n, m) = ϕn (m) Se la numerazione dei programmi ` effettiva, I ` intuitivamente calcolabile. e e Ci chiediamo se l’interprete per L pu` essere scritto in L, cio` se esiste u tale o e che I = ϕu . Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 47
    • Incompletezza algoritmica dei Formalismi Totali Supponiamo che esista u tale che I (n, m) = ϕu (n, m) = ϕn (m). Consideriamo la funzione f (x) = ϕu (x, x) + 1 = ϕx (x) + 1 Se il linguaggio L ` chiuso per composizione f ∈ L, e dunque deve esistere un e programma i tale che ϕi = f . Ma allora ϕi (i) = f (i) = ϕi (i) + 1 che ` assurdo. e Teorema Nessun formalismo totale ` in grado di esprimere il proprio interprete. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 48
    • Le Macchine di Turing e la Tesi di Church - Lezioni 6, 7 Costrutti computazionali potenzialmente divergenti La tesi di Church Le Macchine di Turing La Macchina universale Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 49
    • Alcuni importanti costrutti potenzialmente divergenti goto cicli while minimizzazione (µ-ricorsione illimitata) ricorsione generale costrutti autoreferenziali (auto-applicazione, auto-interpretazione) ... I linguaggi parziali ammettono tipicamente la definizione del loro proprio interprete. Abbiamo una gerarchia infinita di linguaggi parziali con potere espressivo crescente? Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 50
    • Sulla auto-applicazione L’auto applicazione induce divergenza. Posto f x =x x la computazione di f f non termina. L’auto applicazione permette di simulare la ricorsione. Supponiamo di voler definire una funzione ricorsiva f tale che f x = M[f , x] Consideriamo la funzione ausiliaria h y x = M[y y , x] dove le occorrenze di f in M sono state rimpiazzate dalla auto applicazione y y . Posto f = h h abbiamo f x = h h x = M[h h, x] = M[f , x] Remark: L’auto applicazione ` il tipico esempio di costrutto mal tipato. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 51
    • Modelli di calcolo (Term) rewriting systems (Thue 1914, Post 1920) Combinatory Logic (Sch¨nfinkel, Curry 1924) o Funzioni definite da equazioni ricorsive (Herbrand 1931, G¨del 1934, o Kleene 1936) λ-calcolo (Church 1936) Turing machines (Turing 1936) Funzioni µ-ricorsive (Kleene 1938) Markov algorithms (Markov 1954) Register machines (Shepherdson, Sturgis 1963) ... Tutti questi modelli (e molti altri) sono computazionalmente equivalenti. Le funzioni esprimibili in questi modelli sono dette funzioni calcolabili. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 52
    • La tesi di Church Church Le funzioni calcolabili sono esattamente quelle intuitivamente calcolabili medi- ante una procedura effettiva di calcolo. ”Tarski has stressed in his lecture (and I think justly) the great importance of the concept of general recursiveness (or Turing’s computability). It seems to me that this importance is largely due to the fact that with this concept one has for the first time succeeded in giving an absolute notion to an interesting epistemological notion, i.e., one not depending on the formalism chosen.” (G¨del 1946) o Remark: La tesi di Church non pu` essere dimostrata. o Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 53
    • La Macchina di Turing b b b 0 0 1 1 0 b b q Hardware un nastro di memoria illimitato, diviso in celle di dimensione fissata. Ogni cella pu` contenere un carattere di un alfabeto dato, compreso un o carattere b (bianco) di inizializzaizone. una testina di lettura mobile. un automa a stati finiti. Operazioni elementari leggere e scrivere il carattere individuato dalla testina spostare la testina di una posizione verso destra o verso sinistra modificare lo stato interno dell’automa Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 54
    • La Macchina di Turing: definizione formale Una Macchina di Turing (one-tape, deterministica) ` una tupla e Q, Γ, b, Σ, δ, q0 , F dove Q ` un insieme finito di stati e Γ ` l’alfabeto finito del nastro e b ∈ Γ ` il carattere bianco e Σ ⊆ Γ {b} ` l’insieme dei caratteri di input/output e q0 ∈ Q ` lo stato iniziale e F ⊆ Q ` l’insieme degli stati finali (o di accettazione) e δ : Q F × Γ → Q × Γ × {L, R} ` la funzione di transizione. e L (left) e R (right) denotano le possibili mosse della testina. Remark: la funzione di transizione ha un grafo finito. Ogni elemento del grafo ` una quintupla (q, a, q , a , M) tale che δ(q, a) = (q , a , M). L’insieme finito e delle quintuple pu´ essere visto come l’insieme delle istruzioni della macchina o (programma), e la determina univocamente. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 55
    • Convenzioni di input-output input si suppone che il nastro sia inizializzato con la stringa di input (un carattere per ogni cella) la testina ` posizionata sul primo carattere dell’input. e tutte le altre celle del nastro sono inizializzate col carattere speciale b. output nel momento in cui la macchina si arresta l’output ` la pi` lunga stringa e u di caratteri in Γ (in particolare, senza b) alla destra della testina Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 56
    • Configurazioni istantanee Una configurazione ` una descrizione dello stato della computazione ad un dato e istante della computazione. Questa ` definita come una tripla e σ, q, τ dove q ` lo stato dell’automa e σ e τ sono due stringhe di caratteri che e descrivono la porzione non (definitivamente) bianca del nastro alla sinistra e alla destra della testina. Il carattere in lettura ` il primo carattere di τ . e La computazione avviene per passi discreti: una transizione tra due configurazioni ` una relazione governata dalla funzione di transizione. e σ, q, aτ σa , q , τ se δ(q, a) = (q , a , R) σc, q, aτ σ, q , ca τ se δ(q, a) = (q , a , L) Nelle regole precedenti si suppone che il nastro possa essere esteso “on demand” con caratteri bianchi qualora se ne abbia necessit`.a Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 57
    • Computazioni ∗ La relazione denota la chiusura transitiva e riflessiva della relazione . Una funzione f : Σ∗ → Σ∗ ` calcolata da una macchina di Turing M se per e ogni α esiste qf ∈ F tale che ∗ , q0 , α σ, qf , τ e f (α) ` il pi` lungo prefisso di τ appartenente a Σ∗ e u Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 58
    • L’essenza della Macchina di Turing Agente di calcolo con potenzialit` finite, che procede per passi discreti. a Ad ogni passo posso prendere visione di una porzione finita dello spazio (discretizzato) circostante (compreso un eventuale stato interno) modificare una porzione finita di tale spazio, spostarmi di una distanza finita in tale spazio Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 59
    • La Macchina di Turing Universale Esiste una MdT Universale che prende in input la sequenza di quintuple di una macchina M, un input m e simula il comportamento di M su input m. divido il nastro in una parte superiore ed una inferiore. La parte superiore ` utilizzata per memorizzare le e quintuple della MdT da simulare M, quella inferiore ` il nastro di lavoro, su cui viene inizialmente copiato il e dato di input m; lo stato interno comprende tre “registri” speciali Q, A e S utilizzati per memorizzare rispettivamente lo M stato della macchina M, il carattere di lettura/scrittura e lo shift (R/L) della testina; inizialmente Q = q0 , letto il carattere a sul nastro inferiore, rimpiazzo a con un carattere speciale per ricordare la posizione della testina e memorizzo a nel registro A; procedo dunque a cercare nella parte superiore del nastro una quintupla relativa ai valori correnti di Q e A; quando la trovo, rimpiazzo i contenuti dei registri con il valore del nuovo stato q , del carattere da scrivere a e della mossa da eseguire s; se q ´ finale la computazione si arresta; e torno quindi a cercare il carattere sul nastro iferiore, lo rimpiazzo con il contentenuto di A, eseguo la mossa S e ricomincio il ciclo; Se leggo l’insieme delle quintuple come la codifica numerica (indice) di M, la MdT Universale ` un interprete nel senso precedentemente esposto. e La Macchina Universale permette di eseguire tutti i programmi con un unico hardware: ` a tutti gli effetti l’antesignano del moderno elaboratore elettronico. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 60
    • Numerazioni di G¨del - Lezione 8 o Numerazioni accettabili Propriet` utm e smn a Riducibilit` di enumerazioni a Il teorema di equivalenza di Roger Il predicato T di Kleene Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 61
    • Numerazioni accettabili Sia data una enumerazione ϕk delle funzioni parziali calcolabili a k argomenti. i Se la numerazione ` effettiva, ci aspettiamo che esista un interprete: e Propriet` utm (Universal Turing Machine) a Esiste un indice u tale che per ogni x, y ϕu (x, y ) = ϕx (y ) Inoltre ci aspettiamo che esista un modo effettivo per determinare i codici dei programmi ottenuti per valutazione parziale di programmi dati: Propriet` smn a Per ogni funzione parziale calcolabile f m+n esiste una funzione totale calcolabile m sn tale che, per ogni xm , yn ϕsn (xm ) (yn ) = f (xm , yn ) m Una enumerazione che gode delle propriet` utm e smn ` detta accettabile. a e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 62
    • Riducibilit` di enumerazioni a Siano date due funzioni di enumerazione ϕ, ψ : N → A. 1. ψ ` riducibile a ϕ (in simboli: ψ ≤ ϕ) se esiste una funzione totale e calcolabile f tale che, per ogni numero naturale n, ψn = ϕf (n) 2. ψ ` equivalente a ϕ (in simboli: ψ ≡ ϕ) se ψ ≤ ϕ e ϕ ≤ ψ. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 63
    • Il teorema di equivalenza di Roger Roger Tutte le enumerazioni accettabili di funzioni parziali ricorsive sono equivalenti tra loro. In particolare ` possibile dimostrare che, supposto ϕ accettabile, e ψ ≤ ϕ ⇔ ψ soddisfa la propriet` utm a ϕ ≤ ψ ⇔ ψ soddisfa la propriet` smn a smn ϕ _ψ < ψ≅ϕ ψ_ϕ < utm Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 64
    • Dimostrazione del teorema di Roger Sia u l’indice di un interprete per ϕ. ψ ≤ ϕ ⇔ ψ soddisfa la propriet` utm: a ⇒ Se esiste f t.c. tale che ψn = ϕf (n) , allora la funzione ϕu (f (n), m) ´ calcolabile e deve essere enumerata da ψ. e L’indice di tale funzione soddisfa utm. ⇐ Preso u tale che ψu (x, y ) = ψx (y ), per smn esiste s t.c. tale che ϕs(x) (y ) = ψu (x, y ) = ψx (y ). ϕ ≤ ψ ⇔ ψ soddisfa la propriet` smn a ⇒ Sia f t.c. tale che ϕn = ψf (n) . Data una funzione calcolabile g (n, m) esiste s t.c. tale che ϕs(n) (m) = g (n, m); allora f ◦ s soddisfa smn per ψ. ⇐ Si consideri la funzione t.c. ϕu (x, y ) = ϕx (y ); la funzione s tale che ψs(x) (y ) = ϕu (x, y ) riduce ϕ a ψ. Fissare una particolare enumerazione non ` pi` rilevante e u che fissare un sistema di riferimento sul piano cartesiano. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 65
    • Il predicato T di Kleene Il predicato T di Kleene Esiste un predicato T (i, n, k, t) tale che 1. ϕi (n) = k ⇔ ∃t ≥ k, T (i, n, k, t) 2. la funzione caratteristica di T ` calcolabile e T ` il predicato (intuitivamente calcolabile) che afferma che la computazione e del programma di indice i su input n termina con risorse fissate (e.g. tempo o spazio) t e fornisce come risultato k. Si suppone che le risorse necessarie a produrre k siano almeno pari a k (fissando opportunamente l’unita di misura). Si osservi che anche la funzione caratteristica del predicato T 3 (i, n, t) = ∃k, T (i, n, k, t) ≡ ∃k ≤ t, T (i, n, k, t) ` ancora calcolabile, ovvero e ` E possibile decidere se una computazione si arresta in un tempo dato Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 66
    • La forma normale di Kleene Il predicato T di Kleene fornisce una visione pi` fine della nozione di interprete, u in cui si evidenzia la nozione di costo computazionale. In particolare Teorema della forma normale di Kleene Per ogni i, n ϕi (n) = fst(µ k,t T (i, n, k, t)) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 67
    • Funzioni non calcolabili - Lezione 9 Notazione Terminazione Totalit` a Equivalenza Tre funzioni “simili” Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 68
    • Un po’ di notazione Sia ϕi una enumerazione accettabile delle funzioni parziali calcolabili. Useremo la notazione ϕi (n) ↓ per indicare che la funzione ` definita (converge) e per input n, e ϕi (n) ↑ quando ` indefinita (o diverge) per tale input. e Definiamo dominio (dom) di ϕi il suo insieme di convergenza, ossia dom(ϕi ) = {n|ϕi (n) ↓} Il codominio (cod) di ϕi ` l’insieme dei possibili output: e cod(ϕi ) = {m|∃n, ϕi (n) = m} Le funzioni parziali sono ordinate parzialmente rispetto all’inclusione insiemistica dei loro grafi: ϕi ⊆ ϕj ⇔ ∀n ∈ dom(ϕi ), ϕi (n) = ϕj (n) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 69
    • Il problema della terminazione Il test di terminazione ` cosi definito: e 1 se ϕi (x) ↓ h(i, x) = 0 se ϕi (x) ↑ Consideriamo ora la funzione f , definita come segue: 1 se h(x, x) = 0 ⇔ ϕx (x) ↑ f (x) = ↑ se h(x, x) = 1 ⇔ ϕx (x) ↓ Se h ` calcolabile lo ` anche f . Dovrebbe dunque esistere m tale che f = ϕm . e e Supposto f = ϕm , ci chiediamo quanto vale ϕm (m): 1 se h(m, m) = 0 ⇔ ϕm (m) ↑ ϕm (m) = ↑ se h(m, m) = 1 ⇔ ϕm (m) ↓ il che ` assurdo. Questo dimostra che e il test di terminazione non ` una funzione calcolabile! e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 70
    • Il problema della totalit` a 1 se ϕi e totale ` total(i) = 0 altrimenti Consideriamo una funzione ausiliaria definita nel modo seguente: 0 se ϕx (x) ↓ f (x, y ) = ↑ altrimenti La funzione f ` calcolabile. e Per il teorema s.m.n. esiste h totale calcolabile tale che 0 se ϕx (x) ↓ ϕh(x) (y ) = f (x, y ) = ↑ altrimenti Avremmo allora 1 se ϕx (x) ↓ total(h(x)) = 0 se ϕx (x) ↑ Sappiamo che total ◦ h non ` calcolabile, e dunque non lo ` neppure total. e e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 71
    • Il problema della equivalenza estensionale di programmi 1 se ϕi ≈ ϕj eq(i, j) = 0 altrimenti Consideriamo la funzione costante 0, e sia m un indice per essa. Consideriamo la funzione h della sezione precedente: 0 se ϕx (x) ↓ ϕh(x) (y ) = ↑ se ϕx (x) ↑ Poniamo 1 se ϕx (x) ↓ f (x) = eq(h(x), m) = 0 altrimenti f non ` calcolabile e dunque neppure eq. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 72
    • Tre funzioni simili 1 se ∃n, ϕi (n) ↓ g (i) ≡ 0 altrimenti 1 se ∃n, ϕi (n) ↓ g (i) ≡ ↑ altrimenti minimo n, ϕi (n) ↓ se ∃n, ϕi (n) ↓ g (i) ≡ ↑ altrimenti Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 73
    • La funzione g Consideriamo la solita funzione calcolabile h: 0 se ϕx (x) ↓ ϕh(x) (y ) = ↑ se ϕx (x) ↑ 1 se ϕx (x) ↓ f (x) = g (h(x)) = 0 altrimenti f non ` calcolabile e dunque neppure g . e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 74
    • La funzione g 1 se ∃n, ϕi (n) ↓ g (i) ≡ ↑ altrimenti Accortezza: muoversi con una tecnica di dovetaling tra i due infiniti dei possibili valori di input e del tempo di esecuzione. Sia t(i, n, s) la funzione caratteristica del predicato (ternario) T di kleene. g (i) = µ n, s .t(i, n, s) = 1; return 1 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 75
    • La funzione g minimo n, ϕi (n) ↓ se ∃n, ϕi (n) ↓ g (i) ≡ ↑ altrimenti Consideriamo la seguente funzione h totale calcolabile 0 se y > 0 ∨ ϕi (i) ↓ ϕh(i) (y ) = f (i, y ) = ↑ altrimenti ϕh(i) (0) ↓ se e solo se ϕi (i) ↓. Inoltre ϕh(i) (1) ↓. Dunque 0 ϕi (i) ↓ g (h(i)) ≡ 1 altrimenti Se g fosse calcolabile risolveremmo il problema della terminazione diagonale. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 76
    • Insiemi ricorsivi e r.e. - Lezioni 10,11 Insiemi ricorsivi Insiemi ricorsivamente enumerabili (r.e) Enumerabilit` crescente a Caratterizzazioni equivalenti Il Teorema di proiezione Propriet` di chiusura a Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 77
    • Insiemi ricorsivi Un insieme si dice ricorsivo (o decidibile) se la sua funzione caratteristica ` e calcolabile. Esempi 1. l’insieme vuoto e l’insieme N di tutti i numeri naturali 2. ogni insieme finito 3. l’insieme dei numeri pari 4. l’insieme dei numeri primi 5. tutti gl insiemi definiti da predicati primitivi ricorsivi Non ogni insieme ` ricorsivo e (contro) Esempio: K = {x|ϕx (x) ↓} Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 78
    • Proriet` di chiusura degli insiemi ricorsivi a Lemma Gli insiemi ricorsivi sono chiusi rispetto alle operazioni di unione, intersezione e complementazione. Siano A e B insiemi ricorsivi, e siano ca e cB le loro funzioni caratteristiche. Allora: cA (n) = 1 − cA (n) cA∧B (n) = min{cA (n), cB (n)} cA∨B (n) = max{cA (n), cB (n)} Gli insiemi ricorsivi, ordinati rispetto alla relazione di inclusione insiemistica, formano quindi un reticolo booleano (Algebra di Boole). Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 79
    • Insiemi ricorsivamente enumerabili Un insieme si dice ricorsivamente enumerabile (r.e.) se ` vuoto oppure ` il e e codominio di una funzione totale calcolabile (detta funzione di enumerazione). Lemma Ogni insieme ricorsivo ` anche r.e. e Sia A ricorsivo e sia cA la sua funzione caratteristica. Il caso in cui A ` finito ` banale. e e Supponiamo A infinito: f (0) = µy , cA (y ) = 1 f (x + 1) = µy , cA (y ) = 1 ∧ y > f (x) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 80
    • Enumerabilit` crescente a Lemma Un insieme A ` ricorsivo se e solo se pu` essere enumerato in modo crescente. a o ⇒ si veda la prova del lemma precedente ⇐ Se A ` finito l’asserto ` ovvio. Possiamo dunque suppore A infinito; sia f la e e funzione di enumerazione. Definiamo la seguente funzione: cA (x) = f (µy f (y ) ≥ x) = x (scandisco tutti i dati enumerati da f finch´ non ne trovo uno non inferiore e all’input x: a questo punto arresto la ricerca e verifico se il dato coincide con l’input cercato). Il fatto (non ovvio) che cA ` totale ` una conseguenza del fatto che A ` infinito e e e e dunque cod(f ) contiene valori arbitrariamente grandi (superiori ad ogni x). Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 81
    • Teorema di complementazione Teorema Un insieme A ` ricorsivo se e solo se sia A che A sono r.e. e ⇒ ovvio. ⇐: Supponiamo che A e A siano rispettivamente enumerati da f e g . Poniamo h(2x) = f (x) h(2x + 1) = g (x) h ` suriettiva su N. Sia pari(n) la funzione caratteristica dell’insieme dei e numeri pari. cA (n) = pari(µy (h(y ) = n) cA ` calcolabile e totale. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 82
    • Caratterizzazioni equivalenti degli insiemi r.e. Teorema Sia A un insieme di numeri naturali. Le seguenti affermazioni sono equivalenti: 1. A = ∅ ∨ ∃f : A = cod(f ), f totale calcolabile 2. ∃g : A = dom(g ), g parziale calcolabile 3. ∃h : A = cod(h), h parziale calcolabile 1 ⇒ 2 Il caso A = ∅ ` ovvio. Sia A = cod(f ) per f tot. calc., poniamo e g (x) = µy (f (y ) = x) Chiaramente g ` calcolabile e g (x) ↓ se e solo se x ∈ cod(f ). e 2 ⇒ 3 Sia A = dom(g ); basta considerare h(x) = x + 0 ∗ g (x) 3 ⇒ 1 Sia A = cod(h), per h parziale calcolabile. Il caso A = ∅ ` triviale. Posto a ∈ A e h = ϕi consideriamo e k se T (i, x, k, s) = 1 f ( x, k, s ) = a altrimenti dove T ` il predicato di kleene. f ` totale e calcolabile e cod(f ) = A. e e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 83
    • Semidecidibilit` a A decidibile A semidecidibile 1 se x ∈ A ↓ se x ∈ A f (x) = f (x) = 0 se x ∈ A ↑ se x ∈ A per f calcolabile Esistono insiemi semidecidibili (r.e) ma non decidibili (ricorsivi): Teorema L’insieme K = {x|ϕx (x) ↓} ` r.e. e La funzione k(x) = ϕx (x) ` calcolabile e K = dom(k). e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 84
    • Enumerazione degli insiemi r.e. Possiamo definire una enumerazione W : N → RE dell’insieme RE di tutti gli insiemi r.e. ponendo Wi = dom(ϕi ) Si noti che K = {x|ϕx (x) ↓} = {x|x ∈ dom(ϕx )} = {x|x ∈ Wx } Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 85
    • Il teorema di proiezione Teorema di proiezione Un insieme A ` r.e. se e solo se esiste un insieme B ricorsivo tale che e A = {m|∃n, n, m ∈ B} ⇐ Sia cB la funzione caratterisitca di B. Allora A = dom(f ) dove f (m) = µn, cB ( n, m ) = 1 ⇒ Sia A = dom(ϕi ). Dunque m ∈ A se e solo se ϕi (m) ↓, se e solo se ∃n, T (i, n, m), dove T ` il predicato ternario di Kleene. e Basta dunque porre B = { n, m |T (i, n, m)} Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 86
    • Propriet` di chiusura degli insiemi r.e. a Teorema Gli insiemi r.e. sono chiusi rispetto a unione e intersezione, ma non rispetto alla complementazione. unione Sia A = cod(f ) e B = cod(g ) con f’ e g’ parziali calc. A ∨ B = cod(h ) dove h (2x) = f (x) h (2x + 1) = g (x) intersezione Sia A = dom(f ) e B = dom(g ) per f , g parziali calc. A ∧ B = dom(h) per h(x) = f (x) ∗ g (x). complementazione K non ` r.e. (altrimenti K sarebbe ricorsivo). e Corollario Esistono insiemi che non sono n` ricorsivi n` ricorsivamente e e enumerabili (e.g. K ). Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 87
    • Propriet` di chiusura rispetto a funzioni a Teorema Siano A, B ⊆ N e f : N → N 1. se A ` ricorsivo e f ` totale calcolabile, allora f −1 (A) ` ricorsivo e e e 2. se A ` r.e. e f ` calcolabile, allora f −1 (A) ` r.e e e e 3. se A ` r.e. e f ` calcolabile, allora f (A) ` r.e e e e 1. cf −1 (A) = cA ◦ f 2. se A = dom(g ), allora f − 1(A) = dom(g ◦ f ) 3. se A = cod(g ), allora f (A) = cod(f ◦ g ) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 88
    • Unioni e interesezioni infinite Lemma 1) una unione r.e. di insiemi r.e. ` ancora r.e. e 2) una interesezione r.e. di insiemi r.e. non ` necessarimente r.e. e 1) per ogni x Wi ` r.e. e 2) esiste x Wi non ` r.e. e i∈Wx i∈Wx 1) Per dovetailing. 2) Per smn esiste h totale calcolabile tale che Wh(i) = {x|¬T (x, x, i)} dove T ` il predicato di Kleene. Si dimostra facilmente che e Wh(i) = K i∈N Poich` e i∈N Wh(i) = i∈cod(h) Wi l’asserto ` dimostrato. e Remark: gli insiemi Wh(i) sono ricorsivi e h pu´ essere scelta monotona crescente, o quindi una intersezione ricorsiva di insiemi ricorsivi non ` in generale r.e. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 89
    • I teoremi di Rice e Rice-Shapiro - Lezioni 12,13 Insiemi estensionali Il teorema di Rice Il teorema di Rice-Shapiro (monotonia) Il teorema di Rice-Shapiro (compattezza) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 90
    • Insiemi estensionali Un insieme (propriet´) A ⊆ N si dice estensionale (w.r.t ϕ) se per ogni i, j a i ∈ A ∧ ϕi ≡ ϕj ⇒ j ∈ A Ovvero, se cA ` la funzione caratteristica di A, e ϕi ≡ ϕj ⇒ cA (i) = cA (j) Una propriet` estensionale di (indici di) programmi ` una propriet` relativa alla a e a funzione calcolata (estensione) e non alla forma o al modo (intensione) in cui questa viene calcolata. P(i) estensionale P(i) intensionale ϕi ` totale e ∀n∃k, T (i, n, k, i 2 ) ϕi ≡ f ϕi ≡ f ∧ i ≤ 100 5 ∈ cod(ϕi ) i ∈ cod(ϕi ) dom(ϕi ) ` finito e |dom(ϕi )| > i ϕi (0) ↑ ϕi (i) ↑ ∃n, ϕi (n) ↓ ∧ϕi (n + 1) ↓ ϕi ≡ ϕi+1 Remark: Il complementare di un insieme estensionale ` estensionale e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 91
    • Il teorema di Rice Rice 1953 Una propriet` estensionale di programmi ` decidibile se e solo se ` banale. a e e Sia c la funzione caratteristica del predicato. Sia m un indice per la funzione ovunque divergente, e sia a tale c(a) = c(m). Cerco h calcolabile tale che φa if x ∈ K φh(x) ≈ φm if x ∈ K Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 92
    • Definizione di h Consideriamo la funzione φh(x) (y ) = φx (x); φa (y ) dove “;” denota la composizione sequenziale. Per la popriet` smn h ` totale e calcolabile. a e ` E banale verificare che φa if x ∈ K φh(x) ≈ φm if x ∈ K Dunque, utilizzando l’ipotesi di estensionalit´, avremmo a c(a) if x ∈ K c(h(x)) = c(m) if x ∈ K che permetterebbe di decidere l’appartenenza a K . Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 93
    • Uso del teorema di Rice Uso diretto, per dimostrare che determinate propriet` (essendo a estensionali) non sono decidibili. Uso indiretto, per dimostrare che determinate propriet` estensionali non a sono neppure semidecidibili (basta dimostrare che il complementare ` r.e.) e Esempio: A = { i |ϕi (0) ↓} A non ` banale, e dunque, per Rice, non pu` essere ricorsivo (uso diretto); e o d’altra parte A ` r.e., dunque e A = { i |ϕi (0) ↑} non ` neppure r.e. altrimenti sia A che A sarebbero ricorsivi, contraddicendo il e risultato di Rice (uso indiretto). Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 94
    • Monotonia e compattezza Sia A un insieme estensionale (rispetto a ϕ) di numeri naturali A ` detto monotono se per ogni i e j e i ∈ A ∧ ϕi ⊆ ϕj → j ∈ A A ` detto compatto se per ogni i ∈ A esiste j ∈ A tale che e 1. il grafo di ϕj ` finito e 2. ϕj ⊆ ϕi insieme monotonia compattezza { i |ϕi (0) ↓} si si { i |ϕi ` totale} e si no { i |cod(ϕi ) ` finito} e no si { i |dom(ϕi ) e dom(ϕi ) sono infiniti} no no Remark: se A e A sono entrambi monotoni allora sono banali. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 95
    • Rice-Shapiro (monotonia) Rice-Shapiro (monotonia) Ogni insieme estensionale A ricorsivamente enumerabile ´ monotono. e Supponiamo che esistano due indici i e j tali che i ∈ A, j ∈ A and ϕi ≤ ϕj . Consideriamo la funzione ϕf (x) (y ) = ϕi (y )|(ϕx (x); ϕj (y )) dove “|” denota la composizione parallela (l’output ` quello del primo thread e ` terminante). E facile vedere che φj if x ∈ K φf (x) ≈ φi if x ∈ K (nel caso x ∈ K uso l’ipotesi ϕi ≤ ϕj ). Dunque f (x) ∈ A ⇔ x ∈ K e K sarebbe r.e., il che ´ assurdo. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 96
    • Rice-Shapiro (compattezza) Rice-Shapiro (compattezza) Ogni insieme estensionale A ricorsivamente enumerabile ´ compatto. e Sia A un insieme estensionale ricorsivamente enumerabile. Supponiamo che i ∈ A e che per ogni j tale che ϕj ⊆ ϕi e ϕj ` finito si abbia j ∈ A. e Consideriamo la funzione f totale calcolabile definita come segue (per smn) ↑ if ϕx (x) ↓ in meno di y passi ϕf (x) (y ) = ϕi (y ) otherwise Se x ∈ K allora ϕf (x) ≈ ϕi e dunque f (x) ∈ A. Se x ∈ K allora la computazione di ϕx (x) terminer` in un numero finito t di a passi, e la funzione ϕf (x) converger` solo per valori di input y ≤ t. a Dunque f (x) ` un indice per una sottofunzione finita di ϕi , e per ipotesi e f (x) ∈ A. In conclusione f (x) ∈ A ⇔ x ∈ K e K sarebbe r.e., il che ´ assurdo. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 97
    • Applicazioni di Rice-Shapiro I teoremi di Rice-Shapiro permettono di dimostrare facilmente che determinati insiemi estensionali non sono r.e. Ad esempio: { i |ϕi ` totale} non ` r.e. in quanto non ` compatto e e e { i |cod(ϕi ) ` finito} non ` r.e. in quanto non ` monotono e e e Warning: Esistono insiemi estensionali monotoni e compatti ma non r.e., ad esempio { i |dom(ϕi ) ∩ K = ∅}. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 98
    • Il teorema del punto fisso di Kleene - Lezione 14 primo teorema di ricorsione secondo teorema di ricorsione applicazioni Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 99
    • Il teorema del punto fisso di Kleene Teorema del punto fisso (Kleene) Per ogni funzione totale calcolabile f esiste m tale che ϕf (m) ≈ ϕm Per smn esiste h totale e calcolabile tale che ϕh(x) (y ) = g (x, y ) = ϕf (ϕx (x)) (y ) Sia p un indice per h e poniamo m = ϕp (p) = h(p) (che ` sicuramente definito e in quanto h ` totale). Allora, per ogni y e ϕm (y ) = ϕh(p) (y ) = g (p, y ) = ϕf (ϕp (p)) (y ) = ϕf (m) (y ) L’interprete permette di simulare la ricorsione! Supponiamo di voler definire una funzione ricorsiva f tale che f x = M[f , x] Per smn esiste g totale calcolabile tale che ϕg (i) (x) = M[ϕi , x]. Allora f = ϕm dove m ´ il punto fisso di g . e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 100
    • Il secondo teorema di ricorsione Secondo Teorema di ricorsione di Kleene Per ogni funzione binaria totale calcolabile f esiste una funzione calcolabile s tale che, per ogni y ϕf (s(y ),y ) ≈ ϕs(y ) Per smn esistono r , h totali e calcolabili tale che ϕϕr (y ) (x) (z) = ϕh(x,y ) (z) = g (x, y , z) = ϕf (ϕx (x),y ) (z) Posto s(y ) = ϕr (y ) (r (y )) abbiamo, per ogni z ϕs(y ) (z) = ϕϕr (y ) (r (y )) (z) = ϕh(r (y ),y ) (z) = ϕf (ϕr (y ) (r (y )),y ) (z) = ϕf (s(y ),y ) (z) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 101
    • Applicazioni del teorema del punto fisso L’uso del teorema del punto fisso per simulare ricorsione ` particolarmente e pulito, in quanto la funzione g ` estensionale, nel senso che e ϕi ≡ ϕj ⇒ ϕg (i) ≡ ϕg (j) Tuttavia il teorema ` vero per qualunque trasformazione effettiva. e Ad esempio: in ogni enumerazione accettabile di programmi esistono sicuramente due programmi consecutivi con comportamenti identici, ovvero esiste i tale che ϕi+1 ≡ ϕi Dimostrazione: si prenda il punto fisso del successore. Esiste un programma che “stampa se stesso”, cio` esiste i tale che e ϕi (0) = i Dimostrazione: Per smn esiste h tale che ϕh(x) (y ) = x; se ne prenda un punto fisso. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 102
    • Dimostrazione alternativa del teorema di Rice Supponiamo per assurdo che A sia ricorsivo, ma non banale. Esistono dunque i e j tali che i ∈ A e j ∈ A. Considero la seguente funzione: ı se x ∈ A h(x) =  se x ∈ A Per definizione h(x) ∈ A ⇔ x ∈ A Inoltre, se A ` ricorsivo h ` totale calcolabile e per il teorema del punto fisso di e e Kleene, esiste un indice b tale che ϕb = ϕh(b) . Avremmo quindi b ∈ A ⇔ h(b) ∈ A ⇔ b ∈ A che ` una contraddizione. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 103
    • Riducibilit` - Lezioni 15,16 a La nozione di (m-)riducibilit` a m-completezza Insiemi produttivi e creativi Il problema di Post Insiemi immuni e semplici Complessit` di Kolmogorov a Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 104
    • Definizione di riducibilit` a Siano A, B ⊆ N ; A si dice riducibile (m-riducibile) a B (in simboli A ≤m B), se esiste una funzione totale e calcolabile f tale che x ∈ A ⇔ f (x) ∈ B Due insiemi si dicono equivalenti (m-equivalenti) (in simboli A =m B), se A ≤m B e B ≤m A; Osservazioni: la relazione ≤m ´ un preordine (i.e. ´ riflessiva e transitiva) e e la relazione = m ´ una relazione di equivalenza e A ≤m B se e solo se A ≤m B se A ≤m B e B ` ricorsivo (risp. r.e.) allora A ` ricorsivo (risp. r.e.) e e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 105
    • K0 =m K Sia K0 = { i, n |n ∈ Wi } K ≤m K0 . Siccome i ∈ K ⇒ i ∈ Wi ⇒ i, i ∈ K0 la funzione f (x) = x, x permette di ridurre K a K0 . K0 ≤m K . Consideriamo la funzione totale calcolabile h per cui ϕh(i,x) (y ) = g (i, x, y ) = ϕi (x) Abbiamo i, n ∈ K0 ⇔ n ∈ Wi ⇔ ∀y , ϕh(i,n) (y ) ↓ ⇔ ϕh(i,n) h(i, n) ↓ ⇔ h(i, n) ∈ K Quindi la funzione h riduce K0 a K . Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 106
    • m-completezza Un insieme si dice m-completo se ` r.e. ed ogni insieme r.e. ` riducibile ad e e esso. Lemma K0 e K sono insiemi completi. Dato che K0 =m K ` sufficiente dimostrare la propriet` per K0 . e a Abbiamo gi` dimostrato che se A ≤m K0 allora A ` r.e. e dunque esiste i tale a e che A = Wi . Allora, per ogni n n ∈ A ⇔ n ∈ Wi ⇔ i, n ∈ K0 Lemma A ´ completo se e solo se A =m K . e Se A =m K allora A ´ r.e. e m-completo perch´ lo ´ K . e e e Viceversa se A ´ m-completo, allora ´ r.e. e per la completezza di K , A ≤m K ; e e inoltre, siccome K ´ r.e. , K ≤m A per la m-completezza di A. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 107
    • Insiemi produttivi e creativi Sia A ⊆ N . 1. A si dice produttivo se esiste f totale e calcolabile tale che per ogni i Wi ⊆ A ⇒ f (i) ∈ AWi 2. A si dice creativo se ` r.e. ed il suo complemento A ` produttivo. e e Si osservi che un insieme produttivo non pu´ essere r.e. Infatti, se A = Wi o allora preso Wi ⊆ A avremmo che AWi = ∅ e quindi f (i) ∈ AWi . Teorema K ´ creativo (e la funzione di produzione ` l’identit`). e e a Sappiamo che K ´ r.e.; dimostriamo che K ´ produttivo, ed in particolare che e e Wi ⊆ K ⇒ i ∈ K Wi i ∈ K . Infatti, se i ∈ K allora i ∈ Wi e siccome Wi ⊆ K avremmo i ∈ K che ´ una contraddizione. Dunque i ∈ K . e i ∈ Wi . Infatti, se i ∈ Wi allora i dovrebbe appartenere a K , ma abbiamo appena dimostrato il contrario. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 108
    • Caratterizzazione della produttivit` a Teorema Sia A ⊆ N . A ´ produttivo se e solo se K ≤m A. e (⇐) Supponiamo che K ≤m A, e sia g la corrispondente funzione di riduzione. Per smn esiste h totale e calcolabile tale che ϕh(i) (x) = ϕi (g (x)). Dunque Wh(i) = g −1 (Wi ) Posto f (i) = g (h(i)) vogliamo dimostrare che f ` una funzione di produzione e per A, ovvero che per ogni i Wi ⊆ A ⇒ f (i) ∈ AWi Se Wi ⊆ A, Wh(i) = g −1 (Wi ) ⊆ K e per la produttivit` di K , h(i) ∈ K Wh(i) . a Ma allora f (i) = g (h(i)) ∈ AWi . Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 109
    • Caratterizzazione della produttivit` a (⇒) Sia A produttivo, e sia f la funzione di produzione. Consideriamo h t.c. 0 se f (z) = n ∧ y ∈ K ϕh(z,y ) (n) = ↑ altrimenti Per il secondo teorema di ricorsione esiste s totale e calcolabile tale che 0 se f (s(y )) = n ∧ y ∈ K ϕs(y ) (n) = ϕh(s(y ),y ) (n) ↑ altrimenti e dunque {f (s(y ))} se y ∈ K Ws(y ) = ∅ altrimenti Vogliamo dimostrare che f ◦ s ` una funzione di riduzione da K a A: e Se y ∈ K allora Ws(y ) = {f (s(y ))}. Se f (s(y )) ∈ A allora Ws(y ) ⊆ A e quindi per la produttivi` di A, f (s(y )) ∈ AWs(y ) , ed in particolare a f (s(y )) ∈ Ws(y ) = {f (s(y ))} che ` assurdo. Dunque f (s(y )) ∈ A. e Se y ∈ K , allora Ws(y ) = ∅ ⊆ A e dunque, per la produttivit´ di A, a f (s(y )) ∈ AWs(y ) , ed in particolare f (s(y )) ∈ A. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 110
    • Caratterizzazione della creativit` a Teorema Sia A ⊆ N . A ` creativo se e solo se A =m K . e Per definizione, A ` creativo se e solo se ` r.e. e A ` produttivo. e e e Ma A ` r.e se e solo se A ≤m K . e Inoltre, per il teorema precedente, A ` produttivo se e solo se K ≤m A, che e equivale a K ≤m A. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 111
    • Il problema di Post Il problema di Post la riduzione di K ad A ` una tecnica generale per dimostrare l’indecidibilit` di e a A? (almeno limitatamente agli insiemi r.e.) Ovvero, per ogni A r.e. non ricorsivo vale A =m K ? Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 112
    • Insiemi immuni e semplici Lemma Ogni insieme produttivo A contiene un sottoinsieme infinito r.e. Sia f una funzione di produzione per A. Per smn esiste r totale e calcolabile tale che, per ogni i: Wr (i) = Wi ∪ {f (i)} Si noti che siccome f (i) ∈ Wi , Wr (i) estende strettamente Wi . Inoltre, se Wi ⊆ A anche Wr (i) ⊆ A. Preso dunque m tale che Wm = ∅, l’unione Wr n (m) n∈N ´ infinita, r.e. e contenuta in A. e Il risultato precedente motiva la seguente definizione: sia A ⊆ N . A si dice immune se ` infinito e nessun suo sottoinsieme infinito ` r.e. e e A si dice semplice se ` r.e. e A ´ immune. e e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 113
    • Complessit` di Kolmogorov a Andiamo alla ricerca di un insiemi semplice (dunque non creativo). La complessit` di Kolmogorov di un numero n, indicata con k(n) ` il pi` a e u piccolo indice i tale che ϕi (0) = n. Intuizione: invece di dare una descrizione esplicita del numero n, si pu` fornire o una procedura i che permetta di generarlo. Lemma Per ogni i, se ϕi (0) ↓, k(ϕi (0)) ≤ i. Ovvio, per la definizione di k. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 114
    • Numeri random Un numero n si dice random se n ≤ k(n). Indicheremo con R l’insieme dei numeri random. Intuizione: un numero random ` un numero di cui non ` possibile fornire una e e descrizione pi` succinta: lui stesso ` la sua descrizione minima. u e Lemma R = ∅. Utilizzando il teorema del punto fisso si dimostra l’esistenza di un i tale che ϕi (0) = i + 1. Dunque i + 1 non ` random. e Lemma L’insieme R ` r.e. e Un numero a non ` random se e solo se esiste un indice i < a tale che e ϕi (0) = a. Dunque R ` codominio della funzione parziale calcolabile e ϕi (0) se i < ϕi (0) g (i) = ↑ altrimenti Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 115
    • Un insieme immune Teorema L’insieme R dei numeri random ` immune. e Sia A un insieme infinito r.e. e sia f una sua funzione di enumerazione. Per smn esiste h totale e calcolabile tale che ϕh(i) (x) = f (µn.f (n) > i) Si osservi che la miminimizzazione µn.f (n) > i termina per ogni i in quanto f ` e totale e cod(f ) = A ´ infinito. Per definizione, f (µn.f (n) > i) ∈ A, e se e supponiamo A ⊆ R deve trattarsi di un numero random; inoltre (∗) ϕh(i) (x) = f (µn.f (n) > i) > i Per il teorema del punto fisso, esiste m tale che ϕm ≈ ϕh(m) . Dunque avremmo ϕm (0) = ϕh(m) (0) ∈ R, che implica ϕm (0) ≤ k(ϕm (0)); inoltre abbiamo dimostrato che k(ϕm (0)) ≤ m, e per transitivi` ϕm (0) ≤ m. a d’altra parte, per (∗), ϕm (0) = ϕh(m) (0) > m, che porta a contraddizione. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 116
    • Calcolabilit` e completezza - Lezioni 17-18 a Aritmetica del prim’ordine Insiemi e funzioni aritmetiche Indecidibilit` della verit` aritmetica a a il Teorema di incompletezza di G¨del o Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 117
    • Aritmetica Il linguaggio dell’aritmetica ` il linguaggio del primo ordine basato sulla e seguente segnatura: 0, S, +, ·, = Indichiamo con n il termine che rappresenta il numero n. A ⊆ N k si dice aritmetico se esiste una formula aritmetica ψ(x1 , . . . , xk ) tale che (n1 , . . . , nk ) ∈ A ⇔ N |= ψ[n1 /x1 , . . . , nk /xk ] ovvero ψ(x1 , . . . , xk ) ` vera sui numeri naturali. Diremo in questo caso che ψ ` e e una descrizione aritmetica di A. Ad esempio, l’insieme dei numeri primi ` aritmetico, in quanto pu` essere e o descritto dalla seguente formula aritmetica: ψ(n) = 2 ≤ n ∧ ∀y , 1 < y ∧ y < n ⇒ ∀z, y · z = n Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 118
    • Insiemi/funzioni aritmetici Gli insiemi aritmetici sono chiusi rispetto alle operazioni di unione, intersezione e complementazione. Una funzione f si dice aritmetica se il suo grafo ` un insieme aritmetico. e Le seguenti funzioni sono aritmetiche: f ariet` a descrizione 0 0 y =0 S 1 y = S(x) + 2 y = x1 + x2 · 2 y = x1 · x2 πik k y = xk Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 119
    • Chiusura rispetto alla composizione Lemma La composizione di funzioni aritmetiche ` aritmetica. e Sia f (x) = g (h(x)) e siano ψg (x, y ) e ψh (x, y ) le descrizioni aritmetiche di g e h. Definiamo ψf (x, z) = ∃y , ψg (x, y ) ∧ ψh (y , z) ` facile dimostrare che ψf ` una descrizione aritmetica di f . e e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 120
    • Chiusura rispetto alla minimizzazione Lemma Una funzione definita per minimizzazione di una funzione aritmetica ` ancora e aritmetica. Sia f (x) = µy .(g (x, y ) = 0) e supponiamo che ψg sia una descrizione aritmetica di g . f ` descritta dalla seguente formula: e ψf (x, y ) = ψg (x, y , 0) ∧ ∀i, i < y → ∃m, (ψg (x, i, m) ∧ m = 0) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 121
    • Le funzioni calcolabili sono aritmetiche Teorema Tutte le funzioni calcolabili sono aritmetiche. Conseguenza del fatto che ogni funzione calcolabile pu` essere espressa in un o formalismo che contiene somma, prodotto, costanti, proiezioni ed ` chiuso per e composizione e ricorsione primitiva. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 122
    • Gli insiemi r.e. sono aritmetici Teorema Ogni insieme ricorsivamente enumerabile ` aritmetico. e Se A ` r.e. esiste f (parziale) calcolabile tale che A = dom(f ). Sia ψf (x, y ) e una descrizione aritmetica di f . Allora n ∈ A ⇔ N |= ∃y , ψf (n, y ) e dunque ψA (x) = ∃y , ψf (x, y ) ` una descrizione aritmetica di A. e corollario L’insieme K ` aritmetico. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 123
    • Indecidibilit` della verit` aritmetica a a Teorema L’insieme delle formule aritmetiche vere non ` ricorsivamente enumerabile. e Sia {ψn }n∈N una enumerazione effettiva delle formule aritmetiche in una variabile. Consideriamo l’insieme A cos` definito ı n ∈ A ⇔|= ¬ψn (n) Se la verit` aritmetica fosse semidecidibile, allora A sarebbe r.e. a Dunque A dovrebbe essere aritmetico e dovrebbe esistere una formula ψa per cui n ∈ A ⇔|= ψa (n) Ma per n = a otteniamo una contraddizione. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 124
    • Incompletezza Teorema di incompletezza di G¨del o Ogni sistema formale aritmetico, se consistente, ` incompleto (i.e. esistono e formule aritmetiche valide ma non dimostrabili). Un sistema formale ` definito da un insieme ricorsivo di assiomi e un insieme di e regole di inferenza che permettono di dedurre nuovi teoremi a partire dagli assiomi in un numero finito di applicazioni. Pertanto le formule aritmetiche dimostrabili costituiscono un insieme ricorsivamente enumerabile. Poich` le formule vere non sono r.e. esistono necessariamente delle formule e vere ma non dimostrabili. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 125
    • La gerarchia aritmetica - Lezioni 19,20 Le classi Σ0 , Π0 , ∆0 n n n Operazioni sui quantificatori Insiemi completi Il teorema della gerarchia aritmetica Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 126
    • Le classi Σ0 , Π0 , ∆0 n n n Sia n un numero naturale. Σ0 ` la classe di tutti gli insiemi A ⊆ N k per cui esiste un insieme n e ricorsivo R ⊆ N n+k tale che A = {x ∈ N k |∃y1 ∀y2 ∃y3 ...Qyn , (x, y 1, y 2, ..., yn) ∈ R} dove Q = ∀ per n pari, e Q = ∃ per n dispari. Π0 ` la classe di tutti gli insiemi A ⊆ N k per cui esiste un insieme n e ricorsivo R ⊆ N n+k tale che A = {x ∈ N k |∀y1 ∃y2 ∀y3 ...Qyn , (x, y 1, y 2, ..., yn) ∈ R} dove Q = ∃ per n pari, e Q = ∀ per n dispari. ∆0 = Σ0 ∩ Π0 . n n n 0 n∈N (Σn ∪ Π0 ) ` detta gerachia aritmetica. n e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 127
    • Semplici propriet` della gerarchia aritmetica a Sia n un numero naturale: La classe Σ0 = Π0 = ∆0 ` la classe degli insiemi ricorsivi. 0 0 0 e La classe Σ0 ` la classe delle proiezioni di insiemi in Π0 . n+1 e n La classe Π0 ` la classe dei complementi di insiemi in Σ0 . n e n In particolare, Σ0 ` la classe degli insiemi r.e e Π0 ` al classe degli insiemi 1 e 1 e co-r.e. ∆0 = ∆0 ` la classe degli insiemi ricorsivi. 1 0 e Σ0 ∪ Π0 ⊆ Σ0 ∩ Π0 = ∆0 n n n+1 n+1 n+1 Dimostreremo in seguito che l’ultima inclusione ` stretta. e Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 128
    • Esempio: il problema dell’equivalenza Equ = {(i, j) ∈ N | ϕi = ϕj } ∈ Π0 2 Infatti (i, j) ∈ Equ ⇔ ∀n((ϕi (n) ↓ ∧ ϕj (n) ↓ ∧ϕi (n) = ϕj (n))) ∨(ϕi (n) ↑ ∧ ϕj (n) ↑) ⇔ ∀n((∃t1 t2 k(T (i, n, t1 , k) ∧ T (j, n, t2 , k)) ∨∀t1 t2 k1 k2 (¬T (i, n, t1 , k1 ) ∧ ¬T (j, n, t2 , k2 ))) ⇔ ∀ns1 s2 k1 k2 ∃t1 t2 k((T (i, n, t1 , k) ∧ T (j, n, t2 , k)) ∨(¬T (i, n, s1 , k1 ) ∧ ¬T (j, n, s2 , k2 )) N.B. Sequenze di quantificatori dello stesso tipo collassano in un solo quantificatore. Poich` la matrice ` ricorsiva, questo dimostra che Equ ` (al pi`) in Π0 . e e e u 2 Possiamo dare una classificazione pi` stretta? u Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 129
    • Forme normali prenesse Il Teorema di Kuratowski Ogni formula aritmetica ` eqivalente ad una con un prefisso formato da una lista e alternata di quantificatori e una matrice ricorsiva. La prova si basa sulle seguenti trasformazioni (si suppone che x non occorra libera in β): ¬(∃xα) ⇔ ∀x¬α ¬(∀xα) ⇔ ∃x¬α (∃xα) ∧ β ⇔ ∃x(α ∧ β) (∀xα) ∧ β ⇔ ∀x(α ∧ β) (∃xα) ∨ β ⇔ ∃x(α ∨ β) (∀xα) ∨ β ⇔ ∀x(α ∨ β) (∃xα) → β ⇔ ∀x(α → β) (∀xα) → β ⇔ ∃x(α → β) β → (∃xα) ⇔ ∃x(β → α) β → ∀xα ⇔ ∀x(β → α) Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 130
    • Quantificazione limitata Lemma Due quantificatori di cui il primo sia limitato possono sempre essere permutati. ∀x ≤ a∃yR(x, y ) ⇔ ∃w ∀x ≤ aR(x, nth(x, w )) ∃x ≤ a∀y ¬R(x, y ) ⇔ ∀w ∃x ≤ a¬R(x, nth(x, w )) dove nth(x, w ) ` la funzione ricorsiva che estrae l’ennesimo elemento da una e tupla: nth(0, w ) = w nth(n + 1, y , z ) = nth(n, z) Quindi i quantificatori limitati possono essere spinti verso l’interno e assorbiti nella matrice ricorsiva: ∀ e ∃ limitati non influiscono sulla classificazione nella gerarchia aritmetica Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 131
    • La gerarchia aritmetica e gli insiemi aritmetici Teorema La gerarchia aritmetica contiene esattamente gli insiemi aritmetici. Gli insiemi ricorsivi sono aritmetici (in quanto lo sono quelli r.e.). Gli insiemi della gerarchia aritmetica sono costruiti da insiemi ricorsivi utilizzando un insieme finito di quantificatori, e dunque sono tutti aritmetici. Viceversa, la descrizione di ogni insieme aritmetico A pu` essere trasformata in o forma normale prenessa, dove la matrice ` una proposizione priva di e quantificatori in cui compare solo il predicato (decidibile) di uguaglianza, ed ` e dunque ricorsiva. Quindi A appartiene alla gerarchia aritmetica. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 132
    • Il teorema di enumerazione Teorema Per ogni n, m ≥ 1 esiste un insieme Un ∈ Σ0 ⊆ N m+1 che enumera tutti gli m n 0 m insiemi A ∈ Σn ⊆ N , ovvero tale che A(x) ⇔ U(e, x) per qualche e. Similmente per Πn . 0 Per induzione su n. Se n = 1 U1 (i, x) ⇔ x ∈ Wi ∈ Σ0 m 1 enumera tutti gli insiemi r.e.; inoltre U1 (i, x) ⇔ x ∈ Wi ∈ Π0 m 1 enumera tutti gli insiemi co-r.e. m+1 Induttivamente, sia data Un ∈ Σ0 . Posto n Un+1 (e, x) ⇔ ∀yUn (e, x, y ) ∈ Π0 m m+1 n+1 Un+1 enumera tutte tutti i sottoinsiemi di N m in Π0 e Un+1 quelli in Σ0 . m n+1 m n+1 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 133
    • Completezza nella gerarchia aritmetica Sia A ⊆ N e sia n ∈ N A ` detto Σ0 -completo se A ∈ Σ0 e B ≤m A per ogni B ∈ Σ0 ⊆ N e n n n A ` detto Π0 -completo se A ∈ Π0 e B ≤m A per ogni B ∈ Π0 ⊆ N e n n n Teorema Per ogni n, sia n 1 K0 = { i, x |Un (i, x)} Allora K0 ` Σ0 -completo (e K0 ` Π0 -completo). n e n n e n Sia B ∈ Σ0 ⊆ N . Per il teorema di enumerazione deve esiste e tale che n 1 n B(x) ⇔ Un (e, x) ⇔ K0 ( e, x ) n e duque la funzione f (x) = e, x riduce B a K0 . Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 134
    • Il teorema della gerarchia aritmetica Teorema della gerarchia Per ogni n 1. Σ0 Π0 = ∅ (e quindi ∆0 ⊂ Σ0 ) n n n n 2. Π0 Σ0 = ∅ (e quindi ∆0 ⊂ Π0 ) n n n n 3. Σ0 ∪ Π0 ⊂ ∆0 n n n+1 1. supponiamo che Un (i, x) enumeri tutte le relazioni in Σ0 e consideriamo n l’insieme Kn (x) = Un (x, x). Kn ∈ Σ0 ; se Kn ∈ Π0 allora Kn ∈ Σ0 e n n n dovrebbe esistere e tale che Kn (x) = Un (e, x). Ma allora otterremmo la seguente contraddizione: Kn (e) = Un (e, e) = Kn (e) 2. se A ∈ Σ0 Π0 , n n allora A ∈ Π0 Σ0 n n 3. sia A ∈ Σ0 Π0 n n e consideriamo l’insieme Q(x, z) = (A(x) ∧ z = 0) ∨ (A(x) ∧ z = 1) Chiaramente Q ∈ ∆0 . Tuttavia Q ∈ Π0 poich` altrimenti lo sarebbe n+1 n e anche A(x) = Q(x, 0) e allo stesso modo Q ∈ Σ0 . n Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 135
    • La classificazione di alcuni problemi indecidibili K1 = {i | Wi = ∅} ` Σ0 -completo e 1 Fin = {i | Wi ` finito} ` Σ0 -completo e e 2 Inf = {i | Wi ` infinito} ` Π0 -completo e e 2 Tot = {i | Wi = N } ` Π0 -completo e 2 Equ = { i, j | ϕi = ϕj } ` Π0 -completo e 2 Cof = {i | Wi ` cofinito} ` Σ0 -completo e e 3 Rec = {i | Wi ` ricorsivo} ` Σ0 -completo e e 3 Creative = {i | Wi ` creativo} ` Σ0 -completo e e 3 Simple = {i | Wi ` semplice} ` Π0 -completo e e 3 ... Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 136
    • Prova di completezza per il problema dell’equivalenza Abbiamo gi` dimostrato che Equ ∈ Π0 . Dobbiamo dimostrare che ogni A ∈ Π0 a 2 2 ` riducibile a Equ. Poich` A ∈ Π0 deve esistere B ricorsivo tale che e e 2 A = {n | ∀x∃yB(x, y , n)} Consideriamo la funzione totale calcolabile h tale che ϕh(n) (x) = g (n, x) = 0 · µy (B(x, y , n)) Sia inoltre m un indice per la funzione costante 0, e confrontiamo h(n) com m: h(n), m ∈ Equ ⇔ ϕh(n) = ϕm ⇔ ∀xϕh(n) (x) = 0 ⇔ ∀x∃yB(x, y , n) ⇔n∈A Dunque la funzione totale calcolabile s(n) = h(n), m riduce A a Equ. Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 137
    • Esempi di problemi completi nella gerarchia aritmetica Σ 0 Cof = m Rec = mCreative 3 Simple Π0 3 ∆0 3 0 0 Σ2 Fin Inf = m Tot = mEqu Π2 ∆0 2 Σ 0 = r.e. 1 K=m K0 K Π 0 = co−r.e. 1 ∆0 = 0 ∆ 0 = recursive 1 Andrea Asperti Universit` di Bologna - Dipartimento di Scienze dell’Informazione a 138