Anda di halaman 1dari 11

UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA

UNAD

AUTÓMATAS Y LENGUAJES FORMALES


Presentado por : Jhon Alexander Cuervo B

Código: 1072592374
Grupo:301405_6

TUTOR: Ángela María González


Fase 1
Febrero de 2018
Autómata Finito

 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).
Definición formal
Formalmente, un autómata finito es una 5-tupla <Q, Σ, q0, δ,
F> donde:

 Q es un conjunto finito de estados;


 Σ es un alfabeto finito de símbolos terminales;
 q0 es el estado inicial en Q;
 δ es la relación de transiciones de la forma <qi,x,qj> con qi y qj como estados
de Q y x, símbolo de Σ ó puede ser también la cadena vacía;
 F es el conjunto de estados finales o de aceptación y (evidentemente)
subconjunto de Q.
Representación como diagramas de
estados
 Los autómatas finitos se pueden representar mediante grafos particulares,
también llamados diagramas de estados finitos, de la siguiente manera:

 Los estados Q se representan como vértices, etiquetados con su nombre en el


interior.
 Una transición δ desde un estado a otro, dependiente de un símbolo del
alfabeto, se representa mediante una arista dirigida que une a estos vértices,
y que está etiquetada con dicho símbolo.
 El estado inicial q0 se caracteriza por tener una arista que llega a él,
proveniente de ningún otro vértice.
 El o los estados finales F se representan mediante vértices que están
encerrados a su vez por otra circunferencia
Representación como tabla de transiciones

 Otra manera de describir el funcionamiento de un autómata finito es


mediante el uso de tablas de transiciones o matrices de estados. Dos posibles
tablas para el ejemplo de la imagen anterior podrían ser las siguientes: La

 primera representa explícitamente los parámetros y el valor que toma cada


ocurrencia de la función de transición.7 La segunda es más compacta, y marca
con una flecha el estado inicial, y con un asterisco los estados finales
Funcionamiento

 En el comienzo del proceso de reconocimiento de una cadena de entrada, el


autómata finito se encuentra en el estado inicial y a medida que procesa cada
símbolo de la cadena va cambiando de estado de acuerdo a lo determinado
por la función de transición. Cuando se ha procesado el último de los símbolos
de la cadena de entrada, el autómata se detiene en el estado final del
proceso. Si el estado final en el que se detuvo es un estado de aceptación,
entonces la cadena pertenece al lenguaje reconocido por el autómata; en
caso contrario, la cadena no pertenece a dicho lenguaje.

 Note que el estado inicial {\displaystyle q_{0}} q_{0} de un autómata finito


siempre es único, en tanto que los estados finales pueden ser más de uno, es
decir, el conjunto {\displaystyle F} F puede contener más de un elemento.
También puede darse el caso de que un estado final corresponda al mismo
estado inicial.
Autómata finito determinista

 Un autómata finito determinista (abreviado AFD) es un autómata finito que


además es un sistema determinista; es decir, para cada estado q ∈ Q en que
se encuentre el autómata, y con cualquier símbolo a ∈ Σ del alfabeto leído,
existe siempre a lo más una transición posible δ(q,a).

 En un AFD no pueden darse ninguno de estos dos casos:

 Que existan dos transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;
 Que existan transiciones del tipo δ(q, ε), salvo que q sea un estado final, sin
transiciones hacia otros estados.
 Un tipo interesante de autómatas finitos deterministas son los llamados
acíclicos y un ejemplo de éstos son los tries.
Equivalencias entre autómatas finitos
 Se dice que dos autómatas finitos son equivalentes, si ambos reconocen el mismo
lenguaje regular.

 Toda expresión regular (que define a su vez un lenguaje regular) puede ser
expresada como un autómata finito determinista,8 y viceversa.9 Dada una
expresión regular, es posible construir un AFND-ε que reconozca dicho lenguaje,
por ejemplo mediante el algoritmo de Thompson. Luego, todo AFND-ε puede
transformarse en un AFND equivalente, así como todo AFND puede transformarse
en un AFD equivalente, mediante el método llamado construcción de conjunto
potencia. Así, por transitividad, para cualquier autómata finito no determinista
siempre existe un autómata finito determinista equivalente, y viceversa.3

 Normalmente en el diseño de autómatas finitos, lo primero que se hace es


construir un AFND-ε, que es el más sencillo de construir, por poseer menos
restricciones en su función de transiciones. Luego dicho autómata se reduce a un
AFND, y finalmente a un AFD, el cual por sus características deterministas ya
puede ser implementado sin problemas utilizando un lenguaje de programación.
Autómata finito no determinista

 Un autómata finito no determinista (abreviado AFND) es aquel que, a diferencia de


los autómatas finitos deterministas, posee al menos un estado q ∈ Q, tal que para
un símbolo a ∈ Σ del alfabeto, existe más de una transición δ(q,a) posible.

 Haciendo la analogía con los AFDs, en un AFND puede darse cualquiera de estos
dos casos:

 Que existan transiciones del tipo δ(q,a)=q1 y δ(q,a)=q2, siendo q1 ≠ q2;


 Que existan transiciones del tipo δ(q, ε), siendo q un estado no-final, o bien un
estado final pero con transiciones hacia otros estados.
 Cuando se cumple el segundo caso, se dice que el autómata es un autómata finito
no determinista con transiciones vacías o transiciones ε (abreviado AFND-ε). Estas
transiciones permiten al autómata cambiar de estado sin procesar ningún símbolo
de entrada.
 Ejemplo 1:
 Autómata finito determinístico que acepta el lenguaje
 L1 = {a^ncb^m/ n > 0 y m ≥ 0 }
 M1D = < {e0, e1, e2}, {a, b, c}, δ1D, e0, {e2 }>
 δ1D está definida por el siguiente diagrama de transición de estados

 Ejemplo 3:
 Autómata finito determinístico que acepta el lenguaje
 L3 = {xc^3m/ x ∈ {a, b}* y la cantidad de b’s es par y m ≥ 0}
 M3D = < {e0, e1, e2, e3, e4}, {a, b, c}, δ3D, e0, {e0, e4}>
 δ3D está definida por el siguiente diagrama de transición de estados
REFERENCIAS BILIOGRAFICAS

 EBSCO : eBook Collection (EBSCOhost) - printed on 2/25/2018 11:04 PM via


UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD AN: 318032 ; Carrasco,
Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..; Teoria de
lenguajes, gramaticas y automatas para informáticos Account:
ns145102.main.ehost
 Hopcroft, John; Motwani, Rajeev; Ullman, Jeffrey D. (2001) (en inglés).
Introduction to Automata Theory, Languages, and Computation.
Massachusetts, Estados Unidos: Addison-Wesley.
 Brena, Ramón (2003). «Autómatas y Lenguajes. Un enfoque de diseño».
Tecnológico de Monterrey, México: 205. Consultado el 31 de marzo de 2010.

Anda mungkin juga menyukai