modu saya 4

14
UNIDAD IV: Maquinas de Turing. DESARROLLO DE LA UNIDAD IV 1. Introducción: Son la idea fundamental de la computación. El modelo de máquina de Turing es por demás importante ya que todos los cálculos que puede realizar esta máquina incluye todos los cálculos que cualquier máquina puede realizar. La idea de Turing fue desarrollar un sistema capaz de modelar cualquier proceso que se considere un cálculo, por este motivo todos los especialistas en ciencias de la computación aceptan la tesis de Turing [“Si algo puede hacerse como un procedimiento, se puede hacer con una maquina de Turing y viceversa” . Se mostró que las máquinas de Turing resuelven todas las funciones recursivas parciales y esta clase de funciones incluyen todas las funciones que pueden computarse. Por lo tanto para saber que puede resolverse mediante una computadora se estudia la Maquina de Turing. Una MT es una máquina abstracta que consiste en una unidad de control que es un autómata finito, un cabezal guiado por la unidad de control y una cinta infinita a ambos lados la cual se considera dividida en celdas donde cabe solamente un símbolo. Inicialmente la cinta contiene un número finito de símbolos de y las celdas que no contienen ningún símbolo, se completarán con un blanco en cada una de ellas. El cabezal se encuentra situado en el primer símbolo ( ) de la cinta y solamente puede escanear una celda por vez. Cada movimiento unívoco en una MT viene determinado por el estado de la unidad de control juntamente con el símbolo de la cinta que indica el cabezal en un determinado momento. Cada movimiento consiste en escribir un símbolo en la celda indicada por el cabezal, mover este último a la izquierda o a la derecha y cambiar de estado. Los movimientos de la MT provocan un conjunto de cómputos que pueden terminar o no. Si termina, la unidad de control se encuentra en un estado final y su resultado será el conjunto de símbolos que se encuentren en la cinta, sino el resultado queda indefinido. Definición: Formalmente, se define una máquina de Turing (MT) como una sietetupla de la forma M=( Q, , ,S, , , F) donde Q es un conjunto finito de estados Alfabeto de entrada

Upload: edeciofreitez

Post on 23-Jul-2015

232 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Modu saya 4

UNIDAD IV: Maquinas de Turing.

DESARROLLO DE LA UNIDAD IV

1. Introducción: Son la idea fundamental de la computación. El modelo de máquina de

Turing es por demás importante ya que todos los cálculos que puede realizar esta máquina incluye todos los cálculos que cualquier máquina puede realizar.

La idea de Turing fue desarrollar un sistema capaz de modelar cualquier proceso que

se considere un cálculo, por este motivo todos los especialistas en ciencias de la computación aceptan la tesis de Turing [“Si algo puede hacerse como un procedimiento, se puede hacer con una maquina de Turing y viceversa” .

Se mostró que las máquinas de Turing resuelven todas las funciones recursivas parciales y esta clase de funciones incluyen todas las funciones que pueden computarse. Por lo tanto para saber que puede resolverse mediante una computadora se estudia la Maquina de Turing.

Una MT es una máquina abstracta que consiste en una unidad de control que es un

autómata finito, un cabezal guiado por la unidad de control y una cinta infinita a ambos lados la cual se considera dividida en celdas donde cabe solamente un símbolo. Inicialmente la cinta contiene un número finito de símbolos de y las celdas que no contienen ningún símbolo, se completarán con un blanco en cada una de ellas.

El cabezal se encuentra situado en el primer símbolo ( ␢) de la cinta y solamente puede escanear una celda por vez.

Cada movimiento unívoco en una MT viene determinado por el estado de la unidad de

control juntamente con el símbolo de la cinta que indica el cabezal en un determinado momento.

Cada movimiento consiste en escribir un símbolo en la celda indicada por el cabezal,

mover este último a la izquierda o a la derecha y cambiar de estado.

Los movimientos de la MT provocan un conjunto de cómputos que pueden

terminar o no. Si termina, la unidad de control se encuentra en un estado final y

su resultado será el conjunto de símbolos que se encuentren en la cinta, sino el

resultado queda indefinido.

Definición: Formalmente, se define una máquina de Turing (MT) como una sietetupla

de la forma M=( Q, , ,S, , , F) donde

Q es un conjunto finito de estados

Alfabeto de entrada

Page 2: Modu saya 4

(Conteniendo a y a un símbolo especial , tal que ) es el alfabeto de cinta.

S = q 1 Representa el estado inicial.

: Es un símbolo especial denominado símbolo blanco( )

F Q Representa el conjunto de estados finales. Aceptación o parada.

Es una función parcial llamada función de transición.

: Q x Q x x {L, R}

Representación: Este tipo de máquina consta hipotéticamente de una unidad de control capaz de interpretar las instrucciones que reciba, y de una cabeza lectora que permite leer el contenido de una de las casillas en que está dividida una memoria lineal, ilimitada en ambas direcciones de sus extremos.

La máquina en su funcionamiento pasa por diferentes estados q i en instantes t

sucesivos. El argumento de la función que queremos calcular estará almacenado

previamente en la memoria, y en el instante inicial, antes de que la máquina comience

a funcionar, la cabeza lectora apuntará al símbolo más a la izquierda del argumento. A

partir de ese momento la máquina realizará operaciones, que dependerán del estado en

que ella se encuentre, y del símbolo que en ese momento lea la cabeza lectora. Con

estas operaciones se podrán realizar las siguientes tareas: sustituir el símbolo leído por

otro, pasar a leer el símbolo que esta en memoria a la derecha del símbolo leído, pasar

a leer el símbolo que esta en memoria a la izquierda, o saltar directamente a ejecutar

otra instrucción si se cumple una condición especificada; en todos los casos, y una vez

ejecutada la tarea indicada, se pasaría al estado que también se indica en la propia

instrucción.

Estas instrucciones, o cuaternas, las podemos representar

Lectura Escritura

Estado

.... a 1 a 2 a 3 .... Q1

q 2

.

.

.

.

.

n

Control

Page 3: Modu saya 4

Características: La cinta es infinita, por lo que a los dos lados de la información que aparezca en la

entrada, habrá espacios en blanco representados por b. Inicialmente contiene un número finito de símbolos predecimos y seguidos de

infinitos blancos (símbolo especial b. Al igual que el resto de los autómatas, se representan por la tabla de transición en la

que en las filas están los estados, en las columnas los símbolos de T, y en la posición ( q, a) aparece ( q, a.

Movimiento: Si la Maquina de Turing esta en un estado q Q, lee a , y la función de transición para esa pareja estado-símbolo es:

q, a =(p, m, x) Entonces la Maquina de Turing: 1. Imprime el símbolo x en la cinta en donde estaba él a y 2. Pasa del estado q a p. 3. Mueve la cabeza lectora de la cinta de entrada / salida hacia la izquierda (m=I),

derecha (m=D) o se para (m=P .

Ejemplo: Sea la M de T definida por M=( Q, , ,S, , , F) donde

Q= q1 , q 2 ; a, b ; a, b, ; S=q1 ; F= q 2 ; y

dada por:

q 1 , a = q1 , a, R

q 1 , b = q1 , a, R

q 1 , = q 2 , , L

Una cinta asociada a la maquina es:

q 1

Solución: La maquina dada inicia sus cálculos en el estado q1 , y la cabeza de lectura/

escritura apunta hacia la celda que contiene el símbolo que se encuentra en el extremo izquierdo de la cinta, Veamos a continuación el recorrido que hace la maquina para la cinta dada:

q 1 q 1 q 1

q 1 q 1 q 2

Comentario: Cabe destacar que la maquina dada recorre la cinta dada de izquierda a

derecha cambiando todos los símbolos b’ es de la misma por a, se detiene a la izquierda del primer blanco que consiga.

... a b b a …

... a a b a … ... a b b a … ... a b b a …

... a a a a … ... a a a a ... a a a a …

Page 4: Modu saya 4

Nota: Una funcion parcial no esta necesariamente definida para todo elemento del

conjunto del que se realiza la transformación; por lo tano puede que la función “ ” no una imagen para algún par Q x . En otro orden de ideas las maquinas de turing dependen únicamente del estado actual y del contenido de la celda sobre la que se encuentra la cabeza de lectura/escritura, en consecuencia cualquier cadena de entrada se debe presentar a la maquina sobre su cinta.

Notación utilizada para la representación de un Maquina de Turing: A continuación se

presentaran dos de las notaciones mas utilizadas para presentar la información de manera más conveniente.

1- La primera representa una configuración como un par (q i , w1 w 2 ), donde q i es el

estado actual, w1 es la cadena de la cinta que precede a la celda sobre la que se

encuentra la cabeza de lectura / escritura, es el símbolo de la cinta sobre el que se

encuentra la cabeza de lectua/escritura y w 2 es la cadena que hay a continuación de

la cabeza de lectura / escritura.

2- La segunda notación viene dada por una cadena 1a 2a ... 1ka1q ka ... na , que

representa la configuración ( iq , kwa ), es decir la cabeza de lectura / escritura se

coloca sobre la celda que contiene ka y el estado actual es iq , es de notar que la

cadena 1a 2a ... 1ka1q ka ... na , indica que la cabeza de lectura / escritura se

encuentra sobre el símbolo de la cinta que aparece siguiendo al estado.

Ejemplo: A continuación se presenta la cinta analizada anteriormente utilizando estas notaciones:

1- Utilizando la primera notación se tiene que:

q 1 , abba q 1 , abba q 1 , aaba q1 , aaaa q1 , aaaa q 2 , aaaa

2- Utilizando la segunda notación se tiene que:

q 1 ,a,bba aq 1 bba aaq1 ba aaaq1 a aaaaq1 aaaq 2 a

Nota: Sea cual sea la notación utilizada denotaremos el paso de una configuración a otra por medio del símbolo “ “. Las configuraciones de una Maquina de Turing se conocen como descripciones instantáneas.

Ejemplo: Ejemplo: Sea la M de T definida por M=( Q, , ,S, , , F) donde

Q= q1 , q 2 , q 3 ; a, b ; a, b, ; S=q1 ; F= q 3 ; y

dada por:

q 1 , a = q1 , a, L

q 1 , b = q1 , b, L

q 1 , = q 2 , ,R

q 2 , a =(q 3 ,a,L)

Page 5: Modu saya 4

q 2 , b =(q 3 ,b,L)

q 2 , =(q 3 , ,L)

Comentario: La maquina anterior recorre la cinta hacia la izquierda hasta que se consiga con la primera celda en blanco, deteniéndose y colocándose sobre dicho blanco, esto es:

q 1 , aababb q1 , aababb q1 , aababb q1 , aababb

q1 , aababb q1 , aababb q1 , aababb

Nota: Cuando q i , a esta indefinida para una configuración de cinta, es

imposible que pase a otra configuración, entonces se dice que la M de T esta parada; puede que q F, siendo F el conjunto de estados finales o puede que no. De cualquier forma en muchas ocasiones es conveniente dotar de significado a la parada en un estado de F. A manera de simplificación se supondrá que no se definirá ninguna transición para cualquier estado de F, por lo que la maquina se detendrá siempre a su estado final.

Definición: Cuando se analiza una cinta asociada a una M de T, la secuencia de todos los movimientos que conducen a una configuración de parada se denominan “computación”.

Ejemplo: Sea la M de T, dada por:

Q= q 1 , q 2 ; a, b ; a, b, ; S=q1 ; F= ; y

dada por: La cinta es: q1 ,abW, con W

q 1 , a = q 2 , a, R

q 1 , b = q 2 , b,R

q 1 , = q 2 , ,R

q 2 , a =(q1 ,a,L)

q 2 , b =(q1 ,b,L)

q 2 , =(q1 , ,L)

Solución: q1 ,abW q1 ,abW q1 ,abW q1 ,abW q1 ,abW

Observación: Como se puede apreciar la maquina analizada anteriormente queda

en un bucle infinito ciclando entre dos estados. Durante su operación una M de T ejecuta transiciones repetidamente hasta llegar a su estado de parada, esto quiere decir, que bajo ciertas condiciones es posible que nunca se detengan los cálculos de una M de T, dado que su programa interno puede quedar atrapado en un ciclo sin fin(Como en el caso anterior. Sin embargo una anomalía que puede ocurrir durante este proceso es que la cabeza de la maquina pueda rebazar el extremo izquierdo de la cinta; en este caso la maquina abandonara los cálculos y se dice que la ejecución de la maquina sufrió una “terminación anormal”

Page 6: Modu saya 4

2. Lenguaje Aceptado por una Maqu8ina de Turing.

Definición: M=( Q, , ,S, , , F) una maquina de turing, entonces el lenguaje aceptado por M es:

L(M) = w q 1 w * w1 pw 2 para p F y w i

*

Ejemplo: Construya una M de T que acepte el lenguaje regular a* sobre

a,b , la maquina debe comenzar sus cálculos por el extremo izquierdo. El diseño de la maquina es el siguiente:

Q= q1 , q 2 ; a, b ; a, b, ; S=q1 ; F=q 2 ; y

dada por:

q 1 , a = q1 , a, R

q 1 , = q 2 , , R

Comentario: La maquina anterior realiza su análisis hacia la derecha, leyendo

cada símbolo y comprobando que es una “a”; si lo es se realiza un desplazamiento hacia la derecha, si encuentra un “ ” sin haber leído un ningún otro carácter que no sea “a” la maquina para y acepta la cadena. Si de lo contrario consigue un carácter distinto de a y la maquina se puede parar en un estado que no es de aceptación. Cabe destacar que esta maquina de Turing para en el

estado q 2 , solo si analiza una cadena de cero o más a’es.

Nota: Para rechazar una cadena que no es aceptada por una M de T, lo único que hay que hacer es evitar que llegue a su estado final, una alternativa es entrar en un bucle infinito, en el caso del lenguaje anterior podría ser aceptado por:

M=( Q, , ,S, , , F) Definición: Se dice que una función de cadena f es Turing computable si existe

una maquina de Turing M=( Q, , ,S, , , F) para la cual q w q f u para

algún q f F, cuando f(w)=u.

Ejemplo: Sea a, b , que representa los enteros positivos mediante cadenas de

a’es, es decir, a=1, a2=2,......., a

n=n. La función suma f(n, m)=n+m se puede

implementar para por medio de la transformación de anba

m en a

mnb, se puede

obtener una M de T que lleve a cabo este proceso de la manera siguiente:

M=( Q, , ,S, , , F), donde:

Q= q1 , q 2 , q 3 ,q 4 ,q 5 ; a, b ; a, b, ; S=q1 ; F= q 5 ; y

dada por:

q 1 , a = q1 , a, R

q 1 , b = q 2 ,a,R

q 2 , a =(q 2 ,a,R)

q 2 , =(q 3 , ,L)

q 3 ,a =(q 4 ,b,L)

q 4 ,a =(q 4 ,a,L)

q 4 , =(q 5 , ,R)

Page 7: Modu saya 4

3. Construcción y Modificación de una Maquina de Turing.

Definición: Sean M1 y M 2 dos M de T sobre el mismo alfabeto de entrada y el

mismo alfabeto de cinta , donde M1 =( Q1 , , ,S, , 1 , F 1 ) y M 2 =( Q 2 , ,

,S, , 2 , F 2 ), cabe destacar que Q1 Q 2 = . La composición de las maquinas de

turing M1 y M 2 es la maquina de Turing M=( Q, , ,S, , , F), que se denota por

M 1 M 2 donde:

Q=Q1 Q 2

S=s1

F=F 2

1 q, , Si q Q1 y 1 q, (p, t, X), para todo p F1

q, = 2 q, , Si q Q 2

(s 2 , t, X), Si q Q1 y 1 q, = (p, t, X) para algún p F1

Nota: Cabe destacar que la composición de M1 M 2 se comporta como M1 hasta que

M 1 llega a su estado final. En ese instante cambia al estado inicial de M 2 y se

comporta como M 2 hasta que termina.

Ejemplo: Sean M1 y M 2 dos M de T dadas por

M 1 : Q1 = q1 , q 2 , q 3 ,q 4 ; a ; a, ; S =q1 ; F = q 4 ; y

1- dada por:

q 1 , a = q 2 , a, R

q 1 , = q 2 , , R

q 2 , a =(q 2 ,a, R)

q 2 , =(q 3 , , L)

q 3 ,a =(q 4 ,a, R)

q 3 , =(q 4 , , R)

M 2 : Q 2 = p1 , p 2 ; a, b ; a, b, ; S=p1 ; F= p 5 ; y

2- dada por:

p 1 , a = p 2 , a, R

p 1 , b = p 2 ,a, R

Comentario: La composición M 1 M 2 se comporta como M1 hasta que M1 llega a

un estado final. En ese momento cambia al estado inicial de M 2 y se comporta

Page 8: Modu saya 4

como M 2 hasta que termina. A continuación se presentan las transiciones

asociadas a la maquina M1M 2 .

q 1 , a = q 2 , a, R

q 1 , = q 2 , , R

q 2 , a =(q 2 ,a, R)

q 2 , =(q 3 , , L)

q 3 ,a =(p1 ,a, R)

q 3 , =(p1 , , R)

p 1 , a = p 2 , a, R

p 1 , b = p 2 ,a, R

Bloques de Construcción de Maquinas de Turing

Introducción: Con el proceso de composición antes mencionado y empleando

las M de T como bloques de construcción, se pueden obtener maquinas de propósitos más complejos.

Nota: Es importante conocer la tarea (el funcionamiento) que realiza cada una

de las maquinas a combinar para realizar el enlace adecuado de las mismas.

Descripción:

3- En lugar de utilizar los diagramas de transición utilizados usualmente, se usaran diagramas compuestos

4- En estos diagramas cada uno de los bloques de construcción se representa como un nodo, con flechas entre los nodos para indicar las transiciones entre los bloques.

5- Estas flechas se etiquetan de acuerdo con el valor que debe aparecer en la celda actual para recorra la flecha.

6- Al igual que en los diagramas de transición, debe indicarse con un apuntador el nodo del diagrama compuesto donde debe comenzar la ejecución.

Nota: Por razones de conveniencia, existen varias abreviaturas en cuanto a la

notación empleada habitualmente al construir diagramas de bloques para M de T Uno es reemplazar varias flechas que tienen la misma fuente y el mismo destino por una sola flecha rotulada con una sola lista de símbolos, otra abreviatura utilizada consiste en aplicar la notación que se muestra a continuación para indicar que cuando el símbolo actual es x, y o z, la maquina deberá proseguir en esta dirección, donde representa el símbolo que en realidad esta presente.

X, y, z

Ejemplo: En el caso de la maquina M1 descrita anteriormente la vamos a

representar como R , es decir R busca el primer blanco ( ) que haya a la

derecha de la posición actual de la cabeza. En el caso de la maquina M 2 imprime

una a y se detiene(imprime la “a” independientemente del símbolo actual), al combinar estas dos maquinas, la maquina resultante buscara el primer blanco

Page 9: Modu saya 4

hacia la derecha, imprimirá un blanco y se detendrá. El diagrama de bloque asociado a esta maquina se muestra a continuación.

-- R aR

Donde , significa diferente de blanco. Comentario: Suponiendo que los símbolos de cinta asociados a una maquina de turing

son: x, y, se tiene que: Se representara con R una maquina que mueve su cabeza una celda a la a la derecha, con L la que mueve su cabeza una celda a la izquierda y con x la maquina que escribe un símbolo en la celda actual.

Ejemplo: Una M de T que se mueve una celda a la derecha, escribe el símbolo “y”

se mueve una celda a la izquierda y se detiene se muestra a continuación. R y L o en forma condensada RyL Ejemplo: A continuación se muestra un grupo de bloques asociados a maquinas de

Turing para x, y,

R x : Recorre la cinta a la derecha de su posición inicial en busca de una celda que

contenga el símbolo x. A continuación se muestra el diagrama de bloque asociado. y R

R : Recorre la cinta a la derecha de su posición inicial en busca de una celda que contenga un símbolo distinto de x. A continuación se muestra el diagrama de bloque asociado:

x

R

L x : Recorre la cinta a la izquierda de su posición inicial en busca de una celda que

contenga el símbolo x. A continuación se muestra el diagrama de bloque asociado.

y L

Page 10: Modu saya 4

R : Recorre la cinta a la izquierda de e su posición inicial en busca de una celda que contenga un símbolo distinto de x. A continuación se muestra el diagrama de bloque asociado:

x L

4. Tesis de Church.

Definición: La clase de las funciones recursivas parciales contiene todas las funciones parciales computables.

Comentario: toda función para la cual exista un proceso algorítmico que pueda ser especificado mediante la descripción a alto nivel de una serie de pasos a realizar, es computable. Así pues, en muchas ocasiones, ante una función complicada f se puede optar por describir un proceso de computación de la misma mediante un lenguaje pseudoalgorítmico, es decir, mediante una "receta" cuyo seguimiento al pie de la letra ante una entrada x conduce a la computación de f(x). Cuando esto ocurre, podemos asegurar la computabilidad de f en virtud de la tesis de Church, sin necesidad de calcular un programa específico para f.

5. Indecibilidad: Una de las técnicas más usadas en esta teoría ha sido la codificación de los

algoritmos utilizando el método de la codificación de Gödel. Como ya hemos comentado, esto nos va a permitir ver a los algoritmos cuyas entradas sean números naturales como algoritmos cuyas entradas sean algoritmos. Esta fue la técnica usada por Church, Kleene y Turing para encontrar problemas sin solución, técnica que por otro lado ha dado lugar a muy fructíferos resultados en cuestiones generales acerca de los algoritmos.

De esta forma se demostró que era posible construir una máquina de propósito general, es decir, capaz de resolver cualquier problema que se pudiese resolver mediante un algoritmo. Dicha máquina tendría como entrada el entero que codificaría el algoritmo solución del problema y la propia entrada del problema, de tal forma, que la máquina aplicaría el algoritmo codificado a la entrada del problema. Esta hipotética máquina puede considerarse como el padre de los actuales ordenadores de propósito general. Los argumentos empleados por Church, Kleene y Turing para demostrar que un problema no tiene solución algorítmica tienen todos la misma estructura, y se puede resumir como sigue: 1.- Se demuestra que hay un procedimiento uniforme (universal) U que dada una función calculable F y un argumento numérico m, calcula el valor f(m) si este está definido. 1.a) Para el -cálculo U es un -término tal que Ufm es convertible en n si y solo si Fm es convertible en n, donde f es el número de Gödel del término f. 1.b) Para el cálculo ecuacional de las funciones recursivas, U enumera (los números de Gödel de) las consecuencias de las ecuaciones que definen F hasta que se llega a una ecuación de la forma Fm=n. 1.c) Para la máquina de Turing, U es justamente la máquina universal. 2.- Se demuestra que si se puede decidir el siguiente problema: Dada una especificación de una función en el sistema, esta función está siempre bien definida, es decir, es total (en la terminología de Turing, es una máquina sin bucles infinitos), entonces, usando U, el argumento de la diagonal daría una contradicción.

3.- Si cada problema sobre las funciones calculables fuese decidible, entonces también lo sería cada cuestión sobre la aritmética, y en particular el problema del punto 2. Cada autor dió un ejemplo de problemas sobre las funciones calculables que eran indecidibles: 3.a) Dada una fórmula del -cálculo, ¿tiene una forma normal? 3.b) Dado un conjunto de ecuaciones cuyo número de Gödel sea f, calcular el valor de la función que definen esas ecuaciones aplicado a f.

Page 11: Modu saya 4

3.c) Dada una máquina de Turing, ¿imprime siempre 0? 4.- Church y Turing dieron los axiomas de primer orden a sus respectivos modelos de computación, y así probaron la indecibilidad.

6. Lenguajes recursivos y Recursivamente Enumerables.

Funciones recursivas: A continuación se presenta como se construye una clase de funciones, llamadas recursivas primitivas, definidas entre n-uplas de números naturales

sobre los números naturales, (es decir ), con la idea de caracterizar las funciones que son efectivamente calculables, es decir, aquellas funciones para las que dada la n-upla de sus argumentos se puede definir un procedimiento para encontrar en un numero finito de pasos el valor de la función. Para ello se usara una definición recursiva, es decir, nos apoyaremos en un conjunto de funciones que por definición son recursivas (conjunto inicial que se denomina base de la recursión), y en un conjunto de reglas que aplicándolas a funciones recursivas primitivas ya definidas obtenemos nuevas funciones recursivas. En nuestro caso la base esta formada por las funciones nula, sucesor y proyección, y las reglas que llamamos de composición y de recursión primitiva. Estos elementos quedan definidos de la siguiente forma:

Base de recursión:

Función nula:

mediante la que se hace corresponder a cualquier numero natural el numero 0

(borrar el numero).

Función sucesor :

mediante la cual a cada numero natural se le hace corresponder su sucesor, que

denotamos por (encontrar el siguiente).

Función proyección : mediante la cual a cada n-upla se le hace corresponder su i-esima componente (elegir uno de una sucesión finita)

Reglas: Regla de composición:

dadas las funciones

y la función que depende de las funciones anteriores, es decir

entonces decimos que

Page 12: Modu saya 4

es la función compuesta de las mediante si está definida de la siguiente forma:

Regla de recursión primitiva con parámetros: dadas dos funciones recursivas conocidas

que dependen de los parámetros , se define la función

mediante el siguiente esquema de recursión:

Regla de recursión primitiva sin parámetros: es un caso particular del anterior en el que no aparecerán los parámetros y el esquema

de recursión sería:

donde es una función recursiva conocida y es una constante (un numero natural dado).

La clase de funciones definidas de esta manera, es una clase de funciones que se puede calcular efectivamente, ya que son construidas a partir un conjunto base, cuyo cálculo puede ser considerado trivial, y mediante procedimientos o esquemas de cálculo sencillos y que se realizan por pasos sucesivos. Se prueba que esta clase de funciones es la misma que la que se define utilizando para ello las Maquinas de Turing, que describimos a continuación.

7. Maquinas de Turing Universal.

Definición: Es una máquina que recibe en su cinta una descripción de otra M de T, y el contenido de la cinta de esta M de T, y produce como resultado de su ejecución el mismo resultado que produciría la M de T sobre su cinta. Se le da el nombre de universal, porque es capaz de simular el comportamiento de cualquier M de T.

Construcción:

Page 13: Modu saya 4

Supondremos que Q= q1 ,q 2 ,...q n , donde q1 es el único

estado inicial y q 2 es el único estado final de M.

Supondremos que =1, 2 ,...., n , donde

1 es el blanco.

Para codificar , representaremos q1 por 1, q 2 por 11, y así

sucesivamente.

Representaremos i por una cadena de i unos de forma similar

a como se representaron los estados de Q. Finalmente representaremos las directivas para la cabeza de

lectura / escritura de forma que L será 1 y R será 11. Los Ceros serán usados como separadores.

a. Ejemplo: La transición dada por q 3 , 1 = q 4 , 3 ,

L , puede ser codificada mediante la cadena 011101011110111010, es de notar que m tiene una codificación representada por una cadena finita de ceros y unos

7. Problema de Parada: El problema de parada de una maquina de turing consiste en determinar algorítmicamente, es decir, mediante una maquina de Turing, si una maquina de turing “M” dada, va a parar o no cuando analiza una palabra de entrada W, dado que en este caso una maquina de Turing analiza el comportamiento de otra, se requiere que la ultima

sea dada como entrada a la primera; esto puede llevarse a cabo por medio de la codificación de la M de T que debe analizarse

8. Teorema de Rice

Considérese la clase de funciones recursivas con un solo argumento. Sea pues una

enumeración efectiva de las funciones computables de una sola variable. Sea

una subclase. El conjunto de índices de es La clase se dice ser recursiva

si su conjunto de índices lo es, es decir, si la función característica de este último conjunto es recursiva. Digresión: Supongamos que f es una función computable, calculada por el programa P y que

el índice de f es k0. Sea la mónada que consta únicamente de la función f. Tenemos que

. Pero la inclusión es estricta, pues f puede ser calculada también por una infinidad de otros programas, es decir, f tiene una infinidad de índices. Para determinar que un número

cualquiera k está en será menester que la función fk coincide con f, la verificación de lo cual es un problema irresoluble, en general, como lo veremos más adelante. La dificultad principal en revisar si acaso una función coincide con otra, estriba en que aún cuando podamos probar uno a uno, y, potencialmente todos, los valores de ambas funciones, ese proceso es interminable pues siempre quedarán más valores pendientes de revisar que los ya revisados.

Page 14: Modu saya 4