Académique Documents
Professionnel Documents
Culture Documents
FACULTAD DE INGENIERIA
INGENIERIA EN CIENCIAS Y SITEMAS
LENGUAJES FORMALES Y DE PROGRAMACIÓN SECCION A+
M.Sc. Otto A. Rodriguez A.
Ingeniero en ciencias y sistemas
AUTOMATAS FINITOS
Un autómata finito (AF) es un modelo computacional que realiza cómputos en forma automática.
Este modelo está conformado por un alfabeto (símbolos terminales), un conjunto de estados, una
función de transición, un estado inicial y un conjunto de estados finales.
Su funcionamiento se basa en una transición mediante un símbolo de entrada, para pasar de un
estado a otro estado, empezando en el estado inicial, para finalmente detenerse en un estado final
o de aceptación, que representa la salida. La finalidad de los autómatas finitos es la de reconocer
lenguajes regulares.
Los autómatas finitos se representan mediante grafos, también llamados diagramas de estado finito
en el cual cada estado es representado por una arista en el grafo y cada transición es una arista del
grafo que tiene un símbolo del lenguaje. El estado inicial Io se caracteriza por tener una arista que
llega a él, proveniente de ningún otro vértice. El o los estados de aceptación se representan
mediante vértices que están encerrados a su vez por otra circunferencia (puede habar mas de un
estado de aceptación e incluso todos los estados pueden ser estados de aceptación)
Por ejemplo:
El siguiente autómata finito reconoce todas las palabras que tengan ab una o mas veces. Por
ejemplo ab, abab, ababab, abababab…
¿Cómo funciona ?
Un autómata finito determinista (DFA) es un autómata finito que para cada estado q ∈ Q en que se
encuentre el autómata, y con cualquier símbolo a, existe siempre a lo más una transición posible
δ(q,a).
Por ejemplo, Ninguno de estos autómatas finitos son DFA. El primero tiene una transición
ε con y el segundo tiene dos transiciones con a al mismo estado (q2)
Un Autómata finito no determinista es aquel que puede tener transiciones con y dos o mas
transiciones de un estado a otro con el mismo símbolo.
Una expresión regular es un medio para declarar patrones que definen un lenguaje dado.
Las expresiones regulares se definen de la siguiente manera:
1. R y S son expresiones regulares. Es decir, todo símbolo del lenguaje es una expresión
regular.
2. R|S es una expresión regular. El carácter | (pipe) representa un ó lógico. La expresión
regular se lee R ó S.
3. RS ó R.S es una expresión regular. Dos expresiones regulares seguida una de otra
representa la concatenación de las expresiones el resultado también es una expresión
regular. El . también tiene la misma función.
4. (S) es una expresión regular. Una expresión regular entre paréntesis es también una
expresión regular. Los paréntesis se usan como agrupamiento de expresiones
regulares.
5. R* es una expresión regular. Implica que R se repite 0 o mas veces. Esta operación
también se le conoce como cerradura de Kleene.
6. ε es una expresión regular.
Toda gramática de tipo 3 tiene una expresión regular equivalente y toda expresión regular
tiene una gramática de tipo 3 equivalente.