Sei sulla pagina 1di 12

ALFABETOS Y LENGUAJES

Curso de
Teora del Autmata
Contenido
Alfabetos, palabras y lenguajes
Operaciones con cadenas
Operaciones con lenguajes
Alfabetos, palabras y lenguajes
Un alfabeto es un conjunto no vaco y finito de smbolos. Si
E es un alfabeto, o e E denota un smbolo deE.
Una palabra es una secuencia finita de smbolos de un
determinado alfabeto. A menudo se le llama cadena. La
cadena vaca, denotada por c, es una palabra sobre cualquier
alfabeto.
Un lenguaje es un conjunto de palabras definidas sobre un
alfabeto. El lenguaje compuesto por ninguna cadena se
denomina lenguaje vaco, y se denota por |.
El lenguaje compuesto por todas las cadenas de un alfabeto E
se le llama cerradura de E o lenguaje universal sobre E y se
denota por E
*
.
Operaciones con cadenas
La concatenacin de dos cadenas w con z es la cadena que se
obtiene al aadir a la cadena w la cadena z. Se denota por wz o
w z.
La potencia de una palabra w sobre un alfabeto se define para n
e N como:
w
n
ww n
n
n
=


c,
,
si = 0
si > 0
1
Operaciones con cadenas
Se dice que dos cadenas w y z son iguales si tienen la misma
longitud y los mismos smbolos en las mismas posiciones.
La igualdad se denota por w = z.
La nociones de prefijo y sufijo tienen los significados
habituales.
El prefijo propio es aquel que no es igual a la cadena original.
La cadena vaca c es prefijo de cualquier cadena.
Operaciones con cadenas
Una cadena w es una subcadena u subpalabra de una cadena
z si existen las cadenas x e y para las cuales z = xwy.
La inversa o traspuesta de una palabra w es la imagen refleja
de w. La definicin ms precisa de inversa es:
w
w w
y a w=ay a y
I
I
=
e e

,
,
*
si =
si por tanto y
c
E E
En general, (x
I
)
I
= x.
Operaciones con lenguajes
La concatenacin de dos lenguajes A y B se define como A B
= {w x | w e A y x e B}.
Sea A un lenguaje sobre un alfabeto E. Definimos la potencia
de la siguiente manera
{ }
A
n
A A n
n
n
=
=
>


c ,
,
si
si
0
1
1
Operaciones con lenguajes
La unin e interseccin se definen de manera similar a como
se hace con conjuntos.
Si A y B son lenguajes sobre un alfabeto E y todas las cadenas
de A pertenecen a B, entonces A es un sublenguaje de B.
Dos lenguajes son iguales si contienen las mismas cadenas.
Operaciones con lenguajes
Teorema 1. Sean A y B dos lenguajes sobre un alfabeto E. A
= B, si y solo si A _ B y B _ A.
Teorema 2. Dados los lenguajes A, B y C un alfabeto E. Se
cumple que:
1. A (B C) = A B A C.
2. (B C) A = B A C A.
La concatenacin no es distributiva con respecto a la
interseccin. Por ejemplo A = {a, c}, B = {c} y C = {a},
entonces A B = {a, c} y A C = {a
2
, a}, por tanto A B A
C = {a}. Por otro lado B C = C, con lo que A (B C) =
C.
Operaciones con lenguajes
La cerradura de Kleene o cerradura estrella sobre algn
alfabeto E, se define como . La cerradura
positiva se define como .
Se tiene los siguientes resultados.
Si A es un lenguaje sobre E, entonces A
n
_ E
-
, para todo n =
0, 1, 2, 3, y por tanto A
*
_ E
-
y A
+
_ E
+
. Y tambin A
+
_
A
-
.
Finalmente C
n
= {c} y C
0
= C para todo n, entonces C
*
= {c}
y C
+
= C.
A A
n
n
*
=
=

A A
n
n
+
=

=
1

Operaciones con lenguajes


Definimos la diferencia de dos lenguajes A y B como A B =
{x | x e A y x e B}.
El complemento de un lenguaje A sobre un alfabeto E se
define como
Teorema 3. A
+
= A A
*
= A
-
A
Demostracin. Sea x e A
+
para un k
0
> 1,
se sigue que . Como
y por tanto
A A = E
*
x A
n
n
e
=

x A
k
e
0
A A A
k k
0 0
1
=

x A A
k
e

0
1
( ) x A A A A A A
n
n
n
n
e = =
=

0 0

*
Esto prueba que A
+
_ A A
-
.
La otra parte es muy similar.
Operaciones con lenguajes
El inverso de un lenguaje A es A
I
= {x
I
| x e A}
Teorema 4. (A B)
I
= B
I
A
I
.
Demostracin. Sea x e (AB)
I
x
I
e AB con lo que x
I
= yz
para y e A y z e B. Por tanto x = (yz)
I
= z
I
y
I
. Pero y
I
e A
I
y
z
I
e B
I
, por lo que x
I
e A
I
B
I
, lo cual prueba que (A B)
I
_ B
I

A
I
. A la inversa, si x
I
e A
I
B
I
, con lo que x = uw para u e B
I
y
w e A
I
. Entonces x = w
I
u
I
eAB, con lo que x
I
e AB y x e
(AB)
I
, por tanto que B
I
A
I
_ (A B)
I
.

Potrebbero piacerti anche