Vous êtes sur la page 1sur 15

INSTITUTO

TECNOLOGICO
SUPERIOR DE ALVARADO
Campus Tlalixcoyan
INGENIERA EN
SISTEMAS COMPUTACIONALES
Materia:
Lenguaje y Automatas 1.
Semestre - Grupo - Sistema:
6 Semestre - Grupo Y Escolarizado.
Producto Acadmico:
Unidad III Investigacion.
Presenta:
Celis Leon Luis Alberto
Nolasco Mndez Lizbeth
Zamudio Guzmn Carmen
Docente:
I.S.C: Mara Guadalupe Ramrez Garca
Tlalixcoyan, VER. Marzo 2015

INTRODUCCIN
Los autmatas 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 especficas con las que realizan sus operaciones y actividades;
adems de sus comportamientos, caractersticas y funcionalidad que tienden los
autmatas se detallara cmo influyen en la vida social y real de los ser humanos.
Los autmatas finitos, son antes de todos logsticas matemticas, 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 ms eventos, los autmatas finitos
tienden a cambiar de finitos determinsticos a no determinsticos.
Dentro de estas hojas se denotan las esquematizaciones de los nuevos autmatas finitos:

Determinsticos

No Determinsticos

Se conocern su estructuras, funcionalidades y comportamientos entre estos dos tipos de


autmatas, dentro de ello se abarcara las conversiones o transformaciones entre estos
autmatas.

3.1 Definicin formal


El Autmata Finito es la mquina ms restrictiva de todas y desde luego que se puede
definir como un caso particular de una MT. Tambin 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 matemtico abstracto representa la solucin del problema de aceptacin de


lenguajes de tipo 3 o LR.
Son mquinas formales que se usan para reconocer lenguajes regulares. Lenguajes ms
sencillos, los lenguajes que son generados por gramticas regulares.
Con ello se deduce que un autmata finito es; una mquina con un nmero finito de
estados que lee smbolos de una cinta de entrada infinita. El comportamiento de la
mquina est determinado nicamente por el estado en que se encuentra y el
smbolo en la cinta de entrada. Al leer un smbolo de la cinta de entrada cambia de estado
y avanza en la cinta de entrada. Cuando ya no quedan smbolos por leer, se detiene. Aun
cuando la cinta es infinita, la cadena que gua el comportamiento del autmata no lo es.
Esta cadena puede ser tan larga como se quiera, pero siempre finita.
Un autmata 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 autmatas finitos es si dicho control es determinista, lo que quiere decir que el
autmata no puede encontrarse en ms de un estado a un mismo tiempo, o no
determinista, lo que significa que s puede estar en varios estados a la vez.
Un autmata 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 vaco), es la funcin de
transicin de estados y F es el conjunto finito de estados finales (incluidos en S).
Un autmata es una representacin grfica que muestra el proceso de reconocimiento de
una cadena de entrada. La simbologa utilizada es simple:
Diagrama

Descripcin
Un crculo representa un estado n, donde n es un nmero natural o bien
una letra, generalmente.
Un arco representa la lectura de un smbolo a en la entrada. Transicin
entre estados.
Estado de inicio s. Es generalmente 0 (cero).
Estado de aceptacin f.

3.2 Clasificacin 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 ejecucin del
autmata; estados finales o estados de aceptacin que permiten realizar la salida de
aceptacin de la cadena de entrada en el caso de que no haya ms smbolos en la
entrada, y estados intermedios, que son los que permiten pasar del estado inicial a algn
estado final.
Los AF

se

dividen

en

diversas

clases,

dependiendo

de

si

su

control

es

determinista (lo que significa que el autmata no puede estar en ms de un


estado simultneamente) o no determinista (lo que significa que el autmata puede
estar en varios estados al mismo tiempo).
Los autmatas finitos se pueden clasificar en funcin del tipo de control como:
Deterministas, el autmata nicamente puede estar en un estado en un momento
determinado.
No Deterministas, el autmata puede estar en varios estados simultneamente.
Ambos definen los mismos lenguajes (regulares), sin embargo los No deterministas
permiten describir ms eficientemente determinados problemas.
Para conocer ms afondo sobre los autmatas finitos determinsticos y no determinsticos,
a continuacin se detallara de forma breve cada uno de estos autmatas; ya que es
necesario para poder entender y comprender el siguiente tema de conversiones de un
autmata finito no determinstico a un autmata finito determinstico.
Definiciones de autmatas finitos no determinsticos y determinsticos.
Autmata finito determinstico (AFD); es aquel que siempre est en un solo estado
despus de leer cualquier secuencia de entradas; la palabra determinista nos dice que
para cada entrada existe un nico estado al que el autmata puede llegar partiendo del

estado actual; comencemos dando la definicin formal. El autmata finito determinista. El


trmino determinista hace referencia al hecho de que, para cada entrada, existe un
nico estado al que el autmata pueda llegar partiendo del estado actual.
Un AFD genera un solo tipo de salida: acepta o no una secuencia de smbolos de
entrada. Esa aceptacin est representada si el autmata se encuentra en algn estado
del conjunto F. El comportamiento de un AFD, comienza en el estado inicial (q0), y segn
se van recibiendo los smbolos de la entrada transita entre los estados (del conjunto Q),
de acuerdo a la funcin de transicin f. Si en un determinado momento se encuentra
en un estado de aceptacin (del conjunto F), reconoce como vlida la cadena formada
por los smbolos de entrada ledos hasta el momento. Si no, no es aceptada.

Fig. 1. AFD. Representacin de un autmata finito


Determinstico

Definicin Un Autmata Finito Determinstico (AFD) es una quntupla: M = (Q;; q 0; f;


F ), donde
Q Es un conjunto nito no vaco (los elementos de Q son llamados estados)
es un conjunto de smbolos de entrada al que llamaremos alfabeto. q1 Q, es un estado
al que llamaremos estado inicial. f Es una funcin Q x Q que se llama funcin de
transicin; 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 aceptacin.
Existen dos notaciones preferibles para describir los autmatas:
1. Un diagrama de transiciones, que es un grafo.
2. Una tabla de transiciones, que es una enumeracin tabular (tabla) de la funcin 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:
Hay un nodo para cada estado de Q.
El nodo correspondiente al estado inicial q0, tendr una flecha sin origen (o arco
entrante) no etiquetado.
Los nodos correspondientes a los estados de aceptacin (los que pertenecen a F)
estn marcados con un doble crculo. Los que no pertenecen a F tienen un crculo
simple.
Habr un arco etiquetado con a entre el nodo p y el nodo q, si f(p,a) = q. Si existen
varios smbolos de entrada que provocan una transicin del estado p a q, entonces el
arco entre p y q puede estar etiquetado con la lista de esos smbolos.
Un autmata puede ser representado mediante un grafo dirigido (dgrafo) el cual se
conoce como diagrama de transiciones, donde los vrtices del mismo corresponden a los
estados del autmata, en el caso del estado inicial este tendr una flecha que apunta
hacia l, y los estados finales se representaran mediante un circulo con lnea doble; si
existe una transicin 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 transicin. El autmata
acepta una cadena si la secuencia de transiciones correspondientes a los smbolos de
conduce del estado inicial a un estado final.
Si se modifica el modelo del autmata finito, para permitirle ninguna, una o ms
transiciones de un estado sobre el mismo smbolo de entrada, al nuevo modelo lo
conoceremos como autmata finito no determinstico. Tiene la capacidad de estar
en varios estados simultneamente. La diferencia entre AFD y un AFN est en la funcin
de transicin. Para el AFN, f es una funcin que toma como argumentos un estado y un
smbolo de entrada, pero devuelve un conjunto de cero, uno o ms estados (en vez de
devolver un estado, como en el caso del AFD).

Definicin: Un Autmata Finito No Determinstico (AFND) es una quntupla 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 relacin sobre Q Q que se llama relacin de transicin.
F Q es un conjunto de estados a los cuales llamaremos estados finales.

Fig. 2 AFND: representacin


de autmatas finitos no
Determinsticos

Tabla de transiciones
Una tabla de transiciones es una representacin tabular convencional de una funcin
como f, que recibe dos argumentos y devuelve un valor. Esta tabla tendr las
siguientes caractersticas:
En las filas estarn los estados q Q
El estado inicial se preceder del smbolo ->
Cada estado final se preceder del smbolo *
En las columnas estarn los smbolos de entrada a

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

3.3 Conversin de un AFND a AFD

Fig. 4 autmata 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 construccin de
subconjuntos, es til para simular un AFND por medio de un programa de computador.
Construccin de subconjuntos. Construccin de un AFD a partir de un AFN.
Entrada. Un AFN N.
Salida. Un AFD D que acepta el mismo lenguaje.

Mtodo. 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 smbolo de entrada,

N se puede encontrar en cualquiera de los

estados del conjunto cerradura-?(s0), donde s0 es el estado de inicio de K. Supngase


que exactamente los estados del conjunto T son alcanzables desde s0 con una
secuencia dada de smbolos de entrada, y sea a el siguiente smbolo 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), despus 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 podra estar N
despus de leer alguna secuencia de smbolos de entrada, incluidas todas las posibles
transiciones- ? anteriores o posteriores a la lectura de smbolos. El estado de inicio de
Des cerradura-? (s0). Se aaden los estados y las transiciones a D. Un estado de D
es un estado de aceptacin si es un conjunto de estados de AFN que contenga al menos
un estado de aceptacin de N.
El clculo de cerradura-? (T) es un proceso tpico de bsqueda 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 ?
3.4 Representacin 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 prctica, pues permiten
construir verificadores o buscadores eficientes a partir de ERs.
Definicin
:

La funcin Th convierte ERs en segn


AFNDs las siguientes reglas.

Prueba: Es fcil verificarlo por inspeccin y aplicando induccin estructural. La nica


parte que puede causar problemas es la clausura de Kleene, donde otros esquemas
alternativos que podran 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, reconocera la
cadena x = aa.

Representacin de la expresin regular


Existen

algoritmos

que

relacionan

la

especificacin

de

tokens

-expresiones

regulares-, con el reconocimiento de stos -autmatas finitos-. Es posible dada una


expresin regular obtener el AFD que reconozca las cadenas del lenguaje denotado
por la expresin regular. Tambin es posible obtener el AFND que reconozca el
lenguaje representado por dicha expresin regular.
El algoritmo que permite construir el autmata finito determinstico 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 construccin del autmata
finito no determinstico 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 sintctica de la


expresin regular para guiar el proceso de construccin del autmata AFND.
Supongamos que N(s)y N(t)son AFNDs para las expresiones regulares sy t,
respectivamente.

a) Para la expresin regular s | t(alternancia), construir el siguiente AFND, N(s|


t) :

b) Para la expresin regular st(concatenacin), construir el AFND, N(st) :

c) Para la expresin regular s*, construir el AFND, N(s*) :

3.5 Minimizacin de estados en un AF


Dos estados de un autmata finito determinista son estados equivalentes si al
unirse en
estuviesen

un

slo estado, pueden reconocer el

separados. Esta unin

mismo lenguaje regular que si

de estados implica la unin

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

sern equivalentes.
Un AFD est minimizado, si todos sus estados son distinguibles y alcanzables.
Un algoritmo de minimizacin de AFD es el siguiente:
1. Eliminar los estados inaccesibles es del autmata.

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

nofinal,

es

decir,

aquellos

pares de estados que son

claramente

distinguibles.
4. Para cada par (p, q) y cada smbolo a del alfabeto, tal que r = (p,a) y s =
(q,a):
1. Si (r, s) ya ha sido marcado, entonces p y

q tambin

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 mnimo. La complejidad computacional del problema de minimizar u n
AFD es polinomio. De hecho, existen algoritmos ms eficientes an que el mostrado en
este artculo (aunque menos intuitivos). Sin

embargo, el

problema de minimizar un

autmata finito no determinista es NP- completo y PSPACE- completo.

CONCLUSIN
Los autmatas son elemntalos no solo en la resolucin de problemas indefinibles o
intratables; ya que estos ayudan a los ingenieros en programacin a usarlos como una
metodologa de anlisis y diseo en la resolucin de dicho problema, estos pueden ser
definido de forma sencilla o tediosa.
Estos algoritmos matemticos ayudan a la resolucin de problemas del mundo real, con la
diferencia que estos tienden a hacer tratados ms detalladamente, unos que otros. Estos
autmatas 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.

BIBLIOGRAFA AF
1) LENGUAJES
de

REGULARES Y AUTOMATAS FINITOS/U.T.N. F.R.T. /S. y S.


los

L./ING.

JORGE

BUABUD

http://www.slideshare.net/jbuabud/lenguajesregulares-y-autmatas-finitos-clase-7
2) CAPTULO 3/AUTMATAS DE ESTADOS FINITOS/S.Takahashi
3) TEORA
Hopcroft,

DE
Rajeev

AUTMATAS, LENGUAJES Y COMPUTACIN/John E.


Motwani,

Jeffrey

D.

Ullman/PEARSON

ADDISON WESLY
4) TEMA II: INTRODUCCIN A LA TEORA DE AUTMATAS FINITOS/1.
INTRODUCCION.

Ingeniera en Sistemas Computacionales

Vous aimerez peut-être aussi