Está en la página 1de 14

6/3/2009

Instituto Politcnico Nacional


Centro de Investigacin en Computacin

CURSO PROPEDUTICO:
MATEMTICA DISCRETA
LENGUAJES

FORMALES,

GRAMTICAS
Sesin #2

AUTMATAS

Expresiones Regulares

Recordatorio
sesin anterior

6/3/2009

Conceptos...

Sintaxis, Semntica y Pragmtica


Relevancia de estudiar el procesamiento
simblico

Alfabeto
Cadena o Palabra
Lenguaje
Operaciones con Lenguajes
Cerradura y Cerradura Positiva
3

Ejemplo
Los numerales romanos son cadenas sobre un
alfabeto de ocho smbolos:

R I , V , X , L, C , D, M ,
Algunas cadenas correctas en el lenguaje de
los numerales romanos:
XXXVII

XL

XCIX

MCMXCIX

MCM

CIV

IV

MCDXLIV

MMIX

Observe que no cualquier cadena sobre R es


parte del lenguaje.
4

6/3/2009

sobre la Cerradura
Si es un alfabeto, es el conjunto de
todas las posibles cadenas sobre

es el lenguaje ms grande posible sobre

L es un lenguaje sobre ,
forzosamente L *

Entonces, si

El operador de cerradura tambin aplica


para lenguajes
5

Lenguajes
Regulares

6/3/2009

Presentacin
Se pueden construir usando las operaciones
de: Unin, Producto y Cerradura.
Sea un alfabeto,
DEFINICIN INDUCTIVA

Caso base: , {} y s son Lenguajes Regulares


Para todo smbolo s
Induccin:

Si L y M son dos Lenguajes Regulares,


entonces tambin lo son:

L M, LM
Cerradura:

L*

Los lenguajes regulares son nica y exclusivamente


aquellos que satisfacen los pasos anteriores.
7

Ejemplo
Sea a, b
L siguientes
Los
i i t son algunos
l
l
lenguajes
j regulares:
l
Paso base:

a
b

Paso de induccin:

a b a, b
b a, b ba, bb
*
b , b, bb, bbb,...
ba, bb a, b baa, bab, bba, bbb
8

6/3/2009

Corolario
Para saber si un lenguaje es regular o no,
basta factorizarlo usando unin, producto o
cerradura.
cerradura
Sea

L a, ab, abb, abbb,..., ab n ,...

un lenguaje sobre

a, b

es L un lenguaje
regular?
9

Solucin
a, b
L a, ab, abb, abbb,..., ab n ,...

a , b, bb, bbb,...
a b

Lo cual, por definicin, es Regular !!!

10

6/3/2009

Otro ejemplo
Sea

L , 0,1, 00,11,..., 0n ,1n ,...

un lenguaje sobre

0,1
0 1

L , 0,1, 00,11,..., 0n1n ,...


, 0, 00,..., 0n ,... ,1,11,...,1n ,...
0 1
*

Lo cual, por definicin, es Regular !!!


11

Expresiones
Regulares

6/3/2009

Qu son y para qu sirven?


Se trata de expresiones algebraicas de la forma
que presentan las cadenas de un lenguaje
regular
Operacincon
lenguajes

Expresinregular

LM

LM

LM

LM

L
L

L
L

Operacin

Prioridad

Orden

Alta

(calcular
alinicio)

Media

Baja

(calcular
alfinal)
13

Evidentemente

DEFINICIN INDUCTIVA

Caso base:
base

, y s son Expresiones Regulares


para todo smbolo s

Induccin:

Si R y S son dos expresiones regulares,


entonces tambin lo son:

L M , LM
Cerradura:

L*

Las
expresiones
regulares
son
nica
y
exclusivamente aquellos que satisfacen los pasos
anteriores.

14

6/3/2009

Expresin
Las unidades atmicas de las expresiones
regulares son los smbolos del alfabeto.
L , 00,11, 0011, 0000,1111,1100,...

Se representa mediante la expresin


regular:
*
00 11
Cero o ms ocurrencias (por la cerradura),
ya sea de doble cero, o bien (por la unin),
de doble uno"
15

Ms ejemplos
Si

0,1

, entonces

1 10
*

0 1

0 1

y todas las cadenas que comienzan


en 1 y jams presentan un doble 0.

0 1

es equivalente
q
a

odas las cadenas que terminan en


011.

011

00 0 1

Cadenas con, al menos un doble 0.


16

6/3/2009

Correspondencia
Al lenguaje descrito por una expresin
regular R se le denota (R).

P Q

P Q

PQ
P *

P Q
P*

17

Al final
Toda expresin regular denota o especifica
un lenguaje regular,
Todo lenguaje regular puede ser denotado
por una expresin regular.
Para encontrar el lenguaje que denota una
expresin
i
regular
l
se puede
d
proceder
d
desarrollando los lenguajes respectivos.

18

6/3/2009

Ejemplo
Qu lenguaje denota la expresin
Solucin:
manera:

a bc *

se puede proceder de la siguiente

a bc * a bc *

a b c *
a b c *

a, b, c

a b c *
a b , c, cc, ccc.,...
a b, bc, bcc, bccc.,...
a, b, bc, bcc, bccc,...
19

Equivalencia
Dos o ms expresiones regulares pueden
ser equivalentes si denotan exactamente
el mismo lenguaje
Considere, por ejemplo, las expresiones:

ab

ba

a b a b a, b
b a b a a, b
20

10

6/3/2009

Sin embargo
Cuidado ! Es necesario recordar
que la concatenacin, y por tanto el
producto no son conmutativos,
producto,
conmutativos as
que:
Considere ahora las expresiones:

ab

ba

ab a b ab
ba b a ba
21

Algunos ejercicios
sencillos

11

6/3/2009

Lenguaje de las expresiones


Encuentre el lenguaje denotado por las
siguientes expresiones regulares, sobre el
alfabeto

x, y

( xx yx)*

xx* yy*

( xyx)* yxx

xy ( yy* ) xy
23

Reflexin
final

12

6/3/2009

Es decir
Todo lenguaje finito es regular !!
Su expresin regular es la unin de todas las
cadenas que conforman el lenguaje.

L xx, yy, zz , ww

xx yy zz ww
Los lenguajes infinitos pueden ser regulares, o
bien, no serlo.

L a nb n n N

25

Ysi no es regular?
Las expresiones regulares slo son tiles
para denotar lenguajes
p
g j regulares,
g
,p
pero
Si un lenguaje no es regular cmo lo
denotamos?
Existe un mecanismo que permite denotar
cualquier tipo de lenguaje formal
Las GRAMTICAS
26

13

6/3/2009

Instituto Politcnico Nacional


Centro de Investigacin en Computacin

LENGUAJES

FORMALES,

GRAMTICAS

AUTMATAS

Smbolos, Cadenas y Lenguajes

14

También podría gustarte