sistemi dinamici discreti e computabilità intrinseca marco giunti università di cagliari...

23
discreti e computabilità intrinseca Marco Giunti Università di Cagliari [email protected] http://edu.supereva.it/ giuntihome.dadacasa

Upload: leonardo-grillo

Post on 01-May-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Sistemi dinamici discreti e computabilità intrinseca

Marco GiuntiUniversità di [email protected]://edu.supereva.it/giuntihome.dadacasa

Page 2: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

SommarioTesi generale – La teoria della computazione è una branca

speciale della teoria dei sistemi dinamici e i suoi oggetti (i sistemi computazionali) sono un tipo speciale di sistemi dinamici discreti. La differenza specifica di questi oggetti, cioè la proprietà di essere computazionale, può essere pensata come una proprietà intrinseca alla loro dinamica.

1. Sistemi dinamici: definizione ed esempi.2. Sistemi computazionali: definizione1 e perché, secondo

questa definizione, essere computazionale non è una proprietà intrinseca.

3. Rappresentazioni dinamicamente effettive di sistemi discreti e una nuova definizione2, intrinseca, di sistema computazionale.

4. Possibili conseguenze per la teoria della computabilità: (alcune) funzioni non ricorsive possono risultare computabili da una particolare classe di sistemi computazionali intrinseci.

Page 3: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Un Sistema Dinamico (DS) è un modello matematico che esprime l’idea di un sistema deterministico arbitrario (discreto/continuo, revers./irrevers.) Un Sistema Dinamico (DS) è un modello

(M, (gt)tT) tale che:

1. l’insieme M non è vuoto; M è detto lo spazio degli stati del sistema;

2. l’insieme T è Z, Z+ (interi), oppure R, R+ (reali); T è detto l’insieme tempo;

3. (gt)tT è una famiglia di funzioni da M a M;

ciascuna funzione gt è detta una transizione di stato o un t-avanzamento del sistema;

4. per ogni t e w T, per ogni x M,a. g0(x) = x;

b. gt+w(x) = gw(gt(x)).

Page 4: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Significato intuitivo della definizione di sistema dinamico

gt+w

x

gw

x

g0

xgt

t0 t0+t

gt(x)

t

gt

Page 5: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Esempio di un DS continuo (Modello Galileiano della caduta libera dei gravi)

Specificazione esplicitaSia F = (M, (gt)tT) tale che M = SV and S = V = T = numeri reali gt(s, v) = (s + vt + at2/2, v + at)

Specificazione implicita Sia F = (M, (gt)tT) tale che M = SV and S = V = T = numeri reali ds(t)/dt = v(t), dv(t)/dt = a

Page 6: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Uno schema funzionale standard di una macchina di Turing

Una realizzazione fisica di una macchina di Turing è un qualsiasi sistema concreto che soddisfa (implementa, funziona secondo) lo schema funzionale astratto qui sotto

Unità di controllo

Memoria interna

Memoria esterna

Testa leggi/scrivi

Testa leggi/scrivi/muovi

aj

qi

aj

qi . . : . . . qiaj:akLqm

.. . : . . . .. . : . . .

ak

L

qm

Page 7: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Esempio di un DS discreto (Schema funzionale di una macchina di Turing) Lo schema funzionale astratto di una macchina di

Turing può essere identificato con il sistema dinamico discreto T = (M, (gt)tT) tale che: M = PCQ, dove P = Z (interi) è l’insieme

delle possibili posizioni relative della testa leggi/scrivi/muovi, C è l’insieme dei possibili contenuti di tutta la memoria esterna, e Q è l’insieme dei possibili contenuti della memoria interna;

T = Z+ (interi non negativi); sia g la funzione da M a M determinata dalla

tavola delle istruzioni dello schema funzionale; allora, g0 è la funzione identità su M e, per ogni t 0, gt è la t-esima iterazione di g.

Page 8: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Sistemi computazionali: concetto intuitivo Caratterizzazione estensionale: il termine sistema

computazionale si riferisce a qualsiasi apparato del tipo studiato dalla teoria della computazione standard o elementare; per es. macchine di Turing, macchine a registri, automi cellulari, automi a stati finiti, ecc. Discretezza e determinismo sono due proprietà

condivise da tutti questi apparati; perciò, i cosiddetti calcolatori analogici non sono sistemi

computazionali in questo senso. Caratterizzazione intensionale: i sistemi

computazionali possono essere identificati con quei sistemi dinamici deterministici discreti che possono essere rappresentati in modo effettivo.

Page 9: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

La domanda cruciale: che cos’è una rappresentazione effettiva di un sistema dinamico discreto?

Una definizione naturale (forse la più naturale?) di rappresentazione effettiva è la seguente:

una rappresentazione effettiva di un sistema

dinamico discreto DS = (M,  (gt)tT) è una coppia

(u, DS#) tale che:

1. DS# = (N, (ht)tT) è un sistema dinamico

discreto, dove N è Z+, oppure un segmento iniziale finito di Z+;

2. u: N M è un isomorfismo di DS# in DS;

3. per ogni t T, ht è una funzione ricorsiva.

Page 10: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

La prima definizione di sistema computazionale. E’ intrinseca? Se prendiamo per buona la definizione

precedente di rappresentazione effettiva di un sistema dinamico discreto, possiamo definire:

DS è un sistema computazionale1 sse DS è un sistema dinamico discreto, ed esiste una rappresentazione effettiva di DS.

Domanda: la proprietà di essere computazionale1 è intrinseca alla dinamica del sistema discreto DS? In effetti, DS potrebbe ammettere due rappresentazioni numeriche isomorfe, tali che una è ricorsiva e l’altra no. In questo caso, la proprietà di essere computazionale1 non potrebbe dirsi intrinseca alla dinamica di DS, perché dipenderebbe dalla rappresentazione numerica di tale dinamica che abbiamo scelto.

Page 11: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Essere computazionale1 non è una proprietà intrinseca Esiste un DS discreto tale che:

esso è ovviamente computazionale1 (cioè, ha una rappresentazione effettiva = ha una rappresentazione numerica ricorsiva);

ma ha anche una rappresentazione numerica che non è ricorsiva (cioè, essa soddisfa le prime due condizioni della definizione di rappresentazione effettiva, ma non la terza).

Piuttosto sorprendentemente, questo sistema è DS1 = (Z+, (s 

n)nZ+), cioè, il sistema dinamico discreto generato dall’iterazione della funzione successore s.

Page 12: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

DS1 = (Z+, (s n)nZ+) è computazionale1, ma non intrinseco. Schizzo della prova (1/2) Ovviamente, una rappresentazione numerica

ricorsiva di DS1 = (Z+, (s n)nZ+), è (i, DS1), dove i:

Z+ Z+ è la funzione identità. Si consideri una biiezione arbitraria p: Z+  Z+, e la

“nuova funzione successore” sp su Z+ che corrisponde all’ordine indotto da p:

35,101 75 98 123 48 87,561 23 0 1,003 3

0 1 6 2 3 7 8 9 5 4

p

s

sp

FIGURA 1 Un ipotetico segmento iniziale di p

Page 13: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

DS1 = (Z+, (s n)nZ+) è computazionale1, ma non intrinseco. Schizzo della prova (2/2)

Perciò, (p-1, DSp), dove DSp è il sistema dinamico

discreto generato da sp, è una rappresentazione

numerica di DS1.

Quante rappresentazioni (p-1, DSp) ci sono?

Tante quante il numero delle biiezioni p sugli interi non negativi.

Ma il numero di tali biiezioni è più che numerabile.

Perciò, esiste p* tale che (p*-1, DSp*) è una

rappresentazione numerica non ricorsiva di DS1.

Q.E.D.

Page 14: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

La dimostrazione precedente è sorprendenteE’ strano arrivare a capire che un sistema

dinamico come DSp*, che ha esattamente

la stessa struttura della successione dei numeri naturali, è generato da una funzione pseudo-successore non ricorsiva sp*, e che (p*‑1, DSp*) perciò costituisce una

fedele rappresentazione numerica non ricorsiva di DS1, il quale, al contrario, è

generato dalla funzione successore autentica, che è ovviamente ricorsiva.

Page 15: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Potrebbe (  p*‑1, DSp*) essere una

rappresentazione numerica non fedele della dinamica di DS1?

Confrontiamo la “buona” rappresentazione (i, DS1) con la “strana” (p*‑1, DSp*):

se ci è data tutta la struttura di DS1 (cioè, la funzione successore s: Z+  Z+), possiamo produrre meccanicamente la funzione identità i semplicemente partendo dallo stato 0 e contando 0, poi andando allo stato s(0) = 1 e contando 1, e così via;

ma sembra che, per ogni stato di partenza, andare avanti e indietro sulla struttura di DS1 e contare ogni volta che si raggiunge un nuovo stato non possa permetterci di produrre una biiezione così complessa come p*‑1.

Page 16: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

La rappresentazione strana ( p*‑1, DSp*) non è dinamicamente effettiva Quindi, la “buona” rappresentazione (i, DS1) può

essere costruita effettivamente per mezzo di una procedura meccanica che prende per data la struttura completa dello spazio degli stati M di DS1;

sembra invece che la “strana” (p*‑1, DSp*) non

possa essere costruita effettivamente in questo modo.

Per distinguere i due tipi di rappresentazione, introduciamo il concetto di rappresentazione dinamicamente effettiva.

Page 17: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Rappresentazione dinamicamente effettiva (la condizione 3 non è formale) Una rappresentazione dinamicamente effettiva

di un sistema dinamico discreto DS = (M, (gt)tT)

è una coppia (u, DS#) tale che:

1. DS# = (N, (ht)tT) è un sistema dinamico

discreto, dove N è Z+, oppure un segmento iniziale finito di Z+;

2. u: N M è un isomorfismo di DS# in DS;

3. l’enumerazione u: N M può essere costruita effettivamente per mezzo di una procedura meccanica che prende per data la struttura completa dello spazio degli stati M di DS (e nient’altro).

Page 18: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Linee per un’analisi formale della condizione 3 La condizione 3 della precedente definizione può

essere analizzata una volta che si sia chiarito il significato di: struttura completa dello spazio degli stati; procedura meccanica che prende per data tale struttura.

In estrema sintesi: la struttura dello spazio degli stati può essere identificata con un tipo speciale di grafo (infinito) connesso, che può assumere nove tipi di forme generali;

La procedura meccanica è quella eseguita da un tipo speciale di macchina ideale, che può muoversi avanti e indietro sui lati di tale grafo e “contare” 0, 1, 2, ... , n, ... ogni volta che raggiunge un nuovo nodo.

Page 19: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

La seconda definizione di sistema computazionale. E’ intrinseca? Perciò, adesso abbiamo due possibili esplicazioni

formali dell’idea intuitiva di rappresentazione effettiva di un DS discreto;

La prima definizione è la base del concetto di sistema computazionale1. Ma questo concetto non è intrinseco alla dinamica di DS, perché dipende dal modo in cui rappresentiamo numericamente tale dinamica;

sulla base della seconda definizione, possiamo ora definire: DS è un sistema computazionale2 sse DS è un sistema dinamico discreto, ed esiste una rappresentazione dinamicamente effettiva di DS.

Domanda: la proprietà di essere computazionale2 è intrinseca alla dinamica del sistema discreto DS?

Page 20: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Essere computazionale2 è una proprietà intrinseca Primo, essere computazionale2 è intrinseca alla

dinamica di un DS discreto in un senso ovvio, ma non banale: infatti, DS ha una rappresentazione numerica (u, DS#) la cui enumerazione u: N M è costruita effettivamente per mezzo di una procedura meccanica che prende per data la struttura completa dello spazio degli stati M di DS, e cioè, proprio la dinamica di DS.

Secondo, c’è un forte argomento informale in favore della congettura che due qualsiasi rappresentazioni dinamicamente effettive dello stesso DS siano o ambedue ricorsive o ambedue non ricorsive.

Page 21: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Due scenari per la teoria della computabilità Se (i) accettiamo la seconda definizione di

sistema computazionale e (ii) la congettura precedente è vera, ci sono due scenari possibili:

1. ogni sistema computazionale2 DS è intrinsecamente ricorsivo, cioè, per ogni rappresentazione dinamicamente effettiva (u, DS# = (N, (ht)tT)) di DS, la dinamica (ht)tT

risulta ricorsiva;2. qualche sistema computazionale2 DS è

intrinsecamente non ricorsivo, cioè, per ogni rappresentazione dinamicamente effettiva (u, DS# = (N, (ht)tT)) di DS, la dinamica (ht)tT

risulta non ricorsiva.

Page 22: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

Conseguenze per la tesi di Turing-Church come tesi matematica La tesi di Turing-Church (tesi-TC) può essere

interpretata in molti modi diversi. La tesi Matematica di Turing-Church (tesi-MTC) può essere enunciata nel modo seguente:

ogni funzione numerica che può essere computata da un sistema computazionale (nel senso intuitivo) è ricorsiva.

Ma allora, ammesso che sistema computazionale2 sia una buona esplicazione per il concetto intuitivo di sistema computazionale, è chiaro che la verità dello scenario (1) o dello scenario (2) implica, rispettivamente, la verità o la falsità della tesi-MTC.

Page 23: Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it

E’ tuttoGrazie