Teoría de Autómatas y Lenguajes Formales

Anuncio
Máquinas Secuenciales, Autómatas y
Lenguajes
Tema 4: “Expresiones Regulares”
Luis Peña
Sumario
Tema 4: “Expresiones Regulares”.

1.
2.
Concepto de Expresión Regular
Teoremas de Equivalencia
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
2
Sumario
Tema 4: “Expresiones Regulares”.

1.
2.
Concepto de Expresión Regular
Teoremas de Equivalencia
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
3
Concepto de Expresión Regular

El objetivo de las Expresiones Regulares es
representar todos los posibles lenguajes definidos
sobre un alfabeto Σ. Para ello se utilizan:


Lenguajes primitivos: Lenguaje vacío, el lenguaje con la palabra
vacía, y los lenguajes con los símbolos del alfabeto.
Operadores de composición: unión, concatenación, el cierre y
los paréntesis.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
4
Concepto de Expresión Regular (definición)

Definición 1 (ER)

Dado un alfabeto , una expresión regular sobre  se
define de forma recursiva:
1.
ER primitivas:

2.
Si α y β son ER, entonces son también ER:

3.
, , {a | a  }
α + β (unión), α β (concatenación), α* (cierre), (α).
No existen otras reglas para la construcción de ER sobre .
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
5
Concepto de Expresión Regular (definición)

Precedencia de operadores:


(), * (cierre), contatenación, + (unión).
Ejemplos:




(0+1) * 01
(aa + ab + ba + bb) *
a *(a+b)
(aa) *(bb)*b
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
6
Concepto de ER (lenguaje reconocido)
Definición 3 (Lenguaje reconocido por una
ER)


L(r), lenguaje reconocido por una ER r (def. recursiva):

Casos básicos:




Si r = , L() = 
Si r = , L() = {}
Si a, a  , L(a) = {a}
Casos recursivos (α y β son ER):




Si r=α+β, L(α+β)=L(α) U L(β)
Si r=αβ, L(αβ)=L(α)L(β)
Si r=α*, L(α*)= L(α)*
Si r=(α), L((α))=L(α)
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
7
Concepto de ER (lenguaje reconocido)

Ejemplos:

¿Qué palabras aceptan las siguientes ER?







(0+1)* 01
a*(b+c)
0* 10*
(a+b+c+…+z)*(a+b)*
a*(a+b)c*
¿ER para el lenguaje L = {w  {a,b}* | na(w)+nb(w) es par}?
¿ER para el lenguaje L = {w  {a,b,c}* | w tiene un nº par
de a’s}?
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
8
Propiedades de ER

Definición 4 (equivalencia de ER):

Dos expresiones regulares, r1 y r2, se dicen
equivalentes, r1 = r1, si describen el mismo lenguaje
(L(r1) = L(r1)).
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
9
Propiedades de ER

Propiedades (de la equivalencia de ER):

Asociativa:



Conmutativa:


α+β=β+α
Distributiva:



α + (β + μ) = (α + β) + μ
α (β μ) = (α β) μ
α (β + μ) = α β + α μ
(α + β) μ = α μ + β μ
Elemento neutro:


α=α
α + = α
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
10
Propiedades de ER

Propiedades (de la equivalencia de ER):









α= 
Si   L(α), entonces α += α
α* =  + α α*
* = 
*=
α* α*= α*
α α* = α* α
(α* + β*)* = (α*β*)* = (α + β)* = (α*β)*α*
(αβ)*α = α(βα)*
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
11
Propiedades de ER

Propiedades (de la equivalencia de ER):

Para demostrar la equivalencia de dos expresiones se
transforman ambas, utilizando las propiedades, en una
misma expresión.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
12
Propiedades de ER

Ejemplos:
((c+ba)*a*)* y ((c+ba)+a)*
¿Son equivalentes?

(bc + ac*ac + ac*c + a) y (b + ac*a)c + ac*
¿Son equivalentes?

Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
13
Propiedades de ER

Propiedades (de la equivalencia de ER):

Observación 5: Mediante el método anterior no es
posible demostrar que dos expresiones no son
equivalentes.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
14
Sumario
Tema 4: “Expresiones Regulares”.

1.
2.
Concepto de Expresión Regular
Teoremas de Equivalencia
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
15
Teoremas de Equivalencia

Mediante expresiones regulares se puede
representar cualquier lenguaje regular.

Representación de lenguajes regulares:





Gramáticas lineales por la izquierda
Gramáticas lineales por la derecha
AFD
AFND
Estudiaremos los algoritmos para pasar de ER
a y desde otras representaciones.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
16
Teoremas de Equivalencia
Definición 6 (Ecuación Característica):

Sea A=({q0,q1,…,qn},,f’,q0,F) un AFD. La ecuación
característica para el estado qi es:

Xi = bjXj + bkXk+ … +bwXw + ai



bkXk en la ecuación si y sólo si hay una
transición de qi a qk para el símbolo bk.
ai =  si qi F
ai =  si qi F
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
17
Teoremas de Equivalencia
Observación 7 (Ecuación Característica):




Se pueden construir las ecuaciones características
para AFD y AFND.
Xi es una ER (con variables) para las cadenas que
llevan del estado qi a un estado final.
L(Xo) = L(A)
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
18
Teoremas de Equivalencia

Ejemplo:
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
19
Teoremas de Equivalencia

Ejemplos:

Sea el siguiente AFD A=({p,r,q,s,t},{0,1},f,p,{s,t}) con f
definido por el siguiente grafo de transición:

Obtener las ecuaciones características.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
20
Teoremas de Equivalencia
Lema 8 (Ecuación Característica):


Sea X una variable, α y β expresiones regulares:
X = αX + β, L(α) entonces X= α*β
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
21
Teoremas de Equivalencia
Teorema 9:


Dado el AF A=(Q,,f,q0,F), existe una ER α tal que
L(α) = L(A).
Demostración:




Podemos suponer que el autómata no tiene
transiciones  para estar en las hipótesis del lema 8.
Podemos resolver sucesivamente las ecuaciones
características.
La ER α que corresponde con Xo es la que buscamos.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
22
Teoremas de Equivalencia

¿Qué hacemos con las transiciones  ?


O se obtiene un autómata donde los estados son las
clausuras de los estados originales respecto a .
O se obtiene el AFD equivalente.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
23
Teoremas de Equivalencia

Ejemplos:

Sea el siguiente AFD A=({p,r,q,s,t},{0,1},f,p,{s,t}) con f
definido por el siguiente grafo de transición:

Obtener la ER equivalente.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
24
Teoremas de Equivalencia

Ejemplos:

Sea el siguiente AFND A=({p,q,r,s,t,u},{a},f,p,{s,u}) con f
definido por el siguiente grafo de transición:

Obtener la ER equivalente.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
25
Teoremas de Equivalencia
Equivalencia entre ER y AFND:



Método de las derivadas para obtener una gramática
regular (y conversión en AFND).
Método de composición de autómatas.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
26
Teoremas de Equivalencia
Teorema 11 (AFND equivalente a una ER):


Dada una ER α sobre un alfabeto  existe un
AFND A tal que L(α) = L(A).
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
27
Teoremas de Equivalencia
Demostración Teorema 11


Inducción estructural.
α =
α=
α = β1 +β2
α =a
α = β1 β2
α = β*
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
28
Teoremas de Equivalencia

Ejemplos:

Obten los AFND correspondientes a:


α = (1+01)*(0+ )
α = aa*bb*
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
29
Teoremas de Equivalencia
Corolario 12


Las clases de los lenguajes generados por
Gramáticas Regulares, aceptados por AF y por ER
son equivalentes.
Universidad Rey Juan Carlos
Máquinas Secuenciales, Autómatas y Lenguajes
Curso 2012-2013
30
Descargar