La macchina universale

Documenti analoghi
Tipologie di macchine di Turing

Capitolo 7: Teoria generale della calcolabilitá

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

Le Macchine di Turing

Esercizio su MT. Svolgimento

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

Macchine di Turing. a n B B. Controllo Finito

Principio di composizione delle MT

Cos è un Calcolatore?

Varianti Macchine di Turing

Laurea Specialistica in Informatica - Università di Ferrara [1]

La Macchina RAM Shepherdson e Sturgis (1963)

Indecidibilità del problema della fermata in C

ESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme

Appunti sulla Macchina di Turing. Macchina di Turing

Le macchine di Turing

Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Teoria della computazione Quali problemi sappiamo risolvere. A prima vista la domanda può sembrare troppo

Corso di Calcolo Numerico

L interesse nella macchina di Turing

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci

x u v(p(x, fx) q(u, v)), e poi

risulta (x) = 1 se x < 0.

Teoria degli insiemi

4 3 4 = 4 x x x 10 0 aaa

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

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Limiti della calcolabilità

Sommario. martedì 23 ottobre 2012

Algoritmi e strutture dati. Codici di Huffman

Rappresentazione dei numeri in un calcolatore

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

Sommario. Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi

Dispense di Informatica per l ITG Valadier

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

La MT come riconoscitore

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Note su quicksort per ASD (DRAFT)

Linguaggi e Paradigmi di Programmazione

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

I sistemi di numerazione

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Questo è il secondo articolo della serie dedicata DENTRO LA SCATOLA. Formule, numeri e paradossi. Rubrica a cura di Fabio A. Schreiber 1.

Esercitazione #5 di Statistica. Test ed Intervalli di Confidenza (per una popolazione)

A i è un aperto in E. i=1

1 Applicazioni Lineari tra Spazi Vettoriali

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Corrispondenze e funzioni

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

1. PRIME PROPRIETÀ 2

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Metodologie di programmazione in Fortran 90

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Esercizi su lineare indipendenza e generatori

Progetto e analisi di algoritmi

Algoritmi e Strutture Dati

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Verifica che una grammatica sia Context Free nel GrammaReader

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

OGNI SPAZIO VETTORIALE HA BASE

Sommario. Macchina di Turing universale Proprietà dei problemi Turing riconoscibili Linguaggi non Turing riconoscibili.

10. Insiemi non misurabili secondo Lebesgue.

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

Sistemi di Numerazione

Lezione 8. La macchina universale

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

Elementi di Informatica e Programmazione

FUNZIONI CONVESSE. + e x 0

Lezioni di Matematica 1 - I modulo

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Introduzione ai problemi NP-completi

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Macchine sequenziali

Algoritmi e Complessità

Rappresentazione delle informazioni

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

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6

Semantica Assiomatica

( x) ( x) 0. Equazioni irrazionali

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Dimensione di uno Spazio vettoriale

Esempi di algoritmi. Lezione III

19. Inclusioni tra spazi L p.

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Prob(CCCCCCCCCC) =

Dall italiano al linguaggio della logica proposizionale

Pertanto la formula per una prima approssimazione del tasso di rendimento a scadenza fornisce

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Transcript:

La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}* è un linguaggio non ricorsivo [e quindi non decidibilie]. L H in altre parole è costituito dalle stringhe che rappresentano una MT seguita dall input da essa accettato ovvero che corrispondono ai valori 1 del vettore caratteristico della MT. Tuttavia è possibile dimostrare il seguente Teorema: il linguaggio L H è ricorsivamente enumerabile [e quindi semidecidibile]. Sapendo perciò che un linguaggio ricorsivo è anche ricorsivamente numerabile si avrà l importante risultato: Corollario: la classe dei linguaggi ricorsivi è contenuta in modo proprio nella classe dei linguaggi ricorsivamente enumerabili ovvero L R & L RE La dimostrazione del teorema si basa su una macchina universale che lavora secondo il seguente schema "M""w" U M si ferma con input w M non si ferma con input w Accettazione Loop In sintesi si deve dimostrare che la macchina universale U simula perfettamente ogni altra Macchina di Turing

Ricorsiva enumerabilità di L H La dimostrazione verrà fatta con una macchina a tre nastri. Nel nastro 1 verrà codificato l input mentre il nastro 3 verrà usato per effettuare la simulazione dell esecuzione della macchina M. Una computazione della macchina U viene ad essere definita nel seguente modo: 1. Se la stringa di input non è della forma M w, U si muove indefinitivamente verso destra. 2. Viene ricopiata la stringa w sul nastro 3, la testina viene quindi riposizionata a sinistra al primo carattere, cosicché sul nastro 3 viene ad essere definita la configurazione iniziale di una computazione di M con input w. 3. viene scritto sul nastro 2 lo stato q 0 (il simbolo 1 nella nostra codifica) 4. Passo di simulazione. La transizione di M viene determinata dal simbolo x scandito sul nastro 3 e lo stato q i codificato sul nastro 2. a) Viene scandito il nastro 1 alla ricerca della coppia EN(q i ) EN (x) se tale transizione non esiste U si ferma e accetta l input (configurazione finale). b) Assunto che il nastro 1 contenga la transizione EN(q i ) 0 EN(x) 0 EN(y)0 EN(d) 0 EN(q j ) i) EN(q i ) è rimpiazzato da EN(q j ) sul nastro 2 ii) il simbolo y è scritto sul nastro 3 iii) la testina del nastro 3 è mossa nella direzione specificata da d 5. si ripete il passo di simulazione (punti 4 e 5) La simulazione della macchina U accetta stringhe in L H mentre per stringhe in {0,1}* - L H cicla indefinitivamente. Poiché L H = L(U) L H è ricorsivamente enumerabile essendo ricorsivamente enumerabile L(U).

Indecidibilità del Linguaggio di diagonalizzazione Ld = { wi! "* wi! L(Mi} Teorema il linguaggio Ld è non ricorsivamente enumerabile Ld = tutte le stringhe wi tali che wi non è in L(Mi) M Mi Mj w Supponiamo wj ws Ld = L(M) per una macchina M, allora deve esistere una Macchina di Turing nella enumerazione ovvero un indice i che individua 0 0 0 1 0 0 1 0.... la macchina M i che riconosce w i! L d 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0.... - se wi! Ld allora Mi accetta wi pertanto per definizione di Ld wi non è in Ld poiché Ld contiene solo stringhe wj tale che Mj non accetta wj - se wi! Ld allora Mi non accetta wi pertanto per definizione di Ld wi è in Ld Evidentemente si ha contraddizione poiché wi non può essere o non essere in Ld

Riducibilita Un problema decisionale P si dice Turing riducibile a un problema P se c è una macchina di Turing che presa qualsiasi istanza p! P come input produce un associata istanza p! P in cui la soluzione di p può essere ricavata dalla soluzione di p. Input Risultato p i! P Riduzione di P a P' p' i! P' Algoritmo per P' Yes/not Teorema - Se un problema decisionale P è indecidibile, e P è riducibile a P, allora è indecidibile! anche il problema P - Se un problema decisionale P è non ricorsivamente enumerabile, e P è riducibile a P,! allora il problema P non è ricorsivamente enumerabile.

Teorema di Rice TEOREMA (Rice) :Ogni proprietà non banale dei linguaggi ricorsivamente enumerabili è!! indecidibile In altre parole è impossibile riconoscere per mezzo di una MT le stringhe binarie che rappresentano codici di una MT il cui linguaggio soddisfa la proprietà. [Una proprietà individua un sottoinsieme dei linguaggi Ricorsivamente enumerabili] Esempio: essere un linguaggio Contex-free. La proprietà essere liberi dal contesto individua tutti i linguaggi liberi dal contesto all interno della classe dei linguaggi ricorsivamente enumerabili. Pertanto il teorema di Rice afferma che non esiste una MT capace di decidere se una MT accetti un linguaggio Contex-free. Def. Una proprietà si dice banale se appartiene a tutti i linguaggi ricorsivamente enumerabili oppure a nessuno. Altrimenti si dice non banale. Se P è una proprietà dei linguaggi ricorsivamente enumerabili il linguaggio LP è l insieme dei codici di macchine di Turing Mi tali che L(Mi) è un linguaggio in P, ovvero LP = {Mi : L(Mi )! P} per cui quando parliamo di decidibilità di una proprietà P si intende la decidibilità del linguaggio LP. [In altre parole si pone attenzione al riconoscimento delle MT che accettano quei linguaggi.] Il Teorema di Rice dice in sostanza che non è decidibile poter individuare un sottoinsieme proprio dei linguaggi ricorsivamente enumerabili.

Teorema di Rice Sia P una proprietà non banale, allora deve esistere un linguaggio L!RE che abbia la proprietà P. Sia ML la macchina che accetta L. La dimostrazione verrà fatta riducendo il linguaggio LH, linguaggio della macchina universale, al linguaggio Lp. x w M Accetta start ML Accetta Accetta M L input della riduzione è la coppia (M,w), l output è la macchina M tale che L(M ) = # se M non accetta w, L(M ) = L se M accetta w. - M simula M su w comportandosi perciò come la macchina Universale. Si osservi che w non è l input alla macchina M. - Se M non accetta w allora M non fa niente e quindi M non accetta nessuna stringa in input e quindi L(M )= #. Poiché assumiamo che # $ P ciò significa che il codice di M non è in LP - Se M accetta w allora M comincia a simulare ML sul proprio input x per cui siccome L!P il codice di M è in LP Dato che l algoritmo di riduzione trasforma l istanza (M,w) in una macchina M che è in LP se e solo se (M,w) è in LH, dalla indecidibilità di LH segue l indecidibilità di LP

Alcune Conseguenze del Teorema di Rice Nell ambito della programmazione. E indecidibile -La decidibilità di ogni problema P (halting Problem) - Dire se un dato programma C va in ciclo infinito su un certo ingresso o termini la sua esecuzine [quindi l impossibilità di definire un perfetto sistema di debugging] - Dire se due programmi C producano lo stesso risultato in corrispondenza degli stessi dati di ingresso. [quindi l impossibilità di definire un programma che controlli la correttezza dei programmi, pertanto siamo costretti ad usare le tecniche di testing per la verifica degli errori in un programma] Nell ambito dei linguaggi E indecidibile - Data una grammatica context-free dire se L(G) = V T * - Date due grammatiche context-free G 1 e G 2 dire se L(G 1 ) = L(G 2 ) - Dati due automi Pushdown dire se accettano precisamente lo stesso linguaggio. - Il linguaggio accettato da una MT contiene la stringa aabb? - Il linguaggio accettato da una MT contiene tutti i numeri pari?...............

Perché ci sono tanti problemi indecidibili? Abbiamo fatto l assunto che risolvere un problema significhi verificare l appartenenza di una stringa ad un linguaggio. L insieme dei linguaggi non è enumerabile (Teorema di Cantor) L insieme dei programmi è enumerabile (data l enumerabilità delle Macchine di Turing) Se ne deduce che ci sono infinitamente meno programmi che problemi. Il motivo per cui sembra che la maggior parte dei problemi sia decidibile è perché focalizziamo l attenzione su problemi semplici e strutturati.

Complessità computazionale di una MT Data una Macchina di Turing deterministica M si definisce complessità in tempo di M la funzione t M : N % N tale che t M (n) è il massimo numero di transizioni processate da una computazione di M su una stringa di dimensione n. Data una Macchina di Turing non deterministica si definisce la complessità di una computazione t M (n) come il massimo numero di transizioni effettuate per ogni possibile scelta di transizioni su una stringa di ingresso di lunghezza n.