Sin t - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Sin t

Description:

... requeridos para resolverlos requieren tiempo exponencial en el peor caso. ... no mejore necesariamente el desempe o en el peor caso (Russell & Norvig, 1995) ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 25
Provided by: Per4151
Category:
Tags: el | peor | sin

less

Transcript and Presenter's Notes

Title: Sin t


1
Clase1 Análisis de Algoritmos, Optimización
Clásica, Heurísticas
Gabriela Ochoa http//www.ldc.usb.ve/gabro/ Basa
do en material elaborado por Dr. Carlos A.
Coello Coello http//delta.cs.cinvestav.mx/ccoell
o
2
Conceptos Básicos de Análisis de Algoritmos
  • Análisis a priori de algoritmos
  • Orden de magnitud de un algoritmo

3
Análisis a priori de algoritmos
  • Ignorar detalles dependientes de la arquitectura
    del computador o de un lenguaje de programación
  • Analizar el orden de magnitud de la frecuencia
    de ejecución de las instrucciones de un algoritmo.

4
Orden de magnitud de un algoritmo (1/3)
  • Suele usarse la notación O (big-O)
  • Complejidad O(g(n)) significa que al correrlo en
    una computadora con los mismos datos, pero
    valores incrementales de n, los tiempos
    resultantes de ejecución serán siempre menores
    que g(n)

5
Orden de magnitud de un algoritmo (2/3)
  • Tiempos más comunes de los algoritmos
  • O(1) lt O(log n) lt O(n) lt O(n log n) lt
  • lt O(n2) lt O(n3) lt O(2n)

6
Orden de magnitud de un algoritmo (3/3)
7
Clase P
  • Un problema pertenece a la clase P si puede ser
    resuelto en tiempo polinomial en una computadora
    determinística.
  • Ejemplos Quicksort, búsqueda binaria,
    multiplicación matricial.

8
Clase NP
  • Problema NP puede ser resuelto en tiempo
    polinomial pero usando una computadora no
    determinística
  • Computadora no detérministica al ser
    confrontada con varias opciones, puede adivinar
    la correcta. Nunca hace elecciones incorrectas
    que la lleven a un paso previo
  • No existen en el mundo real. Herramienta
    imaginaria que hace que los problemas difíciles
    parezcan triviales

9
P vs NP
  • La clase P contiene problemas que pueden
    resolverse rápidamente.
  • La clase NP contiene problemas cuya solución
    puede verificarse rápidamente.
  • En 1971 se planteó la pregunta Es P NP?
    Desde entonces, sigue siendo una pregunta abierta
    para los teóricos.
  • Se cree que P ! NP

10
Problemas NP Completos
  • Todos los algoritmos requeridos para resolverlos
    requieren tiempo exponencial en el peor caso.
  • Es decir, son sumamente difíciles de resolver.
  • Ejemplos el problema del agente viajero, O(n22n)

11
El problema del agente viajero (1/2)
  • Encontrar una permutación que represente el
    recorrido de una serie de ciudades de tal forma
    que todas sean visitadas minimizando la distancia
    total viajada.

12
El problema del viajero (2/2)
  • Consideremos n ciudades
  • El tamaño del espacio de búsqueda es (n-1)!/2
  • Para n10, hay unas 181,000 soluciones posibles
  • Para n20 hay unas 10,000,000,000,000,000
    soluciones posibles
  • Para n50 hay unas 100,000,000,000,
  • 000,000,000,000,000,000,000,000,000,000,
    000,000,000,000,000,000,000 soluciones posibles
  • (Sólo hay 1,000,000,000,000,000,000,000 litros de
    agua en el planeta)

13
Técnicas Clásicas de Búsqueda y Optimización (1/4)
  • Existen muchas técnicas clásicas para resolver
    problemas con ciertas características
    específicas.
  • Es importante conocer la existencia de estas
    técnicas. Cuando el problema por resolverse se
    adecúa a ellas, no tiene sentido usar
    heurísticas.

14
Técnicas Clásicas de Búsqueda y Optimización (2/4)
  • Para optimización lineal, el método Simplex
    sigue siendo la opción más viable.
  • Para optimización no lineal, hay métodos
    directos (p. ej. la búsqueda aleatoria) y métodos
    no directos (p. ej., el método del gradiente
    conjugado).

15
Técnicas Clásicas de Búsqueda y Optimización (3/4)
  • Existen también técnicas que construyen
    parcialmente una solución a un problema. Por
    ejemplo, la programación dinámica y el método de
    ramificación y búsqueda (branch bound).

16
Técnicas Clásicas de Búsqueda y Optimización (4/4)
  • Cuando enfrentamos un cierto problema de
    optimización, si la función a optimizarse se
    encuentra en forma algebraica, es importante
    intentar resolverla primero con técnicas
    clásicas, antes de utilizar cualquier heurística.

17
Lo que el mundo real demanda
  • Existen problemas que no pueden resolverse usando
    un algoritmo que requiere tiempo polinomial.
  • De hecho, en muchas aplicaciones prácticas, no
    podemos siquiera decir si existe una solución
    eficiente.
  • Hay muchos problemas para los cuales el mejor
    algoritmo que se conoce requiere tiempo
    exponencial.

18
Qué es una heurística? (1/2)
  • Heurística del griego heuriskein ("encontrar" o
    "descubrir)
  • El significado del término ha variado en
    históricamente.
  • Las heurísticas fueron un área predominante en
    los orígenes de la Inteligencia Artificial
  • Definición actual técnica que mejora el
    desempeño en promedio de la solución de un
    problema, aunque no mejore necesariamente el
    desempeño en el peor caso (Russell Norvig,
    1995).

19
Qué es una heurística? (2/2)
  • Definición más precisa (Reeves, 1993)
  • Una heurística es una técnica que busca
    soluciones buenas (es decir, casi óptimas) a un
    costo computacional razonable, aunque sin
    garantizar factibilidad u optimalidad de las
    mismas. En algunos casos, ni siquiera puede
    determinar qué tan cerca del óptimo se encuentra
    una solución factible en particular.

20
Realmente necesitamos técnicas heurísticas?
  • Las técnicas clásicas de optimización son
    insuficientes cuando
  • Enfrentamos espacios de búsqueda muy grandes
    (ej. agente)
  • Algoritmos conocidos más eficientes para
    resolver el problema requieren tiempo exponencial

21
Ejemplos de técnicas heurísticas
  • Búsqueda tabú
  • Recocido simulado
  • Escalando la colina

22
Búsqueda Tabú
  • Usa una "memoria" para guiar la búsqueda.
  • Algunas soluciones examinadas recientemente son
    "memorizadas y se vuelven tabú (prohibidas) al
    tomar decisiones acerca del siguiente punto de
    búsqueda.
  • Es determinística, aunque se le pueden agregar
    elementos probabilísticos.

23
Recocido Simulado
  • Basado en el enfriamiento de los cristales.
  • El esquema de enfriamiento es crucial.
  • Requiere de una temperatura inicial, una final y
    una función de variación de la temperatura.
  • Es un algoritmo probabilístico de búsqueda local.

24
Escalando la Colina
  • Se aplica a un punto a la vez (técnica local).
  • Se generan varios estados posibles y se
    selecciona el mejor.
  • No hay retroceso ni registro histórico.
  • Puede quedar atrapado fácilmente en óptimos
    locales.
  • Es un algoritmo determinístico.
Write a Comment
User Comments (0)
About PowerShow.com