Está en la página 1de 32

Lenguajes y

Autómatas I
UNIDAD III: Autómatas Finitos
UNIDAD IV: Máquina de Turing

Profesor:
I.S.C: Rosemberg López
Jiménez

José Del Carmen Méndez


Candelaria

Ingeniería en Sistemas Computacionales


6º Semestre
Grupo C
Libertad de espíritu en ciencia y tecnología

Contenido
INTRODUCCIÓN.................................................................................................................................. 2
UNIDAD III AUTOMATAS FINITOS ................................................................................................ 3
3.1 Definición formal ............................................................................................................................... 4
3.2 Clasificación de AF ........................................................................................................................... 5
3.3 Conversión de un AFND a AFD ....................................................................................................... 9
3.4 Representación de ER usando AFND ............................................................................................. 11
3.5 Minimización de estados en un AF ................................................................................................. 13
3.6 Aplicaciones (definición de un caso de estudio) .............................................................................. 14
UNIDAD IV MAQUINA DE TURING .............................................................................................. 19
Adentrándose a la Historia de la MT .................................................................................................... 20
4.1 Definición formal MT 4 ............................................................................................................... 20
4.2 Construcción modular de una MT ............................................................................................... 23
4.3 Lenguajes aceptados por la MT. ................................................................................................. 25
CONCLUSIÓN ..................................................................................................................................... 28
BIBLIOGRAFÍA AF ........................................................................................................................... 29
BIBLIOGRAFIA MT .......................................................................................................................... 30

Ingeniería en Sistemas Computacionales


1
Libertad de espíritu en ciencia y tecnología

INTRODUCCIÓN
En el siguiente escrito se abordarán temas a cerca de los autómatas finitos y subtemas de la 3ª
unidad del plan de estudios de la materia LENGUAJES Y AUTOMATAS I; donde se aprenderá
y conocerá la importancia del estudio de los autómatas dentro de los procesos de desarrollo de
software, y algunas aplicaciones.
Partiendo del conocimiento de sus comportamientos, aspectos y características más relevantes
de estos autómatas. Los autómatas son esencialmente importantes en las actividades sociales,
ya que se encuentran dentro de todo tipo de maquinaria y aplicaciones desarrolladas, donde estas
tienen las funcionalidades específicas con las que realizan sus operaciones y actividades;
además de sus comportamientos, características y funcionalidad que tienden los autómatas se
detallara cómo influyen en la vida social y real de los ser humanos.
Los autómatas finitos, son antes de todos logísticas matemáticas, en las que se realizan
operaciones en cada estado de los eventos, estos eventos pueden ser de un solo estado o varios;
al tener acciones con estados de dos o más eventos, los autómatas finitos tienden a cambiar de
finitos determinísticos a no determinísticos.
Dentro de estas hojas se denotan las esquematizaciones de los nuevos autómatas finitos:
 Determinísticos
 No Determinísticos
Se conocerán su estructuras, funcionalidades y comportamientos entre estos dos tipos de
autómatas, dentro de ello se abarcara las conversiones o transformaciones entre estos autómatas.
Como breve definición un autómata finito o máquina de estado finito: es un modelo
matemático de un sistema que recibe una cadena constituida por símbolos de un alfabeto
y determina si esa cadena pertenece al lenguaje que el autómata reconoce.
En la sección de la MT, se conocerá deforma formal que es una máquina de Turing y sus
componentes; además de ello se detallara de forma explícita algunos conceptos sobre su
desarrollo y formación.
La máquina de Turing es un dispositivo capaz de establecer los problemas intratables, para
conocer si es resolutorio o no. Tales confirmaciones se deben y se detallan de cada proceso u
problemas matemáticos de la vida real.
Al igual que los AF la máquina de Turing utiliza estructuras, transiciones y formas de
conformación para la representación de los modelos matemáticos, de situación en las que se
desea conocer si estos tienen soluciones, ya que un computador no puede definir dicha
confirmación, ya que es un proceso tardado.

Ingeniería en Sistemas Computacionales


2
Libertad de espíritu en ciencia y tecnología

UNIDAD III
AUTOMATAS
FINITOS

Ingeniería en Sistemas Computacionales


3
Libertad de espíritu en ciencia y tecnología

3.1 Definición formal

Definición 1

El Autómata Finito es la máquina más restrictiva de todas y desde luego que se puede definir
como un caso particular de una MT. También podemos verla como un AP sin pila. Obviamente
que al sacarle la pila lo único que queda es la cinta finita de entrada. Este modelo matemático
abstracto representa la solución del problema de aceptación de lenguajes de tipo 3 o LR. 3.1a

Definición 2

Son máquinas formales que se usan para reconocer lenguajes regulares. Lenguajes más
sencillos, los lenguajes que son generados por gramáticas regulares.
Con ello se deduce que un autómata finito es; una máquina con un número finito de estados
que lee símbolos de una cinta de entrada infinita. El comportamiento de la máquina está
determinado únicamente por el estado en que se encuentra y el símbolo en la cinta de
entrada. Al leer un símbolo de la cinta de entrada cambia de estado y avanza en la cinta de
entrada. Cuando ya no quedan símbolos por leer, se detiene. Aun cuando la cinta es infinita,
la cadena que guía el comportamiento del autómata no lo es. Esta cadena puede ser tan larga
como se quiera, pero siempre finita. 3.1b

Definición 3

Un autómata finito tiene un conjunto de estados y su “control” pasa de un estado a otro en


respuesta a las “entradas” externas. Una de las diferencias fundamentales entre las clases de
autómatas finitos es si dicho control es “determinista”, lo que quiere decir que el autómata no
puede encontrarse en más de un estado a un mismo tiempo, o “no determinista”, lo que significa
que sí puede estar en varios estados a la vez.3.1c

Un autómata finito es un vector de tres elementos M = (I,S,δ, F)donde I es el conjunto finito de


entradas, S es el conjunto finito de estados (no vacío), δ es la función de transición de estados
y F es el conjunto finito de estados finales (incluidos en S).3.1d

Un autómata es una representación gráfica que muestra el proceso de reconocimiento de una


cadena de entrada. La simbología utilizada es simple: 3.1e
Diagrama Descripción
Un círculo representa un estado n, donde n es un número natural o bien
una letra, generalmente.
Un arco representa la lectura de un símbolo a en la entrada. Transición
entre estados.
Estado de inicio s. Es generalmente 0 (cero).

Ingeniería en Sistemas Computacionales


4
Libertad de espíritu en ciencia y tecnología

Estado de aceptación f.

3.2 Clasificación de AF

Un AF tiene un conjunto de estados y su control se mueve de estado en estado, en respuesta a


entradas externas. Estas entradas forman las cadenas a ser analizadas. Los estados de un AF,
son de tres tipos: estado inicial, que permite empezar la ejecución del autómata; estados finales
o estados “de aceptación” que permiten realizar la salida de aceptación de la cadena de entrada
en el caso de que no haya más símbolos en la entrada, y estados intermedios, que son los que
permiten pasar del estado inicial a algún estado final.

Los AF se dividen en diversas clases, dependiendo de si su control es “determinista”


(lo que significa que el autómata no puede estar en más de un estado simultáneamente)
o “no determinista” (lo que significa que el autómata puede estar en varios estados al mismo
tiempo).3.2

Los autómatas finitos se pueden clasificar en función del tipo de control como:

Deterministas, el autómata únicamente puede estar en un estado en un momento


determinado.

No Deterministas, el autómata puede estar en varios estados simultáneamente.

Ambos definen los mismos lenguajes (regulares), sin embargo los No deterministas permiten
describir más eficientemente determinados problemas.3.2a

Para conocer más afondo sobre los autómatas finitos determinísticos y no determinísticos, a
continuación se detallara de forma breve cada uno de estos autómatas; ya que es necesario para
poder entender y comprender el siguiente tema de conversiones de un autómata finito no
determinístico a un autómata finito determinístico.

 Definiciones de autómatas finitos no determinísticos y determinísticos.

Autómata finito determinístico (AFD); es aquel que siempre está en un solo estado después
de leer cualquier secuencia de entradas; la palabra determinista nos dice que para cada entrada
existe un único estado al que el autómata puede llegar partiendo del estado actual; comencemos
dando la definición formal. El autómata finito determinista. El término “determinista” hace
referencia al hecho de que, para cada entrada, existe un único estado al que el autómata
pueda llegar partiendo del estado actual.

Ingeniería en Sistemas Computacionales


5
Libertad de espíritu en ciencia y tecnología

Un AFD genera un solo tipo de salida: acepta o no una secuencia de símbolos de entrada. Esa
aceptación está representada si el autómata se encuentra en algún estado del conjunto F. El
comportamiento de un AFD, comienza en el estado inicial (q0), y según se van recibiendo los
símbolos de la entrada transita entre los estados (del conjunto Q), de acuerdo a la función de
transición f. Si en un determinado momento se encuentra en un estado de aceptación
(del conjunto F), reconoce como válida la cadena formada por los símbolos de entrada leídos
hasta el momento. Si no, no es aceptada.

Fig. 1. AFD. Representación de un autómata finito


determinístico

Definición Un Autómata Finito Determinístico (AFD) es una quíntupla: M = (Q;∑; q 0; f; F ),


donde
Q Es un conjunto nito no vacío (los elementos de Q son llamados estados)
∑ es un conjunto de símbolos de entrada al que llamaremos alfabeto.
q1∈ Q, es un estado al que llamaremos estado inicial.
f Es una función Q x ∑ → Q que se llama función de transición; esta recibe como argumentos
un estado y una entrada y devuelve un estado.
q F ∁ Q es un conjunto de estados a los cuales llamaremos estados finales o de aceptación.

 Existen dos notaciones preferibles para describir los autómatas:

1. Un diagrama de transiciones, que es un grafo.

2. Una tabla de transiciones, que es una enumeración tabular (tabla) de la función f, que a la
vez describe el conjunto de estados, y el alfabeto de entrada.

 Diagramas de transiciones

Un diagrama de transiciones para un AFD A = (Σ, Q, q0, f, F), es un grafo definido


de la siguiente forma:

a) Hay un nodo para cada estado de Q.

Ingeniería en Sistemas Computacionales


6
Libertad de espíritu en ciencia y tecnología

b) El nodo correspondiente al estado inicial q0, tendrá una flecha sin origen (o arco entrante)
no etiquetado.

c) Los nodos correspondientes a los estados de aceptación (los que pertenecen a F) están
marcados con un doble círculo. Los que no pertenecen a F tienen un círculo simple.

d) Habrá un arco etiquetado con a entre el nodo p y el nodo q, si f(p,a) = q. Si existen varios
símbolos de entrada que provocan una transición del estado p a q, entonces el arco entre p y q
puede estar etiquetado con la lista de esos símbolos.3.2.a

Un autómata puede ser representado mediante un grafo dirigido (digrafo) el cual se conoce como
diagrama de transiciones, donde los vértices del mismo corresponden a los estados del autómata,
en el caso del estado inicial este tendrá una flecha que apunta hacia él, y los estados finales se
representaran mediante un circulo con línea doble; si existe una transición del estado q al p sobre
la entrada a entonces existe un arco con etiqueta a que va del estado q al estado p en el diagrama
de transición. El autómata acepta una cadena 𝜔 si la secuencia de transiciones correspondientes
a los símbolos de 𝜔 conducen del estado inicial a un estado final. 3.2b

Si se modifica el modelo del autómata finito, para permitirle ninguna, una o más transiciones de
un estado sobre el mismo símbolo de entrada, al nuevo modelo lo conoceremos como autómata
finito no determinístico. Tiene la capacidad de estar en varios estados simultáneamente.
La diferencia entre AFD y un AFN está en la función de transición. Para el AFN, f es una función
que toma como argumentos un estado y un símbolo de entrada, pero devuelve un conjunto de
cero, uno o más estados (en vez de devolver un estado, como en el caso del AFD).

Definición: Un Autómata Finito No Determinístico (AFND) es una quíntupla M = (Q; ∑; I; R;


F ), donde
Q es un conjunto de estados
∑ es un alfabeto.
I ∁ Q es un conjunto de estados a los cuales llamaremos estados iniciales.
R es una relación sobre Q × ∑ 𝑥 Q que se llama relación de transición.
F ∁ Q es un conjunto de estados a los cuales llamaremos estados finales.

Ingeniería en Sistemas Computacionales


7
Libertad de espíritu en ciencia y tecnología

Fig. 2 AFND: representación de autómatas finitos no


determinísticos

 Tabla de transiciones

Una tabla de transiciones es una representación tabular convencional de una función como f,
que recibe dos argumentos y devuelve un valor. Esta tabla tendrá las siguientes
características: 3.2c
a) En las filas estarán los estados q ∈Q
b) El estado inicial se precederá del símbolo ->
c) Cada estado final se precederá del símbolo *
d) En las columnas estarán los símbolos de entrada a ∈ Σ
e) El valor correspondiente a la fila del estado qy a la entrada aes el estado que determine f(q,a)

Fig. 3 Ejemplo de tabla de transiciones

Ingeniería en Sistemas Computacionales


8
Libertad de espíritu en ciencia y tecnología

3.3 Conversión de un AFND a AFD

Fig. 4 autómata finito no determinista

Se observa que el AFN de la Figura 1, tiene dos transiciones desde el estado “0” con la entrada
“a”; es decir, puede ir al estado “0” o al 1.
Ahora se introduce un algoritmo para construir a partir de un AFND un AFD que reconozca el
mismo lenguaje. Este algoritmo se le conoce como construcción de subconjuntos, es útil para
simular un AFND por medio de un programa de computador.
Construcción de subconjuntos. Construcción de un AFD a partir de un AFN.
Entrada. Un AFN N.
Salida. Un AFD D que acepta el mismo lenguaje.

Método. El algoritmo construye una tabla de transiciones tranD para “D”. Cada estado del AFD
es un conjunto de estados del AFN y se construye tranD de modo que “D” simulará en paralelo
todos los posibles movimientos que “N” puede realizar con una determinada cadena de entrada.
Se utilizan las operaciones del Cuadro 2, para localizar los conjuntos de los estados del AFN
(“s” representa un estado del AFN, y “T”, un conjunto de estados del AFN). Antes de detectar
el primer símbolo de entrada, “N” se puede encontrar en cualquiera de los estados del conjunto
cerradura-?(s0), donde s0 es el estado de inicio de K. Supóngase que exactamente los estados
del conjunto “T” son alcanzables desde s0 con una secuencia dada de símbolos de entrada, y sea

Ingeniería en Sistemas Computacionales


9
Libertad de espíritu en ciencia y tecnología

a el siguiente símbolo de entrada. Al ver a, “N” puede trasladarse a cualquiera de los estados del
conjunto mover (T, a). Cuando se permiten transiciones- ? , N puede encontrarse en cualquiera
de los estados de cerradura-? (T, a), después de ver la “a”. Se construyen estados “D”; el
conjunto de estados de “D”; y tranD, la tabla de transiciones de “D”, de la siguiente forma.
Cada estado de “D” corresponde a un conjunto de estados de AFN en los que podría estar “N”
después de leer alguna secuencia de símbolos de entrada, incluidas todas las posibles
transiciones- ? anteriores o posteriores a la lectura de símbolos. El estado de inicio de “D”es
cerradura-? (s0). Se añaden los estados y las transiciones a “D”. Un estado de “D” es un estado
de aceptación si es un conjunto de estados de AFN que contenga al menos un estado de
aceptación de “N”.
El cálculo de cerradura-? (T) es un proceso típico de búsqueda en un grafo de nodos alcanzables
desde un conjunto dado de nodos. En este caso, los estados de “T” son el conjunto dado de
nodos, y el grafo está compuesto solamente por las aristas del AFN etiquetadas por ? . Un
algoritmo sencillo para calcular cerradura-? (T) utiliza una estructura de datos tipo pila para
guardar estados en cuyas aristas no se hayan buscado transiciones etiquetadas con ? .
Implementación de los algoritmos para convertir un AFN en un AFD
Para la implementación de estos algoritmos se utiliza el AFN “N”. Que acepta el lenguaje
(a|b)*abb. Se aplica el Algoritmo 2. Construcción de subconjuntos a “N”. El estado de inicio
del AFD equivalente es cerradura-? (0), que es A = {0,1,2,4,7}, puesto que estos son alcanzados
desde el estado 0 por un camino en que todas las aristas están etiquetadas por ? . El alfabeto de
símbolos de entrada es {a, b}. Ahora el algoritmo indica que debe marcarse “A” y después
calcular cerradura- ? (mover(A, a)).
Calculando primero mover(A, a), el conjunto de estados de “N” que tiene transiciones en “a”
desde miembros de “A”. Entre los estados 0,1,2,4 y 7 sólo 2 y 7 tienen dichas transiciones, a 3
y a 8, de modo que:
cerradura- ? (mover({0,1,2,4,7}, a)) =cerradura- ? (3,8) = {1,2,3,4,6,7,8}
Este conjunto se denominará “B”. Así, tranD[A, a] = B. Se presenta el cálculo de la cerradura-
? . Entre los estados de “A”, sólo 4 tienen una transición en “b” a 5, de modo que el AFD tiene
una transición en “b” desde “A a”.
cerradura- ? (A, b)
cerradura- ? (mover(A, b)) =cerradura- ? ({5})
cerradura- ? ({5}) = {1,2,4,5,6,7}
Por lo que, tranD[A, b] = C. Es decir; C = {1,2,4,5,6,7} Se continúa este proceso con los
conjuntos B y C, ahora sin marcar, finalmente se llegará al punto en que todos los conjuntos que
son del estado AFD estén marcados.3.3

Ingeniería en Sistemas Computacionales


10
Libertad de espíritu en ciencia y tecnología

3.4 Representación de ER usando AFND

ERs, AFDs y AFNDs son mecanismos equivalentes para denotar los lenguajes regulares. En
estas tres secciones demostraremos esto mediante convertir ER →AFND → AFD → ER. Las
dos primeras conversiones son muy relevantes en la práctica, pues permiten construir
verificadores o buscadores eficientes a partir de ERs.3.4

Definición: La función Th convierte ERs en AFNDs según las siguientes reglas.

Prueba: Es fácil verificarlo por inspección y aplicando inducción estructural. La única parte
que puede causar problemas es la clausura de Kleene, donde otros esquemas alternativos que
podrían sugerirse (por ejemplo M = (K1, Σ, ∆1∪ {(f1, ε, s1), (s1, ε, f1)}, s1, {f1}) tienen el
problema de permitir terminar un recorrido de Th(E1) antes de tiempo. Por ejemplo el ejemplo
que acabamos de dar, aplicado sobre E1 = a ⋆ b, reconocería la cadena x = aa.

Ingeniería en Sistemas Computacionales


11
Libertad de espíritu en ciencia y tecnología

Representación de la expresión regular

Existen algoritmos que relacionan la especificación de tokens -expresiones regulares-, con


el reconocimiento de éstos -autómatas finitos-. Es posible dada una expresión regular
obtener el AFD que reconozca las cadenas del lenguaje denotado por la expresión regular.
También es posible obtener el AFND que reconozca el lenguaje representado por dicha
expresión regular.

El algoritmo que permite construir el autómata finito determinístico está fuera del alcance
de estas notas ( el alumno no tiene los prerrequisitos para su estudio en este curso). Sin
embargo, el algoritmo utilizado para la construcción del autómata finito no determinístico
AFND, es relativamente sencillo de aplicar, ya que se basa en reglas simples. Existen
muchas variantes de este algoritmo denominado “Algoritmo de Thompson”.

Este algoritmo es dirigido por sintaxis, es decir, usa la estructura sintáctica de la expresión
regular para guiar el proceso de construcción del autómata AFND.

Supongamos que N(s)y N(t)son AFND’s para las expresiones regulares sy t, respectivamente.

a) Para la expresión regular s | t(alternancia), construir el siguiente AFND, N(s|t) :

Ingeniería en Sistemas Computacionales


12
Libertad de espíritu en ciencia y tecnología

b) Para la expresión regular st(concatenación), construir el AFND, N(st) :

c) Para la expresión regular s*, construir el AFND, N(s*) :

3.5 Minimización de estados en un AF

Dos estados de un autómata finito determinista son estados equivalentes si al unirse


en un sólo estado, pueden reconocer el mismo lenguaje regular que si estuviesen
separados. Esta unión de estados implica la unión tanto de sus transiciones de entrada
como de salida. Si dos estados n o son equivalentes, se di ce que son estados
distinguibles. Un estado final con un estado no- final nunca serán equivalentes.3.5

Un AFD está minimizado, si todos sus estados son distinguibles y alcanzables. Un


algoritmo de minimización de AFD es el siguiente:

1. Eliminar los estados inaccesibles es del autómata.


2. Construir una tabla con todos los pares (p, q) de estados restantes.
3. Marcar en la tabla aquellas entradas donde un estado es final y el otro es no-
final, es decir, aquellos pares de estados que son claramente distinguibles.
4. Para cada par (p, q) y cada símbolo a del alfabeto, tal que r = δ(p,a) y s = δ(q,a):
1. Si (r, s) ya ha sido marcado, entonces p y q también son distinguibles,
por lo tanto marcar la entrada (p, q).
2. De lo contrario, colocar (p, q) en una lista asociada a la entrada (r, s).
5. Agrupar los pares de estados no marcados.

Luego del tercer paso, si la tabla creada queda completamente marcada, entonces el AFD
inicial ya era mínimo. La complejidad computacional del problema de minimizar u n AFD es
polinomio. De hecho, existen algoritmos más eficientes aún que el mostrado en este artículo
(aunque menos intuitivos). Sin embargo, el problema de minimizar un autómata finito no
determinista es NP- completo y PSPACE- completo.

Ingeniería en Sistemas Computacionales


13
Libertad de espíritu en ciencia y tecnología

3.6 Aplicaciones (definición de un caso de estudio)

Construcción del vehículo evasor de obstáculos 3.6


Uno de los primeros trabajos que comenzaron a formalizar la dinámica de robots móviles es
(Crowley, 1989) en el que se utilizan dispositivos ultrasónicos en el vehículo para su
posicionamiento y orientación. En (Maes, 1990) se muestra un estudio del comportamiento de
robots autónomos y se divide en construcción de mapas, exploración, transitar y evasión de
obstáculos. En (Seng, 1997) se plantea como una de las mayores problemáticas de la navegación
robótica la localización y se proponen los pasos claves para el diseño, calibración y modelado
de autómatas. Hay otros autores que refuerzan la evasión de objetos o desarrollo de trayectorias
mediante técnicas de navegación como son: navegación inercial, compases magnéticos y
triangulación. (Borenstein, 1997).
(Betke, 1997) considera que el autómata puede reconocer marcas especificas en el medio por el
cual se desplaza usando reconocimiento de patrones visuales. La localización robótica así como
la evasión de obstáculos del autómata, ha llegado a ser uno de los problemas fundamentales en
los robots móviles, y por ello, en (Fox, 1999) se presenta una versión de la localización Markov,
en donde la idea principal es mantener una densidad de probabilidad sobre el espacio de todas
las localizaciones posibles de un robot en su entorno.
El Vehículo Evasor de Obstáculos (VEO de aquí en adelante) obtiene información del medio
por el cual transita a través de unos fotodiodos y unas fotorresistencias que actúan como
sensores, estos sensores arrojan como resultado niveles de voltaje que varían en proporción
directa con la proximidad al obstáculo, los niveles de voltaje después de pasar por un
comparador de niveles se convierten en niveles digitales, los cuales determinan una dirección
especifica al actuar como entradas en el bus de direcciones de una memoria RAM, la cual se ha
cargado con un programa, que contiene instrucciones precisas para lograr la evasión de
obstáculos, estas instrucciones que provienen del bus de datos de la memoria RAM, controlan
directamente 2 dispositivos transistorizados conocidos como puentes H, los cuales interactúan
directamente con los motores de dirección del vehículo, indicándoles la acción de giro y por
tanto ejecutando los diferentes movimientos para los cuales se diseño VEO. Es necesario por tal
motivo presentar el programa que se cargo en la memoria RAM según (Catálogo,2010), lo cual
representa el punto de partida para definir el alfabeto que se emplea para la descripción de la
dinámica de VEO a través de autómatas finitos.
En la figura 5 se puede observar la apariencia física del vehículo evasor de obstáculos.

Figura 5. Vehículo Evasor de Obstáculos (VEO).

Ingeniería en Sistemas Computacionales


14
Libertad de espíritu en ciencia y tecnología

La forma en que se encuentran distribuidos los cuatro sensores en el vehículo se puede apreciar
en la figura 2, donde cada uno de los sensores establece un bit en el bus de direcciones de la
memoria RAM, teniendo por consecuencia 24direcciones definidas en la memoria. El sensor 4
establece el primer bit de izquierda a derecha en el bus de direcciones, es decir el bit menos
significativo, el sensor 3 establece el segundo bit, el sensor 2 el tercer bit, y el sensor 1 el cuarto
bit, es decir el más significativo. Cabe mencionar que bajo ninguna presencia de obstáculo los
sensores arrojan de manera permanente un bit en estado 0 hacia el bus de direcciones de la
memoria, pero con la presencia de un obstáculo, estos arrojan un bit en estado 1. La presencia
de un obstáculo en el sensor 1 arrojaría como resultado la secuencia de bits 1000 por ejemplo
(ver figura 5).
En cada una de las direcciones de la memoria RAM determinadas por los sensores, existe una
instrucción cargada que establece la dirección de giro del motor, después de haber interactuado
con el puente H transistorizado, el cual requiere de 2 bits de control (teniendo por tanto 4
posibles entradas) para realizar 3 acciones básicas que son: giro del motor hacia un sentido, giro
hacia el lado contrario y permanencia estática del motor. Estas acciones se ejemplifican con
mayor claridad en la tabla 1.
Tabla 1. Operación del puente H y direcciones de giro de los motores.
Entrada al Puente H
Estado del Motor
(Bits de Control)
00 Permanencia estática
01 Giro hacia delante
10 Giro hacia atrás
11 Estado prohibido

El VEO cuenta con 2 motores de dirección, cada uno de los cuales está controlado por un puente
H de manera independiente. En la figura 6 se aprecia la distribución de los motores en el
vehículo, de donde se estableció el siguiente lineamiento de operación: el motor derecho será
controlado por el puente H número 1, y el motor izquierdo será controlado por el puente H
número 2.

Figura 6. Distribución de motores de VEO


(Vista trasera del vehículo).

Teniendo por consecuencia la distribución de bits provenientes del bus de datos de la memoria
RAM, según lo muestra la tabla 2.

Ingeniería en Sistemas Computacionales


15
Libertad de espíritu en ciencia y tecnología

Tabla 2. Programa cargado en la memoria RAM de VEO.

Entradas Entradas
Entradas Alfabeto Acción Entradas Alfabeto Acción
al puente al puente
(Sensores) ∑ evasora (Sensores) ∑ evasora
H H
0000 a 0101 A 1000 i 1000 E
0001 b 0001 C 1001 j 0110 G
0010 c 0111 D 1010 k 0110 G
0011 d 0101 A 1011 l 0110 G
0100 e 0010 F 1100 m 1010 B
0101 f 0110 G 1101 n 0110 G
0110 g 0110 G 1110 ñ 0110 G
0111 h 0110 G 1111 o 0110 G

Las acciones evasoras mencionadas en la tabla 2, se describen en la tabla 3.


Tabla 3. Descripción de acciones evasoras del VEO.

Acción
Significado Descripción de la acción Estado
Evasora
A Avanzar hacia adelante Ambos motores giran hacia delante qo
B Avanzar hacia atrás Ambos motores giran hacia atrás q1
Giro a la izquierda y Motor derecho gira hacia adelante y motor
C q2
hacia delante izquierdo no gira
Giro a la derecha y hacia Motor izquierdo gira hacia adelante y motor
D q3
delante derecho no gira
Giro a la izquierda y Motor izquierdo gira hacia atrás y motor derecho no
E q4
hacia atrás gira
Giro a la derecha y hacia Motor derecho gira hacia atrás y motor izquierdo no
F q5
atrás gira
El motor izquierdo gira hacia adelante y el motor
G Giro rápido q6
derecho gira hacia atrás

En la acción evasora A, la entrada para el autómata finito estará definida por y donde y puede
tomar cualquiera de las dos posibles entradas que originan el estado A en el vehículo y que
son: a y d. Mientras que en la acción evasora G, la entrada para el autómata finito estará definida
por z donde z puede tomar cualquiera de las 9 posibles entradas que provienen de los sensores
y que originan el estado G en el vehículo, que son: f, g, h, j, k, l, n, ñ, o. Las estrategias C y D
están diseñadas para evadir obstáculos que se presenten en la parte trasera del vehículo, es decir
cuando se presentan obstáculos en los sensores 3 y 4. Las estrategias evasivas E y F están
diseñadas para evitar obstáculos que se presenten en la parte delantera del vehículo, es decir
cuando se presentan obstáculos en los sensores 1 y 2. En la figura 4(a) se resumen los
movimientos anteriormente descritos.

Ingeniería en Sistemas Computacionales


16
Libertad de espíritu en ciencia y tecnología

Figura 4. Acciones evasoras del vehículo VEO.

a) Estrategias evasivas b) Conjunto de trayectorias válidas

Antes de presentar el diagrama de transiciones que caracteriza la dinámica de VEO, es necesario


establecer el conjunto de trayectorias posibles, lo cual lo hacemos con ayuda de una pequeña
retícula, que representa un plano bidimensional, la cual tiene un conjunto de obstáculos a evadir,
estos últimos están representados por cuadros negros en la figura 4(b); de donde se observa que
el conjunto de acciones evasivas serían en forma ordenada: C, D, C, D, y que las entradas al
sistema (VEO) que harían posible una trayectoria valida serían: b, c, b, c. Nótese que la
permanencia en un estado no está definida como una trayectoria valida, por tanto dicho de otra
forma una cadena definida por y,y,y ó b,b,b ó c,c,c ó d,d,d, etc. no es permitida por el autómata,
pues en el diagrama de transición presentado en una sección posterior ni siquiera permite una
transición de estados.

Un análisis detallado a los estados posibles del vehículo y las trayectorias validas, y
considerando lo establecido en la descripción de las acciones evasoras, nos permite denotar de
manera formal el autómata finito no determinístico correspondiente como sigue:

M = (Q, ∑, δ, q0, F) Donde Q = {q0, q1, q2, q3, q4, q5, q6,}.
∑ = {b, c, e, i, m, y, z}.
F = {Ø}.

Donde se define a F como un elemento nulo, ya que como se aprecia en la tabla 3 el vehículo
no tiene definido estados finales. De una observación directa al autómata anteriormente
planteado se distingue que el modelado descriptivo del vehículo se pudo realizar utilizando siete
estados, después de haber redefinido el alfabeto del autómata, este se compone de cinco
entradas y finalmente el estado inicial se encuentra definido por un solo estado que esq0.
Resultados
El modelado de la trayectoria del vehículo VEO presentado en este artículo por medio de
autómatas finitos no determinísticos resultó ser una valiosa herramienta para describir de

Ingeniería en Sistemas Computacionales


17
Libertad de espíritu en ciencia y tecnología

manera formal su dinámica, lo cual no representaba una tarea tan sencilla, pues VEO tiene bien
definidos 7 posibles estados, lo cual complica un poco su entendimiento. Se puede notar por
inspección directa por parte del lector a través de un análisis al diagrama de transición y a
la función de transición presentados en este trabajo en las figuras 7 y 8 respectivamente, que
el siguiente estado del vehículo, con siete estados finitos y siete entradas conocidas, se puede
estimar de una forma muy sencilla y concisa, lo cual representó uno de los retos primordiales
de este trabajo.

Figura 7. Diagrama de transiciones para el autómata


finito no determinístico que describe la dinámica de
VEO.

Figura 8. Función de Transición δ para el autómata finito no


determinístico

Ingeniería en Sistemas Computacionales


18
Libertad de espíritu en ciencia y tecnología

UNIDAD IV
MAQUINA DE
TURING

Ingeniería en Sistemas Computacionales


19
Libertad de espíritu en ciencia y tecnología

Adentrándose a la Historia de la MT
Poco de historia 4.0

A finales del siglo XIX, el matemático David Hilbert se preguntó si era posible encontrar un
algoritmo para determinar la verdad o falsedad de cualquier proposición matemática. En
particular, se preguntaba si existiría un modo de determinar si cualquier fórmula del cálculo
de predicados de primer orden, aplicado a enteros, es verdadera. Dado que el cálculo de
predicados de primer orden sobre los enteros es suficientemente potente como para expresar
frases como esta gramática es ambigua, si Hilbert hubiera tenido éxito, existirían algoritmos
para dichos problemas, que ahora sabemos que no existen esta proposición se conoce con el
nombre de problema de Hilbert.

En 1963, Alan Mathinson Turing propuso la máquina que lleva su nombre como modelo de
cualquier computación posible. Este modelo se parece más a una computadora que a un
programa, aunque las verdaderas computadoras electrónicas, o incluso los electromecánicas,
tardaron varios años en ser construidas. La máquina de Turing consta de una unidad de control,
que pueda estar en cualquier estado tomado de un conjunto infinito. Hay una cinta dividida en
cuadrados o casillas, y cada casilla puede contener un símbolo, tomado de otro conjunto
infinito. Inicialmente, se sitúa en la cinta de entrada, que es una cadena de símbolos de longitud
infinita, elegidos del alfabeto de entrada. El resto de las casillas de la cinta, que se extiende
infinitamente hacia la derecha y hacia la izquierda, contiene, inicialmente, un símbolo
denominado espacio en blanco. El espacio en blanco es un símbolo de cinta, pero no un símbolo
de entrada, y puede haber también otros símbolos de cinta además de los símbolos de entrada
y del espacio en blanco. Existe una cabeza de la cinta que siempre está situada sobre una de
las casillas de la cinta. Se dice que la máquina de Turing está señalando dicha casilla. Al
principio, la cabeza de la cinta se encuentra en la casilla de la entrada situada más a la
izquierda. Un movimiento de la máquina de Turing es una función del estado de la unidad de
control y del símbolo de la cinta al que señala la cabeza.

4.1 Definición formal MT 4

Definición 1: 4.1

Una Máquina de Turing es un modelo matemático que consiste en un autómata capaz de


implementar cualquier problema matemático expresado por medio de un algoritmo. Alan
Turing; fue un matemático inglés que vivió durante la primera mitad del siglo XX. Aunque fue
un matemático brillante en muchos campos, destacando especialmente en criptografía, su
principal interés se centraba en la lógica, que en aquellos momentos se encontraba en plena
ebullición gracias al intento de David Hilbert de hallar una formulación de las matemáticas sobre
una base estricta de lógica formal. La Máquina de Turing, o Máquina de Computación Lógica
como la llamaba él, fue quizás la mayor aportación de Alan Turing a esta tarea y con seguridad

Ingeniería en Sistemas Computacionales


20
Libertad de espíritu en ciencia y tecnología

su descubrimiento de mayor transcendencia, ya que abrió el camino de la ciencia de la


Computación, que a su vez nos lleva al computador que en estos momentos estoy utilizando
para escribir esto, o al que usted está usando para leerlo. En definitiva, Alan Turing fue uno de
los científicos más importantes de la primera mitad del siglo XX y, sin duda, una de las mentes
que más influyó en la manera actual que tenemos de ver el mundo e interactuar con él.

“Una Máquina de Turing es un modelo matemático“

“Modelo matemático” es una expresión de esas que se utilizan con cierta frecuencia pero que
pocas veces nos paramos a pensar qué significa. Y aunque parezca algo complicado, en realidad
se trata de un concepto bastante sencillo.

Es un conjunto de reglas que “encajan” en la explicación y resolución de un problema, es decir,


que modelizan una situación concreta para poder explicarla y encontrar el modo de resolverla.
Más aún, se podría decir que un modelo matemático es un conjunto de reglas capaces de
generalizar y resolver un problema matemático concreto y cualquier otro de su misma
naturaleza que se pueda plantear.

“Una máquina de Turing es un autómata”

En matemáticas, un autómata es lo que se conoce como una máquina teórica, es decir, un


dispositivo cuyo funcionamiento se estudia sin necesidad de construirlo realmente. En concreto
un autómata es una máquina teórica que lee unas instrucciones en forma de símbolos y cambia
de estado según éstas.

Una máquina de Turing es un autómata que consta de una cabeza lectora y una cinta infinita en
la que la cabeza puede leer símbolos, borrarlos, escribirlos y moverse a la derecha o a la
izquierda. Por supuesto también consta de una función de estado que determinará los cambios
de un estado a otro que se deben producir en función de las instrucciones que reciba.

Fig.9 Máquina de Turing

Ingeniería en Sistemas Computacionales


21
Libertad de espíritu en ciencia y tecnología

Definición 2:4.1a

La Máquina de Turing (MT) es el modelo de autómata con máxima capacidad


computacional: la unidad de control puede desplazarse a izquierda o derecha y sobre
escribir símbolos en la cinta de entrada.

Definición formal: 4.1def

Una Máquina de Turing MT es una séxtupla M = donde

Q El conjunto finito de estados de la unidad de control.

∑ El conjunto finito de símbolos de entrada.

El conjunto completo de símbolos de la cinta; ∑ siempre es un subconjunto de

𝛿 La función de transición. Los argumentos de (q; X ) son un estado q y un símbolo de la cinta


X . El valor de (q; X ), si esta es una tupla (p; Y; S ) donde

1. p es el estado siguiente de Q

2. Y es el símbolo de 𝛿 , que se escribe en la casilla señalada por la cabeza de la cinta y que


sustituye al símbolo que se encontraba en dicha casilla.

3. S es un sentido I o D (izquierda o derecha) que nos indica en qué sentido se mueve la cabeza
q0

Es el estado inicial.

B Es el símbolo del espacio en blanco B ∈ 𝛿 , y aparecerá inicialmente en todas las casillas de


la cinta, menos en aquellas que contienen los símbolos de entrada

F ∁ es el conjunto de estados finales o de aceptación

Definición formal: 4.1def2

Una Máquina de Turing (MT) es una tupla M = (K, Σ, δ, s), donde

• K es un conjunto finito de estados, h K.

• Σ es un alfabeto finito, # ∈ Σ.

Ingeniería en Sistemas Computacionales


22
Libertad de espíritu en ciencia y tecnología

• s ∈ K es el estado inicial

• , Es la función de
transición.

4.2 Construcción modular de una MT

Construcción definición 1:4.2a

Para describir formalmente lo que hace una máquina de Turing, es necesario desarrollar una
notación para describir sus configuraciones o descripciones instantáneas, parecida a la notación
que se desarrolla para los autómatas a pila. En principio una máquina de Turing dispone de una
cinta de longitud infinita, por lo cual podrá suponerse que no es posible describir espáticamente
su configuración. Sin embargo, después de un número finito de movimientos, la máquina de
Turing solo habrá recorrido un número finito de casillas. Por tanto, para cualquier configuración
existe un prefijo y un sufijo infinito de casillas que no se han recorrido nunca. El contenido de
dichas casillas debe Ser espacios en blanco o símbolos del conjunto finito de símbolos de
entrada.

Por lo tanto, en una configuración solo se muestran las casillas que se encuentren entre el
símbolo más a la izquierda y el símbolo más a la derecha de la cinta que no sean espacios en
blanco, además, habrá que incluir un número finito de espacios en blanco en la configuración,
si se da la condición especial de que la cabeza de la cinta señale a uno de los espacios en blanco
situados antes o después de la cadena de entrada.

Además de la representación de la cinta, debe ser posible representar el estado de la unidad de


control, así como la posición de la cabeza de la cinta. Para ello, insertaremos el estado en la
cinta, situándolo inmediatamente a la izquierda de la casilla señalada por la cabeza. Para que la
cadena que representa el contenido de la cinta junto con el estado de la unidad de control no
resulte ambigua, es necesario asegurarse de que no se utiliza como estado ningún símbolo que
forme parte del conjunto de símbolos de cinta. Sin embargo, es sencillo cambiar los nombres de
los estados de forma que no tengan nada en común con los símbolos de la cinta, dado que la
operación de la máquina de Turing no depende de cómo se llamen sus estados. Por tanto,
utilizaremos la cadena x1x2 ...xi−1qxixi+1 ...xn para representar una configuración en la que:

1. q es el estado de la máquina de Turing.

2. La cabeza de la cinta señala al i-enésimo símbolo a partir de la izquierda.

3. x1x2...xn es la porción de la cinta que se encuentra entre los símbolos no blancos situados
más a la izquierda y más a la derecha. Como excepción, si la cabeza señala a alguna
casilla a la izquierda del símbolo no blanco que se encuentre más a la izquierda, o a

Ingeniería en Sistemas Computacionales


23
Libertad de espíritu en ciencia y tecnología

alguna casilla a la derecha del símbolo no blanco que se encuentre más a la derecha,
entonces algunos caracteres prefijos o sufijos de x1x2 ...xn serán espacios en blanco,
siendo i = 1 o i = n, respectivamente.

Los movimientos de una máquina de Turing se describen utilizando la notación 7→M.

Construcción definición 2: 4.2b

Mediante esta técnica se puedan desarrollarse máquinas de Turing complejas a partir de bloques
de elemental es a partir de máquinas más pequeñas mediaste diagramas de transiciones .La
construcción de máquinas de Turing se lleva a cabo median te los diagramas de transición y
combinarlos de manera parecida a lo que se real i z a en la formación de la unión y
concatenación de los autómatas finitos.

- Construcción de máquinas de Turing complejas a partir de bloques elementales.


- Transferencia de control entre máquinas: →M1→ M2
- Transferencia de control con varios símbolos: →M1 → }→ M2→ M3

Construcción definición 3: 4.2c

En la notación modular de MTs una MT se verá como un grafo, donde los nodos serán acciones
y las aristas condiciones. En cada nodo se podrá escribir una secuencia de acciones, que se
ejecutan al llegar al nodo. Luego de ejecutarlas, se consideran las aristas que salen del nodo.
Estas son, en principio, flechas rotuladas con símbolos de Σ. Si la flecha que sale del nodo está
rotulada con la letra que coincide con la que tenemos bajo el cabezal luego de ejecutar el nodo,
entonces seguimos la flecha y llegamos a otro nodo. Nunca debe haber más de una flecha
aplicable a cada nodo. Permitiremos rotular las flechas con conjuntos de caracteres. Habrá un
nodo inicial, donde la MT comienza a operar, y cuando de un nodo no haya otro nodo adonde
ir, la MT se detendrá.

Las acciones son realmente MTs. Comenzaremos con 2 + |Σ| acciones básicas, que corresponden
a las acciones que pueden escribirse en δ, y luego podremos usar cualquier MT que definamos
como acción para componer otras.

Las acciones básicas de la notación modular de MTs son:

• Moverse hacia la izquierda (): Esta es una MT que, pase lo que pase, se mueve hacia la
izquierda una casilla y se detiene. = ({s},Σ,δ,s), donde .

(Notar que estamos sobrecargando el símbolo, pero no debería haber confusión.)

Ingeniería en Sistemas Computacionales


24
Libertad de espíritu en ciencia y tecnología

• Moverse hacia la derecha (): Esta es una MT que, pase lo que pase, se mueve hacia la
derecha una casilla y se detiene. = ({s},Σ,δ,s), donde .
• Escribir el símbolo b ∈ Σ (b): Esta es una MT que, pase lo que pase, escribe b en la cinta
y se detiene. b = ({s},Σ,δ,s), donde ∀a ∈ Σ, δ(s,a) = (h,b). Nuevamente, estamos
sobrecargando el símbolo b ∈ Σ para denotar una MT.

Construcción definición 4: 4.2d

Mediante esta técnica se puedan desarrollarse máquinas de Turing complejas a partir de bloques
de elementales a partir de máquinas más pequeñas mediaste diagramas de transiciones.

La construcción de máquinas de Turing se lleva a cabo mediante los diagramas de transición y


combinarlos de manera parecida a lo que se realiza en la formación de la unión y concatenación
de los autómatas finitos.

Pasos para la construcción de una máquina de Turing

a) Elimine las características de inicio de los estados iniciales de las máquinas, excepto la
de aquel donde iniciara la maquina compuesta.
b) Elimine las características de detención de los estados de parada de todas la maquinas e
introduzca un nuevo estado de parada que no se encuentre en ninguno de los diagramas
que se combinan.
c) Para cada uno de los antiguos estados de parada p y cada x en y.

4.3 Lenguajes aceptados por la MT.

LAMT 4.3a

Podremos decir que la forma en la que una máquina de Turing acepta una cadena es la siguiente:
la cadena de entrada se sitúa en la cinta y la cabeza comienza señalando el símbolo de entrada
que se encuentra más a la izquierda; si la máquina de Turing llega a un estado de aceptación al
final del proceso, se considera que la cadena es reconocida, en caso contrario, decimos que la
cadena no fue aceptada.

De manera formal dada una máquina de Turing M = (Q,Σ,Γ,δ,q0,B,F), el lenguaje L(M) es el


conjunto de cadenas ω de Σ∗ tales que q0ω 7→∗ αpβ para algún estado p del conjunto de estado
finales F, y cualesquiera dos cadenas de cinta α y β. Los lenguajes que son pueden ser aceptados
por la máquina de Turing reciben el nombre de lenguajes recursivamente enumérales o
lenguajes RE.

Ingeniería en Sistemas Computacionales


25
Libertad de espíritu en ciencia y tecnología

Sin embargo este no es el único método para la aceptación de una cadena, existe otro que
comúnmente se le conoce con el nombre de aceptación por parada. Se dice que una máquina
de Turing se para si alcanza un estado q cuando señala a un símbolo de la cinta X, sin que se
produzca ningún movimiento en dicha situación; es decir δ(q,X) no está definida. Siempre se
puede suponer que una máquina de Turing se para si acepta, es decir sin introducir variaciones
en el lenguaje aceptado, se puede hacer que δ(q,X) se quede sin definir siempre que q sea un
estado de aceptación. En general a menos que se especifique lo contrario, suponemos que una
máquina de Turing siempre se para cuándo esta´ en un estado de aceptación, aunque no en todos
los casos ocurre ´esto. Los lenguajes reconocidos por máquinas de Turing que siempre se paran,
acepten o no, se les conoce con el nombre de recursivos. Las máquinas de Turing que siempre
se paran con independencia de que acepten o no, son un buen modelo de algoritmo. Si existe un
algoritmo para resolver un problema dado, entonces se dice que el problema es decidible, con
lo cual se observa que las máquinas de Turing que siempre se paran, tienen un papel importante
en la teoría de la dicisibilidad.

LAMT 4.3b

Una máquina de Turing se puede comportar como un aceptador de un lenguaje. Si colocamos


una cadena w en la cinta, situamos la cabeza de lectura/escritura sobre el símbolo del extremo
izquierdo de la cadena w y ponemos en marcha la máquina a partir de su estado inicial.
Entonces w es aceptada si, después de una secuencia de movimientos, la máquina de Turing
llega a un estado final y para. Por tanto w es aceptada. Si qw * w1pw2 para algún estado final
p y unas cadenas w1 y w2.

Entonces, se obtiene la siguiente definición:

Sea M = (Q,  , , q0=q1, B, F, ) una máquina de Turing. Entonces el lenguaje aceptado por
M es: L(M) = {w *q1w * w1pw2 para pF y wi*}.

Los lenguajes formales que son aceptados por una máquina de Turing son exactamente aquellos
que pueden ser generados por una gramática formal. El cálculo Lambda es una forma de definir
funciones. Las funciones que pueden se computadas con el cálculo Lambda son exactamente
aquellas que pueden ser computadas con una máquina de Turing.

Estos tres formalismos, las máquinas de Turing, los lenguajes formales y el cálculo Lambda son
formalismos muy disímiles y fueron desarrollados por diferentes personas. Sin embargo, ellos
son todos equivalentes y tienen el mismo poder de expresión. Generalmente se toma esta notable
coincidencia como evidencia de que la tesis de Church-Turing es cierta, que la afirmación de
que la noción intuitiva de algoritmo o procedimiento efectivo de cómputo corresponde a la
noción de cómputo en una máquina de Turing.

Gramáticas estructuradas por frases:

Ingeniería en Sistemas Computacionales


26
Libertad de espíritu en ciencia y tecnología

Parte izquierda de las reglas: combinación de símbolos terminales y no terminales,


con al menos un no terminal.

Parte derecha de las reglas: combinación de símbolos terminales y no terminales de cualquier


longitud (incluso 0).

- Las máquinas de Turing aceptan lenguajes estructurados por frases.

Ingeniería en Sistemas Computacionales


27
Libertad de espíritu en ciencia y tecnología

CONCLUSIÓN
¿Verdaderamente influyen los autómatas en la vida social y real?
¿Cómo ayuda la máquina de Turing en la vida de los programadores?
Son preguntas que resonaban en mi mente al comienzo del estudio de los autómatas; ahora al
tener los conocimientos respectivos se puede deducir y responder…
Los autómatas así como la máquina de Turing, son elementales no solo en la resolución de
problemas indefinibles o intratables; ya que estos ayudan a los ingenieros en programación a
usarlos como una metodología de análisis y diseño en la resolución de dicho problema, estos
pueden ser definido de forma sencilla o tediosa.
Estos algoritmos matemáticos ayudan a la resolución de problemas del mundo real, con la
diferencia que estos tienden a hacer tratados más detalladamente, unos que otros. Estos
autómatas y máquinas de Turing han venido a facilitar y ayudar al programador como al ser
humano en las tomas de decisiones en cuanto a problemas de la vida cotidiana.
Ya que en casos particulares se tiende a llegar al desbordamiento de ideas en cuanto al análisis
y diseño de respuestas a un suceso en particular de la vida diaria, además de ello los autómatas
y MT ayudan en la estandarización de las máquinas electrónicas para poder entrar de un estado
a otro; es decir, que estas pueden llegar a pensar que decisión tomar, cuando estén sometidas o
se encuentren en una situación dada en un contexto en especial.
El estudio de estas algebras matemáticas, al pasar los años ayudaran en la creación de muchos
elementos electrónicos, que facilitaran la vida de la especie humana en la adaptación de los
cambios informáticos. Los cuales fortalecerán el crecimiento de muchos continentes al
desarrollo del nuevo mundo.
Las herramientas de soluciones de problemas y respuestas en cuanto a su solución podemos
utilizar los grafos y tablas de transiciones de los AF y MT; para conocer el tiempo de ejecución
y el tiempo en que se puede tardar para encontrar la posible solución.
En conclusión se detalla en pocas palabras, que los autómatas y las máquinas de Turing
son herramientas muy sencillas y a la vez efectivas, como metodologías para las soluciones de
problemas; interpretadas de forma matemática u Grafórica (grafo), que ayudan al personaje a la
interpretación de los resultados, son ambiguos, sencillo, factible y óptimo.

Auto, auto, automatízate para conocer el funcionamiento de lo que


te rodea y como piensan.

Ingeniería en Sistemas Computacionales


28
Libertad de espíritu en ciencia y tecnología

BIBLIOGRAFÍA AF
3.1a: LENGUAJES REGULARES Y 3.2c SINTAXIS Y SEMÁNTICA DEL
AUTOMATAS FINITOS/U.T.N. – F.R.T. /S. y S. LENGUAJE UTN FRSF – APUNTENRO.
de los L./ING. JORGE BUABUD 2/AUTÓMATAS FINITOS/2009
http://www.slideshare.net/jbuabud/lenguajes-
regulares-y-autmatas-finitos-clase-7 3.3 CONVERSIÓN DE UN AFN A UN
AFD/EDGAR RUIZ L., EDUARDO RAFFO
3.1b: CAPÍTULO 3/AUTÓMATAS DE L./DOCENTE DEL DEPARTAMENTO DE
ESTADOS FINITOS/S.Takahashi INGENIERÍA DE SISTEMAS E
INFORMÁTICA./FACULTAD DE
3.1c: TEORÍA DE AUTÓMATAS, INGENIERÍA INDUSTRIAL, UNMSM E-
LENGUAJES Y COMPUTACIÓN/John E. MAIL: ERUIZL@UNMSM.EDU.PE/
Hopcroft, Rajeev Motwani, Jeffrey D. DOCENTE DEL DEPARTAMENTO DE
Ullman/PEARSON ADDISON WESLY INGENIERÍA DE SISTEMAS E
INFORMÁTICA./FACULTAD DE
3.1d: TEMA II: INTRODUCCIÓN A LA INGENIERÍA INDUSTRIAL, UNMSM E-
TEORÍA DE AUTÓMATAS FINITOS/1. MAIL: ERAFFOL@UNMSM.EDU.PE
INTRODUCCION. DEFINICION /AUTÓMATAS FINITOS

3.1e: ING. FCO. RÍOS 3.4 CONVERSION DE ER A AFND/CAP. 2


ACOSTA/FRIOSAM@PRODIGY.NET.MX/ LENGUAJES REGULARES/ TEORIA DE LA
AUTÓMATAS FINITOS COMPUTACION/(LENGUAJES
FORMALES, COMPUTABILIDAD Y
3.2 SINTAXIS Y SEMÁNTICA DEL COMPLEJIDAD)/APUNTES Y
LENGUAJE UTN FRSF – APUNTE NRO. EJERCICIOS/GONZALO
2/AUTÓMATAS FINITO NAVARRO/DEPARTAMENTO DE
CIENCIAS DE LA
3.2a AUTÓMATAS FINITOS COMPUTACION/UNIVERSIDAD DE CHILE
DETERMINÍSTICOS AFD/ CUADERNILLO
DE APUNTES TEORÍA DE LA Blog de autómatas finitos...
COMPUTACIÓN/ MAGALY GONZÁLEZ http://automatas-finitos.blogspot.mx/
MOTA/30 DE JUNIO DE 2010
Autómatas Finitos
3.2.a SINTAXIS Y SEMÁNTICA DEL http://www.monografias.com/trabajos-
LENGUAJE UTN FRSF – APUNTENRO. pdf/automatas-finitos/automatas-finitos.pdf
2/AUTÓMATAS FINITOS
Autómatas Finitos/Raúl Jiménez
3.2.b TEMA 4. AUTÓMATAS http://www.uhu.es/raul.jimenez/DIGITAL_II/d
FINITOS/CLASIFICACIÓN DE UN AF ig2_ii.pdf7
http://www.uhu.es/francisco.moreno/talf/docs/t
ema4_2.pdf

Definiciones de autómatas finitos


http://trevinca.ei.uvigo.es/~formella/doc/talf09/
talf.pdf

Ingeniería en Sistemas Computacionales


29
Libertad de espíritu en ciencia y tecnología

Tema 2_automatas finitos (BETKE,1997) BETKE M. Y GURVITS L.;


http://quegrande.org/apuntes/ETIS- “MOBILE ROBOT LOCALIZATION USING
USC/1/TALF1/teoria/07-08/tema_2_- LANDMARKS”. IEEE TRANSACTIONS ON
_automatas_finitos.pdf ROBOTICS AND AUTOMATION, VOL. 13 [2],
135-142, (1997)
Conversión AFND a AFD
http://sisbib.unmsm.edu.pe/bibvirtualdata/publi (FOX,1999) FOX D., BURGARD W.
caciones/indata/vol6_n1/pdf/conversion.pdf Y THRUN S.;“MARKOV LOCALIZATION FOR
MOBILE ROBOTS IN DYNAMICS
3.5 Y 3. 6 (HOPCROFT,1997) HOPCROFT J. E.
ENVIRONMENTS”. JOURNAL OF
Y ULLMAN J. D.; INTRODUCCIÓN A LA
ARTIFICIAL INTELLIGENCE RESEARCH VOL.
TEORÍA DE AUTÓMATAS, LENGUAJES
11 391-427 (1999)
Y COMPUTACIÓN,
COMPAÑÍA EDITORIAL CONTINENTAL, S.A.
(CATÁLOGO,2010) CATALOGO
DE C.V., MÉXICO (1997). ELECTRÓNICO DE CIRCUITOS
INTEGRADOS DATASHEET (2010).
(BROOKSHEAR,1989) BROOKSHEAR J.
G.; TEORÍA
HTTP://WWW.DATASHEET4U.COM/
DE LA COMPUTACIÓN, ADDISON WESLEY
IBEROAMERICANA, MEXICO (1989).
BIBLIOGRAFIA MT
(CROWLEY,1989) CROWLEY J.; “WORLD
MODELING AND POSITION ESTIMATION 4 http://teodelacomp.blogspot.mx/2011/03/41-
FOR A MOBILE ROBOT USING ULTRASONIC definicion-formal-de-una-maquina.html
RANGING”. IEEE CONFERENCE ON
ROBOTICS AND AUTOMATION, ICRA 4.0 DEFINICIÓN DE UNA MÁQUINA DE
89, VOL. 3, 1574-1579 (1989). TURING/CUADERNILLO DE APUNTES TEORÍA DE
LA COMPUTACIÓN/MAGALY GONZÁLEZ
(MAES,1990) MAES P. Y BROOKS R.
MOTA/30 DE JUNIO DE 2010
A.;“LEARNING TO COORDINATE
BEHAVIORS”. MASSACHUSETTS INSTITUTE
4.1 PUBLICADO “JAVIER ORIBE” EN EL
OF TECHNOLOGY,1-7 (1990).
MÁQUINA DE TURING/EL MAQUINA DE TURING
(SENG,1997) SENG K. Y KLEEMAN L.;
HTTP://ELMAQUINADETURING.WORDPRESS.C
“ACCURATE ODOMETRY AND
OM/2009/12/15/%C2%BFQUE-ES-UNA-
ERROR MODELLING FOR A MOBILE
MAQUINA-DE-TURING-I/
ROBOT”. IEEE INTERNATIONAL
CONFERENCE ON ROBOTICS AND http://elmaquinadeturing.wordpress.com/200
AUTOMATION, 2783-2788 (1997). 9/12/16/%C2%BFque-es-una-maquina-de-
turing-ii/
(BORENSTEIN,1997) BORENSTEIN J., EVERETT
H. R., FENG L. Y WEHE D.; “MOBILE ROBOT
4.1a LOURDES QUIROZ HERNANDEZ/TEORIA DE
POSITIONING SENSORS AND
LA COMPUTACION/INSTITUTO TECNOLOGICO
TECHNIQUES”. JOURNAL OF ROBOTIC
SUPERIOR DE SAN MARTIN TEXMELUCAN
SYSTEMS, SPECIAL ISSUE ON MOBILE
ROBOTS. VOL. 14 [4], 231 – 249 (1997).

Ingeniería en Sistemas Computacionales


30
Libertad de espíritu en ciencia y tecnología

4.1def DEFINICIÓN DE UNA MÁQUINA DE COMPUTACIÓN/MC. JOSÉ ÁNGEL TOLEDO


TURING/CUADERNILLO DE APUNTES TEORÍA DE ÁLVAREZ/ESTADO DEL ARTE DE LA MÁQUINA
LA COMPUTACIÓN/MAGALY GONZÁLEZ DE TURING
MOTA/30 DE JUNIO DE 2010

4.1def2 TEORIA DE LA
COMPUTACION/(LENGUAJES FORMALES,
COMPUTABILIDAD Y COMPLEJIDAD)/APUNTES Y
EJERCICIOS/GONZALO
NAVARRO/DEPARTAMENTO DE CIENCIAS DE LA
COMPUTACION/UNIVERSIDAD DE CHILE

4.2a CONSTRUCCIÓN MODULAR DE UNA


MT/CUADERNILLO DE APUNTES TEORÍA DE LA
COMPUTACIÓN/MAGALY GONZÁLEZ MOTA/30
DE JUNIO DE 2010

4.2b LOURDES QUIROZ HERNANDEZ/TEORIA DE


LA COMPUTACION/INSTITUTO TECNOLOGICO
SUPERIOR DE SAN MARTIN TEXMELUCAN

4.2c TEORIA DE LA COMPUTACION/(LENGUAJES


FORMALES, COMPUTABILIDAD Y
COMPLEJIDAD)/APUNTES Y
EJERCICIOS/GONZALO
NAVARRO/DEPARTAMENTO DE CIENCIAS DE LA
COMPUTACION/UNIVERSIDAD DE CHILE

4.2d MAQUINA DE TURING/ CONSTRUCCIÓN


MODULAR DE LAS MAQUINAS DE TURING/
SÁBADO, 20 DE NOVIEMBRE DE 2010

http://maquinadeturingunad.blogspot.mx/2010
/11/construccion-modular-de-las-maquinas-
de.html

4.3a DEFINICIÓN DE UNA MÁQUINA DE


TURING/CUADERNILLO DE APUNTES TEORÍA DE
LA COMPUTACIÓN/MAGALY GONZÁLEZ
MOTA/30 DE JUNIO DE 2010

4.3b INSTITUTO TECNOLÓGICO DE


MINATITLÁN/ PEÑA GARCÍA
EVELIA/05231149/5°/Semestre/TEORÍA DE LA

Ingeniería en Sistemas Computacionales


31

También podría gustarte