P. 1
Conjuntos Disjuntos

Conjuntos Disjuntos

|Views: 112|Likes:
Publicado porcarmensalazar078653

More info:

Published by: carmensalazar078653 on May 07, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

11/14/2013

pdf

text

original

República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universidad Nacional Experimental de Guayana Maestría en Tecnologías

de la Información Asignatura: Análisis y Diseño de Algoritmos

Realizado por: Isparraguirre, Lourdes. C.I: Marcano, Jacqueline. C.I: 14.118.609 Salazar, Carmen. C.I: Vasquez, Douglas. C.I: 15.781.752

Es la reunión. Febrero de 2008. por lo tanto. estos objetos son bien determinados y diferenciados. respectivamente. cada número impar. elementos de cada uno de los correspondientes conjuntos. 2 . agrupación o colección de elementos bien definidos que tienen una propiedad en común.Conjuntos Disjuntos Ciudad Guayana. Ejemplos: los alumnos de un colegio. siendo cada alumno del colegio.. los números impares. etc. los meses del año. Introducción Un conjunto es la agrupación en un todo de objetos bien diferenciados en la mente o en la intuición. Ejemplo: Los dos conjuntos siguientes: {x/x es un número natural} {x/x es un día de la semana} Son disjuntos ya que no tienen ningún elemento común. cada mes del año. Dos conjuntos son disjuntos si no tienen ningún elemento que pertenezca a ambos conjuntos al mismo tiempo.

} es disjunta por pares.Conjuntos Disjuntos Conjuntos Disjuntos: Formalmente.. Formalmente. {2}. su intersección es obviamente vacía: 3 . con i ≠ j. La familia de conjuntos { Ai | i ∈ I} es disjunta por pares si para cada i. A ∩ B = ø Los conjuntos de una tal colección son disjuntos por pares o mutuamente disjuntos si cualquier par de conjuntos distintos de ella son disjuntos. dos conjuntos A y B son disjuntos si su intersección es el conjunto vacío. sea Ai un conjunto para cada i ∈ I (donde I es cualquier conjunto). Si la colección {Ai} es disjunta por pares.. es decir si.. Por ejemplo. {3}. j ∈ I. Dos conjuntos son disjuntos cuando no tienen elementos comunes. la colección de conjuntos { {1}.

2}. pero la colección no es disjunta por pares. 4. Una partición de un conjunto X es una colección de subconjuntos no vacíos {Ai | i ∈ I} de X.Conjuntos Disjuntos La implicación inversa no es. s } N = { s. r. v. C = { x/x es una letra del alfabeto } D = { x/x es un número } C y D son disjuntos Representación Gráfica: A B P = { x/x es una letra de la palabra aritmética } Q = { x/x es una letra de la palabra algebra } P y Q no son disjuntos 7 5 1 9 3 2 4 6 8    Como puedes observar los conjuntos A y B no tienen elementos comunes. 1}} es vacía. u } M y N no son disjuntos. {3. 3}. tales que Ejemplos: Conjuntos disjuntos Conjuntos no disjuntos A = { 2. q. de hecho. 5 } A y B son disjuntos. dos conjuntos disjuntos en ella. M = { o. 6 } B = { 1. por lo tanto son Conjuntos Disjuntos PRIMER ENFOQUE 4 . {2. disjuntos por pares. sin embargo. 3. t. cierta: la intersección de la colección {{1. p. no hay.

 Cada subconjunto tomara su nombre de uno de sus elementos. cada uno con un elemento (todas las relaciones son falsas excepto las reflexivas). su representante. así que Ci ∩ Cj = 0  Mantenemos en un vector el nombre de la clase de equivalencia de cada elemento. Representación de conjuntos disjuntos  La representación inicial es una colección con n conjuntos.a. Una relación de equivalencia es una relación que satisface tres propiedades: reflexiva.b 2 C. La clase de equivalencia de un elemento a 2 C es el subconjunto de C que contiene todos los elementos relacionados con a. Así.  Mantenemos en un vector el nombre del subconjunto disjunto de cada elemento 5 . por ejemplo: el valor más pequeño. • Las clases de equivalencia forman una partición de C: todo elemento de C aparece en exactamente una clase de equivalencia. sólo necesitamos comprobar si a y b están en la misma clase de equivalencia. Cada conjunto tiene un elemento diferente.  Todos los elementos se numeran de 1 a n. Todos los elementos se numeran de 1 a n. Dada una relación de equivalencia _. para cualesquiera a y b.a R b es verdadera o falsa. • Para decidir si a _ b.b).Conjuntos Disjuntos Relaciones de equivalencia Una relación R se define en un conjunto C si para todo par de elementos (a. al principio se tiene Ci = {i} para i = 1 hasta n. el problema natural es decidir si a _ b. simétrica y transitiva.

 La unión combina dos clases de equivalencia que contienen a y b en una clase de equivalencia nueva. Hay dos operaciones válidas. destruyéndose las originales. Pseudocodigo (i) . Cada conjunto tiene un elemento diferente.Conjuntos Disjuntos Operaciones validas La representación inicial es una colección de n conjuntos. Ci \Cj = /0 Así. al principio se tiene Ci = {i}. la clase de equivalencia) de un elemento dado. 6 . Conj = entero. Ci.Búsqueda tipo Elemento = entero.  La búsqueda devuelve el nombre del conjunto (es decir.

 Si también hubiese O(n2) operaciones búsqueda. j := max (C[a]. Todo lo que importa es que búsqueda(x)=búsqueda(y) si y solo si x e y están en el mismo conjunto. para k := 1 hasta N hacer si C[k] = j entonces C[k] := i fin para fin procedimiento La unión toma O(n). el rendimiento sería bueno porque el tiempo de ejecución total sería O(1) para cada operación unión o búsqueda en el curso del algoritmo.Unión procedimiento Unir1 (C. C[b]).Conjuntos Disjuntos ConjDisj = vector [1. b) i := min (C[a]. 7 . que conjunto retiene su nombre. x) : Conj devolver C[x] fin funcion La búsqueda es una simple consulta O(1). a.  Una secuencia de n−1 uniones (la máxima.  La combinación de m búsquedas y n−1 uniones toma O(m+n2). No importa. en lo que concierne a corrección. El nombre del conjunto devuelto por búsqueda es arbitrario. Pseudocodigo (ii) .N] de entero funcion Buscar1 (C.. C[b]). ya que entonces todo estará en un conjunto) tomaría un tiempo de O(n2).

8 .  Para ejecutar una unión de dos conjuntos se combinan ambos árboles haciendo que la raíz de un árbol apunte a la raíz del otro. La representación de los árboles es fácil porque la única información que necesitaremos es un apuntador al padre. pues cada elemento en un árbol tiene la misma raíz. Cada entrada p[i] en el vector representa el padre del elemento i.  Se utiliza un árbol para representar cada conjunto. pero difícil la búsqueda.Conjuntos Disjuntos SEGUNDO ENFOQUE  Examinaremos una solución al problema que hace fácil la unión. entonces p[i]=i -  Una búsqueda sobre el elemento x se efectúa devolviendo la raíz del árbol que contiene x. Si i es una raíz. - La raíz se utiliza para nombrar el conjunto.

devolver r fin funcion Una búsqueda sobre el elemento x se efectúa devolviendo la raíz del árbol que contiene x. raiz2) { supone que raiz1 y raiz2 son raíces } si raız1 < raiz2 entonces C[raız2] := raız1 sino C[raız1] := raız2 fin procedimiento La unión de dos conjuntos se efectúa combinando ambos apuntamos la raíz de un árbol a la del otro. x) : Conj r := x. La búsqueda de un elemento x es proporcional a la profundidad del nodo con x. En el peor caso es O(n) procedimiento Unir2 (C.Conjuntos Disjuntos funcion Buscar2 (C. en el peor caso es O(n) árboles: 9 . mientras C[r] <> r hacer r := C[r] fin mientras. La búsqueda de un elemento x es proporcional a la profundidad del nodo que representa a x. raiz1. La unión toma O(1).

Una mejora sencilla es realizar las uniones haciendo del profundo un sub árbol del árbol mas profundo. árbol menos Pseudocódigo procedimiento Unir3 (C.Conjuntos Disjuntos La combinación de m búsquedas y n−1 uniones toma O(m·n) en el peor de los casos. raiz2) { supone que raiz1 y raiz2 son raíces } si A[raiz1] = A[raiz2] entonces A[raiz1] := A[raiz1] + 1. La altura se incrementa solo cuando se unen dos árboles de igual altura. A. Unión por alturas Las uniones anteriores se efectuaban de modo arbitrario. C[raiz2] := raiz1 sino si A[raiz1] > A[raiz2] entonces C[raiz2] := raiz1 10 . raiz1.

log n veces  Cuando su profundidad se incrementa como resultado de una unión. todo nodo en el camino de x a la raíz cambia su padre por la raíz. O(m·log(n)+n).  El tiempo de ejecución de una búsqueda es O(log(n)). su profundidad se puede incrementar a lo mas.  En la búsqueda de un elemento x. su profundidad se puede incrementar a lo más. log2(n) veces. Así.Conjuntos Disjuntos sino C[raiz1] := raiz2 fin procedimiento  Se demuestra que si las uniones se hacen por altura. 11 .  Eso implica que el tiempo de ejecución de una operación búsqueda es O(log n) y una secuencia de m búsquedas y n−1 uniones tarda O(m log n +n ) Compresión de caminos  La compresión de caminos se ejecuta durante una operación búsqueda y es independiente de la estrategia con que se efectúen las uniones. se coloca en un árbol al menos el doble de grande. se coloca en un árbol que es al menos el doble de grande que antes.  Combinando m búsquedas y n−1 uniones. Cuando su profundidad se incrementa como resultado de una unión. Así. la profundidad de cualquier nodo nunca es mayor que log n. los accesos futuros sobre esos nodos compensarán el trabajo adicional de hacer la compresión de caminos. • Así.  Un nodo está inicialmente a la profundidad 0.

C[i]:= r. i := x. i := j fin mientras. 12 . porque se pueden cambiar las alturas de los árboles. devolver r fin funcion Rangos La compresión de caminos no es del todo compatible con la unión por altura. pero ocurre que la unión por rango es tan eficiente en teoría como la unión por altura. mientras C[r] <> r hacer r := C[r] fin mientras. mientras i <> r hacer j := C[i]. x) : Conj r := x.Conjuntos Disjuntos funcion Buscar3 (C. • Las alturas almacenadas para cada árbol se convierten en alturas estimadas (llamadas rangos).

Conjuntos Disjuntos Conclusión 13 .

org/~valderru/alg/conjuntos_disjuntos.org/wiki/Conjuntos_disjuntos http://es.lfcia. teoría de conjuntos (2006)..wikipedia. lógica matemática.pdf 14 . Teoría de conjuntos y temas afines (1992). S. Antonio. Retículo completo de Boole. Seymour. Universidad de Oviedo. Lipschutz. http://es.wikipedia.Conjuntos Disjuntos Bibliografía González Carlomán.A. McGraw-Hill / Interamericana de España.org/wiki/Teor%C3%ADa_de_conjuntos http://www.

Conjuntos Disjuntos Índice Contenido Introducción Conjuntos Disjuntos Primer Enfoque Relaciones de Equivalencia Representación de Conjuntos Disjuntos Operaciones válidas Pseudocódigo – Búsqueda Pseudocódigo – Unión Segundo Enfoque Pseudocódigo – Búsqueda Pseudocódigo – Unión Unión por Altura Compresión de camino Rangos Conclusión Bibliografía 7 8 9 10 11 12 13 3 4 5 5 6 Pag. 1 2 15 .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->