Curso 20032004 - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Curso 20032004

Description:

Tambi n se le conoce como Separaci n y Evaluaci n Progresiva ... Camino hamiltoniano: camino cerrado que pase por todos los nodos una sola vez. Ejemplo: ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 11
Provided by: jgal9
Category:
Tags: cerrado | curso | salida

less

Transcript and Presenter's Notes

Title: Curso 20032004


1
Ramificación y Poda
  • Curso 2003/2004
  • Daniel García
  • José Moya
  • José A. Gallud

2
  • Introducción
  • Variante de VA
  • También se le conoce como Separación y Evaluación
    Progresiva
  • Técnica de exploración de un grafo orientado e
    implícito con el que se expresa un problema
  • Nodos del grafo problema a resolver
  • Cada nodo contiene una cota que estimará el valor
    de la solución si continuamos por ese camino
  • Diferencias con VA
  • En VA el test de comprobación nos decía si era
    fracaso o no
  • En RyP la cota nos sirve para podar el árbol y
    para saber el orden de ramificación, comenzando
    por las más prometedoras

3
  • El problema del viajante de comercio
  • Dado un grafo dirigido y con coste en las aristas
    no negativo, encontrar el camino hamiltoniano de
    mínimo coste
  • Camino hamiltoniano camino cerrado que pase por
    todos los nodos una sola vez
  • Ejemplo (...)
  • Cada nodo del árbol implícito será un camino sin
    terminar
  • La solución parcial tendrá la forma (a,b,c,...)
    que indica el camino que une los vértices
    a,b,c,...
  • En cada nodo disponemos de una cota que nos
    estimará un mínimo de la longitud del camino
  • El cálculo de la cota se distribuye entre 2
    nodos, ya que la cota es el coste del arco entre
    dos nodos i-j, asignando la mitad al nodo de
    llegada y la mitad al de salida
  • Se miran los costes de pasar por un nodo (en vez
    de arcos)

4
  • En el ejemplo anterior
  • Nodo1
  • Coste como nodo salida min(14/2,4/2,10/2,20/2)2
  • Coste como llegada min(14/2,4/2,11/2,18/2)2
  • Coste nodo mínimo 2
  • Nodo 2
  • Coste como nodo salidamin(14/2,7/2,8/2,7/2)3,5
  • Coste como nodo llegadamin(14/2,5/2,7/2,7/2)2,5
  • Coste mínimo de pasar por el nodo 23,52,56
  • Como hay que pasar por todos los nodos, el mínimo
    para la solución será la suma de los mínimos de
    los costes de pasar por cada nodo
  • 2 6 4 3 3 2 20 estimación del coste
    total
  • Representamos ese estado como (1)-20
  • Indica que el camino encontrado hasta ahora
    consta de 1 vértice y que la cota solución es 20.
    Como sólo hay un nodo, el de menor cota es él
    mismo
  • Las posibles ramificaciones son
  • (1) 20
  • (1,2) x1 (1,3)-x2 (1,4)-x3 (1,5)-x4 y
    calculamos xi

5
  • Para calcular x1
  • Trayecto 1 a 2 14
  • Salida desde 2 7/2 3,5 (min(14/2,7/2,8/2,7/2))
  • Paso por 311/25,5 (salida por 3 llegada 3
    ?(...))
  • Paso por 43 (salida 4 llegada 4 ? (...))
  • Paso por 53 (salida 5 llegada 5 ? (...))
  • Llegada a 1 2 (min(14/2,4/2,11/2,18/2)2)
  • Total 14 7/2 5,5 3 3 2 31
  • En el paso por los nodos 3,4 y 5 no se cuenta el
    nodo 1 como salida porque ya está incluido en el
    camino actual. Puede ser llegada para los nodos
    3, 4 y 5.
  • El nodo 2 puede ser una posible llegada a otro
    nodo, pero no salida, por lo que tampoco se
    contará.
  • La llegada al nodo 1 no puede proceder del nodo 2
    porque indicaría que faltan nodos por incluir.
  • Calculamos el resto de cotas ? (...)
  • x131 x224 x329 x441
  • Ahora ramificamos el segundo problema con la cota
    más prometedora, que es x224 ? (...)

6
  • Modo de proceder de los algoritmos RyP
  • Nodo vivo nodo con posibilidad de ser
    ramificado, es decir, no se ha realizado una
    poda.
  • No se pueden comenzar las podas hasta que no se
    haya descendido a una hoja del árbol
  • Se aplicará la poda a los nodos con una cota peor
    al valor de una solución dada ? a los nodos
    podados a los que se les ha aplicado una poda se
    les conoce como nodos muertos
  • Se ramificará hasta que no queden nodos vivos por
    expandir
  • Los nodos vivos han de estar almacenados en algún
    sitio ? lista de nodos, de modo que sepamos qué
    nodo expandir

7
  • Esquema general
  • Funcion ramipoda(Pproblema)solucion
  • LP (lista de nodos vivos)
  • S ?? (según se aplique máximo o mínimo)
  • Mientras L?0
  • nnodo de mejor cota en L
  • si solucion(n)
  • si (valor(n) mejor que s)
  • svalor(n)
  • para todo m ?L y Cota(m) peor que S
  • borrar nodo m de L
  • sino
  • añadir a L los hijos de n con sus cotas
  • borrar n de L (tanto si es solución como si ha
    ramificado)
  • Fin_mientras
  • Devolver S

8
  • Problema de la mochila 0/1
  • Ejemplo M15 con 4 objetos
  • vi10,8,10,12
  • pi2,4,5,8
  • vi/pi5,2,2,1.5
  • Usaremos la misma estimación que se utilizó en VA
    para acotar el beneficio esperado de un nodo,
    suponiendo que no estamos en el caso 0/1 y
    aplicamos devorador (óptima en este caso)
  • Ejemplo de maximización escogeremos los nodos
    con cotas superiores
  • Árbol para el ejemplo (...)
  • Funcion mochila ? (...)

9
  • Árboles de juegos
  • Muchos juegos de estrategia se representan en
    forma de árbol
  • Nodo configuración posible del juego
  • Arco transición legal entre estados del juego
    según las reglas
  • Árbol infinito cuando el juego no termina nunca
  • Supongamos un juego de dos jugadores
  • Juego determinista no interviene el azar
  • Suponemos que una partida es finita
  • A cada nodo se le asigna una etiqueta ganador,
    perdedor, nulo
  • Indicará la situación del jugador que se
    encuentra en esa configuración, suponiendo que no
    hay equivocaciones
  • Asignación de etiquetas
  • Las asignadas a las configuraciones dependen del
    juego
  • Una configuración no terminal es ganadora si al
    menos un sucesor es perdedor
  • Una configuración no terminal es perdedora si
    todos sus sucesores son ganadores
  • El resto de configuraciones son nulas

10
  • Juego del Nim o de Marienbad
  • Inicialmente hay dos cerillas.
  • El primero coge tantas cerillas como quiera, al
    menos 1 y deja al menos 1.
  • En cada turno, un jugador tomará al menos 1
    cerilla, pero nunca más del doble que las que ha
    cogido el otro jugador en la vez anterior.
  • Gana quien retire la última cerilla.
  • No hay partidas nulas.
  • Ejemplo 7 cerillas ? el jugador que empieza
    tiene la victoria asegurada siempre y cuando no
    se equivoque
  • Con 8 cerillas, el jugador que empieza pierde, a
    no ser que su adversario se equivoque
Write a Comment
User Comments (0)
About PowerShow.com