EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS

Post on 01-Feb-2016

132 views 0 download

description

EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS. 1 .α + ( β + γ ) = ( α + β ) + γ 2 .α + β = β + α 3 .α + Ø = α 4 .α + α = α 5 .α · λ = α 6 .α · Ø = Ø 7 .α · ( β · γ ) = ( α · β ) · γ 8 .α · ( β + γ ) = αβ + αγ, ( β + γ ) · α = βα + γα. - PowerPoint PPT Presentation

Transcript of EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS

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}, entoncesL3 = {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

EjemploSea 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

EjemploSimplificar 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

EjemploSimplificar 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

EjemploA = 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

EjemploEncontrar expresiones regulares que representen los siguientes lenguajes, definidos sobre el alfabeto Σ = {a, b}.

b(a U b)*aLenguaje 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

EjemploLenguaje 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

Ejemploc+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

EjemploDar 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

EjemploSea ∑ ={a, b}, Q = {0, 1, 2}, q0 =0, F = {2}, y δ viene definida así:

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 δ

Qi/δ a b

0 1 0

1 2 0

2 2 2

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)=2Nó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 qF, 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, 3F, 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:

Autómata representado con un diagrama de transiciones:

0 1

q0 q2 q0

q1 q1 q1

q2 q2 q1

q0 q2Start

q10 1

1

0,1

0

q0 q2Start

q10 1

1

0,1

0

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