Este documento describe diferentes tipos de autómatas, incluyendo autómatas finitos deterministas y no deterministas, autómatas con pilas, máquinas de Turing y autómatas celulares. También cubre autómatas probabilísticos y extensiones a autómatas finitos. Los autómatas son modelos matemáticos útiles para estudiar computabilidad y lenguajes formales.
1. TIPOS DE AUTÓMATAS
Republica Bolivariana De Venezuela
Ministerio Del Poder Popular Para La Educación Superior
Instituto Universitario Politécnico Santiago Mariño
Sede San Cristóbal
Estado Táchira
Santiago Mariño
Integrante:
Yelizabeth Yorgelius
Rodriguez Chaparro
CI 26,016,069
47. Ing. En Sistemas
2. TEORÍA DE AUTÓMATAS
La teoría de autómatas es una rama de las ciencias de la computación que estudia las máquinas abstractas y los
problemas que éstas son capaces de resolver. La teoría de autómatas está estrechamente relacionada con la teoría
del lenguaje formal ya que los autómatas son clasificados a menudo por la clase de lenguajes formales que son
capaces de reconocer.
Un autómata es un modelo matemático para una máquina de estado finito (FSM sus siglas en inglés). Una FSM es
una máquina que, dada una entrada de símbolos, "salta" a través de una serie de estados de acuerdo a una función de
transición (que puede ser expresada como una tabla). En la variedad común "Mealy" de FSMs, esta función de
transición dice al autómata a qué estado cambiar dados unos determinados estado y símbolo.
La entrada es leída símbolo por símbolo, hasta que es "consumida" completamente (piense en ésta como una
cinta con una palabra escrita en ella, que es leída por una cabeza lectora del autómata; la cabeza se mueve a lo largo
de la cinta, leyendo un símbolo a la vez) una vez la entrada se ha agotado, el autómata se detiene.
3. AUTÓMATAS FINITOS
Formalmente, un autómata finito (AF) puede ser descrito como 5-tupla
Existen tres tipos de autómatas finitos
Autómata finito determinista (AFD)
Cada estado de un autómata de este tipo puede o no tener una transiciónpor cada símbolo del alfabeto.
4. AUTÓMATA FINITO NO DETERMINISTA (AFND)
Los estados de un autómata de este tipo pueden, o no, tener una o más transiciones por cada símbolo del alfabeto.
El autómata acepta una palabra si existe al menos un camino desde el estado q0 a un estado final F etiquetado con la
palabra de entrada. Si una transición no está definida, de manera que el autómata no puede saber como continuar
leyendo la entrada, la palabra es rechazada.
Autómata finito no determinista con transiciones ε (AFND-ε)
Además de ser capaz de alcanzar más estados leyendo un símbolo, permite alcanzarlos sin leer ningún símbolo. Si
un estado tiene transiciones etiquetadas con E, entonces el AFND puede encontrarse en cualquier de los estados
alcanzables por las transiciones E, directamente o a través de otros estados con transiciones E. El conjunto de
estados que pueden ser alcanzados mediante este método desde un estado q, se denomina la clausura E de q.
Sin embargo, puede observarse que todos estos tipos de autómatas pueden aceptar los mismos lenguajes. Siempre se
puede construir un AFD que acepte el mismo lenguaje que el dado por un AFND.
5. Los lenguajes aceptados por los autómatas descritos más arriba se denominan lenguajes regulares. Autómatas más
potentes pueden aceptar lenguajes más complejos.Algunos de estos autómatas son:
Autómata con pila
Son máquinas idénticas a los AFD (o AFI), exceptuando el hecho de que disponen de una memoria adicional,
haciendo uso de una pila. La función de transición & ahora dependerá también de los símbolos que se encuentren al
principio de la pila. Esta función determinará como cambia la pila en cada transición. Este tipo de autómatas aceptan los
lenguajes independientes del contexto.
Autómata linealmente acotado
Se trata de una máquina deTuring limitada.
Máquina de Turing
Son las máquinas computacionales más potentes. Poseen una memoria infinita en forma de cinta, así como un
cabezal que puede leer y cambiar esta cinta, y moverse en cualquier dirección a lo largo de la cinta.
Extensiones a los autómatas finitos
6. AUTÓMATA PROBABILÍSTICO
Un autómata probabilístico es una generalización del automáta finito no determinista; incluye la probabilidad de una
transición dada de una función de transición,convirtiéndola en una matriz de transición.
Los autómatas probabilísticos nos permiten tener una idea de cómo la transición entre estados de un autómata puede no
ser factible (probabilidad 1) sino que puede llegar a existir una probabilidad asociada a que se realice una determinada
transición. Por lo tanto no podemos estar seguros de que el autómata se encuentre en un determinado estado en cierto
momento solo podemos llegar a saber la probabilidad de que esto suceda. Los autómatas probabilísticos se definen con una
quintupla:
AFP = (Σ, Q, M,P (0), F)
Donde:
Σ es el alfabeto de los símbolos de entrada.
Q es el conjunto de estados.
M es el conjunto de matrices de probabilidad de transición entre estados,
M = {M (a)|a Є Σ}.
P (0) es el vector de estado inicial.
F Í Q es el conjunto de estados finales
7. UN AUTÓMATA CON PILA
Un autómata con pila, autómata a pila o autómata de pila 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. El
lenguaje que reconoce un autómata con pila pertenece al grupo de los lenguajes libres de contexto en la clasificación de la
Jerarquía de Chomsky.
Funcionamiento
Los autómatas de pila, en forma similar a como se usan los autómatas finitos, también se pueden utilizar para aceptar
cadenas de un lenguaje definido sobre un alfabeto A. Los autómatas de pila pueden aceptar lenguajes que no pueden aceptar
los autómatas finitos. Un autómata de pila cuenta con una cinta de entrada y un mecanismo de control que puede
encontrarse en uno de entre un número finito de estados. Uno de estos estados se designa como estado inicial, y además
algunos estados se llaman de aceptación o finales. A diferencia de los autómatas finitos, los autómatas de pila cuentan con
una memoria auxiliar llamada pila. Los símbolos (llamados símbolos de pila) pueden ser insertados o extraídos de la pila, de
acuerdo con el manejo last-in-first-out (LIFO). Las transiciones entre los estados que ejecutan los autómatas de pila
dependen de los símbolos de entrada y de los símbolos de la pila. El autómata acepta una cadena x si la secuencia de
transiciones,comenzando en estado inicial y con pila vacía, conduce a un estado final,después de leer toda la cadena x
8. UNA MÁQUINA DE TURING
Una máquina de Turing es un dispositivo que manipula símbolos sobre una tira de cinta de acuerdo a una tabla de reglas.A
pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de
computador y es particularmente útil en la explicación de las funciones de una CPU dentro de un computador.
Originalmente fue definida por el matemático inglés Alan Turing como una «máquina automática» en 1936, en la revista
Proceedings of the London Mathematical Society, La máquina de Turing no está diseñada como una tecnología de
computación práctica, sino como un dispositivo hipotético que representa una máquina de computación. Las máquinas de
Turing ayudan a los científicos a entender los límites del cálculo mecánico
Una máquina de Turing que es capaz de simular cualquier otra máquina de Turing es llamada una máquina universal de
Turing (UTM, o simplemente una máquina universal). Una definición más matemáticamente orientada, con una similar
naturaleza "universal", fue presentada por Alonzo Church, cuyo trabajo sobre el cálculo lambda se entrelaza con el de Turing
en una teoría formal de la computación conocida como la tesis de Church-Turing. La tesis señala que las máquinas de Turing
capturan, de hecho, la noción informal de un método eficaz en la lógica y las matemáticas y proporcionan una definición
precisa de un algoritmo o 'procedimiento mecánico
9. UN AUTÓMATA CELULAR
Un autómata celular (A.C.) es un modelo matemático para un sistema dinámico que evoluciona en pasos
discretos. Es adecuado para modelar sistemas naturales que puedan ser descritos como una colección masiva de
objetos simples que interactúen localmente unos con otros.
Son sistemas descubiertos dentro del campo de la física computacional por John von Neumann en la década de
1950. La teoría de los autómatas celulares se inicia con su precursor John von Neumann a finales de la década de
1940 con su libro Theory of Self-reproducingAutomata (editado y completado por A.W. Burks).
Aunque John von Neumann puso en práctica los AA.CC., estos fueron concebidos en los años 40 por Konrad
Zuse y Stanislaw Ulam. Zuse pensó en los “espacios de cómputo” (computing spaces), como modelos discretos de
sistemas físicos. Las contribuciones de Ulam vinieron al final de los 40, poco después de haber inventado con
Nicholas Metropolis el Método de Montecarlo.
10. BIBLIOGRAFÍA
Hopcroft, John;Motwani, Rajeev;Ullman, Jeffrey D. (2001). Introduction to Automata Theory,Languages, and
Computation (en inglés). Massachusetts, Estados Unidos:Addison-Wesley.
Teoría de autómatas y lenguajes formales.
Autómatas y complejidad. Kelly Dean Editorial Prentice Hall
Feynman,Richard (1996). Conferencias sobre computación. Graficromo. ISBN 84-8432-444-3. Consultado el 11 de
julio de 2010.
Viso, Elisa (2008). Introducción a la teoría de la computación. ISBN 978-970-32-5415-6. Consultado el 11 de julio
de 2010.
S.Wolfram,A New Kind of Science, 2002
B. Cipra,What's happening in the Mathematical Sciences,vols. 3 y 5,American Mathematical Society,EU, 1996,
2002