makina

Page 1

Curso de doctorado: Máquinas y mentes: introducción a la teoría de la Turingcomputabilidad Profesor: Juan José Acero Curso: 1994/1995

1. MÁQUINAS DE TURING (TEORÍA)

1.1. Tesis de Turing 1.2. ¿Qué es una máquina de Turing? 1.3. El problema de la indicidibilidad en las máquinas de Turing

2. MÁQUINAS DE TURING (PRÁCTICA)

2.1. Tarea 1. Buscar la primera casilla en blanco y parar 2.2. Tarea 2. Encontrar el primer 2 hacia la derecha y parar 2.3. Tarea 3. Localizar el segundo 2 y parar 2.4. Tarea 4. Parar ante dos 1 consecutivos y parar 2.5. Tarea 5. Buscar el patrón ‘2112’ y parar 2.6. Tarea 6. Recordar una expresión, recordarla y copiarla 2.7. Tarea 7. Computar el siguiente número de uno dado anteriormente 2.8. Tarea 8. Sumar dos números separados por un indicador y parar 2.9. Tarea 9. Multiplicar dos números separados por un indicador y parar


En este trabajo se presentan una serie de cuestiones teóricas y prácticas sobre la noción de ‘máquina de Turing’. En la primera parte se tratan dos tesis centrales para comprender qué es una máquina de Turing, así como los conceptos teóricos que aparecen asociados a ellas. En la segunda parte se realizan algunas de las tareas típicas que pueden desarrollar las máquinas de Turing. Estas tareas son especialmente útiles para comprender la noción de computación, y en general para conocer cómo funcionan las máquinas de Turing.

I. MÁQUINAS DE TURING. (TEORÍA) I.1. TESIS DE TURING Tesis 1. «Todo problema que pueda resolverse algorítmicamente, puede ser resuelto por una máquina de Turing» Conceptos asociados a la Tesis 1 Algoritmo: conjunto de reglas que aplicadas de forma mecánica pueden resolver un problema de una clase dada. Fundamentalmente en contextos matemáticos. Cálculo: Toda operación que se desarrolle mediante manipulación de símbolos en un medio de representación dado. Las operaciones simbólicas son atómicas, esto es, absolutamente simples y se realizan en un computador. La acción del computador va a depender de los símbolos que tenga el sistema y del estado interno en el que se encuentra el computador. Tesis 2. «Toda función computable puede ser computada por una máquina de Turing. Todo problema que puede ser resuelto por métodos algorítmicos puede ser resuelto por una máquina de Turing» Conceptos asociados a la Tesis 2. Función computable: Clases de problemas que pueden ser resueltos algorítmicamente, esto es, si al algoritmo se le dan los argumentos correspondientes, entonces computará esos valores terminando la tarea en un número finito de pasos.

I.2.¿Qué es una máquina de Turing? Una máquina de Turing es una máquina ideal -formalmente hablando se trata de un algoritmo- en dos aspectos básicos. La primera idealización se debe a que su memoria es ilimitada. La segunda idealización se produce por el hecho de una máquina de Turing nunca comete errores. A efectos de representar una máquina de Turing, podemos imaginarla como una cinta infinita dividida en cuadros sobre la que se realizan las operaciones de manipulación de símbolos. La máquina dispone de un lector que realiza las siguientes funciones:


i. ii. iii.

Está situado en todo momento ante uno de los cuadros de la cinta Lee lo que hay en ese cuadro. Lleva a cabo una instrucción en el momento siguiente.

Una descripción formal de una máquina de Turing la presentaría como una tabla de la siguiente forma: Q1

Q2 ………………… …..Qn

S1

S1 q1 M

S1 q2 M

S1 qn M

S2

S1

S2 q2 M

S2 qn M

Sm

S1 q2 M

S m q2 M

S m qn M

Sm

Sm q1 M

Sm q2 M

Sm qn M

q1 M

M = movimientos del lector de la máquina de Turing [‘L’= izquierda y ‘R’= derecha] q = estado computacional en el que se encuentra la máquina de Turing S = símbolo con el que realiza los cómputos la máquina de Turing Lo que en esta tabla expresa es una función por la cual, a cada par formado por un símbolo y un estado, la máquina asocia un símbolo, un estado y un movimiento que se representa mediante el triplo {S1 q1 M}

I.3. El problema de la indecidibilidad en las máquinas de Turing La idea central de Turing es que allí donde exista un procedimiento de decisión habrá una máquina de Turing que pueda realizarlo. Ahora bien, la existencia de problemas indecidibles significaría que para esa clase de problemas no existiría una máquina de Turing que respondiera ‘si’ o ‘no’ cuando esta máquina se aplicara a una cinta donde tenemos el problema dado. En particular, existe un problema indecidible para cualquier máquina de Turing. Este es el problema conocido como «el problema de la parada para la máquina de Turing». Dada una máquina T y una cinta en blanco C, siempre podremos realizar la siguiente pregunta: ¿Parará T iniciando sus cómputos sobre C en un punto en un número finito de pasos? Esto es, dado cualquier problema ¿Sabría T de ante mano que ese problema tiene solución en un número finito de pasos?, o lo que es lo mismo, si al problema de la parada lo denominamos «P». ¿Podrá T solucionar P en un número finito de pasos? La respuesta es que el problema es indecidible.


II. MÁQUINAS DE TURING. (PRÁCTICA) Los símbolos que se van a utilizar para esquematizar los diseños de las máquinas de Turing son los siguientes:

La máquina dispone de una cinta lectora sobre la que se escriben, borran o modifican símbolos. Esta cinta tiene una memoria infinita; lo que permite, en principio, realizar un número infinito de operaciones.

Para realizar las operaciones con símbolos la máquina utiliza un lector que se sitúa sobre cada una de las casillas de la cinta. Este lector puede desplazarse a derecha o a izquierda de la cinta para operar con los símbolos se representan los movimientos del lector sobre la Mediante este dibujo cinta. La inclusión en el dibujo de la letra R indicará que el lector se mueve hacia la derecha, y la inclusión de la letra L indicará que se mueve a la izquierda. Los movimientos de la máquina también se indican mediante flechas Para poder operar, la máquina debe de disponer de un vocabulario o sistema de símbolos que debe ser especificado antes de realizar el diseño de la misma. Por ejemplo: ‘S= {I, *, A}’ En este caso el sistema de símbolos con el que opera la máquina estaría compuesto por un palote, un asterisco y la letra A. La inscripción de un símbolo en una casilla de la cinta se representa del siguiente modo: I Lo que se quiere indicar aquí es que cuando el lector encuentra un cuadrado en blanco escribe un palote y se desplaza hacia la izquierda o hacia la derecha. La inclusión de un hexágono nos indicará el estado computacional en el que se encuentra una máquina, esto es, el conjunto de operaciones que la máquina está realizando en un momento dado.


Tarea I: Buscar la primera casilla en blanco y parar

S={ ,

rt

Sta

R

Stop

Tarea II: Encontrar el primer 2 hacia la derecha y parar

S={

2 1} 2

1

1

Start

L

L 1 2

Stop


Tarea III: Localiza el segundo 2 y parar

S={

2 1} 2

Start

2

L

,1

L

1

2

,1

L 2

Tarea IV: Parar ante dos 1 consecutivos

S={

1} 1

Start

R

1

1 1

R

1

Stop

Stop


Tarea V: Buscar el patrón ‘2112’

S={

2 1} 2

1

1

2

1 2

Start

1

R

1

R

R 2

R 2

2

Stop

1

Tarea VI: La máquina lee una expresión, la recuerda y la copia

S={

1 0 A B} 0

0

1

0

1

R 1

Start

0

B

L

B, A

0 A 1

R

Stop

B

A 0

0,1

R

,1

L


Tarea VII: Computar el siguiente número de uno dado. La máquina inicia el cómputo en el inicio de la función, de forma que al terminar los cómputos tenemos escrito en la cinta de la máquina el número en el que se iniciaba la serie y el siguiente.

S = { ,1, , A } 1

A

1 1 A

Start

L

1

R

1

R A 1 1

R

A

Stop

1

L


Tarea VIII: Suma dos números separados por un indicador

S={

, |, , A,} |

|

A

|

A,

Start

|

|

|

A,

L

|

R

R

| A

|

R

|

Stop

L

Tarea IX: Máquina que multiplica dos números separados por un indicador

S={

,|, , A, } |

|

A

|

|

|

,|, Start A

L

L

|

A

L

|

|

L R |

|

|

,|,

R Stop

R

R


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.