La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

“Análisis y Diseño de Algoritmos” 2a Entrega, Programa 6 Centro de Investigación y Estudios Avanzados del IPN Samuel Garrido Daniel 15-Abril-2004 México,

Presentaciones similares


Presentación del tema: "“Análisis y Diseño de Algoritmos” 2a Entrega, Programa 6 Centro de Investigación y Estudios Avanzados del IPN Samuel Garrido Daniel 15-Abril-2004 México,"— Transcripción de la presentación:

1 “Análisis y Diseño de Algoritmos” 2a Entrega, Programa 6 Centro de Investigación y Estudios Avanzados del IPN Samuel Garrido Daniel 15-Abril-2004 México, D.F.

2 Enunciado del programa 6 Para n ≥ 1 considere a los 2 n subconjuntos de [[1,n]] puestos en una lista de acuerdo con el orden siguiente: A cada subconjunto A  [[1,n]] se le representa como A={a 1, …,a n } donde los elementos aparecen en orden creciente. Pues bien, se coloca primero a los conjuntos de cardinalidad 0, luego a los de cardinalidad 1, luego a los de cardinalidad 2, y así sucesivamente. Dentro de estos bloques de conjuntos, a los conjuntos se les coloca en orden lexicográfico de acuerdo con su representación. Así pues a cada conjunto le corresponde, de acuerdo con ese listado, un índice ind(A) = i tal que A = Ai es el i-ésimo conjunto.

3 Enunciado del programa 6 (ii) A. Escriba un programa que dado un conjunto A={a 1, …,a n } calcule su índice ind(A) = i. B. Escriba un programa que dado un número i tal que 1 ≤ i ≤ 2 n calcule al conjunto A={a 1, …,a n } con índice i=ind(A). C. Escriba un programa que dados i, j tales que 1 ≤ i, j ≤ 2 n calcule los índices k 1 =ind(A i  A j ), k 2 =ind(A i  A j )

4 Sobre conjuntos Un conjunto es una colección arbitraría de objetos distinguibles, llamados miembros o elementos. Si un conjunto es finito y no demasiado grande, podemos describirlo enumerando sus elementos de la siguiente manera Un conjunto es una colección arbitraría de objetos distinguibles, llamados miembros o elementos. Si un conjunto es finito y no demasiado grande, podemos describirlo enumerando sus elementos de la siguiente manera Se dice que el conjunto A esta formado por cuatro elementos, este queda determinado por sus elementos, no por algún orden en particular, además de que dos o mas apariciones dentro del conjunto de un elemento cuenta como una sola ocurrencia, es decir no se permiten repeticiones. Se dice que el conjunto A esta formado por cuatro elementos, este queda determinado por sus elementos, no por algún orden en particular, además de que dos o mas apariciones dentro del conjunto de un elemento cuenta como una sola ocurrencia, es decir no se permiten repeticiones. Si A es un conjunto finito, sea |A| = número de elementos de A, a éste número se le conoce comúnmente como cardinalidad del conjunto. Otra definición importante es el conjunto vacío y se denota como. Si A es un conjunto finito, sea |A| = número de elementos de A, a éste número se le conoce comúnmente como cardinalidad del conjunto. Otra definición importante es el conjunto vacío y se denota como. Cualquier conjunto A es un subconjunto de sí mismo. El conjunto vacío es un subconjunto de cualquier conjunto. Cualquier conjunto A es un subconjunto de sí mismo. El conjunto vacío es un subconjunto de cualquier conjunto.

5 Conjunto potencia El conjunto de todos los subconjuntos de un conjunto A denotado por P(A) es el conjunto potencia de A. Ejemplo.- A={a, b, c} los miembros de P(A) son {{0},{a},{b},{c},{a,b},{a,c}, {b,c}, {a,b,c}} Es decir, el conjunto potencia de un conjunto con n elementos tiene 2n elementos. Teorema Si |A|=n entonces |P(A)| = 2n

6

7 Ejemplo de conjunto potencia Para un conjunto de 4 elementos A={1, 2, 3} Para un conjunto de 4 elementos A={1, 2, 3} {} 1 cardinalidad 0 {1} {2} 3 cardinalidad 1 {3} {1, 2} {1, 3}3 cardinalidad 2 {2, 3} {1, 2, 3}1 cardinalidad 3

8 Otro ejemplo más Para un conjunto de 4 elementos A={1, 2, 3, 4} Para un conjunto de 4 elementos A={1, 2, 3, 4} {} 1 cardinalidad 0 {1} {2}4 cardinalidad 1 {3}{4} {1, 2} {1, 3} {1, 4}6 cardinalidad 2 {2, 3} {2, 4} {3, 4} {1, 2, 3} {1, 2, 4} 4 cardinalidad 3 {1, 3, 4} {2, 3, 4} {1, 2, 3, 4} 1 cardinalidad 4

9 Triangulo de pascal La distribución de los subconjuntos ordenados en base a su cardinalidad tienen el patron binomial (Triangulo de pascal) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1...

10 Con respecto al problema a resolver La disposición general mostrada anteriormente del P(A) cumple con el orden propuesto en el enunciado del programa, es decir, se colocan primero los conjuntos de cardinalidad 0, después los de cardinalidad 1, luego los de cardinalidad 2 y así sucesivamente, además tenemos que cada subconjunto se encuentra en orden lexicográfico, por lo tanto esta disposición da el orden correcto a los índices que van desde i=0 hasta i=2n.

11 Implementación del programa Primer acercamiento Primer acercamiento Generar el conjunto potencia de éste, y generándose de tal manera que cumpla con el orden mencionado anteriormente, es decir en base a la cardinalidad de los subconjuntos y cada uno de estos ordenados lexicográficamente, entonces almacenarlo en un arreglo de tamaño 2n.

12 Crecimiento de la función 2 n Sin embargo, debido al crecimiento de la función 2n, tenemos que por ejemplo para un conjunto de 20 elementos con la solución planteada hasta el momento sería necesario generar un arreglo de 1048576 posiciones para almacenar ese número de subconjuntos pertenecientes a P(A) de un conjunto con cardinalidad igual a 20.


Descargar ppt "“Análisis y Diseño de Algoritmos” 2a Entrega, Programa 6 Centro de Investigación y Estudios Avanzados del IPN Samuel Garrido Daniel 15-Abril-2004 México,"

Presentaciones similares


Anuncios Google