Presentación de máquinas algorítmicas. máquina de Turing

Uno de los primeros y muy exitosos intentos de dar una precisión
equivalente matemático de la comprensión intuitiva del algoritmo
fue la introducción del concepto de una máquina de Turing en 1937, 9 años antes
la aparición de la primera computadora.
Una máquina de Turing es una máquina abstracta. Esto es matemático
modelo de un dispositivo informático idealizado.
La máquina de Turing consta de una cinta y un dispositivo de control con
cabezales de lectura y escritura (carros) (Fig. 5.1).
Arroz. 5.1
La cinta se fija rígidamente a la izquierda e infinita a la derecha. Algunas veces
Tenga en cuenta que la cinta no se limita a la derecha y la izquierda. La cinta se divide en
celdas numeradas con números naturales 1, 2,….
Los símbolos del alfabeto externo se ingresan en cada celda de la cinta.
Máquinas de Turing
A = (a0, a1, ... an).
(5.1)
Uno de los caracteres (espacio) coincide con un espacio en blanco, vacío
celda.
La cabeza puede moverse a lo largo de la cinta hacia la izquierda y hacia la derecha. Cuando
está inmóvil, luego se apoya contra una determinada celda de la cinta; ellos dijeron eso
la cabeza ve esta celda.

Por una unidad de tiempo, que se llama paso, la cabeza puede
mueva una celda hacia la izquierda o hacia la derecha. Además, la cabeza
también puede reconocer el contenido de la celda vista, puede
poner un carácter del alfabeto externo en la celda actual y puede borrar
el contenido de la celda actual o, que es lo mismo, escribir allí
espacio.
El dispositivo de control puede estar en uno de los muchos
estados discretos:
Q = (q0, q1, ... qm).
(5.2)
El conjunto Q se denomina alfabeto interno de la máquina.
Turing o el alfabeto de los estados internos.
Una palabra es una secuencia W = ai1, ai2, ..., ais símbolos,
grabado en las celdas de la cinta, donde ai1 es el carácter ubicado en el
la celda izquierda no en blanco, y ais es el carácter en el extremo derecho
celda no vacía. La cantidad de caracteres s en una palabra se llama longitud
las palabras.
Deje que se escriba una palabra W en la cinta en algún momento t,
el dispositivo de control está en el estado qi, y el carro está
frente al símbolo de objetivo de la palabra W. La configuración de la máquina en el momento
el tiempo t es una secuencia K = ai1, ..., ai (m - 1), qi, aim ...,
ais. Las configuraciones al inicio y al final del trabajo se denominan respectivamente.
inicial y final.

Ejemplo 5.4.
Deje que la palabra abcde se escriba en la cinta, el dispositivo de control
está en el estado qi y el signo de intercalación está opuesto al carácter d.
La configuración en este caso se escribirá de la siguiente manera:
abcqide.
Dado que la máquina de Turing tiene un alfabeto finito y un alfabeto finito
el número de estados internos, es obvio que puede realizar
un número finito de acciones.
Si el dispositivo de control en algún momento
está en el estado qi, el símbolo aj es monitoreado, el siguiente momento
tiempo, se escribe el símbolo ar, el dispositivo de control pasa a
estado qk, y el carro se desplaza, entonces se dice que la máquina realiza
mando
ajqi arSqk,
(5.3)
donde S - desplazamiento, S = L, si desplazamiento a la izquierda, S = R, si desplazamiento a la derecha, S = C,
si el carro permanece en su lugar.
La colección de todos los comandos que puede ejecutar una máquina,
llamó a su programa. La condición de unicidad requiere que para
para cualquier j y cualquier i, solo hay un comando de la forma (5.3).

Cada máquina de Turing está completamente determinada por su propia
alfabeto, estados internos y programa.
Entonces, la máquina de Turing es una colección
M = ,
(5.4)
donde A es el alfabeto exterior (5.1),
Q - alfabeto de interno
afirma (5.2), P es el programa (5.3).
Ejemplo 5.5.
Máquina con alfabeto externo A = (1, a), alfabeto de interno
establece Q = (q1, q2) y el programa
1q1 1Rq1,
aq1 1R q1,
desde cualquier configuración inicial se ejecutará indefinidamente,
llenando toda la cinta con unidades a la derecha del punto de partida.

El orden de funcionamiento de una máquina de Turing a menudo se da en forma de tabla.
En cada columna de la línea superior, los caracteres del interior
alfabeto, en cada línea de la primera columna - símbolos del exterior
alfabeto. En celdas en la intersección de otras columnas y líneas
se colocan los comandos.
Si en la intersección de cualquier fila y cualquier columna
obtenemos una celda vacía, esto significa que en este interno
estado, este símbolo no se puede encontrar.
A / Q
a0
a1
q0
q1

qi
qn

aj
ajKqi

soy
Formato de comando: aKq, donde:
a - el nuevo contenido de la celda actual (nuevo carácter del exterior
el alfabeto que se ingresa en la celda actual);
K - Comando de la unidad de cinta de la máquina de Turing
(izquierda, derecha, parada);
q es el nuevo estado interno de la máquina de Turing.

El funcionamiento de la máquina sobre la base de un programa determinado se produce
de la siguiente manera.
Suponga que en un momento dado en el tiempo la máquina de Turing
está en el estado interno qi, y en el carro monitoreado
la celda de la cinta contiene el símbolo aj.
Luego, la máquina procede a la ejecución del comando ajKqi en la celda, en
intersección de la columna qi y la fila aj:
1) se ingresa un nuevo símbolo aj en la celda actual de la cinta (posiblemente,
lo mismo).
2) hay un desplazamiento de la cabeza hacia la izquierda (K = izquierda) o un desplazamiento de la cabeza
hacia la derecha (K = derecha), o la cabeza permanece en su lugar, es decir
parada de la máquina (K = parada).
3) el auto entra en uno nuevo estado interno qi.
Posibles casos de parada de la máquina de Turing:
1) durante la ejecución del programa, la máquina entrará en ejecución
comandos de parada; el programa se considera ejecutado en este caso,
el automóvil se detiene: se produce una parada efectiva.
2) el coche nunca se detiene, hay un bucle.

Ejemplo 5.6.
Deje que el alfabeto exterior A = (0, 1, 2), y el conjunto de interiores
estados consta de un solo estado Q = (q0). Necesario
construir un MT, que, en una notación arbitraria, a partir de cualquier
La celda, moviéndose hacia la derecha, encuentra el primer cero y se detiene.
Tal máquina puede ser dada por la tabla:
a
q0
0 0Cq0
1 1Rq0
2 2Rq0
De hecho, primero, la máquina está en el estado
1 1 2 0 1 2 2
La cabeza está mirando el símbolo 1. Según la pestaña. realizado
comando 1Rq0, es decir, el mismo
personaje 1 y la cabeza se mueve hacia la derecha.
1
1
2
0
1
2
2
Ahora el cabezal está escaneando el carácter 1 de nuevo y de acuerdo con
pestaña. 5.2 se ejecuta el comando 1Rq0, es decir, a la celda monitoreada
se escribe el mismo carácter 1 y la cabeza se desplaza hacia la derecha
1 1 2 0 1 2 2
Ahora la cabeza está mirando el símbolo 2 y de acuerdo con la tabla. 5.2
se ejecuta el comando 2Rq0, es decir,
el mismo carácter 2 y la cabeza se desplaza hacia la derecha.
1 1 2 0 1 2 2
Ahora la cabeza mira el carácter 0 y de acuerdo con la tabla. 5.2
se ejecuta el comando 0Cq0, es decir, se escribe la celda observada
el mismo 0 y el coche se detiene.

Ejemplo 5.7.
Construimos una máquina de Turing que transforma la palabra AVB) en
palabra A y B, y palabra A y B) se transforma en la palabra A V B, que
cumple con las leyes de Morgan. Tal máquina se puede especificar
Cuadro 5.2.
Alfabeto exterior A = (А, B, V, &, (,), _) (símbolo _ coincide
celda vacía), y el conjunto de estados internos consta sólo de
un estado Q = (q0).
A
A
B
V
&
)
_
q0
_Rq0
ARq0
Rq0
& Rq0
VRq0
Rq0
BRq0
_Cq0

Los datos de la máquina de Turing son palabras del alfabeto externo de la cinta.
Tanto los datos originales como el resultado final se graban en la cinta. Sobre
la cinta puede contener tanto palabras como secuencias de palabras. V
En el último caso, se coloca un carácter separador especial entre palabras, puede ser un espacio o un símbolo. Número natural a
a
está representado por la palabra 1 ... 1 = 1, que consta de unos. Por ejemplo,
el número 3 corresponde a la palabra 111.
Ejemplo 5.8.
Construyamos una máquina de Turing que sume dos
a
números naturales ay b. Sumar dos números ayb significa palabra 1
B
a + b
1 convertir a la palabra 1.
Esto se puede hacer quitando el carácter separador de la entrada a b y
desplazando el primer término al segundo. Tal máquina puede ser
dado por la tabla. Alfabeto externo A = (1, _), donde está el símbolo
delimitador y _ es un carácter de celda vacía (espacio). Un montón de
Los estados internos constan de tres estados Q = (q0, q1, q2).
a
q0
q1
q2
1 _Rq1 1Rq1 1Lq2
* _Rq1 1Lq2
_
_Cq1
__Rq1
Estados inicial y final de la cinta para el caso a = 2, b = 3
mostrado en la Fig. a y B)
a)
1 1 1 1 1
B)
1 1 1 1 1

Funciones calculadas por Turing
Consideraremos funciones f de uno o más
variables definidas en el conjunto N = (0, 1, 2, ..., n, ...)
números naturales o subconjuntos de los mismos (funciones parciales) y
tomando valores en el conjunto N.
Definición 5.8. La función f (x1, x2, ..., xn) se llama computable,
si hay un algoritmo que le permite calcular sus valores para
aquellas variables para las que se define, y el trabajo
es infinito si la función para un conjunto dado de variables no es
definido.
Definición 5.9. La función f (x1, x2, ..., xn) se llama computable
por Turing, si hay una máquina de Turing que calcule este
función.
Las variables se pueden posicionar como palabras delimitadas
11…1 11…1 …… 11…1
Ejemplo 5.9.
Entrada 111 11 1 coincidencias
igual a 3, 2 y 1, respectivamente.
tres variables x1, x2, x3,
La función también está escrita en una palabra que consta de unos.
El ejemplo 5.8 presenta una función de dos variables f (a, b) = a + b.

Tesis de Turing. Cualquier algoritmo puede ser implementado por una máquina.
Turing.
La tesis de Turing no se puede probar. Esta declaración significa que
el concepto matemático de una función computable de Turing es
un modelo ideal del concepto intuitivo de un algoritmo. Esta tesis
confirmado por la experiencia.
Por su naturaleza, la tesis de Turing se asemeja a la matemática
las leyes de la mecánica, que de la misma manera no se pueden probar, pero,
descubiertos por Newton, han sido confirmados repetidamente por la experiencia.
En virtud de la tesis de Turing, la imposibilidad de construir una máquina
Turing significa que no existe un algoritmo para resolver este problema.
El estudio
máquinas
Turing
establece
Fundación
pensamiento algorítmico, cuya esencia es que
necesita poder dividir el proceso de cálculo en componentes simples
Pasos.
En la máquina de Turing, esta separación se lleva al límite
tu solo. En las computadoras modernas, el proceso algorítmico se divide
no en componentes tan pequeños como en la máquina de Turing. Viceversa,
existe el deseo de ampliar los procedimientos realizados por la máquina.
Por ejemplo, la operación de suma en una máquina de Turing es un programa completo,
y en una computadora es la función más simple.

"La mente es un espejo y
el espejo de la mente se va
polvo de deseos ... borrar
Aparecerá el polvo y la Verdad
antes de ti ... "

El desarrollo metodológico de la lección, que será discutido en esta publicación, está destinado a ser estudiado en el grado 10 al considerar el bloque temático " Algoritmo. Ejecutores de algoritmos».

En la lección sobre el tema " »Acompañado de una presentación multimedia, los niños se familiarizarán con su estructura, estudiarán el principio de funcionamiento y aprenderán a construir un programa para una máquina de Turing. El material didáctico permite desarrollar el pensamiento algorítmico de los estudiantes de último año, la capacidad de formalizar.

Por tipo, se combina esta lección, en la que se consolida el estudio de nuevo material en el proceso de resolución de problemas sobre el tema. El autor del desarrollo propone utilizar un método de enseñanza de búsqueda parcial, cuando el proceso de pensamiento se vuelve productivo con la dirección y el control constante del maestro.

Descripción del curso de la lección sobre la máquina de Turing.

En la etapa de organización de la clase, el maestro prepara a los niños para el trabajo, formula el tema de la lección y habla sobre el inglés Alan Turing, quien influyó significativamente en el desarrollo de la informática como ciencia.

Como calentamiento en la siguiente etapa de la lección, los estudiantes deciden tarea lógica seguido de un cheque en el tablero. Es importante prestar atención a la capacidad de elaborar un algoritmo de razonamiento.

Habiendo lidiado con la tarea de calentamiento, actualizamos el pasado previamente. material teórico sobre el algoritmo y los ejecutores de los algoritmos. Para ello, el autor del desarrollo propone realizar una encuesta frontal sobre las siguientes cuestiones:

¿Qué se llama un algoritmo y para quién está destinado?

¿Qué propiedades tiene el algoritmo?

¿Quién puede aparecer como ejecutor del algoritmo?

¿Cuáles son los conceptos básicos de la máquina de Turing?

Demuestre las principales propiedades de los algoritmos utilizando un ejemplo de una máquina de Turing.

Ejemplos de máquinas de Turing - parte teórica

Antes de proceder a la resolución de problemas sobre el tema, en la parte teórica damos una descripción de la máquina de Turing. Llamamos la atención de la clase sobre dos componentes de cualquiera de estas máquinas:

1) la cinta es ilimitada y está dividida en celdas;
2) un cabezal controlado por programa que lee información y llamado autómata.

Reemplazar una letra del alfabeto contenida en la celda de memoria visible por otra;

Desplácese hacia la derecha o hacia la izquierda con un intervalo de una celda, o permanezca en el mismo lugar;

Cambia tu propio estado interior.

Resolver problemas usando máquinas de Turing

La siguiente etapa de la lección implica la inmersión en la parte práctica de la lección y la resolución de problemas sobre el tema. El profesor dice que con la ayuda de una máquina de Turing, es necesario intentar simular un dispositivo similar a una calculadora. En total, se proponen dos tareas, cuyo análisis se realiza acompañado de diapositivas de presentación:


Objetivo 1.
La cinta de la máquina de Turing contiene un número decimal. Es necesario agregar a este número 1 ( unidad). En este caso, el autómata examina un cierto dígito correspondiente al número de entrada.

Definición de una máquina de Turing

Una máquina de Turing es un ejecutor abstracto que implementa un proceso algorítmico diseñado para refinar el concepto de un algoritmo. Es un objeto matemático, no una máquina física. Propuesto por Alan Turing en 1936, la Máquina de Turing es una construcción matemática rigurosa, un aparato matemático diseñado para resolver ciertos problemas.

Estructura y descripción de una máquina de Turing Una máquina de Turing consta de: una cinta sin fin dividida en celdas; carro (cabezal de lectura y escritura); máquina programable (programa en forma de tabla). La máquina "ve" sólo una celda cada vez. Dependiendo de la letra que vea, así como de su estado q, el autómata puede realizar las siguientes acciones: escribir una nueva letra en la celda observada; realice un desplazamiento a lo largo de la cinta una celda hacia la derecha / izquierda o permanezca inmóvil; ir a un nuevo estado.

1) Alfabeto externo A = (a 0, a 1, ..., a n) El elemento a 0 se denomina símbolo vacío o letra vacía (una señal de que la celda está vacía). En este alfabeto, el conjunto de datos original y el resultado de la operación del algoritmo están codificados en forma de palabra. Estructura de la máquina de Turing

2) Alfabeto interno Q = (q 0, q 1,…, qm), (P, L, N!) En cualquier momento, la máquina de Turing se encuentra en uno de los estados q 0, q 1,…, qm En este caso: q 1 - estado inicial (la máquina comienza a trabajar) q 0 - estado final (la máquina ha terminado de trabajar) Símbolos (P, L, N!) - símbolos de cambio (derecha, izquierda, en su lugar) Estructura de la máquina de Turing

Tipos de comandos de la máquina de Turing Escribir una nueva letra en la celda observada Desplazarse a lo largo de la cinta una celda hacia la derecha / izquierda o permanecer en su lugar (P, L, N) Ir a un nuevo estado. a 0 a 1… a i… a j q 0 q 1… a k (LPN) q m q i… q j 1 1 1 * 1 1 Indicación de cambio de símbolo Indicación de cambio de carro Indicación de cambio de estado interno

3) Memoria externa (cinta) La máquina tiene una cinta dividida en celdas, cada una de las cuales puede contener solo una letra. Estructura de la máquina de Turing

3) Memoria externa (cinta) Estructura de la máquina de Turing Una celda vacía contiene un 0. En cada momento se graba en la cinta un número finito de letras no vacías, la cinta es finita, pero en cualquier momento se complementa con celdas a izquierda y derecha para registrar nuevos caracteres no vacíos. Esto está en línea con el principio de abstracción de viabilidad potencial

4) Carro (cabezal de control) El carro de la máquina está ubicado sobre una celda determinada de la cinta - percibe el carácter escrito en la celda.En un ciclo de trabajo, el carro se desplaza una celda (derecha, izquierda) o permanece en su lugar. El dispositivo de la máquina de Turing

5) Diagrama funcional (programa) El programa de la máquina consta de instrucciones: Estructura de la máquina de Turing Para cada par (q i, a j), el programa de la máquina debe contener una instrucción (máquina de Turing determinista)

Al comienzo de la operación de la máquina, el conjunto de datos inicial se alimenta a la cinta en forma de la palabra  Descripción de la operación de la máquina de Turing Diremos que una palabra no vacía  en el alfabeto A \ (a 0) es percibido por la máquina en su posición estándar si: - se da en celdas consecutivas de la cinta, - todas las demás celdas están vacías - el automóvil está mirando la celda más a la derecha de las que contienen la palabra 

Descripción del funcionamiento de la máquina de Turing La posición estándar se denomina posición inicial (final) si la máquina que percibe la palabra en la posición estándar se encuentra en el estado inicial q 1 (estado de parada q 0)

Estando en un estado no final, la máquina da un paso, que está determinado por el estado actual q i y el símbolo monitoreado a j Descripción del funcionamiento de la máquina de Turing

Descripción del funcionamiento de la máquina de Turing De acuerdo con el comando qiaj  qkal X, se realizan las siguientes acciones: 1) Se borra el contenido de la celda observada aj y se escribe en ella el símbolo al (que puede coincidir con aj) 2) La máquina entra en un nuevo estado qk (puede coincidir con el estado qi) 3) El carro se mueve de acuerdo con el carácter controlado X  (¡P, L, N!)

Cuando la máquina entra en el estado final q 0, su operación se detiene La cinta contiene el resultado de la operación del algoritmo - la palabra  en el alfabeto A \ (a 0) Descripción de la operación de la máquina de Turing

Una palabra de máquina (configuración) de una máquina de Turing es una palabra de la forma  1 q k a l  2, donde  1 y  2 son palabras del alfabeto A.

La configuración  1 q k a l  2 se interpreta de la siguiente manera: - la máquina está en el estado q k - el carro está observando el símbolo a l en la cinta -  1 y  2 - este es el contenido de la cinta antes y después del símbolo a l

Situaciones de inaplicabilidad de una máquina de Turing Se considera que una máquina de Turing es inaplicable a una palabra de entrada dada si no hay celdas de parada en el programa o la máquina no las golpea durante el funcionamiento. Por ejemplo: Una máquina de Turing es aplicable a una palabra de entrada dada si, habiendo comenzado a trabajar en esta palabra de entrada, tarde o temprano llega a una de las celdas de detención. ¿Cómo ha cambiado el programa de ejemplo? a 0 0 1 q 1 1P q 1 0P q 1 1P q 1 a 0 0 1 q 1 1H q 0 0P q 1 1P q 1

Un ejemplo de máquinas de Turing Se requiere construir una máquina de Turing para resolver el siguiente problema: en la palabra de entrada, reemplace todas las letras "a" por las letras "b" y viceversa. a 0 a b c ... yo q 1 a 0 H! b L q 1 a L q 1 c L q 1 ... i L q 1 y  y segundo  a a  b r  r u b a r a b a  b b  a a b b a

Implementar el algoritmo propuesto Una máquina de Turing agrega uno al número en la cinta. La palabra de entrada consta de dígitos enteros decimal escrito en celdas consecutivas en una cinta. En el momento inicial, el automóvil está ubicado frente al dígito más a la derecha del número. a 0 0 1 2 3 4 ... 7 8 9 q 1 1H q 0 1H q 0 2H q 0 3H q 0 4H q 0 5H q 0 ... 8H q 0 9H q 0 0L q 1

Implementar el algoritmo propuesto La cinta de la máquina de Turing contiene una secuencia de símbolos "+". La máquina de Turing reemplaza cada segundo símbolo "+" con "-". El reemplazo comienza en el extremo derecho de la secuencia. El autómata en el estado q 1 mira uno de los símbolos de la secuencia especificada. una 0 + - q 1 una 0 L q 2 + P q 1 q 2 una 0 H! + Л q 3 q 3 а 0 Н! - Л q 2 q 1 - la máquina está buscando el extremo derecho del número; q 2 - salta el signo "+", al llegar al final de la secuencia - parada; q 3 - el signo "+" se sustituye por "-".

Ejemplo Dada una máquina de Turing con un alfabeto externo A = (a 0, 1, *), un alfabeto de estados internos Q = (q 0, q 1, q 2, q 3) y el siguiente diagrama funcional: Aplicar el Turing máquina a la palabra  = 11 * 1 a partir de la posición inicial estándar

Solución 1) Reemplace el contenido de la celda 1 observada con un 0

Solución 2) La máquina entra en un nuevo estado q 2

Solución 3) El carro se mueve hacia la izquierda

Solución Solución completa y detallada

Solución Solución completa y detallada

Solución Solución escrita con configuraciones (en línea)

 = 1 * 11 Respuesta:  = 111

Literatura Igoshin V.I. Lógica matemática y teoría de algoritmos. - M .: Academy, 2008 .-- 448 p. Likhtarnikov L.M., Sukacheva T.G. Lógica matemática. Curso de conferencias. Libro de problemas prácticos y soluciones. - SPb.: Lan, 1999 .-- 288 p. Ilinykh A.P. Teoría de algoritmos. Tutorial... - Ekaterimburgo, 2006 .-- 149 p.

Las personas pueden comportarse de manera diferente en las mismas situaciones, y en esto son fundamentalmente diferentes de las máquinas.

Alan Turing

Alan Mathison Turing Alan Mathison Turing (inglés Alan Mathison Turing; 23 de junio de 1912 - 7 de junio de 1954) - matemático, lógico, criptógrafo inglés, que tuvo un impacto significativo en el desarrollo de la informática. Comendador de la Orden del Imperio Británico (1945), Miembro de la Royal Society of London (1951). La computación abstracta "Máquina de Turing" propuesta por él en 1936, que puede considerarse un modelo informático de propósito general, permitió formalizar el concepto de algoritmo y todavía se utiliza en muchos estudios teóricos y prácticos. Trabajos científicos A. Turing es una contribución reconocida a los fundamentos de la informática (y, en particular, la teoría de la inteligencia artificial).

Tiempo de guerra Durante la Segunda Guerra Mundial, Alan Turing trabajó en la Escuela de Códigos y Cifras del Gobierno ubicada en Bletchley Park, donde se concentró el trabajo de descifrado de cifrados y códigos del Eje. Lideró el grupo Hut 8, que se encarga del criptoanálisis de los mensajes de la Armada alemana. Turing desarrolló una serie de técnicas de piratería, incluida la base teórica de Bombe, la máquina utilizada para piratear el dispositivo de cifrado alemán Enigma.

Máquina de Turing A las pocas semanas de llegar a Blatchley Park, Turing escribió especificaciones para una máquina electromecánica que podría ayudar a romper el Enigma de manera más efectiva que la bomba de criptología polaca. La máquina de Turing, con las mejoras propuestas por el matemático Gordon Welchman, se ha convertido en una herramienta imprescindible para descifrar los mensajes de Enigma. El coche se llamaba Bombe. La máquina buscó posibles configuraciones utilizadas para cifrar mensajes (orden del rotor, posición del rotor, conexiones del panel de conexiones) basándose en texto plano conocido. Para cada ajuste posible del rotor (que tenía 1019 estados o 1022 en la modificación utilizada en los submarinos), la máquina hizo una serie de suposiciones lógicas basadas en el texto sin formato (su contenido y estructura). Luego, la máquina identificó la contradicción, descartó el conjunto de parámetros y pasó al siguiente. Por lo tanto, se eliminaron la mayoría de los conjuntos posibles y solo quedaron unas pocas opciones para un análisis cuidadoso. El primer vehículo entró en servicio el 18 de marzo de 1940. La enumeración de teclas se realizó debido a la rotación de tambores mecánicos, acompañada de un sonido similar al tic-tac de un reloj.

Coloso En julio de 1942, Turing participó en el descifrado del código de Lorenz utilizado por los alemanes para transmitir mensajes al alto mando. "Lorenz" era mucho más complejo que "Enigma" y no se podía descifrar con los métodos existentes. Turing sugirió usar tubos de vacío en el diseño del decodificador y trajo al equipo T. Flowers, un experimentado ingeniero electrónico. Como resultado de los esfuerzos conjuntos de matemáticos e ingenieros, se desarrolló "Colossus", una de las primeras computadoras del mundo. En 1944, con la ayuda del Coloso, se había descifrado el código de Lorenz, lo que permitió a los aliados leer toda la correspondencia de los más altos líderes alemanes. Según algunas estimaciones, esto acercó la derrota de Alemania en varios años.

Las primeras computadoras y la prueba de Turing De 1945 a 1947, Turing vivió en Richmond y trabajó en el ACE (Motor de Computación Automática) en el Laboratorio Nacional de Física. El 19 de febrero de 1946 presentó lo que podría llamarse la primera descripción detallada de una computadora con un programa almacenado en la memoria. El trabajo inacabado de Von Neumann "Primer borrador del informe EDVAC" (1945) lo precedió, pero era mucho menos detallado, y según el jefe del departamento de matemáticas del Laboratorio Nacional de Física, John Wurmsley: contiene una serie de ideas que pertenecen al Dr. Turing. Aunque la construcción del ACE fue factible, el secretismo que rodeaba a Blatchley Park provocó retrasos en el inicio de las obras, lo que decepcionó a Turing. Hacia fines de 1947, regresó a Cambridge para pasar un año de licencia durante el cual trabajó productivamente en Intelligent Machinery, que no se había publicado durante su vida. Mientras Alan Turing estaba en Cambridge, el ACE Pilot se construyó en su ausencia. Realizó su primer programa el 10 de mayo de 1950. Aunque versión completa ACE nunca se construyó, algunas computadoras tenían mucho en común con él, por ejemplo, DEUCE y Bendix G-15.

En 1948, Alan Turing recibió el título de Lector del Departamento de Matemáticas de la Universidad de Manchester. Allí, en 1949, se convirtió en director del Laboratorio de Computación, donde se concentraba la programación del Manchester Mark I. Al mismo tiempo, Turing continuaba trabajando en problemas matemáticos más abstractos, y en su obra "Computing Machinery and Intelligence" Mind ", Octubre de 1950) abordó el problema de la inteligencia artificial y propuso un experimento que más tarde se conoció como la prueba de Turing. Su idea era que se puede considerar que una computadora "piensa" si la persona que interactúa con ella no puede distinguir la computadora de otra persona en el proceso de comunicación. En este trabajo, Turing sugirió que en lugar de intentar crear un programa que simule la mente de un adulto, sería mucho más fácil comenzar con la mente de un niño y luego enseñarla. CAPTCHA basado en la prueba de Turing inversa está muy extendido en Internet. En 1948, Alan, junto con su antiguo colega David Champernovn (inglés), comenzó a escribir un programa de ajedrez para una computadora que aún no existía. En 1952, sin un dispositivo adecuado para su ejecución, Turing jugó un juego en el que simulaba las acciones de una máquina, haciendo un movimiento cada media hora. El juego se grabó y, como resultado, el programa perdió ante el colega de Turing, Alec Glini, pero ganó el juego sobre la esposa de Champernovna. Turing también inventó el método de expansión LU en 1948, que se usa hoy para resolver ecuaciones.

Diapositiva 2

Introducción

El concepto de algoritmo. Un algoritmo es una prescripción exacta que determina el proceso computacional que va desde los datos de entrada variables hasta el resultado deseado (Markov A.A.) Propiedades del algoritmo: 1) Discreción. 2) Certeza. 3) Efectividad. 4) Carácter de masas.

Diapositiva 3

Modelo matemático de la máquina de Turing

Una máquina de Turing (MT) es un modelo matemático de una máquina de computación digital idealizada. El dispositivo de la máquina de Turing. Cinta. Cabeza de lectura. Dispositivo de control. Memoria interna.

Diapositiva 4

cinta

Solo un símbolo (letra) del alfabeto externo A = (˄, a1, a2,…, an-1), 2≥n se puede escribir en celdas en un momento discreto en el tiempo. Una celda vacía se indica con el símbolo ˄, y el símbolo ˄ en sí mismo se denomina vacío, mientras que el resto de los caracteres se dice que no están vacíos.

Diapositiva 5

Cabeza de lectura

El jefe puede leer el contenido de una celda y escribir en ella un nuevo carácter del alfabeto A. En un ciclo de trabajo, solo puede moverse una celda a la derecha (P), a la izquierda (L) o permanecer en lugar (H).

Diapositiva 6

Memoria interna

La memoria interna de la máquina es un cierto conjunto finito de estados internos Q = (q0, q1,…, qm), m≥ 1. Suponemos que la cardinalidad | Q | ≥2. Dos estados de la máquina son de particular importancia: q1 es el estado interno inicial (puede haber varios estados internos iniciales), q0 es el estado final o estado de parada (el estado final es siempre uno). En cada momento, el MT se caracteriza por la posición de la cabeza y el estado interno.

Diapositiva 7

Dispositivo de control

Realiza las siguientes acciones: Cambia el carácter ai leído en el tiempo t por un nuevo carácter aj (en particular, lo deja sin cambios, es decir, ai = aj); Mueve la cabeza en una de las siguientes direcciones: N, L, R; Cambia el estado interno de la máquina qi existente en el tiempo t al nuevo qj, en el que la máquina estará en el tiempo t +1. Tales acciones del dispositivo de control se denominan comando, que se puede escribir como: qiaiajDqj

Diapositiva 8

Operación de la máquina de Turing

El funcionamiento de la máquina está completamente determinado por la tarea en el primer momento (inicial): Palabras en la cinta, es decir, la secuencia de caracteres escritos en las celdas de la cinta (una palabra se obtiene leyendo estos caracteres a lo largo de las celdas de la cinta de izquierda a derecha); Posiciones de la cabeza; Estado interno de la máquina.

Diapositiva 9

Si en el momento inicial están escritas en la cinta las palabras a1, a2, ˄, a1, a1, entonces la configuración inicial será la siguiente: El funcionamiento de la máquina de Turing consiste en la aplicación secuencial de comandos, además, el uso de uno o el comando está determinado por la configuración actual. Entonces, en el ejemplo anterior, se debe aplicar el comando con el lado izquierdo q1a1. El resultado del funcionamiento de la máquina es la palabra que quedará grabada en la cinta en la configuración final, es decir, en la configuración en la que el estado interno de la máquina es q0.

Diapositiva 10

Ejemplos de máquinas de Turing

Ejemplo 1. Construya una máquina de Turing T1 que sea aplicable a todas las palabras con un alfabeto externo (a, b) y haga lo siguiente: cualquier palabra x1, x2 ... xn, donde xi = a o xi = b (i = 1 , 2 ... n) se transforma en una palabra x2, ... xn, x1, es decir, comenzando a trabajar con la palabra x1, x2 ... xn en la cinta en la configuración inicial, la máquina se detendrá, y en la configuración final, en alguna sección de la cinta, se escribirá la palabra x2, ... xn, x1, y todas las demás celdas de la cinta (si las hay) estarán vacías.

Diapositiva 11

Solución: Para el alfabeto exterior de la máquina T1 tomamos el conjunto A = (˄, a, b), y para el alfabeto interior - Q = (q0, q1, q2, q3). Los comandos se definen de la siguiente manera: q1a ˄Пq2, q1b ˄Пq3, qiy ˄PPi, donde yϵ (a, b), i = 2, 3; q2˄ aHq0, q3˄ bHq0 Considere la operación de la máquina T1 en la palabra ba. En el funcionamiento de la máquina en la palabra ba, la configuración inicial es la siguiente:

Un registro más breve de esta secuencia de configuraciones, es decir, el proceso de funcionamiento de la máquina, será: Así, la palabra bbabb es transformada por la máquina en la palabra babbb.

Ver todas las diapositivas

Comparta con sus amigos o guárdelo usted mismo:

Cargando...