Calcolabilita' e Complessita

Post on 08-Jun-2015

639 views 2 download

transcript

Calcolabilita e Complessita

Andrea Asperti

Department of Computer Science, University of BolognaMura Anteo Zamboni 7, 40127, Bologna, ITALY

asperti@cs.unibo.it

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 1

Content

A:CalcolabilitaNumerabilita e diagonalizzazioneRicorsione PrimitivaLe Macchine di Turing e la Tesi di ChurchEnumerazioni accettabiliFunzioni non calcolabiliInsiemi ricorsivi e ricorsivamente enumerabiliI teoremi di Rice e Rice-ShapiroIl teorema del punto fisso di KleeneRiducibilitaCalcolabilita e completezzaLa gerarchia aritmetica

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 2

Obiettivi del corso

Fornire una introduzione alla teoria della calcolabilita e della complessita, alfine di chiarire i seguenti concetti:

I Capire quali problemi possono essere risolti in modo algoritimico

I Studiare e confrontate diversi meccanismi e costrutti computazionali

I Fornire una definizione precisa della nozioni di calcolabilita e di decidibilita

I Fornire metodi e strumenti per capire se un problema e o meno decidibile

I Comprendere le implicazioni logiche (Teorema di Incompletezza di Godel)

I Fornire una nozione di costo computazionale

I Classificare i problemi in base alla loro efficienza

I Studiare la relazione tra calcolo deterministico e nondeterministico

I Studiare la relazione tra risorse differenti (tempo e spazio)

I Discutere i principali problemi aperti di teoria della complessita

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 3

Approfondimenti bibliografici

Calcolabilita

I S. Barry Cooper, Computability Theory, Chapman & Hall, 2004.

I N. J. Cutland. Computability: An Introduction to Recursive Function Theory.Cambridge University Press, Cambridge, UK, 1986.

I P. G. Odifreddi. Classical Recursion Theory: the Theory of Functions and Setsof Natural Numbers, volume 125 of Studies in Logic and the Foundations ofMathematics. Elsevier, 1997.

I H. Rogers. Theory of Recursive Functions and Effective Computability. MITpress, 1987.

Complessita

I Ding-Zhu Du and Ker-I Ko, Theory of Computational Complexity, John Wiley& Sons, 2000

I Christos H. Papadimitriou, Computational Complexity, Addison Wesley, 1994

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 4

Numerabilita e diagonalizzazione - Lezioni 1 e 2

I Enumerare, contare, calcolare

I Quali insiemi sono enumerabili?

I Dovetailing

I Alfabeti, stringhe, linguaggi

I Diagonalizzazione - Teorema di Cantor

I Diagonalizzazione e paradossi (Russel, Berry)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 5

Numerabilita

Un insieme A si dice numerabile se esiste una funzione suriettiva f dall’insiemedei numeri naturali N in A.f e detta funzione di enumerazione.

I N e numerabile

I Ogni sottoinsieme di un insieme numerabile e ancora numerabile.

Che possiamo dire dei soprainsiemi di N ?

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 6

Aggiungere un elemento

LemmaSia A numerabile. Allora {∗} ⊕ A e ancora numerabile.

Sia f : N → A la funzione di enumerazione di A. definiamo g : N → {∗} ⊕ Anel modo seguente:

g(x) =

{g(0) = ∗g(x + 1) = f (x)

Chiaramente g e suriettiva.

Corollario: Sia A numerabile e D finito. Allora D ⊕ A e ancora numerabile.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 7

Aggiungere una quantita numerabile di elementi

LemmaL’unione di due insiemi numerabili A e B e ancora numerabile.

Siano f e g le due funzioni di enumerazione di A e B. A⊕ B e alloraenumerato dalla seguente funzione h:

h(x) =

{h(2x) = f (x)

h(2x + 1) = g(x)

Corollario: Un unione finita di insiemi numerabili e numerabile.

Corollario: Se D e finito e A e numerabile allora D × A e numerabile.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 unapolitica di visita delle coppie 〈i , j〉 del piano in modo tale che ogni coppia vengaispezionata una ed una sola volta al passo k. k e la codifica della coppia 〈i , j〉.

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 9

Codifica delle coppie del piano

La somma delle componenti i ed j per i punti su di una stessa diagonale ecostante e pari al numero di diagonali gia interamente percorse. Il numero dipunti del piano gia visitati in queste diagonali e

i+j∑k=0

k =(i + j)(i + j + 1)

2

Per visitare l’elemento < i , j > dovro ancora percorrere j passi lungo l’ultimadiagonale, per cui

〈i , j〉 = j +

i+j∑k=0

k =(i + j)2 + i + 3j

2

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 10

Corollari

LemmaIl prodotto cartesiano di due insiemi numerabili e numerabile.

LemmaL’unione di un insieme numerabile di insiemi numerabili e ancora numerabile.

Sia A un insieme numerabile e sia f la sua funzione di enumerazione.{Ba|a ∈ A} una collezione di insiemi numerabili, ciascuno enumerato da unafunzione ga. La funzione h : N ×N →

⋃a∈A Ba definita da

h(n,m) = gf (n)(m)

e suriettiva.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 11

Sequenze ordinate, stringhe, linguaggi

LemmaSe A numerabile, anche

⋃i∈N Ai e numerabile.

Osservazione: Nel caso in cui A sia finito, l’insieme⋃

i∈N Ai non e altro chel’insieme di tutte le stringhe definibili sull’alfabeto A. Dunque ogni linguaggio,inteso come sottoinsime di stringhe definite su di un dato alfabeto, e semprenumerabile.

Corollario: L’insieme delle parti finite di un insieme numerabile e numerabile.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 12

Il teorema di Cantor

Cantor

Dato un insieme arbitrario A, non puo esistere una funzione suriettiva da A inP(A).

Supponiamo che esista una funzione suriettiva g : A→ P(A). Consideriamo ilseguente insieme:

∆ = {a ∈ A | a 6∈ g(a)}∆ ⊆ A e siccome abbiamo supposto che g sia suriettiva deve esistere δ tale cheg(δ) = ∆. Abbiamo allora:

δ ∈ ∆ ⇔ δ 6∈ g(δ) per definizione di ∆⇔ δ 6∈ ∆ per definizione di δ

Siccome questo e assurdo, g non puo essere suriettiva.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 13

Il paradosso di Russel

Russel

Sia U = {x |x 6∈ x}. AlloraU ∈ U ⇔ U 6∈ U

Principio di comprensione

P(t)⇔ t ∈ {x |P(x)}

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 14

Il problema della definibilita

Le funzioni definibili da N in N sono una quantita numerabile. Fissiamo unqualche enumerazione fi .Definiamo una funzione g nel modo seguente:

g(x) = fx (x) + 1

g e ben definita, dunque dovrebbe comparire nel nostro elenco di funzionidefinibili. Supponiamo che g = fk . Abbiamo allora:

fk (k) = g(k) = fk (k) + 1

La nozione di definibilita e dunque sempre relativa (dipendente dal linguaggio)e incompleta; comunque essa venga fissata esistono “buone definizioni” definiteche sfuggono alla definizione adottata.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 15

Il paradosso di Berry

Berry

“Sia n il piu piccolo intero positivo non definibile con meno di 100 caratteri”.

I i numeri definibili con meno di 100 caratteri sono una quantita finita,dunque esistono (inifiniti) numeri che soddisfano la proprieta suddetta, etra questi deve ne deve esistere uno minino.

I tale numero e dunque univocamente determinato dalla definizione diBerry.

I ma la definizione di Berry e piu breve di 100 caratteri: contraddizione.

La “definizione” di Berry non e ben posta (la nozione di definibilita non e bendefinita).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 16

Ricorsione primitiva - Lezioni 3, 4, 5

I funzioni ricorsive

I ricorsione primitiva

I somme e prodotti limitati

I predicati ricorsivi

I minimizzazione limitata

I ricorsione multipla

I ricorsione primitiva vs. iterazione

I la funzione di Ackermann

I ricorsione di ordine superiore

I incompletezza algoritmica dei formalismi totali

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 17

Ricorsione

La definizione di una funzione f si dice ricorsiva se il valore di f su alcuniargomenti dipende dal valore di f su altri argomenti, solitamente piu “semplici”rispetto ad una opportuna metrica da definire.

{fatt(0) = 1

fatt(n + 1) = (n + 1) ∗ fatt(n)

fibo(0) = 1

fibo(1) = 1

fibo(n + 2) = fibo(n) + fibo(n + 1)

Fattoriale Fibonacci

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 18

Ricorsione primitiva - funzioni iniziali

Le seguenti funzioni sono funzioni iniziali del linguaggio primitivo ricorsivo L:

1. le funzioni costanti

ckm(x1, x2, . . . , xk ) = m con m ∈ N

2. le proiezioni (identita generalizzate)

πki (x1, x2, . . . , xk ) = xi per qualche 1 ≤ i ≤ k

3. la funzione successores(x) = x + 1

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 19

Ricorsione primitiva - schemi composizionali

I ComposizioneSe h : N n → N e g1, g2, . . . , gn : N k → N appartengono ad L, anche laseguente funzione f : N k → N ∈ L:

f (~x) = h (g1(~x), g2(~x), . . . , gn(~x))

con ~x = (x1, x2, . . . , xk )

I Ricorsione primitivaSe g : N k → N , h : N k+2 → N ∈ L, anche la seguente funzionef : N k+1 → N ∈ L:

f :

{f (0, ~x) = g(~x)

f (y + 1, ~x) = h (y , f (y , ~x), ~x)

con ~x = (x1, x2, . . . , xk )

Una funzione f e primitiva ricorsiva se e solo se esiste una sequenza di funzionif1, f2, . . . , fn = f tale che ogni fi o e una funzione base oppure e ottenuta dafunzioni fj con j < i mediante composizione o ricorsione primitiva.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 20

un esempio

codice esecuzione

f1(x) = x

f2(x) = x + 1

f3(x , y , z) = y

f4(x , y , z) = f2(f3(x , y , z))

f5(y , x) =

{f5(0, x) = f1(x)

f5(y + 1, x) = f4(y , f5(y , x), x)

f ≡ f6(x) = f5(f1(x), f1(x))

f (2) = f6(2)

= f5(f1(2), f1(2))

= f5(f1(2), 2)

= f5(2, 2)

= f4(1, f5(1, 2), 2)

= f4(1, f4(0, f5(0, 2), 2), 2)

= f4(1, f4(0, f1(2), 2), 2)

= f4(1, f4(0, 2, 2), 2)

= f4(1, f2(f3(0, 2, 2)), 2)

= f4(1, f2(2), 2)

= f4(1, 3, 2)

= f2(f3(1, 3, 2))

= f2(3)

= 4

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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(y , x) =

{f5(0, x) = f1(x) = 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 leggibilita

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 22

Alcune funzioni primitive ricorsive

Moltiplicazione Predecessore

mult(0, x) = 0mult(y + 1, x) = add(x , mult(y , x))

pred(0) = 0pred(y + 1) = y

Zero Fattoriale

zero(0) = 1zero(y + 1) = 0

fatt(0) = 1fatt(y + 1) = mult(s(y), fatt(y))

Sottrazione Confronto

sub(0,m) = msub(n + 1,m) = pred(sub(n,m))

eq(n,m) = zero(add(sub(n,m), sub(m, n)))

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 23

Somme e prodotti limitati

σf (z , ~x) ≡∑y≤z

f (y , ~x) :

{σf (0, ~x) = f (0, ~x)

σf (z + 1, ~x) = σf (z , ~x) + f (z + 1, ~x)

πf (z , ~x) ≡∏y≤z

f (y , ~x) :

{πf (0, ~x) = f (0, ~x)

πf (z + 1, ~x) = πf (z , ~x) ∗ f (z + 1, ~x)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 24

Predicati primitivi ricorsivi

Un predicato P e primitivo ricorsivo se e solo se lo e la sua funzionecaratteristica cP. Es: zero e eq.

LemmaI 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))

LemmaI predicati primitivi ricorsivi sono chiusi rispetto alla quantificazione limitata.Ovvero, se P(z , ~x) e un predicato primitivo ricorsivo lo sono anche ∀z≤y P(z , ~x)e ∃z≤y P(z , ~x).

c∀z≤y P(z,~x) ≡∏z≤y

cP (z , ~x)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 25

Applicazioni

Divisibilita

divide(x , y) ⇐⇒ ∃n≤yeq(mult(n, x), y)

Primalita

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 26

Minimizzazione limitata

Per minimizzazione (µ-ricorsione) si intende la ricerca del minimo interopositivo µy P(y) che soddifa il predicato P.La minimizzazione si dice limitata se viene fornito un bound alla ricerca.

LemmaLe funzioni primitive ricorsive sono chiuse rispetto alla minimizzazione limitata.

Dobbiamo dimostrare che se R(y , ~x) e un predicato primitivo ricorsivo, allora loe anche µy<z R(y , ~x).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 funzioneh(y , ~x) assume valore 1 e per ogni valore y0 ≤ y < z la funzione h(y , ~x)assume valore 0.Dunque, y0 e pari al numero di interi inferiori a z per cui h(y , ~x) assume valore1, ovvero:

µy<z R(y , ~x) = y0 = Σy<z∀w≤y¬R(w , ~x)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 27

Coppie e proiezioni

Le funzioni di codifica e decodifica delle coppie sono primitive ricorsive:

< i , j >= j +

i+j∑k=0

k =(i + j)2 + i + 3j

2

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 28

Fibonacci

La seguente definizione non e primitiva ricorsiva: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 outputla 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’ e primitiva ricorsiva, e dunque lo e anche fibonacci:

fibo(n) = fst(fibo’(n))

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e primitiva ricorsiva?

Si, infatti la storia di f e esprimibile mediante ricorsione primitiva:{f (0, ~x) = f (0, ~x) = g(~x)

f (y + 1, ~x) =< f (y , ~x), f (y + 1, ~x) >=< f (y , ~x), h(y , f (y , ~x), ~x) >

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 30

Ricorsione di coda

Una funzione si dice in forma ricorsiva di coda se la chiamata ricorsiva el’ultima operazione eseguita dalla funzione chiamante.

Teorema

Ogni funzione primitiva ricorsiva puo essere espressa in forma ricorsiva (nonnecessariamente primitiva) di coda.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 (y + 1, ~x) = h (y , f (y , ~x), ~x)

{f ′(0, ~x , i , acc) = acc

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 32

Ricorsione di coda e iterazione

L’interesse delle funzioni ricorsive di coda consiste nel fatto che possono esserericondotte banalmente a meccanismi di tipo iterativo.Ad esempio, la precedente funzione f puo essere calcolata dal seguentealgoritmo 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, cioe es-primibili in un qualunque linguaggio imperativo utilizzando come unici costruttidi controllo di flusso l’if-then-else, il for e la chiamata di funzione non ricorsiva

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 33

Schema di iterazione

Le considerazioni precedenti suggeriscono che sia possibile indebolire lo schemadi ricorsione primitiva, riducendolo alla mera possibilita di iterare unadeterminata funzione h: {

f (0, ~x) = g(~x)

f (y + 1, ~x) = h(f (y , ~x))

Si noti che h non dipende ne da y ne da ~x .In particolare:

f (y , ~x) = hy (g(~x))

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 34

Iterazione + coppie

Teorema

Iterazione + Coppie = Ricorsione Primitiva.

Consideriamno per semplicita il caso di una funzione primitiva ricorsiva f con vettore diargomenti ~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))) >

Postonext(p) =< fst(p) + 1, h(fst(p), snd(p)) >

la funzione f ′ puo essere definita iterando next nel modo seguente:{f ′(0) =< 0, a >

f ′(y + 1) = next(f ′(y))

Infine, f (y) = snd(f ′(y)).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 35

Funzionali di ricorsione e iterazione

Una funzione definita mediante uno schema ricorsivo primitivo o iterativo eunivocamente determinata dalle sue componenti g e h. Questo suggerisce laseguente notazione compatta

f = Rec g h per f =

{f (0, ~x) = g(~x)

f (y + 1, ~x) = h(y , f (y , ~x), ~x)

f = Ite g h per f =

{f (0, ~x) = g(~x)

f (y + 1, ~x) = h(f (y , ~x))

Rec e Ite sono esempi significativi di funzionali, ovvero funzioni di ordinesuperiore che operaro su altre funzioni.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 36

La funzione di Ackermann

ack(0, 0, y) = yack(0, x + 1, y) = ack(0, x , y) + 1

ack(1, 0, y) = 0ack(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 e ben definita, implementabile, e terminante;tuttavia non e esprimibile nel formalismo primitivo ricorsivo.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 dellivello sottostante ackz,y a partire dal valore base ackz+1,y (0). Le equazione 3 e4 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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 38

Crescita della funzione di Ackermann

Esplicitando i primi livelli della funzione abbiamo:

ack(0, x , y) = x + yack(1, x , y) = x ∗ yack(2, x , y) = y x

ack(3, x , y) = y y...y}

x volte

La funzione di Ackermann cresce dunque molto velocemente; ad esempio

ack(3, x , y) = 327 > 1014

La complessita della funzione di Ackermann trascende il potere espressivo dellinguaggio primitivo ricorsivo.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 39

Iterare un iteratore

Postonext f = Ite 1 f

abbiamoackz+2,y = next ackz+1,y

e in generale(∗) ackz+1,y = Ite ack1,y next z

Se per calcolare Ackermann e sufficiente iterare, perche non e primitivaricorsiva?

Perche (*) richiede di iterare un funzionale (funzione di ordine superiore).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 40

Iterare un iteratore

Postonext f = Ite 1 f

abbiamoackz+2,y = next ackz+1,y

e in generale(∗) ackz+1,y = Ite ack1,y next z

Se per calcolare Ackermann e sufficiente iterare, perche non e primitivaricorsiva?

Perche (*) richiede di iterare un funzionale (funzione di ordine superiore).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 41

Un linguaggio di ordine superiore: Il sistema T di Godel

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 42

Regole di tipizzazione per T (costanti)

0 : NS : N → NTrue : BFalse : BFst : T1 × T2 → T1

Snd : T1 × T2 → T2

If : T → T → B → TRec : T → (N → T → T )→ N → T

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e un insieme di dichiarazioni di tipo della forma x : Tx .Ogni variabile libera in M deve essere dichiarata nel contesto.

coppiaΓ ` M : T1 Γ ` N : T2

Γ `< M,N > : T1 × T2

applicazioneΓ ` M : T1 → T2 Γ ` N : T1

Γ ` (M N) : T2

astrazioneΓ, x : T1 ` M : T2

Γ ` λx : T1.M : T1 → T2

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e invariante per riduzione (subject reduction).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 45

Gerarchie di Linguaggi Totali

Funzioni dimostrabilmente totali

nell’aritmetica del second’ordine

Sistema F

Sistema T

Funzioni dimostrabilmente totali

nell’aritmetica del prim’ordine

Primitive

Ricorsive

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 46

Il problema dell’Interprete

Sia data una enumerazione effettiva (e.g. lessicografica) Pn dei programmi dellinguaggio L, e sia ϕn la funzione calcolata dal programma Pn.

Un interprete per L e una funzione che preso in input l’indice n di unprogramma ed un input m simula il comportamento di Pn su tale input, cioeuna funzione I tale che

I (n,m) = ϕn(m)

Se la numerazione dei programmi e effettiva, I e intuitivamente calcolabile.

Ci chiediamo se l’interprete per L puo essere scritto in L, cioe se esiste u taleche I = ϕu.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e chiuso per composizione f ∈ L, e dunque deve esistere unprogramma i tale che ϕi = f .Ma allora

ϕi (i) = f (i) = ϕi (i) + 1

che e assurdo.

Teorema

Nessun formalismo totale e in grado di esprimere il proprio interprete.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 48

Le Macchine di Turing e la Tesi di Church - Lezioni 6, 7

I Costrutti computazionali potenzialmente divergenti

I La tesi di Church

I Le Macchine di Turing

I La Macchina universale

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 49

Alcuni importanti costrutti potenzialmente divergenti

I goto

I cicli while

I minimizzazione (µ-ricorsione illimitata)

I ricorsione generale

I costrutti autoreferenziali (auto-applicazione, auto-interpretazione)

I . . .

I linguaggi parziali ammettono tipicamente la definizione del loro propriointerprete.

Abbiamo una gerarchia infinita di linguaggi parziali con potere espressivocrescente?

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e il tipico esempio di costrutto mal tipato.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 51

Modelli di calcolo

I (Term) rewriting systems (Thue 1914, Post 1920)

I Combinatory Logic (Schonfinkel, Curry 1924)

I Funzioni definite da equazioni ricorsive (Herbrand 1931, Godel 1934,Kleene 1936)

I λ-calcolo (Church 1936)

I Turing machines (Turing 1936)

I Funzioni µ-ricorsive (Kleene 1938)

I Markov algorithms (Markov 1954)

I Register machines (Shepherdson, Sturgis 1963)

I . . .

Tutti questi modelli (e molti altri) sono computazionalmente equivalenti.Le funzioni esprimibili in questi modelli sono dette funzioni calcolabili.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 greatimportance of the concept of general recursiveness (or Turing’scomputability). It seems to me that this importance is largely due tothe fact that with this concept one has for the first time succeededin giving an absolute notion to an interesting epistemological notion,i.e., one not depending on the formalism chosen.” (Godel 1946)

Remark: La tesi di Church non puo essere dimostrata.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 53

La Macchina di Turing

b b b bb

q

00 0 1 1

Hardware

I un nastro di memoria illimitato, diviso in celle di dimensione fissata.Ogni cella puo contenere un carattere di un alfabeto dato, compreso uncarattere b (bianco) di inizializzaizone.

I una testina di lettura mobile.

I un automa a stati finiti.

Operazioni elementari

I leggere e scrivere il carattere individuato dalla testina

I spostare la testina di una posizione verso destra o verso sinistra

I modificare lo stato interno dell’automa

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 54

La Macchina di Turing: definizione formale

Una Macchina di Turing (one-tape, deterministica) e una tupla〈Q, Γ, b,Σ, δ, q0,F 〉 dove

I Q e un insieme finito di stati

I Γ e l’alfabeto finito del nastro

I b ∈ Γ e il carattere bianco

I Σ ⊆ Γ \ {b} e l’insieme dei caratteri di input/output

I q0 ∈ Q e lo stato iniziale

I F ⊆ Q e l’insieme degli stati finali (o di accettazione)

I δ : Q \ F × Γ→ Q × Γ× {L,R} e la funzione di transizione.

L (left) e R (right) denotano le possibili mosse della testina.

Remark: la funzione di transizione ha un grafo finito. Ogni elemento del grafoe una quintupla (q, a, q′, a′,M) tale che δ(q, a) = (q′, a′,M). L’insieme finitodelle quintuple puo essere visto come l’insieme delle istruzioni della macchina(programma), e la determina univocamente.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 55

Convenzioni di input-output

input

I si suppone che il nastro sia inizializzato con la stringa di input (uncarattere per ogni cella)

I la testina e posizionata sul primo carattere dell’input.

I tutte le altre celle del nastro sono inizializzate col carattere speciale b.

output

I nel momento in cui la macchina si arresta l’output e la piu lunga stringadi caratteri in Γ (in particolare, senza b) alla destra della testina

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 56

Configurazioni istantanee

Una configurazione e una descrizione dello stato della computazione ad un datoistante della computazione. Questa e definita come una tripla

σ, q, τ

dove q e lo stato dell’automa e σ e τ sono due stringhe di caratteri chedescrivono la porzione non (definitivamente) bianca del nastro alla sinistra ealla destra della testina. Il carattere in lettura e il primo carattere di τ .

La computazione avviene per passi discreti: una transizione tra dueconfigurazioni e una relazione ` governata dalla funzione di transizione.

σ, 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 “ondemand” con caratteri bianchi qualora se ne abbia necessita.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 57

Computazioni

La relazione `∗ denota la chiusura transitiva e riflessiva della relazione `.

Una funzione f : Σ∗ → Σ∗ e calcolata da una macchina di Turing M se perogni α esiste qf ∈ F tale che

ε, q0, α `∗ σ, qf , τ

e f (α) e il piu lungo prefisso di τ appartenente a Σ∗

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 58

L’essenza della Macchina di Turing

Agente di calcolo con potenzialita finite, che procede per passi discreti.Ad ogni passo posso

I prendere visione di una porzione finita dello spazio (discretizzato)circostante (compreso un eventuale stato interno)

I modificare una porzione finita di tale spazio,

I spostarmi di una distanza finita in tale spazio

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 59

La Macchina di Turing Universale

Esiste una MdT Universale che prende in input la sequenza di quintuple di unamacchina M, un input m e simula il comportamento di M su input m.

I divido il nastro in una parte superiore ed una inferiore. La parte superiore e utilizzata per memorizzare lequintuple della MdT da simulare M, quella inferiore e il nastro di lavoro, su cui viene inizialmente copiato ildato di input m;

I lo stato interno comprende tre “registri” speciali Q, A e S utilizzati per memorizzare rispettivamente lo

stato della macchina M, il carattere di lettura/scrittura e lo shift (R/L) della testina; inizialmente Q = qM0 ,

I letto il carattere a sul nastro inferiore, rimpiazzo a con un carattere speciale ] per ricordare la posizionedella testina e memorizzo a nel registro A;

I 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 scriverea′ e della mossa da eseguire s; se q′ e finale la computazione si arresta;

I torno quindi a cercare il carattere ] sul nastro iferiore, lo rimpiazzo con il contentenuto di A, eseguo lamossa S e ricomincio il ciclo;

Se leggo l’insieme delle quintuple come la codifica numerica (indice) di M, laMdT Universale e un interprete nel senso precedentemente esposto.

La Macchina Universale permette di eseguire tutti i programmi con un unicohardware: e a tutti gli effetti l’antesignano del moderno elaboratore elettronico.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 60

Numerazioni di Godel - Lezione 8

I Numerazioni accettabili

I Proprieta utm e smn

I Riducibilita di enumerazioni

I Il teorema di equivalenza di Roger

I Il predicato T di Kleene

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 61

Numerazioni accettabili

Sia data una enumerazione ϕki delle funzioni parziali calcolabili a k argomenti.

Se la numerazione e effettiva, ci aspettiamo che esista un interprete:

Proprieta utm (Universal Turing Machine)

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 deiprogrammi ottenuti per valutazione parziale di programmi dati:

Proprieta smn

Per ogni funzione parziale calcolabile f m+n esiste una funzione totale calcolabilesm

n tale che, per ogni ~xm, ~yn

ϕsmn (~xm)(~yn) = f (~xm, ~yn)

Una enumerazione che gode delle proprieta utm e smn e detta accettabile.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 62

Riducibilita di enumerazioni

Siano date due funzioni di enumerazione ϕ,ψ : N → A.

1. ψ e riducibile a ϕ (in simboli: ψ ≤ ϕ) se esiste una funzione totalecalcolabile f tale che, per ogni numero naturale n, ψn = ϕf (n)

2. ψ e equivalente a ϕ (in simboli: ψ ≡ ϕ) se ψ ≤ ϕ e ϕ ≤ ψ.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 63

Il teorema di equivalenza di Roger

Roger

Tutte le enumerazioni accettabili di funzioni parziali ricorsive sono equivalentitra loro.

In particolare e possibile dimostrare che, supposto ϕ accettabile,

I ψ ≤ ϕ⇔ ψ soddisfa la proprieta utm

I ϕ ≤ ψ ⇔ ψ soddisfa la proprieta smn

_<ϕ ψ

ψ ≅ ϕ

_< ψ ϕ

smn

utm

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 64

Dimostrazione del teorema di Roger

Sia u l’indice di un interprete per ϕ.

I ψ ≤ ϕ⇔ ψ soddisfa la proprieta utm:

⇒ Se esiste f t.c. tale che ψn = ϕf (n), allora la funzioneϕu(f (n),m) e calcolabile e deve essere enumerata da ψ.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).

I ϕ ≤ ψ ⇔ ψ soddisfa la proprieta smn

⇒ Sia f t.c. tale che ϕn = ψf (n). Data una funzionecalcolabile 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 funziones tale che ψs(x)(y) = ϕu(x , y) riduce ϕ a ψ.

Fissare una particolare enumerazione non e piu rilevanteche fissare un sistema di riferimento sul piano cartesiano.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e calcolabile

T e il predicato (intuitivamente calcolabile) che afferma che la computazionedel programma di indice i su input n termina con risorse fissate (e.g. tempo ospazio) t e fornisce come risultato k. Si suppone che le risorse necessarie aprodurre 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)

e ancora calcolabile, ovvero

E possibile decidere se una computazione si arresta in un tempo dato

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 66

La forma normale di Kleene

Il predicato T di Kleene fornisce una visione piu fine della nozione di interprete,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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 67

Funzioni non calcolabili - Lezione 9

I Notazione

I Terminazione

I Totalita

I Equivalenza

I Tre funzioni “simili”

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 68

Un po’ di notazione

Sia ϕi una enumerazione accettabile delle funzioni parziali calcolabili.

Useremo la notazione ϕi (n)↓ per indicare che la funzione e definita (converge)per input n, e ϕi (n)↑ quando e indefinita (o diverge) per tale input.

Definiamo dominio (dom) di ϕi il suo insieme di convergenza, ossia

dom(ϕi ) = {n|ϕi (n)↓}

Il codominio (cod) di ϕi e l’insieme dei possibili output:

cod(ϕi ) = {m|∃n, ϕi (n) = m}

Le funzioni parziali sono ordinate parzialmente rispetto all’inclusioneinsiemistica dei loro grafi:

ϕi ⊆ ϕj ⇔ ∀n ∈ dom(ϕi ), ϕi (n) = ϕj (n)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 69

Il problema della terminazione

Il test di terminazione e cosi definito:

h(i , x) =

{1 se ϕi (x)↓0 se ϕi (x)↑

Consideriamo ora la funzione f , definita come segue:

f (x) =

{1 se h(x , x) = 0⇔ ϕx (x)↑↑ se h(x , x) = 1⇔ ϕx (x)↓

Se h e calcolabile lo e anche f . Dovrebbe dunque esistere m tale che f = ϕm.Supposto f = ϕm, ci chiediamo quanto vale ϕm(m):

ϕm(m) =

{1 se h(m,m) = 0⇔ ϕm(m)↑↑ se h(m,m) = 1⇔ ϕm(m)↓

il che e assurdo. Questo dimostra che

il test di terminazione non e una funzione calcolabile!

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 70

Il problema della totalita

total(i) =

{1 se ϕi e totale

0 altrimenti

Consideriamo una funzione ausiliaria definita nel modo seguente:

f (x , y) =

{0 se ϕx (x)↓↑ altrimenti

La funzione f e calcolabile.Per il teorema s.m.n. esiste h totale calcolabile tale che

ϕh(x)(y) = f (x , y) =

{0 se ϕx (x)↓↑ altrimenti

Avremmo allora

total(h(x)) =

{1 se ϕx (x)↓0 se ϕx (x)↑

Sappiamo che total ◦ h non e calcolabile, e dunque non lo e neppure total .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 71

Il problema della equivalenza estensionale di programmi

eq(i , j) =

{1 se ϕi ≈ ϕj

0 altrimenti

Consideriamo la funzione costante 0, e sia m un indice per essa.Consideriamo la funzione h della sezione precedente:

ϕh(x)(y) =

{0 se ϕx (x) ↓↑ se ϕx (x) ↑

Poniamo

f (x) = eq(h(x),m) =

{1 se ϕx (x) ↓0 altrimenti

f non e calcolabile e dunque neppure eq.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 72

Tre funzioni simili

g(i) ≡

{1 se ∃n, ϕi (n)↓0 altrimenti

g ′(i) ≡

{1 se ∃n, ϕi (n)↓↑ altrimenti

g ′′(i) ≡

{minimo n, ϕi (n)↓ se ∃n, ϕi (n)↓↑ altrimenti

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 73

La funzione g

Consideriamo la solita funzione calcolabile h:

ϕh(x)(y) =

{0 se ϕx (x) ↓↑ se ϕx (x) ↑

f (x) = g(h(x)) =

{1 se ϕx (x) ↓0 altrimenti

f non e calcolabile e dunque neppure g .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 74

La funzione g ′

g ′(i) ≡

{1 se ∃n, ϕi (n)↓↑ altrimenti

Accortezza: muoversi con una tecnica di dovetaling tra i due infiniti deipossibili 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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 75

La funzione g ′′

g ′′(i) ≡

{minimo n, ϕi (n)↓ se ∃n, ϕi (n)↓↑ altrimenti

Consideriamo la seguente funzione h totale calcolabile

ϕh(i)(y) = f (i , y) =

{0 se y > 0 ∨ ϕi (i)↓↑ altrimenti

ϕh(i)(0) ↓ se e solo se ϕi (i) ↓. Inoltre ϕh(i)(1) ↓. Dunque

g ′′(h(i)) ≡

{0 ϕi (i)↓1 altrimenti

Se g ′′ fosse calcolabile risolveremmo il problema della terminazione diagonale.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 76

Insiemi ricorsivi e r.e. - Lezioni 10,11

I Insiemi ricorsivi

I Insiemi ricorsivamente enumerabili (r.e)

I Enumerabilita crescente

I Caratterizzazioni equivalenti

I Il Teorema di proiezione

I Proprieta di chiusura

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 77

Insiemi ricorsivi

Un insieme si dice ricorsivo (o decidibile) se la sua funzione caratteristica ecalcolabile.

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 e ricorsivo(contro) Esempio:

K = {x |ϕx (x) ↓}

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 78

Prorieta di chiusura degli insiemi ricorsivi

LemmaGli insiemi ricorsivi sono chiusi rispetto alle operazioni di unione, intersezione ecomplementazione.

Siano A e B insiemi ricorsivi, e siano ca e cB le loro funzioni caratteristiche.Allora:

I cA(n) = 1− cA(n)

I cA∧B (n) = min{cA(n), cB (n)}I 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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 79

Insiemi ricorsivamente enumerabili

Un insieme si dice ricorsivamente enumerabile (r.e.) se e vuoto oppure e ilcodominio di una funzione totale calcolabile (detta funzione di enumerazione).

LemmaOgni insieme ricorsivo e anche r.e.

Sia A ricorsivo e sia cA la sua funzione caratteristica.Il caso in cui A e finito e banale.Supponiamo A infinito:{

f (0) = µy , cA(y) = 1

f (x + 1) = µy , cA(y) = 1 ∧ y > f (x)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 80

Enumerabilita crescente

LemmaUn insieme A a ricorsivo se e solo se puo essere enumerato in modo crescente.

⇒ si veda la prova del lemma precedente⇐ Se A e finito l’asserto e ovvio. Possiamo dunque suppore A infinito; sia f lafunzione di enumerazione. Definiamo la seguente funzione:

cA(x) = f (µy f (y) ≥ x) = x

(scandisco tutti i dati enumerati da f finche non ne trovo uno non inferioreall’input x : a questo punto arresto la ricerca e verifico se il dato coincide conl’input cercato).

Il fatto (non ovvio) che cA e totale e una conseguenza del fatto che A e infinitoe dunque cod(f ) contiene valori arbitrariamente grandi (superiori ad ogni x).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 81

Teorema di complementazione

Teorema

Un insieme A e ricorsivo se e solo se sia A che A sono r.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 e suriettiva su N. Sia pari(n) la funzione caratteristica dell’insieme deinumeri pari.

cA(n) = pari(µy(h(y) = n)

cA e calcolabile e totale.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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

I 1⇒ 2 Il caso A = ∅ e ovvio. Sia A = cod(f ) per f tot. calc., poniamo

g(x) = µy(f (y) = x)

Chiaramente g e calcolabile e g(x)↓ se e solo se x ∈ cod(f ).

I 2⇒ 3 Sia A = dom(g); basta considerare

h(x) = x + 0 ∗ g(x)

I 3⇒ 1 Sia A = cod(h), per h parziale calcolabile.Il caso A = ∅ e triviale. Posto a ∈ A e h = ϕi consideriamo

f (〈x , k, s〉) =

{k se T (i , x , k, s) = 1

a altrimenti

dove T e il predicato di kleene. f e totale e calcolabile e cod(f ) = A.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 83

Semidecidibilita

A decidibile A semidecidibile

f (x) =

{1 se x ∈ A

0 se x 6∈ Af (x) =

{↓ se x ∈ A

↑ se x 6∈ A

per f calcolabile

Esistono insiemi semidecidibili (r.e) ma non decidibili (ricorsivi):

Teorema

L’insieme K = {x |ϕx (x) ↓} e r.e.

La funzione k(x) = ϕx (x) e calcolabile e K = dom(k).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 84

Enumerazione degli insiemi r.e.

Possiamo definire una enumerazione W : N → RE dell’insieme RE di tutti gliinsiemi r.e. ponendo

Wi = dom(ϕi )

Si noti che

K = {x |ϕx (x) ↓} = {x |x ∈ dom(ϕx )} = {x |x ∈Wx}

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 85

Il teorema di proiezione

Teorema di proiezione

Un insieme A e r.e. se e solo se esiste un insieme B ricorsivo tale che

A = {m|∃n, 〈n,m〉 ∈ B}

I ⇐ Sia cB la funzione caratterisitca di B. Allora A = dom(f ) dove

f (m) = µn, cB (〈n,m〉) = 1

I ⇒ Sia A = dom(ϕi ). Dunque m ∈ A se e solo se ϕi (m) ↓, se e solo se∃n,T (i , n,m), dove T e il predicato ternario di Kleene.

Basta dunque porreB = {〈n,m〉|T (i , n,m)}

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 86

Proprieta di chiusura degli insiemi r.e.

Teorema

Gli insiemi r.e. sono chiusi rispetto a unione e intersezione, ma non rispetto allacomplementazione.

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 e r.e. (altrimenti K sarebbe ricorsivo).

Corollario Esistono insiemi che non sono ne ricorsivi ne ricorsivamenteenumerabili (e.g. K).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 87

Proprieta di chiusura rispetto a funzioni

Teorema

Siano A,B ⊆ N e f : N → N1. se A e ricorsivo e f e totale calcolabile, allora f −1(A) e ricorsivo

2. se A e r.e. e f e calcolabile, allora f −1(A) e r.e

3. se A e r.e. e f e calcolabile, allora f (A) e r.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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 88

Unioni e interesezioni infinite

Lemma1) una unione r.e. di insiemi r.e. e ancora r.e.2) una interesezione r.e. di insiemi r.e. non e necessarimente r.e.

1) per ogni x⋃

i∈Wx

Wi e r.e. 2) esiste x⋂

i∈Wx

Wi non e r.e.

1) Per dovetailing.2) Per smn esiste h totale calcolabile tale che

Wh(i) = {x |¬T (x , x , i)}

dove T e il predicato di Kleene. Si dimostra facilmente che⋂i∈N

Wh(i) = K

Poiche⋂

i∈N Wh(i) =⋂

i∈cod(h) Wi l’asserto e dimostrato.

Remark: gli insiemi Wh(i) sono ricorsivi e h puo essere scelta monotona crescente,

quindi una intersezione ricorsiva di insiemi ricorsivi non e in generale r.e.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 89

I teoremi di Rice e Rice-Shapiro - Lezioni 12,13

I Insiemi estensionali

I Il teorema di Rice

I Il teorema di Rice-Shapiro (monotonia)

I Il teorema di Rice-Shapiro (compattezza)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 90

Insiemi estensionali

Un insieme (proprieta) A ⊆ N si dice estensionale (w.r.t ϕ) se per ogni i , j

i ∈ A ∧ ϕi ≡ ϕj ⇒ j ∈ A

Ovvero, se cA e la funzione caratteristica di A,

ϕi ≡ ϕj ⇒ cA(i) = cA(j)

Una proprieta estensionale di (indici di) programmi e una proprieta relativa allafunzione calcolata (estensione) e non alla forma o al modo (intensione) in cuiquesta viene calcolata.

P(i) estensionale P(i) intensionale

ϕi e totale ∀n∃k,T (i , n, k, i2)ϕi ≡ f ϕi ≡ f ∧ i ≤ 1005 ∈ cod(ϕi ) i ∈ cod(ϕi )dom(ϕi ) e finito |dom(ϕi )| > iϕi (0) ↑ ϕi (i) ↑∃n, ϕi (n)↓ ∧ϕi (n + 1)↓ ϕi ≡ ϕi+1

Remark: Il complementare di un insieme estensionale e estensionale

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 91

Il teorema di Rice

Rice 1953

Una proprieta estensionale di programmi e decidibile se e solo se e banale.

Sia c la funzione caratteristica del predicato. Sia m un indice per la funzioneovunque divergente, e sia a tale c(a) 6= c(m). Cerco h calcolabile tale che

φh(x) ≈

{φa if x ∈ K

φm if x 6∈ K

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 92

Definizione di h

Consideriamo la funzione

φh(x)(y) = φx (x);φa(y)

dove “;” denota la composizione sequenziale.Per la poprieta smn h e totale e calcolabile.

E banale verificare che

φh(x) ≈

{φa if x ∈ K

φm if x 6∈ K

Dunque, utilizzando l’ipotesi di estensionalita, avremmo

c(h(x)) =

{c(a) if x ∈ K

c(m) if x 6∈ K

che permetterebbe di decidere l’appartenenza a K .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 93

Uso del teorema di Rice

I Uso diretto, per dimostrare che determinate proprieta (essendoestensionali) non sono decidibili.

I Uso indiretto, per dimostrare che determinate proprieta estensionali nonsono neppure semidecidibili (basta dimostrare che il complementare e r.e.)

Esempio:A = { i |ϕi (0) ↓}

A non e banale, e dunque, per Rice, non puo essere ricorsivo (uso diretto);d’altra parte A e r.e., dunque

A = { i |ϕi (0) ↑}

non e neppure r.e. altrimenti sia A che A sarebbero ricorsivi, contraddicendo ilrisultato di Rice (uso indiretto).

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 94

Monotonia e compattezza

Sia A un insieme estensionale (rispetto a ϕ) di numeri naturali

I A e detto monotono se per ogni i e j

i ∈ A ∧ ϕi ⊆ ϕj → j ∈ A

I A e detto compatto se per ogni i ∈ A esiste j ∈ A tale che

1. il grafo di ϕj e finito2. ϕj ⊆ ϕi

insieme monotonia compattezza

{ i |ϕi (0) ↓} si si{ i |ϕi e totale} si no{ i |cod(ϕi ) e finito} 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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 95

Rice-Shapiro (monotonia)

Rice-Shapiro (monotonia)

Ogni insieme estensionale A ricorsivamente enumerabile e monotono.

Supponiamo che esistano due indici i e j tali che i ∈ A, j 6∈ A and ϕi ≤ ϕj .Consideriamo la funzione

ϕf (x)(y) = ϕi (y)|(ϕx (x);ϕj (y))

dove “|” denota la composizione parallela (l’output e quello del primo threadterminante). E facile vedere che

φf (x) ≈

{φj if x ∈ K

φi if x 6∈ K

(nel caso x ∈ K uso l’ipotesi ϕi ≤ ϕj ). Dunque

f (x) ∈ A⇔ x ∈ K

e K sarebbe r.e., il che e assurdo.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 96

Rice-Shapiro (compattezza)

Rice-Shapiro (compattezza)

Ogni insieme estensionale A ricorsivamente enumerabile e compatto.

Sia A un insieme estensionale ricorsivamente enumerabile. Supponiamo chei ∈ A e che per ogni j tale che ϕj ⊆ ϕi e ϕj e finito si abbia j 6∈ A.Consideriamo la funzione f totale calcolabile definita come segue (per smn)

ϕf (x)(y) =

{↑ if ϕx (x) ↓ in meno di y passi

ϕi (y) otherwise

Se x ∈ K allora ϕf (x) ≈ ϕi e dunque f (x) ∈ A.Se x ∈ K allora la computazione di ϕx (x) terminera in un numero finito t dipassi, e la funzione ϕf (x) convergera solo per valori di input y ≤ t.Dunque f (x) e un indice per una sottofunzione finita di ϕi , e per ipotesif (x) 6∈ A.

In conclusionef (x) ∈ A⇔ x ∈ K

e K sarebbe r.e., il che e assurdo.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 97

Applicazioni di Rice-Shapiro

I teoremi di Rice-Shapiro permettono di dimostrare facilmente che determinatiinsiemi estensionali non sono r.e. Ad esempio:

{ i |ϕi e totale} non e r.e. in quanto non e compatto{ i |cod(ϕi ) e finito} non e r.e. in quanto non e monotono

Warning: Esistono insiemi estensionali monotoni e compatti ma non r.e., adesempio { i |dom(ϕi ) ∩ K 6= ∅}.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 98

Il teorema del punto fisso di Kleene - Lezione 14

I primo teorema di ricorsione

I secondo teorema di ricorsione

I applicazioni

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e sicuramente definitoin quanto h e totale). Allora, per ogni y

ϕ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 e il punto fisso di g .Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 100

Il secondo teorema di ricorsione

Secondo Teorema di ricorsione di Kleene

Per ogni funzione binaria totale calcolabile f esiste una funzione calcolabile stale 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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 101

Applicazioni del teorema del punto fisso

L’uso del teorema del punto fisso per simulare ricorsione e particolarmentepulito, in quanto la funzione g e estensionale, nel senso che

ϕi ≡ ϕj ⇒ ϕg(i) ≡ ϕg(j)

Tuttavia il teorema e vero per qualunque trasformazione effettiva.

Ad esempio:

I in ogni enumerazione accettabile di programmi esistono sicuramente dueprogrammi consecutivi con comportamenti identici, ovvero esiste i taleche

ϕi+1 ≡ ϕi

Dimostrazione: si prenda il punto fisso del successore.

I Esiste un programma che “stampa se stesso”, cioe esiste i tale che

ϕi (0) = i

Dimostrazione: Per smn esiste h tale che ϕh(x)(y) = x ; se ne prenda unpunto fisso.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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:

h(x) =

{ı se x ∈ A

se x ∈ A

Per definizioneh(x) ∈ A⇔ x ∈ A

Inoltre, se A e ricorsivo h e totale calcolabile e per il teorema del punto fisso diKleene, esiste un indice b tale che ϕb = ϕh(b). Avremmo quindi

b ∈ A⇔ h(b) ∈ A⇔ b ∈ A

che e una contraddizione.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 103

Riducibilita - Lezioni 15,16

I La nozione di (m-)riducibilita

I m-completezza

I Insiemi produttivi e creativi

I Il problema di Post

I Insiemi immuni e semplici

I Complessita di Kolmogorov

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 104

Definizione di riducibilita

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), seA ≤m B e B ≤m A;

Osservazioni:

I la relazione ≤m e un preordine (i.e. e riflessiva e transitiva)

I la relazione = m e una relazione di equivalenza

I A ≤m B se e solo se A ≤m B

I se A ≤m B e B e ricorsivo (risp. r.e.) allora A e ricorsivo (risp. r.e.)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 105

K0 =m K

Sia K0 = {〈i , n〉 |n ∈Wi}

I K ≤m K0. Siccome

i ∈ K ⇒ i ∈Wi ⇒ 〈i , i〉 ∈ K0

la funzione f (x) = 〈x , x〉 permette di ridurre K a K0.

I 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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 106

m-completezza

Un insieme si dice m-completo se e r.e. ed ogni insieme r.e. e riducibile adesso.

LemmaK0 e K sono insiemi completi.

Dato che K0 =m K e sufficiente dimostrare la proprieta per K0.Abbiamo gia dimostrato che se A ≤m K0 allora A e r.e. e dunque esiste i taleche A = Wi . Allora, per ogni n

n ∈ A⇔ n ∈Wi ⇔ 〈i , n〉 ∈ K0

LemmaA e completo se e solo se A =m K.

Se A =m K allora A e r.e. e m-completo perche lo e K .Viceversa se A e m-completo, allora e r.e. e per la completezza di K , A ≤m K ;inoltre, siccome K e r.e. , K ≤m A per la m-completezza di A.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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) ∈ A\Wi

2. A si dice creativo se e r.e. ed il suo complemento A e produttivo.

Si osservi che un insieme produttivo non puo essere r.e. Infatti, se A = Wi

allora preso Wi ⊆ A avremmo che A\Wi = ∅ e quindi f (i) 6∈ A\Wi .

Teorema

K e creativo (e la funzione di produzione e l’identita).

Sappiamo che K e r.e.; dimostriamo che K e produttivo, ed in particolare che

Wi ⊆ K ⇒ i ∈ K\Wi

I i ∈ K . Infatti, se i ∈ K allora i ∈Wi e siccome Wi ⊆ K avremmo i ∈ Kche e una contraddizione. Dunque i ∈ K .

I i 6∈Wi . Infatti, se i ∈Wi allora i dovrebbe appartenere a K , ma abbiamoappena dimostrato il contrario.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 108

Caratterizzazione della produttivita

Teorema

Sia A ⊆ N . A e produttivo se e solo se K ≤m A.

(⇐) 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 e una funzione di produzioneper A, ovvero che per ogni i

Wi ⊆ A⇒ f (i) ∈ A\Wi

Se Wi ⊆ A, Wh(i) = g−1(Wi ) ⊆ K e per la produttivita di K , h(i) ∈ K\Wh(i).Ma allora f (i) = g(h(i)) ∈ A\Wi .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 109

Caratterizzazione della produttivita

(⇒) Sia A produttivo, e sia f la funzione di produzione. Consideriamo h t.c.

ϕh(z,y)(n) =

{0 se f (z) = n ∧ y ∈ K

↑ altrimenti

Per il secondo teorema di ricorsione esiste s totale e calcolabile tale che

ϕs(y)(n) = ϕh(s(y),y)(n)

{0 se f (s(y)) = n ∧ y ∈ K

↑ altrimenti

e dunque

Ws(y) =

{{f (s(y))} se y ∈ K

∅ altrimenti

Vogliamo dimostrare che f ◦ s e una funzione di riduzione da K a A:

I Se y ∈ K allora Ws(y) = {f (s(y))}. Se f (s(y)) ∈ A allora Ws(y) ⊆ A equindi per la produttivia di A, f (s(y)) ∈ A\Ws(y), ed in particolare

f (s(y)) 6∈Ws(y) = {f (s(y))} che e assurdo. Dunque f (s(y)) ∈ A.

I Se y 6∈ K , allora Ws(y) = ∅ ⊆ A e dunque, per la produttivita di A,f (s(y)) ∈ A\Ws(y), ed in particolare f (s(y)) ∈ A.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 110

Caratterizzazione della creativita

Teorema

Sia A ⊆ N . A e creativo se e solo se A =m K .

Per definizione, A e creativo se e solo se e r.e. e A e produttivo.Ma A e r.e se e solo se A ≤m K .Inoltre, per il teorema precedente, A e produttivo se e solo se K ≤m A, cheequivale a K ≤m A.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 111

Il problema di Post

Il problema di Post

la riduzione di K ad A e una tecnica generale per dimostrare l’indecidibilita diA? (almeno limitatamente agli insiemi r.e.)

Ovvero,

per ogni A r.e. non ricorsivo vale A =m K?

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 112

Insiemi immuni e semplici

LemmaOgni insieme produttivo A contiene un sottoinsieme infinito r.e.

Sia f una funzione di produzione per A. Per smn esiste r totale e calcolabiletale che, per ogni i :

Wr(i) = Wi ∪ {f (i)}Si noti che siccome f (i) 6∈Wi , Wr(i) estende strettamente Wi . Inoltre, seWi ⊆ A anche Wr(i) ⊆ A. Preso dunque m tale che Wm = ∅, l’unione⋃

n∈N

Wrn(m)

e infinita, r.e. e contenuta in A.

Il risultato precedente motiva la seguente definizione: sia A ⊆ N .

I A si dice immune se e infinito e nessun suo sottoinsieme infinito e r.e.

I A si dice semplice se e r.e. e A e immune.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 113

Complessita di Kolmogorov

Andiamo alla ricerca di un insiemi semplice (dunque non creativo).

La complessita di Kolmogorov di un numero n, indicata con k(n) e il piupiccolo indice i tale che ϕi (0) = n.

Intuizione: invece di dare una descrizione esplicita del numero n, si puo fornireuna procedura i che permetta di generarlo.

LemmaPer ogni i , se ϕi (0)↓, k(ϕi (0)) ≤ i .

Ovvio, per la definizione di k.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 e un numero di cui non e possibile fornire unadescrizione piu succinta: lui stesso e la sua descrizione minima.

LemmaR 6= ∅.Utilizzando il teorema del punto fisso si dimostra l’esistenza di un i tale cheϕi (0) = i + 1. Dunque i + 1 non e random.

LemmaL’insieme R e r.e.

Un numero a non e random se e solo se esiste un indice i < a tale cheϕi (0) = a. Dunque R e codominio della funzione parziale calcolabile

g(i) =

{ϕi (0) se i < ϕi (0)

↑ altrimenti

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 115

Un insieme immune

Teorema

L’insieme R dei numeri random e immune.

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 etotale e cod(f ) = A e infinito. Per definizione, f (µn.f (n) > i) ∈ A, e sesupponiamo 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

I ϕm(0) = ϕh(m)(0) ∈ R, che implica ϕm(0) ≤ k(ϕm(0)); inoltre abbiamodimostrato che k(ϕm(0)) ≤ m, e per transitivia ϕm(0) ≤ m.

I d’altra parte, per (∗), ϕm(0) = ϕh(m)(0) > m, che porta a contraddizione.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 116

Calcolabilita e completezza - Lezioni 17-18

I Aritmetica del prim’ordine

I Insiemi e funzioni aritmetiche

I Indecidibilita della verita aritmetica

I il Teorema di incompletezza di Godel

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 117

Aritmetica

Il linguaggio dell’aritmetica e il linguaggio del primo ordine basato sullaseguente 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 ) taleche

(n1, . . . , nk ) ∈ A⇔ N |= ψ[n1/x1, . . . , nk/xk ]

ovvero ψ(x1, . . . , xk ) e vera sui numeri naturali. Diremo in questo caso che ψ e

una descrizione aritmetica di A.

Ad esempio, l’insieme dei numeri primi e aritmetico, in quanto puo esseredescritto dalla seguente formula aritmetica:

ψ(n) = 2 ≤ n ∧ ∀y , 1 < y ∧ y < n⇒ ∀z , y · z 6= n

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 118

Insiemi/funzioni aritmetici

Gli insiemi aritmetici sono chiusi rispetto alle operazioni di unione, intersezionee complementazione.

Una funzione f si dice aritmetica se il suo grafo e un insieme aritmetico.

Le seguenti funzioni sono aritmetiche:

f arieta descrizione

0 0 y = 0S 1 y = S(x)+ 2 y = x1 + x2

· 2 y = x1 · x2

πki k y = xk

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 119

Chiusura rispetto alla composizione

LemmaLa composizione di funzioni aritmetiche e aritmetica.

Sia f (x) = g(h(x)) e siano ψg (x , y) e ψh(x , y) le descrizioni aritmetiche di g eh.

Definiamoψf (x , z) = ∃y , ψg (x , y) ∧ ψh(y , z)

e facile dimostrare che ψf e una descrizione aritmetica di f .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 120

Chiusura rispetto alla minimizzazione

LemmaUna funzione definita per minimizzazione di una funzione aritmetica e ancoraaritmetica.

Siaf (x) = µy .(g(x , y) = 0)

e supponiamo che ψg sia una descrizione aritmetica di g .

f e descritta dalla seguente formula:

ψf (x , y) = ψg (x , y , 0) ∧ ∀i , i < y → ∃m, (ψg (x , i ,m) ∧m 6= 0)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 121

Le funzioni calcolabili sono aritmetiche

Teorema

Tutte le funzioni calcolabili sono aritmetiche.

Conseguenza del fatto che ogni funzione calcolabile puo essere espressa in unformalismo che contiene somma, prodotto, costanti, proiezioni ed e chiuso percomposizione e ricorsione primitiva.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 122

Gli insiemi r.e. sono aritmetici

Teorema

Ogni insieme ricorsivamente enumerabile e aritmetico.

Se A e r.e. esiste f (parziale) calcolabile tale che A = dom(f ). Sia ψf (x , y)una descrizione aritmetica di f . Allora

n ∈ A⇔ N |= ∃y , ψf (n, y)

e dunque ψA(x) = ∃y , ψf (x , y) e una descrizione aritmetica di A.

corollario L’insieme K e aritmetico.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 123

Indecidibilita della verita aritmetica

Teorema

L’insieme delle formule aritmetiche vere non e ricorsivamente enumerabile.

Sia {ψn}n∈N una enumerazione effettiva delle formule aritmetiche in unavariabile. Consideriamo l’insieme A cosı definito

n ∈ A⇔|= ¬ψn(n)

Se la verita aritmetica fosse semidecidibile, allora A sarebbe r.e.

Dunque A dovrebbe essere aritmetico e dovrebbe esistere una formula ψa percui

n ∈ A⇔|= ψa(n)

Ma per n = a otteniamo una contraddizione.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 124

Incompletezza

Teorema di incompletezza di Godel

Ogni sistema formale aritmetico, se consistente, e incompleto (i.e. esistonoformule aritmetiche valide ma non dimostrabili).

Un sistema formale e definito da un insieme ricorsivo di assiomi e un insieme diregole di inferenza che permettono di dedurre nuovi teoremi a partire dagliassiomi in un numero finito di applicazioni.

Pertanto le formule aritmetiche dimostrabili costituiscono un insiemericorsivamente enumerabile.

Poiche le formule vere non sono r.e. esistono necessariamente delle formulevere ma non dimostrabili.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 125

La gerarchia aritmetica - Lezioni 19,20

I Le classi Σ0n,Π

0n,∆

0n

I Operazioni sui quantificatori

I Insiemi completi

I Il teorema della gerarchia aritmetica

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 126

Le classi Σ0n,Π0

n,∆0n

Sia n un numero naturale.

I Σ0n e la classe di tutti gli insiemi A ⊆ N k per cui esiste un insieme

ricorsivo R ⊆ N n+k tale che

A = {x ∈ N k |∃y1∀y2∃y3...Qyn, (x , y1, y2, ..., yn) ∈ R}

dove Q = ∀ per n pari, e Q = ∃ per n dispari.

I Π0n e la classe di tutti gli insiemi A ⊆ N k per cui esiste un insieme

ricorsivo R ⊆ N n+k tale che

A = {x ∈ N k |∀y1∃y2∀y3...Qyn, (x , y1, y2, ..., yn) ∈ R}

dove Q = ∃ per n pari, e Q = ∀ per n dispari.

I ∆0n = Σ0

n ∩ Π0n.

I⋃

n∈N (Σ0n ∪ Π0

n) e detta gerachia aritmetica.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 127

Semplici proprieta della gerarchia aritmetica

Sia n un numero naturale:

I La classe Σ00 = Π0

0 = ∆00 e la classe degli insiemi ricorsivi.

I La classe Σ0n+1 e la classe delle proiezioni di insiemi in Π0

n.

I La classe Π0n e la classe dei complementi di insiemi in Σ0

n.

I In particolare, Σ01 e la classe degli insiemi r.e e Π0

1 e al classe degli insiemico-r.e.

I ∆01 = ∆0

0 e la classe degli insiemi ricorsivi.

I Σ0n ∪ Π0

n ⊆ Σ0n+1 ∩ Π0

n+1 = ∆0n+1

Dimostreremo in seguito che l’ultima inclusione e stretta.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 128

Esempio: il problema dell’equivalenza

Equ = {(i , j) ∈ N | ϕi = ϕj} ∈ Π02

Infatti

(i , j) ∈ Equ ⇔ ∀n((ϕi (n)↓ ∧ ϕj (n)↓ ∧ϕi (n) = ϕj (n)))∨(ϕi (n)↑ ∧ ϕj (n)↑)

⇔ ∀n((∃t1t2k(T (i , n, t1, k) ∧ T (j , n, t2, k))∨∀t1t2k1k2(¬T (i , n, t1, k1) ∧ ¬T (j , n, t2, k2)))

⇔ ∀ns1s2k1k2∃t1t2k((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 soloquantificatore.

Poiche la matrice e ricorsiva, questo dimostra che Equ e (al piu) in Π02.

Possiamo dare una classificazione piu stretta?

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 129

Forme normali prenesse

Il Teorema di Kuratowski

Ogni formula aritmetica e eqivalente ad una con un prefisso formato da una listaalternata di quantificatori e una matrice ricorsiva.

La prova si basa sulle seguenti trasformazioni (si suppone che x non occorralibera in β):

¬(∃xα)⇔ ∀x¬α ¬(∀xα)⇔ ∃x¬α(∃xα) ∧ β ⇔ ∃x(α ∧ β) (∀xα) ∧ β ⇔ ∀x(α ∧ β)(∃xα) ∨ β ⇔ ∃x(α ∨ β) (∀xα) ∨ β ⇔ ∀x(α ∨ β)

(∃xα)→ β ⇔ ∀x(α→ β) (∀xα)→ β ⇔ ∃x(α→ β)β → (∃xα)⇔ ∃x(β → α) β → ∀xα⇔ ∀x(β → α)

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 130

Quantificazione limitata

LemmaDue 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) e la funzione ricorsiva che estrae l’ennesimo elemento da unatupla: {

nth(0,w) = w

nth(n + 1, 〈y , z〉) = nth(n, z)

Quindi i quantificatori limitati possono essere spinti verso l’interno e assorbitinella matrice ricorsiva:

∀ e ∃ limitati non influiscono sulla classificazione nella gerarchia aritmetica

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 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 insiemidella gerarchia aritmetica sono costruiti da insiemi ricorsivi utilizzando uninsieme finito di quantificatori, e dunque sono tutti aritmetici.

Viceversa, la descrizione di ogni insieme aritmetico A puo essere trasformata informa normale prenessa, dove la matrice e una proposizione priva diquantificatori in cui compare solo il predicato (decidibile) di uguaglianza, ed edunque ricorsiva. Quindi A appartiene alla gerarchia aritmetica.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 132

Il teorema di enumerazione

Teorema

Per ogni n,m ≥ 1 esiste un insieme Umn ∈ Σ0

n ⊆ Nm+1 che enumera tutti gliinsiemi A ∈ Σ0

n ⊆ Nm, ovvero tale che A(~x)⇔ U(e, ~x) per qualche e.Similmente per Πn

0.

Per induzione su n. Se n = 1

Um1 (i , ~x)⇔ ~x ∈Wi ∈ Σ0

1

enumera tutti gli insiemi r.e.; inoltre

Um1 (i , ~x)⇔ ~x ∈Wi ∈ Π0

1

enumera tutti gli insiemi co-r.e.

Induttivamente, sia data Um+1n ∈ Σ0

n. Posto

Umn+1(e, ~x)⇔ ∀yUm+1

n (e, ~x , y) ∈ Π0n+1

Umn+1 enumera tutte tutti i sottoinsiemi di Nm in Π0

n+1 e Umn+1 quelli in Σ0

n+1.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 133

Completezza nella gerarchia aritmetica

Sia A ⊆ N e sia n ∈ NI A e detto Σ0

n-completo se A ∈ Σ0n e B ≤m A per ogni B ∈ Σ0

n ⊆ NI A e detto Π0

n-completo se A ∈ Π0n e B ≤m A per ogni B ∈ Π0

n ⊆ N

Teorema

Per ogni n, siaK n

0 = {〈i , x〉|U1n (i , x)}

Allora K n0 e Σ0

n-completo (e K n0 e Π0

n-completo).

Sia B ∈ Σ0n ⊆ N . Per il teorema di enumerazione deve esiste e tale che

B(x)⇔ U1n (e, x)⇔ K n

0 (〈e, x〉)

e duque la funzione f (x) = 〈e, x〉 riduce B a K n0 .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 134

Il teorema della gerarchia aritmetica

Teorema della gerarchia

Per ogni n

1. Σ0n \ Π0

n 6= ∅ (e quindi ∆0n ⊂ Σ0

n)

2. Π0n \ Σ0

n 6= ∅ (e quindi ∆0n ⊂ Π0

n)

3. Σ0n ∪ Π0

n ⊂ ∆0n+1

1. supponiamo che Un(i , x) enumeri tutte le relazioni in Σ0n e consideriamo

l’insieme Kn(x) = Un(x , x). Kn ∈ Σ0n; se Kn ∈ Π0

n allora Kn ∈ Σ0n e

dovrebbe esistere e tale che Kn(x) = Un(e, x). Ma allora otterremmo laseguente contraddizione:

Kn(e) = Un(e, e) = Kn(e)

2. se A ∈ Σ0n \ Π0

n, allora A ∈ Π0n \ Σ0

n

3. sia A ∈ Σ0n \ Π0

n e consideriamo l’insieme

Q(x , z) = (A(x) ∧ z = 0) ∨ (A(x) ∧ z = 1)

Chiaramente Q ∈ ∆0n+1. Tuttavia Q 6∈ Π0

n poiche altrimenti lo sarebbeanche A(x) = Q(x , 0) e allo stesso modo Q 6∈ Σ0

n.

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 135

La classificazione di alcuni problemi indecidibili

I K1 = {i |Wi 6= ∅} e Σ01-completo

I Fin = {i |Wi e finito} e Σ02-completo

I Inf = {i |Wi e infinito} e Π02-completo

I Tot = {i |Wi = N} e Π02-completo

I Equ = {〈i , j〉 | ϕi = ϕj} e Π02-completo

I Cof = {i |Wi e cofinito} e Σ03-completo

I Rec = {i |Wi e ricorsivo} e Σ03-completo

I Creative = {i |Wi e creativo} e Σ03-completo

I Simple = {i |Wi e semplice} e Π03-completo

I . . .

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 136

Prova di completezza per il problema dell’equivalenza

Abbiamo gia dimostrato che Equ ∈ Π02. Dobbiamo dimostrare che ogni A ∈ Π0

2

e riducibile a Equ. Poiche A ∈ Π02 deve esistere B ricorsivo tale che

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 Universita di Bologna - Dipartimento di Scienze dell’Informazione 137

Esempi di problemi completi nella gerarchia aritmetica

∆0

3

∆0

2

0Σ 3

0Σ 1 = r.e.

0Π 1= co−r.e.

0Π 3

∆0

0= = recursive∆

0

1

= mK K 0 K

0Π 2

0Σ 2

= m = m

= m = mFin

Simple Cof Rec Creative

Inf Tot Equ

Andrea Asperti Universita di Bologna - Dipartimento di Scienze dell’Informazione 138