Está en la página 1de 69

EJERCICIOS DE EXPRESIONES

REGULARES Y AUTOMATAS
1.α + (β + γ) = (α + β) + γ
2.α + β = β + α
3.α + Ø = α
4.α + α = α
5.α · λ = α
6.α · Ø = Ø
7.α · (β · γ) = (α · β) · γ
8.α · (β + γ) = αβ + αγ, (β + γ) · α = βα + γα
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
9.λ* = λ
1O.Ø* = λ
11.α · α* = α* · α
12.α* = α* · α* = (α*)*
13.α* = λ + α · α*
14.(α + β)* = (α* + β*)*
15.(α + β)* = (α* · β*)* = (α* · β)* · α*
16.α · (β · α)* = (α · β)* · α
17. Si λЄ L(a), entonces a+λ=a
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sean § = {0, 1} y
L, M dos lenguajes sobre § dados por
L ={1, 10} y M = {1, 01} entonces
LM = {11, 101, 1001}.
Mientras que ML = {11, 110, 001, 0110}.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Dado V = {0; 1} y la ER α = 0*10*,
tenemos que:
L(0*10*) = L(0*) L(1) L(0*)
= (L(0))* L(1) (L(0))*
= {0}*.{1}.{0}*={0n10m | n, m  0}
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Si ∑ = {a, b, c} entonces
∑2 = {aa, ab, ac, ba, bb, bc, ca, cb, cc}

Ejemplo
Sea § = {0, 1} y L = {01, 1}, entonces
L3 = {010101, 01011, 01101, 0111, 10101,
1011, 1101, 111}
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Obtener una ER para el lenguaje en el
alfabeto {a, b, c} en que las palabras
contienen exactamente una vez dos b
contiguas.
Por ejemplo, las palabras aabb, babba,
pertenecen al lenguaje, pero no aaba,
abbba ni bbabb.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Dado el alfabeto Σ = {a, b, c},
(a U b*)a*(bc)*
Es una expresión regular que representa al
lenguaje

({a} U {b}*) · {a}* · {bc}*


EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Dada la expresión regular (a | b)*, el
lenguaje que denota es el que puede formar
con todas las cadenas compuestas por a y b
incluida la cadena vacía. Algunos ejemplos
de sentencias de estos lenguajes son:
λ, aaa, bbb, aba, abaaa, abbaa.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sea el vocabulario {1,2,3}, la expresión
regular (1|2)*3 indica el conjunto de todas
las cadenas formada por los símbolos 1 y 2,
sucediéndose cualquier Nº de veces (y en
cualquier orden), y siempre terminando la
cadena en el símbolo 3.
3, 13, 123, 11113, 22213, 23, 223, 113,
121211223, 111212213.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Dado el alfabeto Σ = {a, b},
(λ U a)*(a U b)*(ba)*
Es una expresión regular que representa al
lenguaje
({λ} U {a})* · {a, b}* · {ba}*.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Para resolver este problema, expresamos primero
la estructura de la ER de la manera siguiente:
< contexto1 > bb < contexto2 >

El lenguaje de < contexto1 > comprende a las


palabras que no tienen bb y además no terminan
en b. 4 Esto es equivalente a decir que toda b está
seguida de una a o una c. Esto quiere decir que la
ER de este contexto va ser de la forma:
(. . . b(a + c) . . .)
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Similarmente se puede obtener la expresión
para < contexto2 >, que es

((a + c ) b)*,

Por lo que finalmente la ER del problema


es:
(b(a + c))*bb((a + c)b)*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sea la ER t = a + bc + b3a.
Cuál es el lenguaje descrito por t?
Que expresión regular corresponde al
lenguaje universal sobre el alfabeto {a, b, c?
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
En primer lugar, esta no es estrictamente
hablando una ER, ya que no se permite b3a:
Sin embargo, aceptamos como válida la expresión
a + bc + b3a, como una simplificación de la ER
a+bc+bbba.
En ese caso, L(t) ={a; bc; bbba}, que como vemos
es un lenguaje finito sobre el alfabeto {a; b; c}.
La ER que describe el lenguaje universal sobre
este alfabeto es
(a + b + c)*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Simplificar la ER t = a + a (b + aa) (b*aa)* b* + a (aa + b)*.

Aplicando las propiedades de las expresiones regulares,


podemos obtener una ER equivalente con tan solo 4
operadores:
a + a (b + aa) (b*aa)* b* +a (aa + b)* (Propiedad 15)
a + a (b + aa) (b + aa)* +a (aa + b)* (Propiedad 8)
a( λ + (b + aa) (b + aa)* ) + a (aa + b)* (Propiedad 13)
a( b + aa )* + a (aa + b)* (Propiedad 2)
a (aa + b)* + a (aa + b)* (Propiedad 4)
a (aa + b)*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Simplificar la expresión regular :
1*O1*O (O1*O1*O + 1)* O1* + 1* de forma que sólo
aparezca un operador +.

1*O1*O (O1*O1*O + 1)* O1* + 1* (Propiedad 15)


1*O1*O (1* • O1*O1*O)* 1* • O1* + 1* (Propiedad 16)
(1*O1*O • 1*O)* 1*O1*O1*O1* + 1* (Propiedad 8)
((1*O1*O1*O)* 1*O1*O1*O + λ) 1* (Propiedad 13)
(1* • O1*O1*O)* 1* (Propiedad 15)
(1 + O1*O1*O)*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sea el vocabulario {a,b} y la expresión regular
aa*bb*. Indicar el lenguaje que denota y algunas
cadenas de dicho lenguaje.
Algunas cadenas: ab, aab, aaaab, abbbb, abb.
El lenguaje que se describe es L={cadenas que
comienzan por una a y continúan con varias o
ninguna a, y siguen con una b y continúan con
varias o ninguna b}.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
A = b*ab*
El lenguaje A de todas las palabras que tienen
exactamente una a:

B = b(a U b)*
El lenguaje B de todas las palabras que comienzan con b:

C = (a U b)*ba(a U b)∗
El lenguaje C de todas las palabras que contienen la
cadena ba:
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Encontrar expresiones regulares que representen los siguientes
lenguajes, definidos sobre el alfabeto Σ = {a, b}.

b(a U b)*a
Lenguaje de todas las palabras que comienzan con b y terminan
con a.

b*ab*ab*
Lenguaje de todas las palabras que tienen exactamente dos a’s.

(aa U ab U ba U bb)*
Lenguaje de todas las palabras que tienen un número par de
símbolos (palabras de longitud par).
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Lenguaje de todas las palabras que tienen un número impar de
símbolos (palabras de longitud impar).

a(aa U ab U ba U bb)* U b(aa U ab U ba U bb)*

Lenguaje de todas las palabras que tienen un número par de a/s.


b*(ab*a)*b*.
(ab*a U b)*.
(b*ab*ab*)* U b*.
b*(b*ab*ab*)*b*.

Encontrar una expresión regular que represente el lenguaje de todas las


palabras que no contienen la cadena bc, definido sobre el alfabeto Σ = {a,
b, c}.
c∗(b ∪ ac∗)∗.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Lenguaje formado por las cadenas que
terminan en 01:
{0,1}*.{01}
({0} U {1})*.{01}
Expresión regular: (0+1)*01
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Lenguaje formado por palabras de longitud
par sobre a’s y b’s:
{aa,ab,ba,bb}*
({aa} U {ab} U {ba} U {bb})*
Expresión: (aa+ab+ba+bb)*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo:
L(a*(a+b)) = L(a*)L((a+b)) = L(a)*L(a+b)
= L(a)*(L(a)UL(b)) = {a}*({a}U{b})
= {λ,a,aa,aaa,...}{a,b}
= {a,aa,...,b,ab,aab,...}
= {an|n≥1} U {a2nb2m+1|n,m≥0}
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
c*.c+c* =c*¿?
c*.c+c* = c*.c+c*+λ (por …..)
= c.c*+c*+λ (por …..)
= λ+c.c*+c* (por …..)
= c*+c* (por …..)
= c* (por …..)
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
c+c* =c*¿?
c+c* = c+λ+c.c* (por ……)
= λ+c+c.c* (por ……)
= λ+c.λ+c.c* (por ……)
= λ+c.(λ+c*) (por ……)
= λ+c.c* (por ……)
= c* (por ……)
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo:
Sea V={0,1}
Diseñar una expresión regular que genere un
alfabeto V que empiece con 1 y pueda conseguir
cualquier cantidad de ceros y unos.
1(0 | 1)*
Diseñar una expresión regular que genere un
alfabeto V que empiece con 1, terminen con 02
ceros y si empieza con 0 termine con dos unos.
1(0 | 1)* 00 | (0 (0|1)*11)
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Dar una ER que denote el lenguaje consistente de: al menos
dos ceros precedidos por cualquier número de 0’s seguidos por
cualquier número de 1’s.

Primero podemos desarrollar una ER para 0 y para 0 que


denotan los lenguajes {0} y {0} respectivamente. Si
concatenamos las dos expresiones 00, obtenemos el lenguaje
{00}.
Veamos ahora como construir el resto, cualquier número de 0’s
lo podemos escribir como 0 y lo mismo para cualquier número
de 1’s, 1 y ahora debemos describir la concatenación 0 1 .

La expresión regular completa es: 0*1* 00


EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo:
Dado el lenguaje descrito por la expresión
regular (ab)*a, un AFND que acepta dicho
lenguaje es el siguiente:
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sea el autómata finito A1, donde E={a,b} u {λ};
Q={q1,q2,q3,q4} y la función f viene dada por la
siguiente tabla y el conjunto de estados finales
es f={q3}
f a b
q1 q2 q4
q2 q2 q3
q3 q4 q3
q4 q4 q4
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Determinar el lenguaje que reconoce, representar
el diagrama de Moore e indicar la expresión
regular que representa al lenguaje.
Solución: Se construye el diagrama de Moore,
colocando en primer lugar todos los estados
dentro del circulo, marcando con doble circulo el
estado final. El estado inicial se indica con una
flecha que lo señala con la palabra INICIO encima.
Para construir las ramas, nos situamos en el
primer estado de la tabla de transiciones y se
observa que:
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
f(q1,a) =q2
Entonces se traza la flecha q1 y q2,
apuntando a q2 y se coloca encima de la
flecha el símbolo del vocabulario de entrada
a. De igual forma se recorre la tabla de
transiciones para cada estado y entrada
completándose el diagrama de moore.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sea ∑ ={a, b}, Q = {0, 1, 2}, q0 =0, F = {2}, y δ viene
definida así:
Qi/δ a b
0 1 0
1 2 0
2 2 2
Se define el diagrama de transiciones de dicho autómata
como un grafo dirigido, en el que los estados se
representan por nodos, las transiciones por flechas, de tal
manera que dicho grafo satisface la definición de la función
de transición δ
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
En este caso el autómata de la función
sería:
δ(0, a) = 1, δ (0, b) = 0, δ (1, a) = 2,
δ (1, b)=0, δ (2, a) = 2, δ (2, b)=2
Nótese que para todos los símbolos del
alfabeto, existe una transición de algún
estado.
Sabiendo esto, el anterior autómata
quedaría representado así
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Se define un estado de absorción o muerte
como aquel estado q Є Q, y qF, que no
tiene ninguna transición hacia ningún otro
estado (opcionalmente, a sí mismo puede
tenerlos), únicamente hay transiciones que
inciden en él. Es decir:
si δ (q, a) = ø, ó, δ (q, a) = q,  a Є ∑ .
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Como vemos, el estado 3 no tiene ninguna transición,
únicamente hay transiciones que inciden en él. Además,
3F, luego 3 es un estado de muerte.
Cuando tenemos estados de muerte, se toma el convenio
de no dibujarlos.
En este último autómata,
Si w = aaab. El autómata acepta la cadena, puesto que
para en 2, que es estado de aceptación.
•Si w = bbba. El autómata rechaza la cadena, puesto que
para en 3, que no es un estado de aceptación.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Hacer el autómata que reconozca este
lenguaje: (a|b)aba*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
En este diagrama de transiciones, se ve que
se ha omitido un estado de muerte, porque
por ejemplo el estado 1 no tiene transición
con el símbolo "b", y va a parar a dicho
estado de muerte. Igual pasa con el estado
2 y el símbolo "a", y el estado 3 con el
símbolo "b"
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Hacer el diagrama de transiciones con esta
definición del autómata:
Q={0,1,2,3}
∑ ={a, b}
q 0 =0
F={0, 1, 2}
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS

Como vemos, el estado 3 es un estado de muerte y podía haberse


omitido.
Este autómata, por ejemplo, acepta combinaciones de cadenas que no
tengan 3 "b“ seguidas.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Q={q 0 ,q 1 }
∑ ={0, 1} F={q 0 }
q 0 =q 0
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Suponiendo ∑ ={0, 1}, dibujar los
diagramas de transición que reconozcan.
Cadenas terminadas en 00
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas con dos "unos" consecutivos.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas que no contengan dos "unos"
consecutivos.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas con dos "ceros" consecutivos o
dos "unos" consecutivos.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas con dos "ceros" consecutivos y
dos "unos" consecutivos.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas acabadas en 00 o 11.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas con un "uno" en la antepenúltima
posición.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Cadenas de longitud 4.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
El estado 0, para el símbolo "a" tiene dos
transiciones, una al estado 1 y otra al
estado 4, es decir, δ (0, a) = {1, 4}.
Q={0,1,2,3,4}
F={3,4}
∑ ={a, b}
q 0 =0
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Pasar a DFA este NFA
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ya tenemos todos los estados marcados,
ahora ya sólo queda pintar el diagrama de
transiciones, luego el DFA quedaría así:
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
El Autómata A=({q0,q1,q2},{0,1}, ,q0,{q1})
Autómata representado con una tabla de transiciones:
0 1

 q0 q2 q0

 q1 q1 q1

q2 q2 q1

Autómata representado con un diagrama de transiciones:


1 0

Start 0 1
q0 q2 q1 0,1
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Minimizar la siguiente maquina secuencial
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Creamos dos clases de equivalencia, por un
lado los estados finales y por otro el resto
de estados.
Q/E1={{A,D,E},{B,C}} c1={A,D,E} y c2={B,C}
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Q/E2 = {{A,D,E},{B,C}} = Q/E1
Como no se ha producido ningún cambio,
paramos y reescribimos la tabla
nuevamente.
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
Sea a=ba*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
Ejemplo
α =01|1*
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS
EJERCICIOS DE EXPRESIONES
REGULARES Y AUTOMATAS

También podría gustarte