Está en la página 1de 40

Lenguajes Regulares

José L. Ramı́rez
Departamento de Matemáticas
Universidad Nacional de Colombia

Introducción a la Teorı́a de la Computación – UN


Feb - 2021
Semana 2
Tema 2

Alfabeto

r
Cadenas

Lenguajes
Tema 2

Alfabeto

Cadenas

Lenguajes
Lenguajes Regulares
O
Los lenguajes regulares sobre un alfabeto dado ⌃ son todos
los lenguajes que se pueden formar a partir de los lenguajes
básicos ;, { } , {a} , a 2 ⌃, por medio de las operaciones de
unión, concatenación y estrella de Kleene.

0000 11431L
x a3
a 3 a a
Los lenguajes regulares sobre un alfabeto dado ⌃ son todos
los lenguajes que se pueden formar a partir de los lenguajes
básicos ;, { } , {a} , a 2 ⌃, por medio de las operaciones de
unión, concatenación y estrella de Kleene.

Recursivamente:
Sea ⌃ un alfabeto:
1. ;, { } , {a}, para todo a 2 ⌃, son lenguajes regulares sobre ⌃.
Estos se denominan lenguajes regulares básicos.
2. Si A y B son lenguajes regulares sobre ⌃, también lo son
A [ B Unión
AB Concatenación
A⇤ estrella de Kleene
Ejemplo
Sea ⌃ = {0, 1}. El siguiente es un lenguaje regular sobre ⌃:
I El lenguaje A de todas las cadenas que tienen exactamente un
0.

A 3O ol 10 011,101 110 4

A 314 304 314

del
A Exp Regular bugeye
A
7144304.314 1 140 It
Ejemplo
Sea ⌃ = {0, 1}. El siguiente es un lenguaje regular sobre ⌃:
I El lenguaje de todas las cadenas binarias:

7
ioynI coff
4904031491
qq.by
Me
3atimarbinhalist anbn
ee
I
Ejemplo
Sea ⌃ = {0, 1}. El siguiente es un lenguaje regular sobre ⌃:
I El lenguaje B de todas las cadenas que tienen un número
impar de sı́mbolos:

L 20,14 Chatham T
lout pout
001 Oovolvlovy
00001010011ft OVI

B 20 3o
Tito m
half 300,01 10,114
ETTY
Ejemplo 201
91 314
Sea ⌃ = {a, b, c}. El siguiente es un lenguaje regular sobre ⌃:
I El lenguaje C de todas las cadenas que comienzan con a y
terminan con b:

b ch't Hot 17 3 4
c ray na
a

la.laubvcf.by
Ejemplo
Sea el alfabeto latino: ⌃ = {a, b, c, . . . , w, y, z}, |⌃| = 26. El
siguiente es un lenguaje regular sobre ⌃:

I El lenguaje C de todas las cadenas que contienen


la subpalabra ajua:

I ya1h j y yuh 3 aY Tt
I ajua I
X
aubv
au buc.u.ua
v z
ajua
Ejemplo
Todo lenguaje finito es regular.
WI U Wz U Uwm
I
hut wz pwn
u3wn4

Si Wea Uz ad
4 3973924
344
3W
Expresiones Regulares

1. Expresiones regulares básicas:

8O
; es una expresión regular que representa al lenguaje ;.

8
O
es una expresión regular que representa al lenguaje { }.
a es una expresión regular que representa al lenguaje {a} ,
para todo a 2 ⌃.
2. Si R y S son expresiones regulares sobre ⌃, también lo son
(R [ S)
(R) (S)
(R)⇤
Expresiones Regulares

1. Expresiones regulares básicas:


; es una expresión regular que representa al lenguaje ;.
es una expresión regular que representa al lenguaje { }.
a es una expresión regular que representa al lenguaje {a} ,
para todo a 2 ⌃.
2. Si R y S son expresiones regulares sobre ⌃, también lo son
(R [ S)
(R) (S)
(R)⇤

O
L[R] := lenguaje representado por R.
Ejemplo
⌃ = {a, b, c}

M
(a [ c⇤ )c⇤ (bc)⇤

244 about
Ejemplo
I El lenguaje A de todas las cadenas que tienen exactamente un
0:
A = 1⇤ 01⇤
I El lenguaje B de todas las cadenas que tienen un número
impar de sı́mbolos:

B = [(0 [ 1) (0 [ 1)]⇤ (0 [ 1)
¡Ejemplos!
Ejemplo
Encontrar una expresión regular para el lenguaje de todas las
cadenas que comienzan con 2 y terminan con 1, definidas sobre el
alfabeto ⌃ = {0, 1, 2}.
t
2 Oulu 2 I
Ejemplo
Encontrar una expresión regular para el lenguaje de todas las
cadenas de longitud impar sobre el alfabeto ⌃ = {a, b}.

laub aub I
ab v ba vbbI't
aa v
Ejemplo
Encontrar una expresión regular para el lenguaje de todas las
cadenas que tienen un número par de aes, definidas sobre el
alfabeto ⌃ = {a, b}.

a.b ay laygbftaltlaubdtn.ua
yaa
FAM bbataaaab

fa.aubjtaba
FAU I.ca
aIfH
Ejemplo
Encontrar una expresión regular para el lenguaje de todas las
cadenas binarias que tienen exactamente tres unos

not o't it to
FAI
µ
n a

O
Ejemplo
Encontrar una expresión regular para el lenguaje de todas las
O
cadenas que tienen por lo menos un 0 y por lo menos un 1,
definidas sobre el alfabeto ⌃ = {0, 1}.

10011
lout f 1 Lovitt
O
FATSO tumour

iom o

i
Ejemplo w
Encontrar una expresión regular para el lenguaje de todas las
cadenas que no tienen la subcadena 00, definidas sobre el alfabeto
⌃ = {0, 1}.

Fatso M O
h't ut U It

H tI
A
y U0fALso

T.io
Ejemplo
Sea 80 1 0 1 0 1 0 19
< 0 0 0 1 =
⌃3 = @0A , @0A , @1A , . . . , @1A
: ;
0 1 0 1
⌃3 contiene todas las matrices columna de tamaño 3 formadas por
ceros y unos. Una palabra de sı́mbolos en ⌃3 esta formada por tres
filas de 0s y 1s. Considere cada fila como un número binario y sea:

B = {w 2 ⌃⇤3 : la última fila de w es igual a la suma de las dos primeras


Ejemplo
Sea 80 1 0 1 0 1 0 19
< 0 0 0 1 =
⌃3 = @0A , @0A , @1A , . . . , @1A
: ;
0 1 0 1
⌃3 contiene todas las matrices columna de tamaño 3 formadas por
ceros y unos. Una palabra de sı́mbolos en ⌃3 esta formada por tres
filas de 0s y 1s. Considere cada fila como un número binario y sea:

B = {w 2 ⌃⇤3 : la última fila de w es igual a la suma de las dos primeras

Por ejemplo:
0 10 10 1 0 10 1
0 0 1 0 1
@0A @1A @1A 2 B pero @0A @0A 2
/B
1 0 0 1 1
Ejemplo
Muestre que B es regular.
Ejemplo
Muestre que B es regular.

Observaciones:
I La concatenación de dos cadenas que pertenecen a B también
está en B.
I El problema se reduce a analizar las cadenas más pequeñas del
lenguaje.
El primer sı́mbolo de la izquierda tiene sólo las siguientes opciones:
0 1 0 1 0 1 0 1
0 0 1 0
@0A , @1AM, @0A , @0A .
0 1 1 1

I
El primer sı́mbolo de la izquierda tiene sólo las siguientes opciones:
0 1 0 1 0 1 0 1
0 0 1 0
@0A , @1A , @0A , @0A .
0 1 1 1

I En los tres primeros casos, estos sı́mbolos pertenecen al


lenguaje y son las cadenas más pequeñas de longitud 1.
El primer sı́mbolo de la izquierda tiene sólo las siguientes opciones:
0 1 0 1 0 1 0 1
0 0 1 0
@0A , @1A , @0A , @0A .
0 1 1 1

I En los tres primeros casos, estos sı́mbolos pertenecen al


lenguaje y son las cadenas más pequeñas de longitud 1.
I El cuarto sı́mbolo no pertenece al lenguaje, ası́ que debe estar
acompañado de más sı́mbolos. En este caso el primer sı́mbolo
de la derecha debe ser:
El primer sı́mbolo de la izquierda tiene sólo las siguientes opciones:
0 1 0 1 0 1 0 1
0 0 1 0
@0A , @1A , @0A , @0A .
0 1 1 1

I En los tres primeros casos, estos sı́mbolos pertenecen al


lenguaje y son las cadenas más pequeñas de longitud 1.
I El cuarto sı́mbolo no pertenece al lenguaje, ası́ que debe estar
acompañado de más sı́mbolos. En este caso el primer sı́mbolo
de la derecha debe ser:
El primer sı́mbolo de la izquierda tiene sólo las siguientes opciones:
0 1 0 1 0 1 0 1
0 0 1 0
@0A , @1A , @0A , @0A .
0 1 1 1

I En los tres primeros casos, estos sı́mbolos pertenecen al


lenguaje y son las cadenas más pequeñas de longitud 1.
I El cuarto sı́mbolo no pertenece al lenguaje, ası́ que debe estar
acompañado de más sı́mbolos. En este caso el primer sı́mbolo
de la derecha debe ser:
0 1
1
@1A
0
I el segundo sı́mbolo de derecha a izquierda tiene cuatro
opciones:
I el segundo sı́mbolo de derecha a izquierda tiene cuatro
opciones:
I el segundo sı́mbolo de derecha a izquierda tiene cuatro
opciones:
0 1 0 1 0 1 0 1
0 0 1 1
@0A , @1A , @0A , @1A .
1 0 0 1

I Si el segundo sı́mbolo de derecha a izquierda es el primer


caso, entonces esta cadena pertenece al lenguaje, y por lo
tanto es la cadena más pequeña de longitud 2. En los otros
tres casos, debe existir un tercer sı́mbolo de derecha a
izquierda y tiene las mismas cuatro opciones.
Ası́ este lenguaje puede ser representado como:
20 1 0 1 0 1 0 1 20 1 0 1 0 13⇤ 0 13⇤
0 0 1 0 0 1 1 1
4@0A [ @1A [ @0A [ @0A 4@1A [ @0A [ @1A5 @1A5
0 1 1 1 0 0 1 0
0
l
I

O Ca e

39hr44

o
tht 10
OF
O e
O
o

to 0
Iwtt udt.com
a cL3 com
a_9 e23
com
xIt u_ual.com
Próxima Sesión:
Autómatas Finitos.

También podría gustarte