Anda di halaman 1dari 32

INF-252 Lenguajes de Programacin

Profesor Nelson Guerra Alvarez


INF-252 Page 1

Apunte 2
Teora de conjuntos Alfabetos, palabras y lenguajes formales

INF-252

Page 2

TEORIA DE CONJUNTOS

INF-252

Page 3

Teora de conjuntos
Para poder entender la notacin de los autmatas, primero debemos entender de buena forma la teora de conjuntos. DEFINICION: Un conjunto es una coleccin de objetos. Por ejemplo, la coleccin de las letras vocales forman un conjunto que podemos notar como V={a, e, i, o, u}. Los objetos que forman parte del conjunto se llaman elementos. Por ejemplo, a es un elemento de V y se escribe a V; por otra parte podemos decir que z V. Un conjunto se puede especificar enumerando sus elementos entre llaves y separados por comas, esto es lo que se llama definicin por extensin. Pero a veces no es posible hacerlo porque el conjunto es infinito y entonces se usa una definicin por comprensin, es decir, asiendo referencia a otros conjuntos y a propiedades que los elementos puedan tener
INF-252 Page 4

Teora de conjuntos
De forma general los conjuntos se definen: B= { x AP x } Hay un conjunto que no tiene ningn elemento, el cual se llama conjunto vaco y lo notaremos por . Un conjunto A es subconjunto de B, A B , si cada elemento de A es un elemento de B. Tambin podemos decir que B es un sper conjunto de A, B A Se dice que los conjuntos A y B son iguales, si tienen exactamente los mismos elementos. Esto es, A = B si y solo si A B,B A . Si A es subconjunto de B pero A no es igual a B se dice que A es un subconjunto propio de B y se denota como A B Es obvio que A para cualquier conjunto A
INF-252 Page 5

Teora de conjuntos Operaciones sobre conjuntos


Unin

A B , la union de A con B, es { x x A xB }
A B, la interseccin de A con B es { x x A x B }

Interseccin

Diferencia

A B, la diferencia de A Y B es { x x A x B }
AxB, el producto cartesiano de A con B es { a,b a A b B }

Producto

Potencia 2A, el conjunto potencia de A, es el conjunto formado por todos los subconjuntos de A.
INF-252 Page 6

Teora de conjuntos Operaciones sobre conjuntos Ejemplo Sea A={1,2} y B={2,3}

AB= {1,2,3 } AB= {2 } AB= {1 } AxB= {1,2,1,3 ,2,2 , 2,3 } A 2 = { , {1 } , {2 } , {1,2 } }


Notese que si A y B tienen n y m elementos respectivamente, entonces AxB tiene n*m elementos, y 2 tiene 2n elementos

INF-252

Page 7

Teora de conjuntos Propiedades de conjuntos


Algunas de la propiedades de la operaciones anteriores se pueden deducir fcilmente a partir de sus definiciones. Idempotencia

A A=A

A A=A

Conmutatividad Asociatividad

A B=B A

; AB=B A

Distributividad

A BC = A B C A BC = A B C

A BC = A B A C A BC = A B A C
INF-252 Page 8

Teora de conjuntos Propiedades de conjuntos Absorcin

A A B =A
Leyes de Morgan

; A AB =A

A B= A B A B= A B

INF-252

Page 9

Relaciones
Definicin Una relacin es un conjunto de elementos, que son en esencia combinaciones de objetos de un determinado tipo que estn relacionados de alguna forma. Llamamos par ordenado a una pareja de objetos escritos entre parntesis y separados por comas. Por ejemplo, (a,b) es un par ordenado y a,b son los componentes del par ordenado. NO ES LO MISMO (a, b) que {a,b} por varios motivos. - El orden influye. No es lo mismo (a,b) que (b,a), sin embargo {a, b}={b, a} - Los dos componentes de un par ordenado no tiene por que ser distintos; por ejemplo, (2, 2) es un par valido. Como dijimos anteriormente, el producto cartesiano AxB, es el conjunto de todos los pares ordenados (a, b) donde Ejemplo Dados los conjuntos {1, 3, 9} y {b, c, d}, el producto cartesiano es, {1,3,9}x {b,c,d} = {(1, b), (1, c), (1, d), (3, b), (3, c), (3, d), (9, b), (9, c), (9, d)}
INF-252 Page 10

Relaciones
Sea n un numero natural, entonces (a1, a2, a3, , an) es una n-tupla ordenada. Para cada i {1, , n}, ai es la i-sima componente de la ntupla. Dos n-tuplas (b1, b2, , bn) y (a1, a2, , am) son iguales si y solo si n=m y ai=bi para todo i {1, , n}. Si A1, , An son conjuntos
n

cualesquiera , el producto cartesiano de todos ellos, A 1 x .. . x A n es el conjunto , de todas las n-tuplas (a1, , an) con ai {1, , n}. En el caso
n

de que todos los Ai sean iguales, el producto cartesiano A A se puede x .. . x escribir como An. Una relacion n-aria entre los conjuntos A1, ,
n

An es un subconjunto del producto cartesiano A 1 A n x .. . x

INF-252

Page 11

Relaciones Relacion binaria Una relacin binaria es un conjunto de pares. El primer componente de cada par se toma de una conjunto llamado Dominio, y el segundo componente de cada par pertenece a un conjunto llamado Codominio. En un principio solo se utilizara relaciones en las que el dominio y el codominio son el mismo conjunto S. En este caso diremos que la relacin es sobre S. Si R es una relacin y (a, b) es un par en R, entonces se escribir aRb

INF-252

Page 12

Relaciones Propiedades de las relaciones Decimos que una relacin R sobre S es Reflexiva si aRa para toda a en S. Irreflexiva si aRa es falsa para toda a en S. Transitiva si aRb y bRc implica aRc Simtrica si aRb implica bRa Asimtrica si aRb implica que bRa es falsa. Ejemplo La relacin < sobre el conjunto de los enteros es transitiva por que a<b y b<c implica que a<c. Es asimtrica y por tanto irreflexiva por que a<b implica que b<a es falsa.

INF-252

Page 13

Relaciones Relaciones de equivalencia Se dice que una relacin R que es reflexiva, simtrica y transitiva es una relacin de equivalencia. Una propiedad importante de una relacin de equivalencia R sobre un conjunto S es que R divide a S en clases de equivalencia no vacas disjuntas. Lo anterior significa que S = S1 U S2 U S3 U , en donde para cada i y j, i j: Si Sj = Para cada a y b en Si, aRb es verdadera. Para cada a y b en Sj, aRb es falsa

INF-252

Page 14

Relaciones Clausura
Supongamos que P es un conjunto de propiedades sobre relaciones. La P-clausura de la relacion es la relacion mas pequea R que incluye todos los pares ordenados de R y cumple las propiedades de P. Por ejemplo, la clausura transitiva de R, que notaremos R+ se define de la siguiente manera: Si (a, b) esta en R, entonces (a, b) esta en R+. Si (a, b) esta en R+ y (b, c) esta en R, entonces (a, c) esta en R+. No hay nada en R+ a menos que se haya obtenido de los incisos 1 y 2. La clausura reflexiva y transitiva de R, que denotaremos R*, se define: R* = R+ U {(a, a) | a A}

INF-252

Page 15

Relaciones
Ejemplo Sea R = {(1, 2), (2, 2), (2, 3)} una relacin sobre el conjunto {1, 2, 3}. Entonces tenemos que. R+ = {(1, 2), (2, 2), (2, 3), (1, 3)} R* = {(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)}

INF-252

Page 16

ALFABETOS, PALABRAS Y LENGUAJES FORMALES

INF-252

Page 17

Alfabetos y palabras
Definicin Un alfabeto es un conjunto finito y no vaco de elementos llamados smbolos o letras. Una palabra o cadena sobre un alfabeto V es una cadena finita de smbolos del alfabeto. La longitud de una cadena w, que notaremos como |w|, es el nmero de letras que aparecen en w. A la cadena que no tiene smbolos, o lo que es lo mismo, que tiene longitud 0, la llamaremos palabra vaca y se nota por (o tambin segn los autores). Si V es un alfabeto, llamaremos Vn al conjunto de todas las palabras de longitud n sobre V . Un elemento de Vn sera una cadena del tipo a1, a2, , an donde cada ai V . Llamaremos V0 al conjunto cuyo nico elemento es la palabra vaca, es decir, V0 = {}. El conjunto de todas las cadenas de cualquier longitud sobre V es V* El conjunto de todas las cadenas sobre el alfabeto V excepto la cadena vacia es V+ Resumen

V = U Vn n=1
.

V = U Vn n= 0
*.
INF-252 Page 18

Alfabetos y palabras Concatenacion de palabras La operacin de concatenacin, que notaremos , es una operacin binaria entre palabras sobre un alfabeto V, esto es: V* x V* V* De forma que si tenemos dos palabras x, y V* donde x = a1a2 an, y = b1b2 bm entonces, x concatenado con y sera una palabra w V* con |w| = |x| + |y|, de forma que: w = xy = a1a2 anb1b2 bm

INF-252

Page 19

Alfabetos y palabras Propiedades de la concatenacion Algunas propiedades de la concatenacin son: Operacin cerrada x,y V *: xy V Propiedad asociativa Elemento neutro

x,y V *: x yz = xy z

xV *: x=x=x

Existe una ley de cancelacin izquierda y derecha que especifica lo sgte. Dado x,y,zV se cumple que:

xy=xz y=z
INF-252

yx=zx y=z
Page 20

Alfabetos y palabras Propiedades de la concatenacion


Decimos que una cadena z es subcadena de otra cadena w si existen cadenas x, y V* tal que w = xyz Vamos a ver dos conjuntos especiales de subcadenas:

Pr efijow = { xVzV *:w=xz } Subijow = { xVzV *:w=zx }

Diremos que x es un prefijo de w si x Prefijo(w) y ser un prefijo propio si x w. Por otra parte, diremos que x es un subfijo de w si x Subfijo(w) y ser un sufijo propio si x w. Ejemplo Si w= abab es una palabra sobre el alfabeto {a, b}, o lo que es lo mismo, w {a, b}*, tenemos que: ab es un prefijo propio de w abab es un prefijo de w, pero no es propio b es un subfijo de w
INF-252 Page 21

Alfabetos y palabras Potencia de una palabra Llamamos potencia n-sima de una palabra, a la operacin que consiste en concatenar la palabra consigo misma n veces. Dada una palabra w V*, se define inductivamente la potencia n-sima de w, que notaremos wn, como: w0 = wn = wwn-1, para n > 0 Ejemplo Si w = aba es una palabra sobre el alfabeto {a, b} entonces: w0 = w1 = aba w2= abaaba
INF-252 Page 22

Alfabetos y palabras Inversion de una palabra


Si w = a1a2 an es una palabra sobre un alfabeto V entonces la palabra inversa o refleja de w se define como wR = anan-1a1 Ejemplo Si w = aaba es una palabra sobre el alfabeto {a, b}, entonces wR = abaa

INF-252

Page 23

Lenguajes formales
Definicin Llamamos lenguaje sobre el alfabeto V a cualquier subconjunto de V*. As tenemos que, V*, , V pueden considerarse como lenguajes. Puesto que un lenguaje es tan slo una clase especial de conjunto, podemos especificar un lenguaje finito por extensin enumerando sus elementos entre llaves. Por ejemplo, {aba, czr, d, f} es un lenguaje sobre el alfabeto {a, b, c, z}. Sin embargo, la mayora de los lenguajes de inters son infinitos. En este caso podemos especificar un lenguaje por comprensin de la siguiente forma: L= { w V* | w cumple la propiedad P} Ejemplo L = { w {0, 1}* | ceros(w) = unos(w) }, palabras que tienen el mismo numero de ceros que de unos

INF-252

Page 24

Lenguajes formales Operaciones sobre lenguajes


Sean L1 y L2 dos lenguajes definidos sobre el alfabeto V . Se define la unin de estos dos lenguajes como el lenguaje L sobre V que se especifica como: L = L1 U L2 = { w V* | (w L1) v (w L2)} La unin de lenguajes sobre el mismo alfabeto es un operacin cerrada y adems cumple las propiedades asociativa, conmutativa, y existe un elemento neutro que es el lenguaje vaco (no es lo mismo que el lenguaje que contiene la palabra vaca {}). El conjunto P(V*) (esto es, el conjunto de las partes de V*, tambin llamado 2V * ), est formado por todos los lenguajes posibles que se pueden definir sobre el alfabeto V . De forma anloga a la unin se pueden definir otras operaciones del lgebra de conjuntos como la interseccin, diferencia, y complementacin de lenguajes. Por ejemplo, el complemento del lenguaje L sobre el alfabeto V ser: = V* - L
INF-252 Page 25

Lenguajes formales Operaciones sobre lenguajes


Sean L1 y L2 dos lenguajes definidos sobre el alfabeto V , la concatenacin de estos dos lenguajes es otro lenguaje L definido como: L1L2 = { xy V* | (x L1) (y L2) }
^

La definicin anterior solo es valida si L1 y L2 contienen al menos un elemento. Podemos extender la operacin de concatenacin al lenguaje vaco de la siguiente manera: L=L= La concatenacin de lenguajes sobre un alfabeto es una operacin cerrada, y adems cumple la propiedad asociativa y tiene un elemento neutro que es lenguaje {}. Esto es, la operacin de concatenacin de palabras induce la operacin de concatenacin de lenguajes y esta conserva las propiedades de la primera.

INF-252

Page 26

Lenguajes formales Operaciones sobre lenguajes


Teorema Dado los lenguajes A, B, C sobre un alfabeto V, la concatenacin de lenguajes es distributiva con respecto a la unin, esto es, se cumple que: A (B U C) = (A B) U (A C) (B U C) A = (B A) U (C A) Una vez definida la concatenacin de lenguajes, podemos definir la potencia nsima de un lenguaje como la operacin que consiste en concatenar el lenguaje consigo mismo n veces, que se describe como: L0 = { } Ln = LLn-1 , para todo n > 0

Ejemplo Si L = {ab, c} es un lenguaje sobre el alfabeto {a, b, c} entonces: L0 = { } L1 = L = {ab, c} L2 = LL1 = {abab; abc; cab; cc} L3 = LL2 = {ababab; ababc; abcab; abcc; cabab; cabc; ccab; ccc}

INF-252

Page 27

Lenguajes formales Operaciones sobre lenguajes Las definiciones de prefijo y sufijo de una palabra podemos extenderlas a lenguajes de la siguiente forma:

Prefijo L= U Prefijo w
w L

Sufijo L= U Sufijo w
wL

Tambin podemos definir el lenguaje inverso o reverso de L como: LR = { wR | w L}

INF-252

Page 28

Lenguajes formales Clausura de un lenguaje Dado un Lenguaje L sobre un alfabeto V se define la clausura positiva (o cierre positivo) de L como:

L = U L n
n=1

Definimos la clausura de L como

L* = U Ln
n=o

En ambos casos, Ln se refiere a la potencia n-sima del lenguaje L. El cierre o clausura de un lenguaje, por definicin, contiene cualquier palabra que se obtenga por concatenacin de palabras de L y adems la palabra vaca.

INF-252

Page 29

Ejercicio
Se tiene V = Alfabeto (letras minsculas). w = palabra (secuencia finita de elementos). wR = Reverso de la palabra. | w | = Largo (longitud) de la palabra. UV = UV |UV| = |U| + |V|. V* = Combinaciones del alfabeto. Ln = L concatenado n veces con L. L0 = { }.

INF-252

Page 30

Ejercicio
Sea S = {x, y, z} ; A = yxxz ; B = yzyzx. Determinar el valor de: |vxz| yr AR 2s S* || |AAA| | xx | BR BAR 2|S| |S| |2S|
INF-252 Page 31

Ejercicio
RESPUESTA
|vxz|=|yzyzxxz| yr AR 2s S* || |AAA| | xx | BR BAR 2|S| |S| |2S| =yzxxy = { , {x}, {y}, {z}, {xy}, {yz}, {xz},{xyz}} = { , x, y, z, xx, yy,xz,} =0 = |yxxzyxxzyxxz| = 12 = |xx| = 2 = xzyzy = yzyzxzxxy = 23 =8 =3 =8
INF-252 Page 32

Anda mungkin juga menyukai