Você está na página 1de 5

CLASE 2 - OPERACIONES CON CADENAS

Potencias de una cadena sobre un alfabeto



Vamos a introducir la nocin de potencia de una palabra sobre un alfabeto. Sea w una palabra;
para n se define

w
n
=





Por tanto si w = 122 sobre el alfabeto = { 1, 2 }, se tiene

w
0
=
w
1
= 122
w
2
= 122122
w
3
= 122122122

y as sucesivamente. Se dice que w
i
es la potencia i-sima de w.

Igualdad de cadenas

Si w y z son cadenas, se dice que w es igual a z si tienen la misma longitud y los mismos smbolos
en la misma posicin. Se denota por w = z.

Prefijos

S i w y x son cadenas, se dice que x es prefijo de w, si para alguna cadena y se obtiene que w =
xy.

Por ejemplo, si w es la cadena 121, entonces la cadena x = 12 es un prefijo de w y por lo tanto y
= 1.

Si se considera y = , entonces para w = xy se tiene que w = x, con lo que toda palabra puede
considerarse prefijo de s misma.

Prefijo Propio

Son aquellas cadenas que son prefijos de una palabra pero no iguales a la misma. Por eso x =
121 es un prefijo de la cadena w = 121, pero no es un prefijo propio de w. Finalmente hay que
tener en cuenta que la palabra vaca es prefijo de cualquier palabra.


Subcadena

Una cadena w es una subcadena de otra cadena z si existen las cadenas x e y para las cuales z =
xwy.


Inversa o Transpuesta de una cadena

La inversa o transpuesta de una cadena w es la imagen refleja de w. Por ejemplo, si w = able
entonces su inversa es elba. Para denotar la inversa de w se usa w
I

w
I
=




Supongamos que x = able. Si se sigue la definicin anterior para calcular w
I
se tiene:

x
I
= (able)
I
= (ble)
I
a
= (le)
I
ba
= (e)
I
lba
= ()
I
elba
= elba
= elba

La inversa de deshace a s misma, obsrvese que:

((abcd)
I
)
I
= (dcba)
I

= abcd

En general, (x
I
)
I
= x.


OPERACIONES CON LENGUAJES

Concatenacin

A B = {wx | w A y x B}

Por tanto, A B est formado por todas las cadenas que se forman concatenando cada cadena
de A con todas las cadenas de B.

Por ejemplo, si A = {casa} y B = {pjaro, perro), entonces A B sera el lenguaje {casapjaro,
casaperro).

Obsrvese que para formar el lenguaje concatenacin A B no es necesario que A y B sean
lenguajes sobre el mismo alfabeto. Si A es un lenguaje sobre
1
y B es un lenguaje sobre
2
,
entonces A B es un lenguaje sobre
1

2
. Se suele escribir AB en lugar de A B, cuando la
expresin resulta ambigua.

Dado que para toda cadena x, x = x = x, se obtiene que para cualquier lenguaje A, A { }
= { } A = A.


Potencia de Lenguajes

Sea A un lenguaje sobre el alfabeto
2
.

Definimos:

A
n
=







Por tanto, si A = {ab} sobre el alfabeto ingls, se obtiene que

A
0
= {}
A
1
= A = {ab}
A
2
= A A
1
= {abab}
A
3
= A A
2
= {ababab}


Unin de lenguajes

Si A y B son lenguajes sobre el alfabeto , entonces la unin de A y B se denota mediante A B y
est formada por todas las palabras que pertenecen al menos a uno de los dos lenguajes. Por
tanto,

A B = {x | x A o x B}


Interseccin de Lenguajes

Luego, A B est formado slo por las palabras que pertenecen a los lenguajes A y B a la vez.

A B = { x | x A y x B simultneamente }

Ejemplo:

Consideremos el alfabeto = {0, 1} y los lenguajes A = {, 0, 1, 10, 11} y B = {, 1, 0110, 11010}.
Entonces

A B = {, 0, 1, 10, 11, 0110, 11010}

y

A B = {, 1}


Sublenguajes

Si A y B son lenguajes sobre un alfabeto y si todas las cadenas de A son tambin cadenas de B,
entonces se dice que A es un sublenguaje de B. Dado que esto se corresponde exactamente con
el concepto de subconjunto visto en la teora de lenguajes, A B denota que A es un
sublenguaje de B.

Ejemplo:

Para los lenguajes A = {a, aa, aaa, aaaa, aaaaa} y B = {a
n
| n = 0, 1,2,...}, se tiene que A B.

Obsrvese que cualquier lenguaje L sobre el alfabeto es un sublenguaje de *, es decir. L
*
.

Igualdad de Lenguajes

Se dice que dos lenguajes A y B son iguales si contienen exactamente las mismas cadenas, es
decir, son conjuntos iguales. Se denota con A = B.

Teoremas de Lenguajes

1. Sean A y B dos lenguajes sobre el alfabeto . Entonces A = B si y slo si A B y B A.
2. Dados los lenguajes A, B y C sobre un alfabeto , se cumple que:
a. A ( B C) = A B A C
b. (B C) A = B A C A


Cerradura de Kleene (L
*
)

Si A es un lenguaje sobre algn alfabeto , se define la cerradura de Kleene o cerradura de
estrella de un lenguaje A como

A
*
=



Es un smbolo unitario. Las cadenas de la cerradura de Kleene se forman al realizar cero o ms
concatenaciones de las cadenas del lenguaje


Cerradura Positiva (L
+
)

Definiremos tambin la cerradura positiva de A como

A
+
=



Es un smbolo unitario. Las cadenas de la cerradura positiva se forman al realizar una o ms
concatenaciones de las cadenas de un lenguaje


Diferencia de Lenguajes

Si A y B son lenguajes sobre , definiremos la diferencia como

A B = { x | x A y x B }


Complemento de un Lenguaje

Definimos el complemento de un lenguaje A sobre el alfabeto como:

=
*
- A

Inverso o transpuesta de un Lenguaje

Se puede desarrollar la idea de inverso o transpuesta de un lenguaje. El inverso de un lenguaje A
es

A
I
= { x
I
| x A}

Por ejemplo si A = {dog, bog}, entonces A
I
= {god, gob}.

Obsrvese que si se vuelve a realizar el inverso del inverso de todas las palabras de un lenguaje,
entonces se obtiene, de nuevo, el lenguaje original. Por tanto, (A
I
)
I
= A.

Você também pode gostar