TA:Llenguatge Universal i Màquines Universals de Turing

12
Tema 13: Indecidibilitat Llenguatge Universal i Màquina Universal de Turing.

Transcript of TA:Llenguatge Universal i Màquines Universals de Turing

Page 1: TA:Llenguatge Universal i Màquines Universals de Turing

Tema 13: Indecidibilitat

Llenguatge Universal i Màquina Universal de Turing.

Page 2: TA:Llenguatge Universal i Màquines Universals de Turing

Llenguatge Universal Definim el Llenguatge Universal com:

Lu = {<M, ω>|amb ω acceptat per M}

Denominen Lu com el llenguatge format per qualsevol cadena particular de (0+1)* que serà acceptat per una màquina MT particular.

Lu és recursivament enumerable.

Lu no és recursiu.

Page 3: TA:Llenguatge Universal i Màquines Universals de Turing

El Llenguatge Universal és recursivament enumerable M’ : Màquina de Turing amb 3 cintes

1a cinta: és la d’entrada El capçal és usat per a buscar els moviments de la MT M i en

rebre <Mi ω> coma entrada

2a cinta: simula la cinta de M ∑ = {0,1,B} Cada símbol de la cinta de M pot ser guardat en una cel·la de

la segona cinta Hem simplificat l’alfabet. Podria portar-se a terme per a qualsevol

alfabet, però necessitaríem moltes cel·les de la 2a cinta de M’ per a simular-ne una de M

3a cinta: guarda l’estat de M amb qi representat amb 0i

(Anomenarem a aquesta màquina Màquina Universal de Turing)

Page 4: TA:Llenguatge Universal i Màquines Universals de Turing

Llenguatge Universal no és recursiu. Recordem:

Ld no és recursivament enumerable Ld no és recursiu

Diem que si reduïm Ld a Lu ambdós son exemples de llenguatges recursius enumerables però no recursius Ld = {ωi | Mi accepta ωi} Lu = {<M,ω> | M accepta ω}

Suposem un algoritme A que reconeix Lu, també reconeixerà Ld Donada una cadena ω є (0+1)*, determinem el valor

de i per tal que ω = ωi

L’enter i és el determinant per a una MT Mi

Page 5: TA:Llenguatge Universal i Màquines Universals de Turing

A per a Ld

Llenguatge Universal no és recursiu Si donem com a entrada <Mi,ωi> a l’algoritme A

S’acceptarà ω en M si i només si hi ha una Mi que accepti ωi

Esquema:

Per tan A és un algorisme per Ld. No existeix un algorisme per Ld tal que s’accepti ω si només

si ω = ωi є L(Mi) Com que A no existeix per a Ld, tampoc existeix un

algoritme per a Lu

Conclusions: Lu és un llenguatge recursivament enumerable però no

recursiu

A per a Lu

SI

NO

Convertir

ω

Page 6: TA:Llenguatge Universal i Màquines Universals de Turing

Màquina Universal de Turing. Hem de subratllar que aquest aspecte de l’obra de Turing és de

vital importància, fins i tot més enllà de la teoria de la computació. En efecte, la idea de la màquina universal planteja, de manera abstracta, la possibilitat de dissenyar, o de trobar en la natura, un mecanisme autorregulador capaç d’imitar el comportament de qualsevol altre. Tot i que és impossible de construir a la pràctica, ja que requereix una cinta de memòria externa de longitud infinita, estableix el marc teòric que dona sentit a màquines més realistes que se’ls aproximen a la pràctica per tenir una gran quantitat de memòria.

La computació digital, constitueix un equivalent possible a la maquina universal: té una memòria limitada (en comptes d’una cinta infinita) i una velocitat de procés determinada. Tot i això, dintre d’aquests límits pot imitar, com la màquina de Turing, qualsevol alter màquina. Per altra banda, hi ha moltes raons de pes per a considerar que el cervell humà és, també, un exemplificació d’una màquina de Turing universal (evidentment, dintre dels límits de l’amplitud de memòria i de velocitat de procés).

Page 7: TA:Llenguatge Universal i Màquines Universals de Turing

Màquina Universal de Turing. Una MUT (Màquina Universal de Turing) és una

màquina la cinta de la qual ha estat codificada amb una llista d’instruccions per a una màquina de Turing T concreta.

La cinta ha estat codificada amb una sèrie de 0’s i de 1’s

Aquest cinta s’utilitza com la part inicial de la MTU, que actua sobre una paraula d’entrada de la mateixa manera que actuaria T.

Com que la cinta de la MTU pot ser configurada de la mateixa manera que la de qualsevol altre màquina de Turing, es podrà comportar com a aquesta màquina.

Page 8: TA:Llenguatge Universal i Màquines Universals de Turing

Màquina Universal de Turing. Algorisme Es tracta de simular amb la MUT el comportament

de la M d’entrada. Pas 1

Comprovem el format de la 1a cinta: 111 ... 111 ω Inicialitzem la 2a cinta amb ω Inicialitzem la 3a cinta amb 0, que equival a dir que la inicialitzem a q1

(0i amb i = nº d’estat) Si la comprovació del format no coincideix, la màquina s’atura:

L(M) = Ø Pas 2

Tenim els estats codificats de la següent manera: 0f10c10q10v10d11

Busquem el primer estat a la 1a cinta per acceptar el primer símbol

Pas 3 Avaluem l’estat i el símbol i actuem en conseqüència

Passem al següent estat L(M) = Ø

Page 9: TA:Llenguatge Universal i Màquines Universals de Turing

Màquina Universal de Turing. Exemple Sigui MTU = <111 010101010 11 01001001000100 11

0100010010001000 111, 001> Aclaració:

Evolució: Pas 1

Format de la 1a cinta: Correcte 2a cinta: 001 3a cinta: 0

Pas 2+3 Llegim el 1r estat 010101010 11 01001001000100 11 0100010010001000 Actualitzem la 3a cinta amb el nou valor: 3aC 0 (q1 codificat) Estat de la paraula: 001

Repetició iterativa del pas 3 Tornem a llegir el primer estat 010101010 11 01001001000100 11

0100010010001000 Actualitzem la 3a cinta amb el nou valor: 3aC 0 Estat de la paraula: 001

Repetició iterativa del pas 3 Llegim el segon estat: 010101010 11 01001001000100 11 0100010010001000 Actualitzem la 3a cinta amb el nou valor: 3aC 0 Estat de la paraula: 001 00B (actualitzem el valor de la cinta)

0 1 0 1 0 1 0 1 0

q1 - 0 (c1)

- q1 0 (es)

D

Page 10: TA:Llenguatge Universal i Màquines Universals de Turing

Màquina Universal de Turing: Exemple Sigui MTU = <111 010101010 11 0100100100 11

0100010010001000 111, 001> Evolució:

Repetició iterativa del pas 3 Llegim el segon estat: 010101010 11 01001001000100 11 0100010010001000 Actualitzem la 3a cinta amb el nou valor: 3aC 0 Estat de la paraula: 001 00B (actualitzem el valor de la cinta)

Repetició iterativa del pas 3 Llegim el primer estat: 010101010 11 01001001000100 11 0100010010001000 Actualitzem la 3a cinta amb el nou valor: 3aC 0 Estat de la paraula: 00B

Repetició iterativa del pas 3 Llegim el primer estat: 010101010 11 01001001000100 11

0100010010001000 Actualitzem la 3a cinta amb el nou valor: 3aC 00 Estat de la paraula: 00B

Com que hem acabat la paraula i hem passat per a q2 (en aquest cas, finalitzem en ell), direm que la paraula ha estat acceptada

Page 11: TA:Llenguatge Universal i Màquines Universals de Turing

Exercici proposat Exercici a entregar

Donada la MUT <111 01010001010 11 01001000010010 11 00010100001010 11 000100100001000100 11 0001000100010001000 11 00001010001000100 11 0000100100010010 111, ω> determinar si les següents paraules seran o no acceptades: (utilitzeu la següent codificació) 1100 0011

Donada la MUT <111 010101010 11 0100100010010 11 00010010010010 11 000100010010001000 111, ω> determineu si les següents paraules seran o no acceptades: (utilitzeu la següent codificació). Fer i entregar la taula de transicions. 111101 001

Codificació:

Estats Moviments Símbols

Q1 0 D 0 0 0

Q2 00 E 00 1 00

Q3 000 * 000 B 000

Page 12: TA:Llenguatge Universal i Màquines Universals de Turing

Per Has27 i Kuragari