Sistemi dinamici discreti e computabilità intrinseca Marco Giunti Università di Cagliari giunti@unica.it http://edu.supereva.it/giuntihome.dadacasa
Sommario Tesi 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. Sistemi dinamici: definizione ed esempi. Sistemi computazionali: definizione1 e perché, secondo questa definizione, essere computazionale non è una proprietà intrinseca. Rappresentazioni dinamicamente effettive di sistemi discreti e una nuova definizione2, intrinseca, di sistema computazionale. Possibili conseguenze per la teoria della computabilità: (alcune) funzioni non ricorsive possono risultare computabili da una particolare classe di sistemi computazionali intrinseci.
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)tÎT) tale che: l’insieme M non è vuoto; M è detto lo spazio degli stati del sistema; l’insieme T è Z, Z+ (interi), oppure R, R+ (reali); T è detto l’insieme tempo; (gt)tÎT è una famiglia di funzioni da M a M; ciascuna funzione gt è detta una transizione di stato o un t-avanzamento del sistema; per ogni t e w Î T, per ogni x Î M, g0(x) = x; gt+w(x) = gw(gt(x)).
Significato intuitivo della definizione di sistema dinamico gt x gt(x) t t0 t0+t g0 gt+w gw x gt x
Esempio di un DS continuo (Modello Galileiano della caduta libera dei gravi) Specificazione esplicita Sia F = (M, (gt)tÎT) tale che M = S´V and S = V = T = numeri reali gt(s, v) = (s + vt + at2/2, v + at) Specificazione implicita ds(t)/dt = v(t), dv(t)/dt = a
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 aj Memoria esterna Testa leggi/scrivi/muovi akL aj Testa leggi/scrivi Unità di controllo qi . . : . . . qiaj:akLqm .. . : . . . .. . : . . . qi qm Memoria interna
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)tÎT) tale che: M = P´C´Q, 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.
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.
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)tÎT) è una coppia (u, DS#) tale che: DS# = (N, (ht)tÎT) è un sistema dinamico discreto, dove N è Z+, oppure un segmento iniziale finito di Z+; u: N M è un isomorfismo di DS# in DS; per ogni t T, ht è una funzione ricorsiva.
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.
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)nÎZ+), cioè, il sistema dinamico discreto generato dall’iterazione della funzione successore s.
DS1 = (Z+, (s n)nÎZ+) è computazionale1, ma non intrinseco DS1 = (Z+, (s n)nÎZ+) è computazionale1, ma non intrinseco. Schizzo della prova (1/2) Ovviamente, una rappresentazione numerica ricorsiva di DS1 = (Z+, (s n)nÎZ+), è (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:
DS1 = (Z+, (s n)nÎZ+) è computazionale1, ma non intrinseco DS1 = (Z+, (s n)nÎZ+) è 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.
La dimostrazione precedente è sorprendente E’ 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.
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.
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.
Rappresentazione dinamicamente effettiva (la condizione 3 non è formale) Una rappresentazione dinamicamente effettiva di un sistema dinamico discreto DS = (M, (gt)tÎT) è una coppia (u, DS#) tale che: DS# = (N, (ht)tÎT) è un sistema dinamico discreto, dove N è Z+, oppure un segmento iniziale finito di Z+; u: N M è un isomorfismo di DS# in DS; 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).
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.
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?
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.
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: ogni sistema computazionale2 DS è intrinsecamente ricorsivo, cioè, per ogni rappresentazione dinamicamente effettiva (u, DS# = (N, (ht)tÎT)) di DS, la dinamica (ht)tÎT risulta ricorsiva; qualche sistema computazionale2 DS è intrinsecamente non ricorsivo, cioè, per ogni rappresentazione dinamicamente effettiva (u, DS# = (N, (ht)tÎT)) di DS, la dinamica (ht)tÎT risulta non ricorsiva.
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.
E’ tutto Grazie