La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad Técnica Federico Santa María Departamento de Informática

Presentaciones similares


Presentación del tema: "Universidad Técnica Federico Santa María Departamento de Informática"— Transcripción de la presentación:

1 Universidad Técnica Federico Santa María Departamento de Informática
Fundamentos Informática II Enumeración Combinatoria Dr. Ing. Gonzalo Hernández Oliva Dr. Gonzalo Hernández FI-2 Enumeración

2 Enumeración: Motivación Reglas de Suma y Producto Permutaciones
Combinaciones: Teorema del Binomio Combinaciones con Repeticiones Principio Inclusión y Exclusión Conceptos de Probabilidad Aplicación: Complejidad Computacional Problemas P y NP Dr. Gonzalo Hernández FI-2 Enumeración

3 Enumeración : 1) Motivación 1 Repartición de Naranjas:
(Ecuaciones Lineales Enteras) De cuántas formas posibles se pueden repartir 12 naranjas de manera que Gabriel (G) reciba al menos 4 y María (M) y Francisco (F) reciban al menos 2. Dr. Gonzalo Hernández FI-2 Enumeración

4 Enumeración : (Ecuaciones Lineales Enteras) xk : cantidad de
1) Motivación 1: Repartición de Naranjas (Ecuaciones Lineales Enteras) Buscamos la cantidad total de soluciones de la ecuación: x1 + x2 + x3 = 12 4 ≤ x1 ≤ 8 2 ≤ x2 ≤ 6 2 ≤ x3 ≤ 6 Donde: xk : cantidad de naranjas de la persona k Dr. Gonzalo Hernández FI-2 Enumeración

5 Enumeración : (Ecuaciones Lineales Enteras) G M F 4 5 6 7 8 2 3
1) Motivación 1: Repartición de Naranjas (Ecuaciones Lineales Enteras) G M F 4 5 6 7 8 2 3 Cantidad Total de Formas de Repartir: 15 Dr. Gonzalo Hernández FI-2 Enumeración

6 Enumeración : 1) Motivación 2: Problema NP: Problema SAT
Enumerar (Hacer una lista) todos los valores de verdad de una proposición lógica. Algoritmo Backtracking Dr. Gonzalo Hernández FI-2 Enumeración

7 Enumeración : 1) Motivación 3: Problema NP: (Problema SAT)
Enumerar (Hacer una lista) todos los posibles subconjuntos de un conjunto con cardinalidad finita. Algoritmo Backtracking Dr. Gonzalo Hernández FI-2 Enumeración

8  bi w w Enumeración : 1) Motivación 4 Modelo NN: . . . 1
w 1 1i . . . xi(t) bi 1 w 1 ni n 1 å wij xj(t-1) - bi xi(t) =  i=1,...,n j=1 Dr. Gonzalo Hernández FI-2 Enumeración

9 Enumeración : 1) Motivación 4
Modelo NN: xi(0)  {0,1} n 1 å wij xj(t-1) - bi xi(t) = j=1  i=1,...,n W = Matriz de Conectividad i b = Vector de Umbrales wij j Dr. Gonzalo Hernández FI-2 Enumeración

10 Enumeración : 1) Motivación 4
Complejidad NN: SDD Régimen Estacionario y Transiente Visualización de la Evolución Simétrica Matriz de Conectividad Comportamiento Dinámico Simple No - Simétrica W Comportamiento Dinámico Complejo Dr. Gonzalo Hernández FI-2 Enumeración

11 Complejidad NN: Simetría
Enumeración : 1) Motivación 4 Complejidad NN: Simetría Enumerar NN construidas en base a valores de W y b seleccionados de un conjunto de cardinalidad finito: wij ε Q = {1, 2 , … , q} bi ε P = {1, 2 , … , p} Enumerar NN simétricas Enumerar NN no - simétricas Dr. Gonzalo Hernández FI-2 Enumeración

12 Enumeración : Problema NP en Grafos: TSP 1) Motivación 5: Backtracking
Dr. Gonzalo Hernández FI-2 Enumeración

13 Enumeración : Problema NP en Grafos: Coloración 1) Motivación 6:
Backtracking Dr. Gonzalo Hernández FI-2 Enumeración

14 Enumeración : Tarea 1 Problema NP en Grafos: Bisección
1) Motivación 7: Problema NP en Grafos: Bisección Backtracking Tarea 1 Dr. Gonzalo Hernández FI-2 Enumeración

15 2) Reglas de Suma y Producto:
Enumeración: 2) Reglas de Suma y Producto: Regla de la Suma: Consideremos dos procedimientos que pueden ser realizados en forma independiente. Si existen n formas de realizar el primer procedimiento y existen m formas de realizar el segundo entonces ambos procedimientos se realizan en (n+m) formas. Dr. Gonzalo Hernández FI-2 Enumeración

16 2) Reglas de Suma y Producto:
Enumeración: 2) Reglas de Suma y Producto: Regla del Producto: Sea un procedimiento que puede ser dividido en 2 etapas. Si existen n formas de realizar la primera etapa y para cada una de estas formas existen m formas de realizar la segunda etapa entonces el procedimiento se realiza en (nm) formas Dr. Gonzalo Hernández FI-2 Enumeración

17 2) Reglas de Suma y Producto: Ej.
Enumeración: 2) Reglas de Suma y Producto: Ej. Al salir de la tienda, Camila y Fernanda vieron cómo dos personas huían de una joyería, en la cual sonaba la alarma. María está segura que el último dígito de la patente del auto en que huyeron los asaltantes era un 5 ó un 6, y el segundo era un 3, mientras Fernanda afirma que la primera letra era una O o una D, y que el primer dígito era un 1 ó un 7. ¿Cuántas patentes cumplen estas restricciones, suponiendo tres letras y cuatro dígitos ? Dr. Gonzalo Hernández FI-2 Enumeración

18 2) Reglas de Suma y Producto: Ej.
Enumeración: 2) Reglas de Suma y Producto: Ej. 3 Ciudades A, B y C están conectadas cómo se muestra en la figura: C A B Dr. Gonzalo Hernández FI-2 Enumeración

19 2) Reglas de Suma y Producto: Ej.
Enumeración: 2) Reglas de Suma y Producto: Ej. Suponiendo que los caminos permiten viajar en ambos sentidos: ¿ De cuántas formas se puede viajar de la ciudad A a la ciudad C ? ¿ Cuántas formas es posible de realizar el viaje A B A ? ¿ Cuántas formas existen de realizar un viaje donde la ciudad inicial y final es la misma ? Examinar todos los casos. Dr. Gonzalo Hernández FI-2 Enumeración

20 2) Reglas de Suma y Producto: Ej.
Enumeración: 2) Reglas de Suma y Producto: Ej. Un alfabeto de 30 símbolos es utilizado para la creación de mensajes en un lenguaje de comunicación: ¿ Cuántos mensajes distintos formados por palabras de 15 símbolos pueden ser transmitidos si cada símbolo puede ser repetido ? Dr. Gonzalo Hernández FI-2 Enumeración

21 2) Reglas de Suma y Producto: Ej.
Enumeración: 2) Reglas de Suma y Producto: Ej. ¿ Cuántos mensajes distintos formado por palabras de 20 símbolos pueden ser transmitidos si cada símbolo no puede ser repetido ? ¿ Cuántos mensajes distintos formado por palabras de 25 símbolos pueden ser transmitidos si 10 de los 30 símbolos pueden aparecer sólo en el primer, segundo y último carácter del mensaje y los restantes 20 símbolos pueden aparecer en cualquier posición del mensaje, permitiendo repeticiones ? Dr. Gonzalo Hernández FI-2 Enumeración

22 2) Reglas de Suma y Producto: Ej.
Enumeración: 2) Reglas de Suma y Producto: Ej. ¿ Cómo varían las respuestas a las preguntas anteriores si: Cada mensaje está formado por palabras de largo n y existen p posibles símbolos ? Cada mensaje está formado por palabras de largo n, existen p posibles símbolos y el lenguaje está compuesto por paquetes de largo q dónde q divide a n ? Dr. Gonzalo Hernández FI-2 Enumeración

23 3) Permutaciones: Enumeración:
Dada una colección de n objetos distintos cualquier combinación (lineal) de ellos se denomina una permutación (se considera el orden). En general si existen n objetos distintos, denotados por a1 , ... , an y si 1  r  n entonces el número de permutaciones de tamaño r de estos objetos está dado por : (n)(n-1)(n-2)  (n-r+1) = n! / (n-r)! Dr. Gonzalo Hernández FI-2 Enumeración

24 3) Permutaciones: Enumeración:
En general si existen de n objetos con n1 objetos del primer tipo, n2 del segundo tipo, ... , nr del r-ésimo tipo, donde: n1 + n2 + … + nr = n entonces el número de arreglos lineales de estos objetos está dado por: n! / (n1! n2! n3! , ... nr!) Dr. Gonzalo Hernández FI-2 Enumeración

25 3) Permutaciones: Enumeración: Consideraciones esenciales:
Objetos Distinguibles i.e. Distintos Se considera el Orden ↔ Importa el Orden (El orden genera arreglos s) Ejemplos: Patentes, Mensajes Arreglos Lineales Puede existir Repetición (Sustitución) Dr. Gonzalo Hernández FI-2 Enumeración

26 3) Permutaciones: Enumeración: Arreglos No Lineales:
Formas Equivalentes de sentar personas: Shift - Iguales S6 S2 S5 S3 S4 Dr. Gonzalo Hernández FI-2 Enumeración

27 3) Permutaciones: Ej. Enumeración:
Cuántas palabras de 5 letras hay para las letras a, b, c, d, e, e, e. Cuántas palabras de 5 letras hay para las letras anteriores si la palabra debe empezar y terminar con una letra e. Cuántas palabras de 5 letras hay para las letras anteriores si la palabra no puede tener letras “e” consecutivas. Dr. Gonzalo Hernández FI-2 Enumeración

28 Enumeración : 3) Permutaciones: Ej. Backtracking
Problemas NP en Grafos: TSP Backtracking Dr. Gonzalo Hernández FI-2 Enumeración

29 Enumeración: 4) Combinaciones:
Si consideramos n objetos distintos , cada selección o combinación de r de ellos, sin considerar el orden, corresponde a r! permutaciones de tamaño 1  r  n de ellos. Por lo tanto el número de combinaciones de tamaño r de una colección de n objetos es : = C(n,r) = P(n,r) / r! = n! / r! (n-r)! n r Dr. Gonzalo Hernández FI-2 Enumeración

30 4) Combinaciones: Enumeración: Consideraciones esenciales:
Objetos Indistinguibles (O distintos por tipo) Puede existir Repetición o Sustitución NO se considera el orden ↔ El Orden NO importa Ejemplo: Cartas, Producto Polinomios, Selección Bolas de una Bolsa Dr. Gonzalo Hernández FI-2 Enumeración

31  Enumeración: 4) Combinaciones: Teorema del Binomio ( x + y ) = xr
Sean x e y variables reales y n un entero positivo. Entonces : ( x + y ) n = r=1 r xr y(n-r) Coeficientes Binomiales Dr. Gonzalo Hernández FI-2 Enumeración

32 Enumeración: 4) Combinaciones con Repetición:
El número de combinaciones de n objetos tomando 1  r  n al mismo tiempo está dado por C(n+r-1,r) Dr. Gonzalo Hernández FI-2 Enumeración

33 Enumeración: 4) Combinaciones con Repetición:
El número de selecciones, con repetición , de tamaño 1  r  n de una colección de n objetos El número de soluciones enteras de la ecuación : x1 + x2 + x xn = r Dr. Gonzalo Hernández FI-2 Enumeración

34 4) Combinaciones: Ej. Enumeración:
Una caja tiene esferas numeradas de 1 a n. Se escogen 2 esferas al azar. De cuantas formas es posible obtener números: Consecutivos Pares o Impares En los casos que las esferas se escogen con o sin sustitución. Dr. Gonzalo Hernández FI-2 Enumeración

35 4) Combinaciones: Ej. Enumeración:
De cuántas formas posibles se puede obtener de un mazo de 52 cartas: 1 par 2 pares 3 cartas Un full 4 cartas Una escala real Dr. Gonzalo Hernández FI-2 Enumeración

36 Enumeración : 4) Combinaciones:
Problemas NP en Grafos: Graph Bisection Min Cut Backtracking Dr. Gonzalo Hernández FI-2 Enumeración

37 Enumeración: 5) Probabilidad Conceptos Básicos Probabilidad:
Probabilidad : Grado de certidumbre Probabilidad y Juegos de Azar Probabilidad y Frecuencia Relativa Probabilidad Subjetiva (Personal) Dr. Gonzalo Hernández FI-2 Enumeración

38 Enumeración: 5) Probabilidad Conceptos Básicos Probabilidad:
Experimento aleatorio :  - Ejemplo Espacio Muestral :  - Ejemplo Espacio Muestral : Discreto , Continuo Evento o Suceso ε Partes() Sucesos Elementales - Sucesos Base, Seguros (P(A)=1), Imposibles (P(A)=0) Dr. Gonzalo Hernández FI-2 Enumeración

39 Modelo Probabilístico:
Enumeración: 5) Probabilidad Modelo Probabilístico: Asociado a una Distribución de Probabilidad, es decir, una función que asigna a cada sub-conjunto razonable de  su probabilidad. Sea  2 = Partes() colección de eventos razonables de  (-álgebra) Dr. Gonzalo Hernández FI-2 Enumeración

40 Enumeración: 5) Probabilidad
Definición Probabilidad Noción Intuitiva: P(A) = Resultados Favorables al Evento A Resultados Posibles Noción Frecuentista: Sea N: número total de veces que se realiza un experimento y NA: número total de veces que ocurre A P(A) = Dr. Gonzalo Hernández FI-2 Enumeración

41 Enumeración: 5) Probabilidad
Probabilidad Axiomática Axioma 1: P(A)  0 Axioma 2: P() = 1 Axioma 3: Suponiendo que A1, A2,..... son eventos mutuamente excluyentes : P(Ai) = P(Ai) i i Dr. Gonzalo Hernández FI-2 Enumeración

42 Enumeración: 5) Probabilidad Propiedades Probabilidad
P(AC) = 1 - P(A) P(A)  1 Si A  B  P(A)  P(B) P() = 0 P(A  B) = P(A) + P(B) - P(A  B) P( Ai)   P(Ai) P(A  B) = P(A)P(B) A,B Independ. i i Dr. Gonzalo Hernández FI-2 Enumeración

43 Enumeración: 5) Probabilidad
Probabilidad Condicional Sean A, B dos sucesos tal que P(B) > 0. La probabilidad de A condicionada a la ocurrencia de B se denota por P(A/B) : P(A/B) = P(A  B) P(B) Dr. Gonzalo Hernández FI-2 Enumeración

44 Enumeración: 5) Probabilidad
Probabilidad Condicional Propiedades: P(A/B)  0 P( /B) = 1 P( Ai /B) =  P(Ai/B) Dr. Gonzalo Hernández FI-2 Enumeración

45 Enumeración: 5) Probabilidad
Ejercicio: Sean A,B sucesos de un mismo modelo de probabilidad (, , P) tales que: P(B)=0,4 P(AB)=0,7 P(A/B)=0,75 Determinar: P(AC) ; P(A-B) ; P(ACBC) ; P(A/BC) Dr. Gonzalo Hernández FI-2 Enumeración

46 Enumeración: 5) Probabilidad
Solución P(AC) = 1 - P(A) P(AB) = P(A) + P(B) - P(AB) P(AB) = P(A/B) P(B) = 0,75 * 0,4 = 0,3 P(A) = 0,7 - 0,4 + 0,3 = 0,6 P(AC) = 0,4 P(A-B) = P(ABC) = P(A) - P(AB) = 0,3 P(ACBC) = P(AC) + P(BC) - P(ACBC) P(ACBC) = P(BC) - P(ABC) = 0,6 - 0,3 = 0,3 Luego P(ACBC) = 0,4 + 0,6 - 0,3 = 0,7 P(A/BC) = P(ABC)/P(BC) Dr. Gonzalo Hernández FI-2 Enumeración

47 Enumeración: 5) Probabilidad
Probabilidad Total Sean B1 , B2 ,...., Bn eventos mutuamente excluyentes, es decir : P( ) = 1 Entonces P(A) = Dr. Gonzalo Hernández FI-2 Enumeración

48 Enumeración: 5) Probabilidad
Probabilidad Total Consecuencia - Regla de Bayes: P(B/A) = P(A/B) P(B) P(A) Dr. Gonzalo Hernández FI-2 Enumeración

49 Enumeración: 5) Probabilidad
Ejercicio: Un procesador para computadores puede provenir de cualquiera de tres fabricantes con probabilidades: p1 = 0, p2 = 0,50 p3 = 0,25 Las probabilidades de que un procesador funcione correctamente durante horas es 0,1; 0,2 y 0,4 respectivamente para los 3 fabricantes. Dr. Gonzalo Hernández FI-2 Enumeración

50 Enumeración: 5) Probabilidad
Ejercicio: Calcular la probabilidad de que un procesador elegido al azar funcione durante horas. Si el procesador funcionó correctamente durante el período de horas ¿cuál es la probabilidad de que haya provenido del 3er fabricante? Dr. Gonzalo Hernández FI-2 Enumeración

51 Enumeración: 5) Probabilidad
Solución i) P(C) = = 0,1*0,25 + 0,2*0,5 + 0,4*0,25 = 0,225. ii) P(F3/C) = P(C/F3) P(F3) P(C) = 0,4 * 0,25 = 0.4 0,225 _ Dr. Gonzalo Hernández FI-2 Enumeración

52 Enumeración: 5) Probabilidad Ejemplos Probabilidad
Una moneda se lanza 2ⁿ veces. Determinar la probabilidad de que haya un número igual de caras y sellos. Determinar la probabilidad que ocurran un número par (impar) de caras Determinar la probabilidad de que se tengan n caras consecutivas. Dr. Gonzalo Hernández FI-2 Enumeración

53 Enumeración: 5) Probabilidad Ejemplos Probabilidad
Se distribuyen al azar 4 objetos distintos 1,2,3,4 entre 4 lugares señalados con los números 1,2,3,4. ¿Cuál es la probabilidad de que un objeto ocupe el lugar numerado con su mismo número? De una urna que contiene a bolas blancas y b bolas negras se sacan todas ellas. ¿Cuál es la probabilidad de que parezcan al final las b bolas negras? Dr. Gonzalo Hernández FI-2 Enumeración

54 Enumeración: 6) Complejidad Computacional
Problema → Algoritmo → Programa Definición de Algoritmo Propiedades de los Algoritmos Programa y su tiempo de ejecución Cálculo del tiempo de ejecución de programas Problemas P y NP Dr. Gonzalo Hernández FI-2 Enumeración

55 Enumeración: 6) Complejidad Computacional
Un algoritmo es un procedimiento (secuencia de instrucciones) que dada cualquier instancia de un problema produce el resultado esperado. Ejemplos: Insertion, Bubble, Merge- Sort Dada una secuencia de números a1 …an encontrar una permutación tal que: a’1 ≤ a’2 ≤ ….. ≤ a’n Dr. Gonzalo Hernández FI-2 Enumeración

56 Enumeración: 6) Complejidad Computacional
Algoritmos “razonables” no necesariamente son correctos. La correctitud debe ser demostrada cuidadosamente. Los algoritmos deben ser estudiados independientemente del computador en que serán implementados. La notación O y el análisis de peor caso son herramientas que permiten determinar su eficiencia. Dr. Gonzalo Hernández FI-2 Enumeración

57 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos Correctitud: Solución del Problema Eficiencia: Rapidez de Solución Fácil Implementación: Recursos Es posible conseguir las 3 anteriores simultáneamente ??? Dr. Gonzalo Hernández FI-2 Enumeración

58 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos Correctitud: Algoritmos “Clásicos” : Correcto o Exacto Heurísticas : Inexactas pero … ¿ Cuánto ? Dado un algoritmo lo primero es determinar si es correcto o no. En algunos casos es “obvio”, mientras que en otros casos es necesaria una demostración rigurosa. Q: ¿ Cómo demostrar que un algoritmo no es correcto ? A: Mediante demostración o contrajemplos Dr. Gonzalo Hernández FI-2 Enumeración

59 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos Correctitud: TSP Problem Dado un conjunto de n puntos en el plano determinar el tour de distancia mínima que pasa una única vez por cada uno Solución Nº 1: Nearest Neighbor TSP Solución Nº 2: 2 - Swap TSP Solución Nº 3: Optimal TSP Dr. Gonzalo Hernández FI-2 Enumeración

60 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos Eficiencia: Velocidad del Algoritmo Para alcanzar mejores desempeños es necesario construir algoritmos más veloces, no comprar máquinas más poderosas. Para un tamaño de problema suficientemente grande, la velocidad del algoritmo será mas relevante que la velocidad del hardware. Q: ¿ Cómo determinar la velocidad de un algoritmo ? Dr. Gonzalo Hernández FI-2 Enumeración

61 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos Eficiencia: Velocidad del Algoritmo A: El Modelo RAM y El Análisis Asintótico del Peor Caso El Modelo de Computación RAM (Random Access Machine) permite determinar el tiempo de ejecución de un algoritmo. Para ello considera un computador con las siguientes características: Dr. Gonzalo Hernández FI-2 Enumeración

62 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos El Modelo RAM : Cada operación simple: (ops. aritméticas, ops. booleanas, comparaciones, acceso a memoria, etc) operaciones que toman una unidad de tiempo. Los Ciclos y Subrutinas no son consideradas operaciones simples, sino composición de ellas. Con ello se determina el número de operaciones elementales o simples de un algoritmo que luego se convierte a tiempo según la especificación del computador Dr. Gonzalo Hernández FI-2 Enumeración

63 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos Ejemplos: Cálculo Operaciones Según Modelo RAM Cálculo Promedio y Desviación Estándar Evaluar un polinomio de grado n en un real x Evaluar una función booleana Ordenar n números según insertion sort Intersección de 2 conjuntos Ordenar n palabras de p letras Buscar una palabra de p letras en una lista de palabras con n  p letras Dr. Gonzalo Hernández FI-2 Enumeración

64 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos El Análisis Asintótico del Peor Caso: Al utilizar el modelo RAM es posible determinar el tiempo de ejecución para una instancia del problema. Sin embargo es necesario conocer como se comporta el algoritmo en todas las instancias. Para ello utilizamos las nociones de mejor, promedio y peor caso. Dr. Gonzalo Hernández FI-2 Enumeración

65 Propiedades de los Algoritmos
Enumeración: 6) Complejidad Computacional Propiedades de los Algoritmos ! Complejidad del Peor Caso: Es la función que define el número máximo de operaciones simples que realiza el algoritmo Complejidad del Mejor Caso: Es la función que define el número mínimo de operaciones simples que realiza el algoritmo Complejidad Caso Promedio: Dr. Gonzalo Hernández FI-2 Enumeración

66 Enumeración: 6) Complejidad Computacional
Propiedades de los Algoritmos Complejidad del Peor, Promedio y Mejor Caso: Ejemplos Cálculo del Máx o Mín de n números Producto de Matrices Algoritmo de Gauss Satisfabilidad Interpolación Polinomial y Mínimos Cuadrados Problema TSP Euclideano Problema de la Bisección del Grafo Problema de la Coloración del Grafo Dr. Gonzalo Hernández FI-2 Enumeración

67 Enumeración: 6) Complejidad Computacional
Interpolación Polinomial Dados n puntos (xi , yi ) Encontrar un polinomio de grado (n - 1) tal que: p( xi ) = yi para i = 1,...,n yi p(x) xi Dr. Gonzalo Hernández FI-2 Enumeración

68 Enumeración: 6) Complejidad Computacional
Métodos de Mínimos Cuadrados Dados n puntos (xi , yi ) Encontrar la recta que mejor los “representa”: Min å [yi - ( a xi + b)]2 a,b ÎÂ y = ax + b yi n i=1 xi Dr. Gonzalo Hernández FI-2 Enumeración

69 Enumeración: 6) Complejidad Computacional
Problemas Con Solución Problemas Sin Solución Problemas NP Problemas P Universo de Problemas Dr. Gonzalo Hernández FI-2 Enumeración

70 Enumeración: 6) Complejidad Computacional
Problema Algoritmo Complejidad Existe un algoritmno que lo resuelve en tiempo polinomial Solución Exacta en Tiempo Real Clase P No Existe un algoritmno que lo resuelve en tiempo polinomial Solución Aproximada en Tiempo Real Clase NP Dr. Gonzalo Hernández FI-2 Enumeración

71 Enumeración: 6) Problemas P
Clase de Complejidad P Problemas “Tratables” Problemas P Calculables en ≤ O(n4) Problemas P lo son para diferentes modelos de calculabilidad (RAM, Máquina de Turing, Red Neuronal, Autómata, Programa) Composición de Problemas P es P Dr. Gonzalo Hernández FI-2 Enumeración

72 Enumeración: 6) Problemas NP
Clase de Complejidad NP Problemas “Intratables” o Complejos No existe a la fecha algoritmo correcto que los resuelva en tiempo polinomial En la práctica sólo solución aproximada Problemas NP Calculables O(2n) Clase NP  Clase P ??? Dr. Gonzalo Hernández FI-2 Enumeración

73 Enumeración: 6) Problemas NP
Métodos Solución Problemas NP Búsqueda Combinatorial y Mejorada Heurísticas y Metaheurísticas: Local & Greedy Heuristics Simulated Annealing Redes Neuronales Algoritmos Genéticos Dr. Gonzalo Hernández FI-2 Enumeración

74 Enumeración: 6) Problemas NP
Búsqueda Combinatorial Solución por enumeración A=(a1,a2,…,an) Aplicable a problemas pequeños n  50 Enumeración de Permutaciones, Subsets, etc. Backtraking: En cada etapa se tiene una solución parcial Ak = (a1,a2,…,ak) y se determina el set de candidatos para Sk Si es solución se anota, sino se sigue Si Sk+1 =  se reemplaza ak (backtrack) Dr. Gonzalo Hernández FI-2 Enumeración

75 Enumeración: Problemas NP
Búsqueda Combinatorial: Backtracking Backtrack(A) { Compute S1 the set of candidate first elements of solution A ; k = 1 ; while ( k > 0 ) { while ( Sk   ) // advance // { ak = the next element from Sk if ( A =(a1,…, ak) is a solution report it ; k = k + 1 ; compute Sk the set of candidate k-th elements of solution A; k = k - 1 // backtrack // ; } } } Dr. Gonzalo Hernández FI-2 Enumeración

76 Enumeración: Bibliografía
Discrete and Combinatorial Mathematics, R.P. Grimaldi The Algorithm Design Manual, S. Skiena Libros de Matemática Discreta y Combinatorial Dr. Gonzalo Hernández FI-2 Enumeración


Descargar ppt "Universidad Técnica Federico Santa María Departamento de Informática"

Presentaciones similares


Anuncios Google