Capitulo6

2,596 views
2,528 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,596
On SlideShare
0
From Embeds
0
Number of Embeds
1,181
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Capitulo6

  1. 1. Cap¶ ³tulo 6M¶quinas de Turing aEn 1936, Allan Turing public¶ el primer estudio sobre un modelo de m¶quina o aabstracta. El quer¶ una noci¶n matem¶tica precisa del concepto informal ³a o ade "algoritmo". Su resultado fue el siguiente: cualquier algoritmo puede serrepresentado por un conjunto de instrucciones sobre una m¶quina de Turing. a Corolario: Hay problemas bien formulados, para los cuales no existe so-luci¶n algor¶ o ³tmica. a1 a2 ... ai ... an # # CONTROL FINITO PDe¯nition 7 Una m¶quina de Turing MT es una tupla M = (Q; ; ¡; ±; q0 ; #; F ) adonde Q = conjunto de estados ¡ = conjunto de s¶mbolos de la cinta ³ # = caracter especial P = subconjunto de ¡ no conteniendo #; son los s¶mbolos de entrada. ³ ± : Q £ ¡ ! Q £ ¡ £ fL; R; ;g q0 = Estado inicial F µ Q = conjunto de estados ¯nales. # es un caracter de separaci¶n o vac¶ (blanco). Inicialmente en los o ³oprimeros n posiciones de la cinta est¶n a1 :::an ; con la entrada. El resto de la acinta tiene s¶ ³mbolos #: Teor¶ de la Computaci¶n ³a o Maricela Quintana 75 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  2. 2. Al leer un s¶mbolo ai ; la MT puede: ³ 1) cambiar de estado 2) Escribir un s¶ ³mbolo en la cinta (en lugar de ai ) 3) Mover la cabeza hacia la derecha (L) o la izquierda (R): ID = descripci¶n instant¶nea = ®1 q ®2 = a1 a2 :::ai¡1 qa1 :::an o a . # & contenido de la estado contenido de la cinta hasta cinta hasta antes actual el # m¶s hacia la derecha. a de la cabeza lectora "Movimiento" x1 x2 ::xi¡1 qxi ::xn ` x1 ::xi¡2 pxi¡1 yxi+1 :xn si ±(q; xi ) = (p; y; L) L(M ) = lenguaje aceptado por la M T M P ¤ = fw j w 2 ¤ ; q0 w ` ®1 p®2 para alg¶n p 2 F y ®1 ; ®2 2 ¡¤ g u Otra suposici¶n: L(M ) es aceptado por M T si M se detiene. o Ejemplo M T para aceptar L = f0n 1n j n > 1g ² Inicialmente la cinta contiene 0n 1n seguido de un n¶ mero in¯nito de u blancos. 1) M lee el # m¶s signi¯cativo y lo reemplaza por una x: a 2) Se mueve hasta el 1 m¶s signi¯cativo y lo reemplaza por y: a 3) El ciclo se repite: { Si al buscar un 1, M encuentra # ) M para sin aceptar. { Si al buscar un 0 ya no hay, M busca si hay 10 s ) M acepta si ya no hay. P Q = fq0 ; q1 ; q2 ; q3 ; q4 g; = f0; 1g; ¡ = f0; 1; x; y; #g; F = fq4 g q0 = substituci¶n de 0 por x o q1 = b¶ squeda de 1;substituci¶n por y u o q2 = b¶ squeda de 0 u q3 = b¶ squeda de 10 s para ver si se acepta uTeor¶ de la Computaci¶n ³a o Maricela Quintana 76ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  3. 3. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING 0 / 0, R 0 / 0, L 0 / x, R 1/y,L q0 q1 q y / y, L 2 y / y, R x / x, R # / #, R y / y, R q3 q4 y / y, R q0 0011 ` xq1 011 ` x0q1 11 ` xq2 0y1 ` q2 x0y1 ` xq0 0y1 ` xxq1 y1 `xxyq1 1 ` xxq2 yy ` xq2 xyy ` xxq0 yy ` xxyq3 y ` xxyyq3 ` xxyy#q46.1 Construcci¶n modular de m¶quinas de Tu- o a ringPara combinar diagramas de transici¶n de M T hay que: o 1. Eliminar las caracter¶ ³sticas de inicio de los estados de todas las m¶qui- a nas compuestas excepto de la inicial. 2. Eliminar la caracter¶ ³stica de detenci¶n de los estados de parada e in- o troducir uno nuevo. 3. Para cada uno de los antiguos estados de parada p y cada x en ¡: (a) Si la m¶quina compuesta debe detenerse al llegar a p con el s¶ a ³mbolo actual x, dibujar un arco con etiqueta x=x de p al nuevo estado de parada. (b) Si al llegar al estado p con el s¶³mbolo actual x; la m¶quina de- P a be transferir el control a la m¶quina M = (S; ; ¡; ±; t; #; h) y a dibujar un arco x=z de p al estado q de M donde ±(t; x) = (q; z) Teor¶ de la Computaci¶n ³a o Maricela Quintana 77 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  4. 4. ¶ ¶6.1. CONSTRUCCION MODULAR DE MAQUINAS DE TURING Ejemplo M T A : Mover la cabeza de lectura una posici¶n a la derecha (R). o x / x, R s t y / y, R # / #, R M T B : Encontrar la primera x a la derecha de la celda actual (Rx ). # / #, R # / #, R x / x, R x /x n l m y / y, R y / y, RTeor¶ de la Computaci¶n ³a o Maricela Quintana 78ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  5. 5. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING M T C : Encontrar la primera y a la derecha de la celda (Ry ). # / #, R # / #, R x / x, R y/y p q r y / y, R x / x, R Usando las m¶quinas anteriores se puede construir una m¶quina que en- a acuentre la segunda ocurrencia del s¶ ³mbolo distinto de # que se encuentre ala derecha de la celda actual. x B A y C x x /x x ≡ Abreviaturas: y ≡ ¬α z x , y ,z ,w w ≡ Símbolo genérico que x ,y ,z w representa a los 3. } A B ≡ AB6.1.1 M¶quinas elementales a ² R: M¶quina que se mueve una celda a la derecha a Teor¶ de la Computaci¶n ³a o Maricela Quintana 79 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  6. 6. ¶ ¶6.1. CONSTRUCCION MODULAR DE MAQUINAS DE TURING ² Y : M¶quina que escribe el s¶ a ³mbolo y en la celda actual ² L: M¶quina que se mueve una celda a la izquierda a ² Rx : M¶quina que recorre la cinta a la derecha de su posici¶n actual a o para buscar el s¶ ³mbolo x ¬ x R ² Rqx: Detenerse cuando se encuentre un s¶ ³mbolo 6= x x R ² La m¶quina Lx hace esa b¶ squeda hacia la izquierda a u ² M¶quinas de desplazamiento. SR transforma #xyyqxx# a ##xyqyx#, a desplazando hacia la derecha la cadena de s¶ ³mbolos no blancos a la de- recha de la celda actual. x,y w x,y σ #L } L } σ RσL # # R R # R #w #xyy x x# ` #x y y#x# ` # x yy#x# `# xxy#x# ` ##xy y x# " " " " " De la misma manera SL desplaza hacia la izquierda la cadena de s¶ ³mbo- los no blancos a la derecha de la celda actual.Teor¶ de la Computaci¶n ³a o Maricela Quintana 80ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  7. 7. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING x,y w x,y σ #R } R } σ LσR # # L L# L# w Ejemplo M¶quina copiadora que transforma #w# a #w#w# : a x,y w R# R # L # L # R } #R# R # wR# L# L w #6.2 M¶quinas de Turing como calculadoras a de funciones enterasUna M T puede leer n¶meros (par¶metros) en la cinta, clacular una funci¶n y u a oescribir el resultado en la cinta. Los n¶ meros normalmente son representados uen unario (0i = i) separados por un 1 : ¤ 0i1 10i2 10i3 :::0ik ` 0m (6.1)representa el c¶lculo de la funci¶n f (i1 ; i2 ; :::; ik ) = m: a o Si f (i1 ; i2 ; :::; ik ) est¶ de¯nida 8i1 ; i2 ; :::; ik entonces hablamos de funcio- anes recursivas totales. Las funciones calculadas por las MT son llamadasrecursivas parciales. Ejemplo ©m¡n; ª C¶lculo de la substituci¶n propia m $ n = a o m<n #; m<n : La m¶quina asiguiente hace ese c¶lculo: a M = (fq0 ; :::; q6 g; f0; 1g; f0; 1; #g; ±; q0 ; #; q6 ); Entrada Salida m n ¤ m$n #q0 10 # ` #0 # Teor¶ de la Computaci¶n ³a o Maricela Quintana 81 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  8. 8. ¶6.3. MAQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJE 1 / #, R # / #, L 0 / 0, R 1 / 1, R 0 / #, R 0 / 0, L 1 / #, L 0 / #, R 1 / 1, R 0 / 1, L q0 q1 q2 q3 q4 q5 1 / #, R # / #, R 1 / 1, L 0 / 0, L # / #, R # / #, R q6 ² M cambia un cero por un blanco (q0 ). ² Cuando M busca un cero a la derecha y encuentra un blanco, entonces ya acab¶ de restar. Se pasa entonces a q4 y empieza a cambiar los 1s o por #: ² Cuando M quiere en q0 remplazar un 0 por # y no hay, entonces hay que hacer el resultado nulo (q5 ).6.3 M¶quinas de Turing como aceptadoras de a lenguajeAl igual que con los AP, una MT puede aceptar un lenguaje de dos maneras:llegando a un estado ¯nal S escribiendo algo especial en la cinta (por ejemplos¶ o deteni¶ndose. Normalmente se supone que una M¶quina de Turing ³), e aacepta las cadenas s¶lo con detenerse. o Las M¶quinas de Turing aceptan lenguajes formales que pueden ser ge- anerados por una gram¶tica de tipo 0: recursivamente enumerables (r.e.). Las aMT son los reconocedores de lenguaje m¶s poderosos que existen. a Dentro de algunos lenguajes r.e. existen algunos strings para los cu¶les ano hay MT que pueda determinar que NO est¶n en el lenguaje. Sin embargo, aconsideramos que siempre pueden determinar que SI pertenecen al lenguaje.El subconjunto de lenguajes r.e. para los cuales hay MTs que siempre puedendeterminar si un string est¶ o no est¶ en el lenguaje, se llama lenguajes a areursivos. Un ejemplo de lenguajes recursivos son los LLC. Teor¶ de la Computaci¶n ³a o Maricela Quintana 82 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  9. 9. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING Theorem 7 Todo lenguaje aceptado por una MT es formal. Demostraci¶n o P Supongamos que la MT M = (Q; ; ¡; ±; q0 ; #; F ) imprime # y # cuandoacepte el lenguaje L(G). Podemos construir una gram¶tica G = (V; T; P; S) adonde: V = P [; ; ]; Y ) [ Q [ ¡ (S; T = Las producciones est¶n dadas por: a S ! [h#y#] donde h es el estado ¯nal de M #] ! ##] Para ampliar la longitud de la cadena anterior a la longitud deseada 8± (p; x) = (q; y; ;) Transici¶n a la inversa [#zqy#] ) [#zpx#] o qy ! px 8±(p; x) = (q; x; R) [#xqyz#] ) [#pxyz#] xq ! px 8±(p; x) = (q; x; L) [#xqyx#] ) [#ypx##] 8s¶³mbolo y 2 ¡ qyx ! ypx [¿ # ! " eliminaci¶n de no terminales auxiliares, donde o ##] ! #] ¿ =estado inicial de M #] ! " Ejemplo La siguiente M T acepta fxm y n j m; n ¸ 0g : x/R y/R #/L #/R #/Y y/L τ / p q s t h #/R y/R x/# #/L y/# r Teor¶ de la Computaci¶n ³a o Maricela Quintana 83 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  10. 10. ¶6.3. MAQUINAS DE TURING COMO ACEPTADORAS DE LENGUAJE La gram¶tica correspondiente es: a S ! [h#y#] #] ! ##]; [¿ # ! " ##] ! #]; #] ! " r# ! qx j qy por ±(q; x) = (r; #); ±(q; y) = (r; #) tY ! S# ±(S; #) = (t; Y ) #= ! ¿ # ±(¿; #) = (=; #; R) x= ! =x ±(=; x) = (=; x; R) yp ! =y j py ±(=; y) = (p; y; R); ±(p; y) = (p; y; R) #S ! q# ±(q; #) = (S; #; R) q## ! #p#j#r# por ±(p; #) = (q; #; L); ±(r; #) = (q; #; L) qx# ! xp#jxr# qy# ! yp#jyr# qY # ! Y p#jY r# h#Y ! #tY por ±(t; Y ) = (h; Y; L) hxY ! xtY hyY ! ytY hY Y ! Y tY Ej: S ) [h#y#] ) [h#y###] ) [#ty###] ) [#S####] )[q#####] ) [#r####] ) [#qx###] ) [#xr###] ) [#xqx##] )[#xxr##] ) [#xxqy#] ) [#xxyp#] ) [#xx=y#] ) [#=xxy#] ) [¿ #xxy#] )[xxy#] ) xxyTheorem 8 Todo lenguaje formal es aceptado por una m¶quina de Turing: a 1. Utilizar cinta 1 para almacenar cadena de entrada. 2. Escribir el s¶ ³mbolo inicial de la gram¶tica en cinta 2. a 3. Aplicar repetidamente y de manera no determinista las reglas de escri- tura de la gram¶tica a la cinta 2. a 4. Si el contenido de la cinta 2 se convierte en una cadena con s¶lo ter- o minales, compararla con el contenido de la cinta 1. Si son iguales ) detenerse, aceptar, en caso contrario no aceptar. Teor¶ de la Computaci¶n ³a o Maricela Quintana 84 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  11. 11. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING6.4 Equivalencia de m¶quinas de Turing aTheorem 9 Si L es reconocido por una m¶quina de Turing M1 con varias acintas, es reconocido por una m¶quina de Turing M2 . a Prueba MT con varias cintas: A1 Am . . . Z1 Zm Control Finito Simulaci¶n M1 : o 1. Se guarda en la cinta de M2 el contenido de todas las cintas, as¶ como ³ la posici¶n de cada una de las cabezas. o 2. M2 se mueve hacia la derecha para revisar el contenido de las cabezas de M1 . 3. Al llegar a la ultima, se tiene toda la informaci¶n necesaria para ver el ¶ o siguiente paso de M1 : 4. M2 se mueve hacia la izquierda para mover la posici¶n de todas las o cabezas al lugar indicado. Problema: Lentitud de simulaci¶n oTheorem 10 Si L es reconocido por una m¶quina de Turing no determinista aM1 , entonces L es aceptada por una MT determinista M2 . Prueba Supondremos que M2 es una MT de tres cintas. La primera cinta guardala entrada al algoritmo. Para recorrer el ¶rbol de ejecuci¶n de M1 : a o Teor¶ de la Computaci¶n ³a o Maricela Quintana 85 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  12. 12. ¶6.5. HIPOTESIS DE CHURCH 1. Para todas las secuencias 1:::r generadas en la cinta 2, se simula M1 en la cinta 3 2. Si M1 acepta ) M2 acepta. 3. Si ninguna selecci¶n de opciones de M1 lleva a acepta r ) M2 no acepta o6.5 Hip¶tesis de Church oLas funciones computables por una M¶quina de Turing son las funciones arecursivas parciales. Nadie ha podido encontrar una funci¶n parcial que sea ocomputable pero no recursiva parcial. ½ V1 ; V2 ; :::; Vn cuando MT se detiene F (W1 ; W2 ; :::; Wn ) = no de¯nida6.6 M¶quina de Turing Universal aUna m¶quina de Turing Universal es una MT que recibe como entrada la acodi¯caci¶n M de cualquier MT y una entrada w, y que genera el mismo oresultado que la MT M . En otras palabras, una MTU es un simulador decualquier MT.6.6.1 Codi¯caci¶n de MT oPrimero codi¯camos los simbolos del P alfabeto y s¶ ³mbolos especiales: x1 = 0 x4 ; x5 2 = s¶³mbolos del alfabeto x2 = 1 x3 = #as¶ como los movimientos posibles de la MT: ³ D1 = L , D2 = R, D3 = nada Entonces una transici¶n ±(qi ; xj ) = (qk ; xe ; Dm ) puede ser codi¯cada de ola siguiente manera: 0i 10j 10k 10` 10mPy una MT M = (Q; ; ¡; ±; q; #; fq2 g) puede codi¯carse en binario comosigue: 111 c¶digo o 11 c¶digo ..... o 11 c¶digo 111 o transici¶n 1 o transici¶n 2 o ultima transici¶n ¶ o Teor¶ de la Computaci¶n ³a o Maricela Quintana 86 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  13. 13. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING Una M T seguida de un string w ser¶ denotada por la concatenaci¶n de a o 0 0los dos strings: < M ; w >, donde M representa la codi¯caci¶n binaria de oM.6.6.2 Lenguaje UniversalDe¯namos el siguiente lenguaje aceptado por una MTU: Lu = f< M 0 ; w >j M acepta wg ½ (0 + 1)¤ Preguntar si w 2 L(M ) es equivalente a preguntar si < M`; w >2 Lu .Theorem 11 Lu es recursivamente enumerable (r:e:), o dicho de otro modo,existe una MTU que acepta este lenguaje y siempre puede aceptar un stringsi ¶ste pertenece a L(M ): La MTU no necesariamente para en todas las eentradas. Prueba La siguiente m¶quina multicintas Mu puede funcionar como MTU: a qi = 0 i Estado de M 3 Simulación de la cinta de M 2 Entrada <M,w> 1 Mu contiene en la cinta 1 la codi¯caci¶n < M; w > y hace lo siguiente: o 1. Inicializa la cinta 2 con w, la cinta 3 con 01 = q1 : 2. Si la cinta 3 contiene qf , entonces pararse y aceptar. Teor¶ de la Computaci¶n ³a o Maricela Quintana 87 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  14. 14. 6.7. TEOR¶ DE LA DECIBILIDAD IA 3. Sea xj el siguiente s¶mbolo de w en la cinta 2 y 0i el estado en la cinta ³ 3: Buscar en la cinta 1 la transici¶n ±(qi ; xj ) si no existe, pararse y no o aceptar 4. En caso contrario, moverse al estado dado (modi¯car la cinta 3), escribir el string de salida en la cinta 2, y moverse (seg¶ n lo especi¯cado) en la u cinta 2. Regresar al paso 3.6.7 Teor¶ de la decibilidad ³aUn problema decidible es aqu¶l para el cual existe un algoritmo que siempre epara en todas las instancias de entrada respondiendo a¯rmativa o negati-vamente a la pregunta >acepta la m¶quina de Turing una entrada w? Los alenguajes que representan a los algoritmos decidibles son llamados recursi-vos. Note que los problemas que s¶lo tienen una instancia son trivialmente oresolubles. Si la MT no para en todas las instancias, se dice que el lenguajeque acepta es recursivamente enumerable (r.e.) y se dice que el problema esindecidible. El concepto de decibilidad se llama computabilidad cuando hablamos deMTs como m¶quinas que calculan funciones enteras. Hablamos entonces de aproblemas computables o no computables.6.7.1 Un lenguaje no recursivamente enumerable PSea un conjunto de strings de ¤ = (0 + 1)¤ =< wi ; Mj >. Considere uantabla in¯nita donde el elemento i; j vale uno si el string wi es aceptado porMj (wi 2 L(Mj )) : j 1 2 3 4 . . . 1 0 1 1 0 . . . i 2 1 1 0 0 . . . 3 0 0 1 0 . . . 4 0 1 0 1 . . . . . . Teor¶ de la Computaci¶n ³a o Maricela Quintana 88 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  15. 15. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING Esta tabla contiene todas las posibles m¶quinas de turing existentes. Sea aLd = fwi j wi 2 L(Mi )g el lenguaje que representa los ceros de la diagonal =de la tabla anterior. No existe ninguna M T que acepte Ld , por lo que estelenguaje no es r.e. Prueba No existe una Mj tal que L(Mj ) = Ld . Por contradicci¶n, suponemos oque Mj acepta Ld ) L(Mj ) = Ld . ² Si la entrada j; j de la tabla = 0 ) wj 2 Ld ,! wj 2 L(Mj ) ^ wj 2 Ld ) L(Mj ) 6= Ld = ² Si la entrada j; j de la tabla = 1 ) wj 2 Ld = ,! wj 2 L(Mj ) ^ wj 2 Ld ) L(Mj ) 6= Ld = Corolario: Ld no es un lenguaje r:e ) no es recursivo.6.7.2 Propiedades de lenguajes recursivos y recursiva- mente enumerablesEl complemento de un lenguaje recursivo es recursivo. SíW Sí W No No Teor¶ de la Computaci¶n ³a o Maricela Quintana 89 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  16. 16. 6.7. TEOR¶ DE LA DECIBILIDAD IA La uni¶n de dos lenguajes recursivos es un lenguaje recursivo. o Sí Sí Sí M1 start M2 No No No La uni¶n de dos lenguajes recursivamente enumerables es r:e : o M1 Sí SíW M2 SíTeor¶ de la Computaci¶n ³a o Maricela Quintana 90ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  17. 17. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING Si L y L son enumerables recursivamente ) L y L es recursivo. M M1 Sí Sí W M2 Sí No6.7.3 Un lenguaje no recursivoTheorem 12 Lu , el lenguaje aceptado por la MTU no es recursivo. Dichoen otras palabras, la pregunta w 2 L(M ) no es decidible en el caso general. Prueba Sea A2 un algoritmo para reconocer Lu. Entonces Ld = fwi jwi 2 L(Mi )gser¶ aceptado por la siguiente m¶quina: ³a a Sí Sí <Mi, Wi> A2 Wi=W Conversión Algoritmo para No No Lu Algoritmo para Ld Pero como Ld no es r.e entonces no es recursivo y por lo tanto Ld noes recursivo, por lo que la ¯gura anterior no puede existir, pues no hayalgoritmo que pare en todas las instancias de Ld . Entonces, forzosamente nohay algoritmo para Lu , por lo que Lu no es recursivo. Teor¶ de la Computaci¶n ³a o Maricela Quintana 91 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  18. 18. 6.7. TEOR¶ DE LA DECIBILIDAD IA6.7.4 El problema de la terminaci¶n oNo puede construirse ning¶n algoritmo que, dado cualquier programa R y uuna entrada X, determine si R termina correctamente con X. Demostraci¶n por contradicci¶n o o 1. Supongamos que existe un programa Q que acepta otro programa y una entrada y decide si dicho programa termina o no. 2. Construir un nuevo programa S que reciba como entrada un programa W , el cual es a la vez programa y entrada a Q. Si Q regresa verdadero, S entra a un ciclo in¯nito. En caso contrario termina. program S(W ); var FOREVER:boolean; function Q(R,x):boolean; begin /* CODIGO MARAVILLOSO */ end begin FOREVER:= FALSE; if Q(W; W ) then repeat FOREVER:= false until FOREVER; else writeln(El programa termina); end 3. Meter a S como entrada el programa S. <S se equivoca!, por lo que llegamos a una contradicci¶n. o Teor¶ de la Computaci¶n ³a o Maricela Quintana 92 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  19. 19. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING6.7.5 Otros problemas no decidiblesProblema: Es L(M)6= 0? > Se puede construir una M T que al aceptar el c¶digo de la M T M orespondia si (o no) esta M T acepta alg¶n u string ? Lne = f< M >j L(M ) 6= ;g r:e no recursivo ( y su complemento Le = f< M >j L(M ) = ;g) no r:e Prueba 1) M = MT que reconoce c¶digos de MT `S que aceptan conjuntos no ovac¶ ³os. Sí Generación <Mi,x> W<Mi> M uj Sí entradas No x Generaci¶n entradas en orden conocido = f0; 1; 01:::::g o Pasos: j = 1; 2:: )(strinbg i; j) = f(1; 1); (1; 2); (2; 1); (1; 3); (2; 2):::g i + j est¶ en aumento a j Mu a m¶quinas de Turing limitada a j pasos. a 2) Le es no r:e debido al tema 3 (si fuera r:e) ) Lne ser¶ recursivo ³a Otro ejemplo (ver libro blanco) Lr = f< M >j L(M ) es recursivo por reducci¶n de Lr a Lug o Teor¶ de la Computaci¶n ³a o Maricela Quintana 93 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  20. 20. 6.7. TEOR¶ DE LA DECIBILIDAD IA <M,w> Sí Sí M´ A Mr Máquina que no aceptaM `= traducción de M, w Máquina por reducci¶n de Lr o Lu o Lnr no es r:e Otros: No se puede decidir: Demostrar -M acepta w(w) -Si el lenguaje aceptado por una MT es vac¶ o recursivo ³o -Si el lenguaje aceptado es (¯nito, in¯nito , regular, libre de contexto,tiene un n¶mero par de strings. u Decidibles -<Si el lenguaje aceptado por una MT es r:e! -Muchas propiedades de LRsyLLc : vac¶ in¯nito, M acepta w. ¶ ³o, Teorema de Rice -L es una propiedad trivial si L es vac¶ ¶ si L tiene todos los r:e`s: ³o o 1) Ninguna propiedad no trivial Lde los P lenguajes r:e es decidible. propiedad: conjunto de lenguajes r:e en = (0 + 1)¤ (Un conjunto L tiene una propiedadL si L es un elemento de L )= Lp )No hay algoritmos para esas preguntas. #Algoritmos contables, in¯nito$ #Problemas incontables, in¯nito 2) L L es r:e ssi L satisface: ² Si L = L y L ½ L` para alg¶n r:e L` ) L` ½ L u ² Si L es un lenguaje in¯nito ½ L ) hay un subconjunto de L ½ L Teor¶ de la Computaci¶n ³a o Maricela Quintana 94 ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a
  21. 21. CAP¶ ¶ ³TULO 6. MAQUINAS DE TURING ² El conjunto de lenguajes ¯nitos en L es enumerable. Example 1 Las siguientes propiedades de r:e`s no son r:e`s: -L = ; g 1) es violado P -L = ¤ g2) es violado -L recursivo g 1) es violado -L no es recursivo g1) es violadoTeor¶ de la Computaci¶n ³a o Maricela Quintana 95ITESM-CEM Dept. C.C. Jes¶s S¶nchez u a

×