You are on page 1of 8

Autómatas finitos:

Un autómata finito es un modelo matemático de una máquina que acepta cadenas


de un lenguaje definido sobre un alfabeto A. Consiste en un conjunto finito de
estados y un conjunto de transiciones entre esos estados, que dependen de los
símbolos de la cadena de entrada. El autómata finito acepta una cadena x si la
secuencia de transiciones correspondientes a los símbolos de x conduce desde el
estado inicial a un estado final.
Si para todo estado del autómata existe como máximo una transición definida para
cada símbolo del alfabeto, se dice que el autómata es determinístico (AFD). Si a
partir de algún estado y para el mismo símbolo de entrada, se definen dos o más
transiciones se dice que el autómata es no determinístico (AFND).
Formalmente un autómata finito se define como una 5-upla.
M =<E,A, δ, e0,f> donde
E: conjunto finito de estados
A: alfabeto o conjunto finito de símbolos de entrada
δ: función de transición de estados, que se define como
- δ: E x A → E si el autómata es determinístico
- δ: E x A → P(E) si el autómata es no determinístico (P(E) es el conjunto potencia
de E, es decir el conjunto de todos los subconjuntos de E)
e0: estado inicial; e0 ∈ E
F: conjunto de estados finales o estados de aceptación; F ⊆ E
Generalmente se asocia con cada autómata un grafo dirigido, llamado diagrama de
transición de estados. Cada nodo del grafo corresponde a un estado. El estado
inicial se indica mediante una flecha que no tiene nodo origen. Los estados finales
se representan con un círculo doble. Si existe una transición del estado ei al estado
ej para un símbolo de entrada a, existe entonces un arco rotulado a desde el nodo
ei al nodo ej; es decir que δ(ei , a) = ej , se representa en el diagrama.
Máquina de Turing
Es un modelo computacional que realiza una lectura/escritura de manera
automática sobre una entrada llamada cinta, generando una salida en esta misma.
Una máquina de Turing es una séptupla M= (Γ,Σ,•,Q,q0,f,F)
donde :
1. Γ es el alfabeto de símbolos de la cinta
2. Σ ⊂ Γ es el alfabeto de símbolos de entrada
3. • ∈ Γ es el símbolo blanco que no pertenece a Σ
4. Q es un conjunto finito de estados
5. q0 ∈ Q es el estado inicial
6. F ⊆ Q es el conjunto de estados finales
7. f es una función de transición parcial
f: Q×Γ → Q×Γ×{L,R}

Un dispositivo capaz de adoptar un estado determinado (de Q) y que está conectado


a una cabeza lectura/escritura que puede leer y escribir símbolos en una cinta
infinita. En cada acción o movimiento:
1. la máquina lee el símbolo de la cinta en la posición donde se encuentra la cabeza
de lectura/escritura
2. en función del símbolo leído y del estado actual la máquina:
a. pasa a un nuevo estado (de forma determinista)
b. imprime un símbolo en la cinta en la misma posición donde acaba de leer el
símbolo actual
c. mueve la cabeza de lectura/escritura una posición a la izquierda (L), o a la
derecha (R).Inicialmente, la cinta (infinita a ambos lados) contiene un número finito
de símbolos de Σ, precedidos y seguidos por un número infinito de blancos. La cinta
se comporta como un dispositivo de entrada/salida.
La memoria es la cinta de la máquina que se divide en espacios de trabajo
denominados celdas, donde se pueden escribir y leer símbolos. Inicialmente todas
las celdas contienen un símbolo especial denominado "blanco". Las instrucciones
que determinan el funcionamiento de la máquina tienen la forma, "si estamos en el
estado x leyendo la posición y, donde hay escrito el símbolo z, entonces este
símbolo debe ser reemplazado por este otro símbolo, y pasar a leer la celda
siguiente, bien a la izquierda o bien a la derecha".
La máquina de Turing puede considerarse como un autómata capaz de reconocer
lenguajes formales. En ese sentido, es capaz de reconocer los lenguajes
recursivamente enumerables, de acuerdo a la jerarquía de Chomsky. Su potencia
es, por tanto, superior a otros tipos de autómatas, como el autómata finito, o el
autómata con pila, o igual a otros modelos con la misma potencia computacional.
Autómata de pila
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.De igual manera que los lenguajes regulares
se pueden representar mediante autómatas finitos deterministas, los lenguajes
independientes del contexto tienen su correspondencia en otro tipo de dispositivo:
el Autómata a Pila (AP).
Un autómata a pila es un dispositivo que tiene acceso a:
• Una secuencia de símbolos de entrada, que en general se representa por una cinta
que se desplaza frente a un mecanismo de captación de dichos símbolos.
• El símbolo superior de una memoria en pila (LIFO) Un autómata a pila se encuentra
en cada momento en un estado determinado y el estado siguiente depende de los
tres elementos
Siguientes:[• estado actual, • Símbolo de entrada, • Símbolo superior de la pila]
Generalmente, el autómata a pila es no determinista en el sentido de que se permite
que haya varias acciones posibles en cada momento.
Un AP puede realizar dos tipos de operaciones elementales:
1. Dependientes de la entrada. Se lee la cinta y se avanza la cabeza lectora,
En función:
• Del estado actual (qi)
• Del símbolo leído en la cinta (a)
• Del símbolo en la cima de la pila (Z)
Se pasa a un nuevo estado, se elimina el elemento Z de la cima de la pila y se
introduce en su lugar una cadena de símbolos.
2. Independientes de la entrada.
Las mismas operaciones que en el caso anterior, sólo que no se lee la cinta, ni se
avanza la cabeza lectora. Se maneja la pila sin la información de entrada.
Autómatas linealmente acotados:
Los autómatas de tipo 1 son los autómatas limitados linealmente o autómatas
lineales acotados, en inglés, linear bounded automaton. Un autómata lineal acotado
es una máquina de Turing que satisface las siguientes condiciones:
• El alfabeto de entrada incluye dos símbolos # y $, que son las marcas de fin de
cinta, izquierda y derecha respectivamente.
• La cabeza del autómata no puede desplazarse fuera de los límites izquierdo y
derecho de la cinta, y no puede imprimir otro símbolo sobre # y $.
En el siguiente diagrama representa un caso particular de un autómata lineal
acotado cuyos símbolos de la cinta son 0 y 1.

Un autómata lineal acotado se puede definir formalmente como una máquina de


Turing con dos símbolos límite de la cinta.

Cabe señalar que las marcas de fin y comienzo de cinta no son consideradas como
parte de la sentencia a reconocer. Un autómata lineal acotado no puede moverse
fuera de la cadena de entrada.

Por ejemplo, consideremos el LBA definido por:


Q ={q1, q2}, S ={a, b}, G ={a, b, <, >}, F ={q2}, q0 =q1 y d dado por:

d (q1, <) = (q1, <, R)

d (q1, a) = (q1, b, R)

d (q1, b) = (q1, a, R)

d (q1, >) = (q1, >, S).

Donde S significa "permanecer", es decir no mover la cabeza de lectura/escritura.


Este LBA complementa sus cadenas de entrada convirtiendo las a’s en b’s y
viceversa. Obsérvese que, aunque puede reconocer y trabajar sobre los símbolos
< y >, no puede reemplazarlos o moverse más allá de ellos. Supongamos que un
LBA comienza siempre con su cabeza situada sobre el símbolo <.

You might also like