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
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
INF-252
Page 7
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
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
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
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
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
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
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
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
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
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