Está en la página 1de 20

Expresiones Regulares y

Lenguajes Regulares
Diagrama de transicin de estados
En los diagramas de estado podemos encontrar dos
elementos: estados y transiciones.

Representacin de un estado: son letras o smbolos

Representacin de un estado
inicial

Representacin de un estado final o de aceptacin

Transicin: son arcos dirigidos que llevan asociadas


etiquetas
Diagrama de transicin de estados
Ejemplos de Diagramas de Estado

entrada/salida
0 1 entrada
0/0
1 entrada A 1 salida
(0)
1 salida A 4 estados
1
5 estados
1/0
B 1/1 1/0
(0)

E 0 0 0/0 B 1/1
(1)

1 C
(1)
0/0
0
1 D C
D 0/1
(0)
1
Representacin de cadenas
Para realizar la representacin de cadenas en un
diagrama de estado se debe tener presente:
Representacin de cadenas

A|B = A o B
(A|B)* = Cero o muchos
elementos de a o b
(A|B)+ = Uno a muchos
elementos de a o b
[a-z] = Todo el alfabeto de a
az
[A - Z] = Todo el alfabeto de
AaZ
Cadenas aceptadas

Ejemplo 1: Expresin

Esta expresin contiene dos trminos separados por el operador lgico V, lo que lleva a que se de
alguna de las dos condiciones: a.b.c* o d+e
Conversin de ER a FA
Las cadenas que acepta son:
Cadenas que empiezan por una nica a,
seguidas de una nica b y en el estado
final puede o no haber una o varias c Aceptadas
o
Por otro lado debe existir una nica d
seguida de una nica e no acepta nada
ms

No
Aceptadas
Cadenas aceptadas

Ejemplo 2: Expresin

La expresin tiene un estado a,


concatenado con
(b|c)* = significa que puede o no
existir una o varias b o c, concatenado
con
El estado terminal corresponde a una d
Conversin de ER a FA

Las cadenas que acepta son:


Cadenas que empiezan por una nica
Aceptadas
a, seguida de una b o c ( puede o no
haber una o varias b o c) y termina con
una nica d.

No
Aceptadas
Cadenas aceptadas

Ejemplo 3: Expresin

La expresin tiene un estado 0,


concatenado con
1* = significa que puede o no existir uno
o varios 1, concatenado con
El estado terminal que corresponde a
un 1
Conversin de ER a FA

Las cadenas que acepta


son: Aceptadas
Cadenas que empiezan por un
nico 0, seguida de un 1 ( puede o
no haber uno o ms unos) y termina
con un nico 1.

No
Aceptadas
Autmata Finito

Es un modelo computacional que realiza cmputos


en forma automtica sobre una entrada para
producir una salida.

Este tiene una cantidad de memoria


extremadamente limitada
Definicin formal de Autmata Finito

Formalmente, una mquina de estados finitos es una 5-tupla (K, , , s, F)


donde:

K es un conjunto finito de estados;


es un alfabeto finito de smbolos de entrada;
s es el estado inicial en K;
F es el conjunto de estados finales o de aceptacin y (evidentemente)
subconjunto de K.
es la relacin de transiciones, que a partir de un estado y un smbolo del
alfabeto obtiene un nuevo estado.
Ejemplo
Teniendo en cuenta el ejemplo 2 anteriormente visto tenemos el siguiente
autmata:

5-tupla (K, , , s, F) donde:

M = ({q0, q1, q2} , {a, b, c, d} , , q0, {q2})


K ={ q0, q1, q2}
={a, b, c, d)
s = q0
F = q2
Donde la funcin : {q0, q1, q2 } {a, b, c, d}
{q0, q1, q2} viene dada por:
(q0, a) = q1
(q1, b) = q1
(q1, c) = q1
(q1, d) = q2
Ejemplo
Teniendo en cuenta el ejemplo 3 anteriormente visto tenemos el siguiente
autmata:

5-tupla (K, , , s, F) donde:

M = ({q0, q1, q2} , {0, 1} , , q0, {q1})


K ={ q0, q1, q2}
={0, 1)
s = q0
F = q1
Donde la funcin : {q0, q1, q2 } {0, 1} {q0,
q1, q2} viene dada por:
(q0, 0) = q2
(q2, 1) = q2
(q2, 1) = q1
Tabla de transicin de estados

Fila encabezada por los estados


Columna encabezada por los smbolos de entrada
Tabla de transicin de estados
ejemplo 1
Ejemplo de Tabla de Estado
0
A
(0)

1 ESTADO ESTADO SALIDA


ACTUAL SIGUIENTE
B
(0) 0 1

E 0 0
A A B 0
(1) B C D 0
1 C C B D 1
(1)
D E D 0
1 E A A 1
0
D
(0)
1
Tabla de transicin de estados del
ejemplo 2
Las transiciones son las siguientes:
(q0, a) = q1
(q1, b) = q1
Estado (q1, c) = q1
Inicial (q1, d) = q2

a b c d
Q0 q1
Q1 q1 q1 q2
Q2

Estado
Final Nota: La tabla no puede quedar vaca, en las transiciones que
no existan, se deben llenar con el smbolo de vaco
Tabla de transicin de estados del
ejemplo 3
Las transiciones son las siguientes:
(q0, 0) = q2
(q2, 1) = q2
Estado (q2, 1) = q1
Inicial

0 1
Q0 q2
Q2 Q2, Q1
Q1

Estado
Final

Nota: La tabla no puede quedar vaca, en las transiciones que


no existan, se deben llenar con el smbolo de vaco
Gracias

También podría gustarte