197
Introducci ´ on Ejemplos e Ideas Procedimientos de B ´ usqueda Cl´ asicos usqueda ciega o sin informaci ´ on usqueda con Informaci ´ on omo Inventar Heur´ ısticas MACRO– Operadores Metaheur´ ısti- cas usqueda Local GRASP usqueda Tab´ u Recocido Simulado Scatter Search Algoritmos Gen ´ eticos usqueda y Optimizaci ´ on Eduardo Morales INAOE (INAOE) 1 / 197

Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Busqueda y Optimizacion

Eduardo Morales

INAOE

(INAOE) 1 / 197

Page 2: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Contenido1 Introduccion

2 Ejemplos e Ideas

3 Procedimientos de Busqueda ClasicosBusqueda ciega o sin informacionBusqueda con InformacionComo Inventar HeurısticasMACRO–Operadores

4 MetaheurısticasBusqueda LocalGRASPBusqueda TabuRecocido SimuladoScatter SearchAlgoritmos Geneticos

(INAOE) 2 / 197

Page 3: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Introduccion

Introduccion

La solucion de problemas esta asociado a la inteligencia.El proceso “normal” de solucion de problemas involucra:• identificacion y definicion del problema• identificacion del criterio de evaluacion• generacion de alternativas• busqueda de una solucion y evaluacion• seleccion de opcion y recomendacion• implementacion

En IA la solucion es principalmente busqueda y evaluacion.

(INAOE) 3 / 197

Page 4: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Introduccion

Busqueda

• La busqueda es necesaria en la solucion de problemasy normalmente involucra introducir heurısticas.

• Las heurısticas son criterios, metodos, o principios paradecidir cual de varias alternativas de accion prometeser la mas efectiva para cumplir con una meta.

• Representan un compromiso entre: (i) simplicidad y (ii)poder discriminatorio entre opciones buenas y malas.

• Las heurısticas no garantizan la accion mas efectiva,pero muchas veces lo hacen.

• En problemas complejos, las heurısticas juegan unpapel fundamental para reducir el numero deevaluaciones y para obtener soluciones dentro derestricciones de tiempo razonables.

(INAOE) 4 / 197

Page 5: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema de las 8 reinas

• Una posibilidad es lograr una solucion incremental,acercandose a la meta poco a poco siguiendo una seriede decisiones locales

• Hay que asegurarse que la secuencia detransformaciones sea sistematica, para (i) no generarconfiguraciones repetidas y (ii) no excluirconfiguraciones deseables.

• Una forma de sistematizar la busqueda esconstruyendo mas que transformando configuraciones

• El hecho de que podamos sistematizar la busqueda deesta forma es que no nos podemos recuperar deviolaciones a restricciones mediante operacionesfuturas.

(INAOE) 5 / 197

Page 6: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema de las 8 reinas

Posibles candidatos de heurısticas:1 Preferir colocar reinas que dejen el mayor numero de

celdas sin atacar. En el ejemplo: heu1(A)=8,heu1(B)=9, heu1(C)=10.

2 Ver cual es el menor numero de celdas no atacadas encada renglon y escoger la que su numero menor seamayor. En el ejemplo: heu2(A)=1, heu2(B)=1,heu2(C)=2

(INAOE) 6 / 197

Page 7: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema de las 8 reinas

Q

Q

Q

A B C

A=8 B=9 C=10

Figura : El problema de las 8 reinas

(INAOE) 7 / 197

Page 8: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema del 8-puzzle

12 3

4567

8567

567 567 567

2 2 23 3 34 4 41 1 1

1 2 3

88

8

8 4

Figura : El problema del 8 puzzle

(INAOE) 8 / 197

Page 9: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema del 8-puzzle

• Hacer busqueda exhaustiva es impractico• Una posible regla es estimar que tan cerca se esta de

la solucion.• Algunas heurısticas que se han usado para esto son:

1 Contar el numero de cuadros que no corresponden a lameta (sin contar el blanco). En el ejemplo: heu1(A)=2,heu1(B)=3, heu1(C)=4.

2 La suma de la distancia Manhattan de los cuadros queno corresponden a su lugar. En el ejemplo: heu2(A)=2,heu2(B)=4, heu2(C)=4.

3 Distancia del cuadro blanco al primer cuadro fuera de sulugar. En el ejemplo: heu3(A)=1, heu3(B)=1, heu3(C)=3.

4 Distancia entre la posicion final del blanco y su posicionactual. En el ejemplo: heu4(A)=2, heu4(B)=0,heu4(C)=2.

(INAOE) 9 / 197

Page 10: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

Encontrar la ruta mas corta entre dosciudades

• Dado un mapa con varias ciudades encontrar el caminomas corto entre un par de ciudades.

• Pero si en lugar del mapa se nos da informacıon de lasdistancias entre ciudades no es obvia la preferencia.

• Esto es porque en el mapa es posible estimar lasdistancias Euclideanas.

• Sin embargo, se pueden calcular las distancias a partirde las coordenadas de las ciudades, por lo que sepuede usar esa informacion extra para determinar queaccion tomar, en base a una estimacion de lo que faltamas la distancia recorida.

(INAOE) 10 / 197

Page 11: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema del agente viajeroEncontrar el circuito mas corto entre ciudades.

AB

C

D

E

F

Figura : El problema del agente viajero

(INAOE) 11 / 197

Page 12: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

El problema del agente viajero

• Es un problema NP-duro, por lo que se requiere deheurısticas adecuadas que acoten el problema.

• Si tenemos un pedazo de ruta, de las diferentesalternativas que existen en esa ruta la mejor es la quenos estime completar la menor ruta.

• Esa estimacion puede ser difıcil de hacer, pero si esoptimısta (subestima consistentemente el costo real)entonces el que nos de la mejor estimacion es el mejor.

(INAOE) 12 / 197

Page 13: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

Detectar la moneda falsa (12 monedas,pesando 3 veces)

• Supongamos que tenemos una moneda falsa(mas/menos pesada) en un grupo de 12, una balanza ytres intentos para detectarla.

• Se requiere de una estrategia, o sea una descripcionde que hacer primero y en base al resultado obtenidoque hacer despues y ası sucesivamente.

• Cada accion requiere hacer una estimacion deque hacer para las 3 posibles situaciones. Por lo que elmerito de una accion depende de la combinacion de losmeritos de las 3 posibles acciones (regla decombinacion).

• Una vez que se decide alguna alternativa, se necesitaespecificar que subproblema tiene que ser consideradodespues.

(INAOE) 13 / 197

Page 14: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

Representacion

• La representacion que se usa para caracterizar unproblema es fundamental para su solucion.

• Los requerimientos necesarios para una representacionde un problema de busqueda son:

1 Una agenda que contiene conjuntos de solucionespotenciales

2 Un conjunto de operaciones o reglas que nos modificanlos sımbolos en la agenda

3 Una estrategia de busqueda

• Por ejemplo, podemos jugar con un contrincante aseleccionar digitos en forma alternada, tratando deencontrar tres digitos que sumen 15. Si se usa uncuadro magico y se juega gato el juego es trivial.

(INAOE) 14 / 197

Page 15: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Ejemplos e Ideas

Representacion

1

2

3

4

5

6

7

8

9

Figura : El cuadro magico

(INAOE) 15 / 197

Page 16: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos

Busqueda Clasica

S

D

A B C

E F

G4

3

4 4

2 43

5 5

(INAOE) 16 / 197

Page 17: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos

Busqueda Clasica

A

I

B

B D A

C E

F

M

D

D

B B

C C

C

E

E

EF

F

F

M

M

MA

11

14

19 19 17

17

25

15 15 13

(INAOE) 17 / 197

Page 18: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos

Busqueda Clasica

• Propiedades de algoritmos de busqueda (heurısticas):1 Completo: un algoritmo se dice que es completo si

encuentra una solucion cuando esta existe2 Admisible: Si garantiza regresar una solucion optima

cuando esta existe

(INAOE) 18 / 197

Page 19: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Busqueda ciega o sin informacion

• El orden en que la busqueda se realiza no depende dela naturaleza de la solucion buscada. La localizacion dela(s) meta(s) no altera el orden de expasion de losnodos.

(INAOE) 19 / 197

Page 20: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Busqueda ciega o sin informacion

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento y

anade sus sucesores al de la agenda

(INAOE) 20 / 197

Page 21: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Breadth–first search (busqueda a loancho)

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento y

anade sus sucesores al final de la agenda

(INAOE) 21 / 197

Page 22: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Breadth–first search (busqueda a loancho)

• Breadth–first es completo (encuentra una solucion siexiste) y optimo (encuentra la mas corta) si el costo delcamino es una funcion que no decrece con laprofundidad del nodo.

• Pero requiere de mucha memoria.• Si se tiene un factor de arborecencia de b y la meta

esta a profundidad d , entonces el maximo numero denodos epandidos antes de encontrar una solucion es:1 + b + b2 + b3 + . . .+ bd

(INAOE) 22 / 197

Page 23: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Breadth–first search (busqueda a loancho)

Profund. Nodos Tiempo Memoria0 1 1 miliseg. 100 bytes2 111 .1 seg. 11 kilobytes4 11,111 11 seg. 1 megabyte6 106 18 min. 111 megabytes8 108 31 hr. 11 gigabytes

10 1010 128 dıas 1 terabyte12 1012 35 anos 111 terabytes14 1014 3500 anos 11,111 terabytes

(INAOE) 23 / 197

Page 24: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Busqueda de Costo Uniforme

• Una variante de breadth–first es expander todos losnodos por costos. Si el costo es igual a la profunidad setiene el mismo algoritmo.

• La busqueda de costo uniforme encuentra la solucionmas barata si el costo nunca decrece al aumentar loscaminos.

costo(suc(n)) ≥ costo(n)) ∀n

(INAOE) 24 / 197

Page 25: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Depth–first o Busqueda en Profundidad(LIFO)

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento y

anade sus sucesores al frente de la agenda

(INAOE) 25 / 197

Page 26: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Depth–first o Busqueda en Profundidad(LIFO)

• Depth–first necesita almacenar un solo camino de laraız a una hoja junto con los “hermanos” no expandidosde cada nodo en el camino.

• Por lo que con un factor de arborecencia de b yprofundidad maxima de m, su necesidad dealmacenamiento es a los mas bm.

• Depth–first no es ni completo ni optimo y debe deevitarse en arboles de busqueda de profunidad muygrande o infinita.

(INAOE) 26 / 197

Page 27: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Backtracking

• Backtracking es una version de depth–first que aplica elcriterio LIFO para generar mas que para expander. Estoes, solo se genera un sucesor a la vez.

• Su gran ventaja es su ahorro en memoria. Su grandesventaja es el no poder incluir informacion paraevaluar cual de los sucesores es el mejor.

• Algunas modificaciones de backtracking regresan alnodo que ocaciona que se llegue a un punto sin salida(dependency directed backtracking).

• Backtracking tambien puede servir para problemas de(semi–)optimizacion. Si mantenemos la solucion masbarata hasta el momento y usamos esa informacionpara cortar caminos (asumiendo que el costo nodecrece con la profunidad de la busqueda).

(INAOE) 27 / 197

Page 28: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Busqueda con Profundidad Limitada(depth–limited)

• Para evitar caer en caminos de profunidad muy grandese impone un lımite de profundidad maxima.

• Si se sabe la profundidad de alguna meta, el algoritmopuede ser completo, pero sigue sin ser optimo.

• Cuando se tienen grafos altamente conectados hay quetener cuidado con el concepto de profundidad (una masque el padre menos profundo), se tienen que analizartodos los padres, lo cual implica mas memoria.

• En la practica se puede tomar solo la profundidad delpadre que lo genero haciendo una estrategia LIFO mas“pura”.

(INAOE) 28 / 197

Page 29: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Busqueda de Profundidad Iterativa(iterative o progressive deepening)

• El problema con exigir un lımite de profundidad,esta precisamente en escoger un lımite adecuado.Profundidad iterativa va aumentando gradualmente laprofundidad hasta encontrar una meta. Es optimo ycompleto como breadth–first pero requiere de pocamemoria como depth–first.

• Por ejemplo, con un branching factor de 10 y conprofundidad 5, los nodos expandidos serıan1 + 10 + 100 + . . .+ 100,000 = 111,111, y con iterativedeepending son: (d + 1)1 + (d)b + (d − 1)db2+. . .+1∗bd = 6+50+400+3,000+20,000+100,000 =123,456 ≈ 11% mas de nodos.

• Entre mas grande sea el factor de arborecencia, menorel trabajo extra.

(INAOE) 29 / 197

Page 30: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Busqueda Bidireccional

• Aquı la idea es explorar al mismo tiempo del estadoinicial hacia la meta que de la meta hacia el estadoinicial hasta que se encuentren en un estado.

• Cuando el factor de arborecencia es igual en ambossentidos, se pueden hacer grandes ahorros.

(INAOE) 30 / 197

Page 31: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Puntos a Considerar

• Cuando los operadores son reversibles, los conjuntosde predecesores y sucesores son iguales, pero enalgunos casos calcular los predecesores puede sermuy difıcil.

• Si hay muchas posibles metas explıcitas, en principiose podrıa hacer la busqueda hacia atras a partir decada una de ellas. Sin embargo, a veces las metas sonsolo implıcitas (e.g., jaque mate).

• Se necesita un metodo eficiente para revisar si unnuevo nodo aparece en la otra mitad de la busqueda.

• Se tiene que pensar que tipo de busqueda hacer encada mitad (no necesariamente la misma es la mejor).

(INAOE) 31 / 197

Page 32: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda ciega o sin informacion

Comparacion de Algoritmos

Comparacion de algoritmos. b = factor de arborescencia, d= profundidad de la solucion, m = profundidad maxima, l =profundidad lımite.

Criterio Breadth Costo Depth Depth Itera. Bidir.first unif. first limited deep.

Tiempo bd bd bm bl bd bd/2

Espacio bd bd b ×m b × l b × d bd/2

Optimo si si no no si siCompleto si si no si (si l ≥ d) si si

(INAOE) 32 / 197

Page 33: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Algoritmo Generico con Informacion

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento,

anade sus sucesores a la agenda,ordena todos los elementos de la agenda

(INAOE) 33 / 197

Page 34: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Hill–Climbing

Hill–climbing es una estrategia basada en optimizacionlocal.

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento,

anade sus sucesores a la agenda,ordena todos los elementos de la agendaselecciona el mejor y elimina el resto

(INAOE) 34 / 197

Page 35: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Hill-Climbing

• Problemas obvios: maximos/mınimos locales, valles yriscos

• Para salir de minimos/maximos locales o tratar deevitarlos con hill–climbing a veces se empieza labusqueda en varios puntos aleatorios (random–restarthill–climbing), salvando el mejor

• Dado su bajo costo computacional es la estrategia debusqueda mas utilizada en optimizacion y aprendizaje.

(INAOE) 35 / 197

Page 36: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Best–First

Si el nodo que mejor evaluacion recibe es el que seexpande primero, entonces estamos haciendo “best–first”.

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento,

anade sus sucesores a la agenda,ordena todos los elementos de la agenda

(INAOE) 36 / 197

Page 37: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Best-First

Mas que estar expandiendo el “mejor”, se expande el queparece ser el mejor de acuerdo con nuestra funcion deevaluacion.

(INAOE) 37 / 197

Page 38: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

(INAOE) 38 / 197

Page 39: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

(INAOE) 39 / 197

Page 40: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

Figura : Busqueda Best first

(INAOE) 40 / 197

Page 41: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Usando Costo Estimado

• El usar el costo acumulado (busqueda de costouniforme) no necesariamente guıa la busqueda hacia lameta. Para esto, se utiliza una estimacion del costo delcamino del estado hacia una meta (h(n)).

• Esta estrategia (minimizar el costo estimado paraalcanzar una meta) a veces se llama una estrategia“greedy”.

• La funcion de evaluacion (h) puede ser lo que seamientras h(n) = 0 si n es una meta.

• Debido a que guardan todos los nodos en memoria, sucomplejidad en espacio es igual a la del tiempo.

(INAOE) 41 / 197

Page 42: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Hıbridos

• Tres de las estrategias principales vistas: hill–climning,backtracking y best–first, se pueden ver como 3 puntosen un espectro continuo de estrategias, si lascaracterizamos por:

• Recuperacion de caminos sin salida• Alcance de evaluacion (numero de alternativas

consideradas)

(INAOE) 42 / 197

Page 43: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Hıbridos

CapacidadSeleccion

CapacidadRecuperacion

Todas Best-First

Backtracking

Hill Climbing

Figura : Algoritmos Hıbridos

(INAOE) 43 / 197

Page 44: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Hıbridos

• Se puede hacer una combinacion BF–BT. Se aplica BFal principio hasta agotar la memoria, seguido de BT. SiBT no encuentra una solucion, se considera otro nodo.

• Otra posibilidad es usar BT hasta cierta profundidad yluego emplear BF. Si no se llega a una solucionhacemos backtracking y buscamos en otra zona.

• Esta segunda opcion es mas difıcil de controlar que laprimera, pero aplicar BF al final tiene la ventaja que BFse comporta mejor entre mas informado este (lo cual esmas probable que ocurra en la parte inferior del arbol)

(INAOE) 44 / 197

Page 45: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Hıbridos

• Se puede tener una combinacion de un BF local con unBT global. Se empieza con un BF con memorialimitada. Cuando se acaba la memoria, su lista denodos en OPEN se toma como los sucesores directosdel nodo de donde se partio (el nodo raız la primeravez), los cuales se someten a un BT. Sin embargo,cada uno de ellos se expande usando un BF conmemoria limitada. Si no se llega a la solucion se hacebacktracking a otro nodo.

(INAOE) 45 / 197

Page 46: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Beam–Search

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta

si el primer elemento es la metaentonces acabasi no elimina el primer elemento,

anade sus sucesores a la agenda,ordena todos los elementos de la agenda yselecciona los k mejores (elimina los demas)

(INAOE) 46 / 197

Page 47: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Beam–Search

Si k = 1 es como hill-climbing, si k es tan grande paraconsiderar todos los nodos de la agenda es como best-first.

(INAOE) 47 / 197

Page 48: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Beam-Search

(INAOE) 48 / 197

Page 49: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

Figura : Busqueda Beam search con k = 2.

(INAOE) 49 / 197

Page 50: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Branch and Bound

Trabaja como best-first pero en cuanto se encuentra unasolucion sigue expandiendo los nodos de costos menores alencontrado

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta y

los demas nodos sean de costos mayores o igualesa la metasi el primer elemento es la meta y los demas nodos

son de menor o igual costo a la metaentonces acabasi no elimina el primer elemento y anade sus

sucesores a la agendaordena todos los elementos de la agenda

(INAOE) 50 / 197

Page 51: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

(INAOE) 51 / 197

Page 52: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

Figura : Busqueda Branch and Bound

(INAOE) 52 / 197

Page 53: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Dynamic Programming

• Idea: no explorar caminos a los que ya llegamos porcaminos mas cortos/baratos.

• El algoritmo es igual solo hay que anadir la condicion:elimina todos los caminos que lleguen almismo nodo excepto el de menor costo

(INAOE) 53 / 197

Page 54: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

(INAOE) 54 / 197

Page 55: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

(INAOE) 55 / 197

Page 56: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

Figura : Busqueda con programacion dinamica

(INAOE) 56 / 197

Page 57: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

A∗

• Busqueda “greedy” minimiza h(n) reduciendo labusqueda, pero no es ni optima ni completa. Busquedade costo uniforme minimiza el costo acumulado g(n) yes completa y optima, pero puede ser muy ineficiente.

• Se pueden combinar las dos sumandolas, usando paracada nodo la siguiente heurıstica: f (n) = g(n) + h(n).

• La estrategia se puede probar que es completa yoptima si h(n) nunca sobre–estima el costo. Tal funcionse le conoce como una heurıstica admisible.

• Breadth–first se puede ver como un caso especial deA∗ si h = 0 y c(n,n′) = 1 para todos sus sucesores (elcosto de ir de un nodo padre a un nodo hijo).

• Si h es admisible, f (n) nunca hace sobrestimaciones.

(INAOE) 57 / 197

Page 58: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Algoritmo A∗

Crea una agenda de un elemento (el nodo raız)hasta que la agenda este vacıa o se alcance la meta y

los demas nodos sean de costos mayores o igualesa la metasi el primer elemento es la meta y los demas nodos

son de menor o igual costo a la metaentonces acabasi no elimina el primer elemento y anade sus

sucesores a la agendaordena todos los elementos de la agenda deacuerdo al costo acumulado mas lassubestimaciones de los que faltaelimina todos los caminos que lleguen al mismonodo, excepto el de menor costo

(INAOE) 58 / 197

Page 59: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

(INAOE) 59 / 197

Page 60: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Ejemplo

Figura : Busqueda A∗

(INAOE) 60 / 197

Page 61: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

ComparacionResultados promedios de 100 instancias del 8-puzzle.

Costo de busqueda Arborecenciaefetiva

d IDS A∗(h1) A∗(h2) IDS A∗(h1) A∗(h2)2 10 6 6 2.45 1.79 1.794 112 13 12 2.87 1.48 1.456 680 20 18 2.73 1.34 1.308 6384 39 25 2.80 1.33 1.24

10 47127 93 39 2.79 1.38 1.2212 364404 227 73 2.78 1.42 1.2414 3473941 539 113 2.83 1.44 1.2316 − 1301 211 − 1.45 1.2518 − 3056 363 − 1.46 1.2620 − 7276 676 − 1.47 1.2722 − 18094 1219 − 1.48 1.2824 − 39135 1641 − 1.48 1.26

(INAOE) 61 / 197

Page 62: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Extensiones

• f = g + h viene de dos principios: (i) lo mas corto es lomas rapido (g) y (ii) para asegurarnos que es la mejoropcion hay que agregar subestimaciones (h).

• El efecto de g es para anadir la componente debreadth–first a la busqueda, mientras h es ideal cuandose tienen muchas soluciones y se puede confiar en laestimacion.

• Se han propuestos funciones pesadas para compensarcada parte:

f (n) = (1− w)g(n) + wh(n)

w = o ⇒ busqueda de costo uniformew = 1/2⇒ A∗

w = 1⇒ BF

(INAOE) 62 / 197

Page 63: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Extensiones

• Una estrategia ε-admisible se obtiene con un pesodinamico: En lugar de mantener a w constante durantela busqueda, mejor usar un peso dinamico que seajusta con la profundidad. Una posibilidad es:

f (n) = g(n) + h(n) + ε[1− d(n)N

]h(n)

donde d(n) es la profundidad del nodo n y N laprofundidad anticipada del nodo meta. A profunidadesbajas, h tiene un soporte de 1 + ε lo que favoreceescursiones tipo depth-first, mientras que a grandesprofundidades asume un peso igual.

• Se pueden usar otras posibles medidas no aditivaspara h y g: e.g., multiplicativa.

(INAOE) 63 / 197

Page 64: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

IDA∗

• Generalmente lo primero que se agota en A∗ es lamemoria. Dos extensiones a A∗ tratan de reducir losrequerimientos de memoria.

• IDA∗, es una extension natural de iteractive deepening.Se usa un lımite de costo (mas que de profundidad)iterativo.

• IDA∗ es completo y optimo como A∗, pero por serdepth–first, solo requiere memoria proporcional alcamino mas largo que explora (aprox. bd ,porque depende del numero de nodos por costo).

(INAOE) 64 / 197

Page 65: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

IDA∗

• Sin embargo, en problemas en donde la heurısticacambia para cada estado (e.g., el TSP), lo que quieredecir es que cada contorno incluye solo un estado. SiA∗ expande N nodos, IDA∗ tendrıa que hacer Niteraciones (1 + 2 + . . .+ N), osea O(N2)

• Por lo que si N es muy grande para ser guardada enmemoria, seguramente N2 es demasiado tiempo quese necesita esperar.

(INAOE) 65 / 197

Page 66: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

A∗ε

• Cuando se tienen muchas posibilidades mas o menostodas del mismo costo, lo que se puede hacer esagruparlas todas en un mismo rango y solo expander lamejor de acuerdo a cierta heurıstica de simplicidad desolucion, permitiendo errores del orden del rangoestablecido.

• Es como A∗, solo que ahora se tienen dos listas: OPEN(como antes) y FOCAL ⊂ OPEN, en donde se tienentodos los nodos que no se desvıan de la mejor opcionen mas de ε.

• Se comporta como A∗ pero selecciona un nodo deFOCAL usando una heurıstica nueva

(INAOE) 66 / 197

Page 67: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

MA∗

• Espacios de estados con una gran variedad de costosson difıciles porque el algoritmo extiende su frontera ycambia frecuentemente de oponion acerca deque camino es el mas promisorio.

• Para IDA∗ es especialmente difıcil porque no guardainformacion acerca de los caminos.

• MA∗ al llenar su memoria elimina el nodo de mayorcosto de su agenda y propaga su costo a su nodopadre.

• A pesar de eliminar la informacion que dice como ir aun cierto nodo, los valores guardados le sirven alalgortimo para saber que tanto vale la pena explorar elnodo padre.

(INAOE) 67 / 197

Page 68: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Mejoras Dinamicas

• Las evaluaciones en las heurısticas son basicamenteestaticas e involucran cierto error (e.g.,subestimaciones).

• Una forma de mejorar las funciones de evaluacion esactualizarlas dinamicamente conforme se obtiene masinformacon.

• Algunas variantes incluyen (aunque existen otras):1 Add method2 Max method3 Back-up method4 Front-to-front method

(INAOE) 68 / 197

Page 69: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Add Method

1 Se calcula alrededor de la meta rutas a varios puntos(Bis),

2 Se estima el error entre el valor real de todos estospuntos (g ∗ (Bi)) y el estimador inicial a estos puntos(Diff (Bi) = g ∗ (Bi)− h(Bi),

3 se toma el error mınimo (minDiff = mini(Diff (Bi) y seusa para mejorar el estimador de los nodos (As)haciendo busqueda hacia adelante(newh(A) = h(A) + minDiff ).

(INAOE) 69 / 197

Page 70: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Add Method

A

Meta

B1

B2

B3

g(A)h(A)

h(B1)

Diff(B2)

Diff(B3)

Diff(B1)g*(B1)

Figura : Esquema ilustrando el metodo Add

(INAOE) 70 / 197

Page 71: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Max Method

1 Se calcula alrededor de la meta rutas a varios puntos(Bis),

2 Se estima la distancia entre el estado inicial y lospuntos cercanos a la meta y se estima el mınimo de ladistancia total (fmin2 = mini(g ∗ (Bi) + h(Bi)),

3 se usa para mejorar el estimador de los nodos (As)haciendo busqueda hacia adelante, tomando en cuentael estimador inicial hacia A,h1(A)(h′(A) = fmin2− h1(A)),

4 como no siempre es mejor estimador que el que setenıa, se hace la combinacion max de ambos(newh(A) = max(h(A), fmin2− h1(A)).

(INAOE) 71 / 197

Page 72: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Max Method

A

Meta

B1

B2

B3

g(A)h(A)

Diff(A)

g*(B1)h1(A)

h(B3)

h(B2)

h(B1)

g*(B2)

g*(B3)

Figura : Esquema ilustrando el metodo Max

(INAOE) 72 / 197

Page 73: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Back-up method

1 Se toman los sucesores de un nodo A (Bs),2 Se estima el costo de A a cada uno de los Bs (ki(A,Bi))

y la estimacion de cada B a la meta (h(Bi)),3 Se usa como estimador de A a la meta, el mınimo de

estos (newh(A) = mini(ki(A,Bi) + h(Bi))). Si elevaluador no es consistente, entonces se toma:newh(A) = max(h(A),mini(ki(A,Bi) + h(Bi))).

(INAOE) 73 / 197

Page 74: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Back-up Method

A

Meta

B1

B2

B3

g(A) h(A)

h(B1)

h(B2)

h(B3)

k(A,B2)

k(A,B3)

k(A,B1)

Figura : Esquema ilustrando el metodo Back-up

(INAOE) 74 / 197

Page 75: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Front-to-front method

1 Se calcula alrededor de la meta rutas a varios puntos(Bis),

2 Se toma como nuevo estimador de un nodo A, elmınimo entre las estimaciones de A a cada Bi (h(A,Bi))junto con el costo de cada Bi a la meta (ki(Bi ,Meta)),osea: newh(A) = mini(ki(Bi ,Meta) + h(A,Bi))).

3 De nuevo, si el evaluador no es consistente, entoncesse toma:newh(A) = max(h(A),mini(ki(Bi ,Meta) + h(A,Bi))).

(INAOE) 75 / 197

Page 76: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Front-to-front method

A

Meta

B1

B2

B3

g(A) h(A)

h(A,B1)

h(A,B2)

h(A,B3) k(B2,Meta)

k(B1,Meta)

k(B3,Meta)

Figura : Esquema ilustrando el metodo Front-to-front

(INAOE) 76 / 197

Page 77: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 77 / 197

Page 78: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 78 / 197

Page 79: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 79 / 197

Page 80: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 80 / 197

Page 81: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 81 / 197

Page 82: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 82 / 197

Page 83: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 83 / 197

Page 84: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Busqueda con Informacion

Busqueda en grafos AND-OR

(INAOE) 84 / 197

Page 85: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Como Inventar Heurısticas

Como Inventar Heurısticas

• Muchas veces el costo de una solucion exacta para unproblema con menos restricciones o simplificado(relaxed) es una buena heurıstica para el problemaoriginal.

• Por ejemplo, podemos usar la notacion de STRIPS pararepresentar movimientos

(INAOE) 85 / 197

Page 86: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Como Inventar Heurısticas

Como Inventar Heurısticas

La acccion de mover un cuadro en el 8-puzzle usandonotacion de Strips.

MUEVE(CuadroX,LugarY,LugarZ):Precondiciones:

EN(CuadroX,LugarY),LIBRE(CuadroZ),ADY(CuadroY,CuadroZ)

Anade:EN(CuadroX, LugarZ),LIBRE(LugarY)

Elimina:EN(CuadroX,LugarY),LIBRE(LugarZ)

(INAOE) 86 / 197

Page 87: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Como Inventar Heurısticas

Como Inventar Heurısticas

• Si eliminamos las condiciones: LIBRE(CuadroZ),ADY(CuadroY,CuadroZ) nos queda un problema endonde cada cuadro se puede mover a cualquier otro. Elnumero requerido de pasos para resolver esteproblema es igual al numero de cuadros que no estanen su lugar (h1).

• Si solo eliminamos LIBRE(CuadroZ), corresponde aintercambiar dos cuadros y nos da la heurıstica h2.

• Si eliminamos solo ADY(CuadroY,CuadroZ), nos da otraheurıstica que se introdujo 13 anos despues de lasotras dos.

(INAOE) 87 / 197

Page 88: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos Como Inventar Heurısticas

Como Inventar Heurısticas

• Si queremos anadir mas posibilidades, podemosexpresar relaciones, tales como ADJ en mas simples,eg., VECINOS y MISMA–LINEA.

• Eliminando una de las dos, da nuevas heurısticas.• Hay que tener cuidado, a veces el problema resultante

puede ser mas difıcil de resolver.• Si tenemos un conjunto de heurısticas admisibles lo

mejor es hacer: h(n) = max(h1(n), . . . ,hm(n)) con locual h domina a todas.

• Otra forma de inventar heurısticas es usandoinformacion estadıstica. Si nuestra heurıstica nos da uncierto valor diferente podemos usar ese otro valor. Estodeja de garantizar la admisibilidad, pero puede dar enpromedio muy buenos resultados.

(INAOE) 88 / 197

Page 89: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

• Meta = encontrar una secuencia de operadores quemapea el estado inicial a alguno de los estados finales.

• En muchos casos, algunas de las secuencias deoperadores se repiten en problemas diferentes.

• Idea principal: juntar estas secuencias de operadoresen macro operadores, “chunks”, etc.

• Considerar a los macros como operadores primariospara aumentar la velocidad de solucion en problemassimilares.

(INAOE) 89 / 197

Page 90: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

Los macros:• Reducen la profundidad del arbol de busqueda al

considerar secuencias largas de operadores como unasola.

• Aumentan el branching factor.• En el 8-puzzle, las 181,440 posiciones posibles, se

pueden resolver sin busqueda usando una tabla de 35macros.

(INAOE) 90 / 197

Page 91: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

• La tabla de macro operadores para el 8-puzzle semuestra en la siguiente tabla

• Cada operador es una secuencia de movimientos: up(U), down (D), left (L), right (R) de un cuadro.

• Para usarla se localiza el espacio (cuadro 0) ydependiendo de su posicion se realizan losmovimientos indicados en la columna de cuadro 0.Luego se sigue con el cuadro 1 y asi sucesivamente.

• Estos macros llegan a la posicion final mostrada en lafigura 2.

(INAOE) 91 / 197

Page 92: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

Macro operadores para el 8-puzzle (P = posicion 0).P Cuadros

0 1 2 301 UL2 U RDLU3 UR DLURRDLU DLUR4 R LDRURDLU LDRU RDLLURDRUL5 DR ULDRURD- LURDLDRU LDRULURDDLUR

LDRUL6 D URDLDRUL ULDDRU URDDLULDRRUL7 DL RULDDRUL DRUULDRDLU RULDRDLUL-

DRRUL8 L DRUL RULLDDRU RDLULDRRUL

(INAOE) 92 / 197

Page 93: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

Tabla de macro operadores para el 8-puzzle (cont.)Pos Cuadros

4 5 65 LURD6 ULDR RDLLUURDLDRRUL7 URDLULDR ULDRURDLLURD URDL8 RULLDR ULDRRULDLURD RULD

(INAOE) 93 / 197

Page 94: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

• En el cubo de Rubik (4 ∗ 1019) se usan 238 macros.• La descomposicion de problemas en sub–metas juega

un papel fundamental en la creacion de macros.• El beneficio de los macros decae al incrementar su

numero (i.e., al resolver mas problemas) y es necesariousar filtros de aplicabilidad.

(INAOE) 94 / 197

Page 95: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

• Al aplicar los filtros hay que considerar que los macrosno son unidades totalmente independientes.

• Se deben de considerar cuando y bajo que condicionescrear/eliminar macros

• En general los macros aprendidos y su filtradodependen de la funcion de evaluacion (heurıstica) quese usa durante la busqueda de la solucion delproblema.

(INAOE) 95 / 197

Page 96: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Procedimientos de Busqueda Clasicos MACRO–Operadores

MACRO–Operadores

En general:• Una buena funcion de evaluacion requiere de un filtro

agresivo.• Con una mala funcion de evaluacion los macors son

indispensables y el filtro puede ser mas laxo.• Con una muy buena funcion de evaluacion los macros

no sirven.• Se pueden utilizar en aprendizaje incremental.

(INAOE) 96 / 197

Page 97: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas

Metaheurısticas

• En general existe una gran cantidad de problemas quese consideran difıciles de resolver (caracterizados porla teorıa de complejidad computacional)

• Por lo mismo se tienen que solucionar usando metodosde solucion aproximados a bajo costo computacional.

• Las metaheurısticas se proponen como metodos,determinısticos o estocasticos para salir de mınimoslocales.

• La mayorıa de los metodos aproximados son:algoritmos basados en construccion o en busquedalocal.

(INAOE) 97 / 197

Page 98: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas

Metaheurısticas

• Los basados en construccion trabajan con solucionesparciales que tratan de completar, mientras los debusqueda local se mueven en el espacio de solucionescompletas.

• Los algoritmos de construccion encuentran solucionesde manera incremental empezando con una solucionvacıa, anadiendo componentes de forma incrementalhasta completar una solucion.

• Los algoritmos de construccion glotones o greedyanaden el componente que de acuerdo a ciertaheurıstica produce el maximo beneficio local.

(INAOE) 98 / 197

Page 99: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Busqueda Local

• Es la base de muchos de los metodos usados enproblemas de optimizacion.

• Se puede ver como un proceso iterativo que empiezaen una solucion y la mejora realizando modificacioneslocales.

• Basicamente empieza con una solucion inicial y buscaen su vecindad por una mejor solucion. Si la encuentra,reemplaza su solucion actual por la nueva y continuacon el proceso, hasta que no se pueda mejorar lasolucion actual

(INAOE) 99 / 197

Page 100: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Algoritmo de Busqueda Local

Procedimiento Busqueda Locals = genera una solucion inicialwhile s no es otimo local do

s′ ∈ N(s) con f (s) < f (s′)(solucion mejor dentro de la vecindad de s)s ← s′

endreturn s

(INAOE) 100 / 197

Page 101: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Vecindad

• El diseno de la vecindad es crucial para el desempenode este, y de muchos otros, algoritmos.

• La vecindad son todas las posibilidades de solucionesque se consideran en cada punto.

• El como se busca la vecindad y cual vecino se usa enel reemplazo a veces se conoce como la regla depivoteo (pivoting rule), que en general puede ser:

• Seleccionar el mejor vecino de todos (best-improvementrule)

• Seleccionar el primer vecino que mejora la solucion(first-improvement rule).

(INAOE) 101 / 197

Page 102: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Busqueda Local

• Busqueda local tiene la ventaja de encontrar solucionesmuy rapidamente.

• Su principal desventaja es que queda atrapadafacilmente en mınimos locales y su solucion finaldepende fuertemente de la solucion inicial.

• Busqueda local es un metodo determinıstico y sinmemoria. Dada una misma entrada, regresa la mismasalida.

(INAOE) 102 / 197

Page 103: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Fast Local Search

• Un factor que afecta la eficiencia de los algorimos debusqueda local es el tamano de la vecindad

• Si se consideran muchos vecinos, se requieren muchospasos antes de llegar a un optimo local, o si el costopara evaluar la funcion objetivo es muy alto.

• La idea de fast local search es ignorar vecinos queprobablemente no mejoren la funcion objetivo.

(INAOE) 103 / 197

Page 104: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Random Restart & Multistart

• La forma mas simple para mejorar busqueda local esrepitiendo el proceso varias veces con puntos inicialesaleatorios (random restart).

• La idea es lograr diversidad y salir de mınimos localesal volver a empezar en otra zona.

• Aunque facil de implementar su efectividad decrece alaumentar la complejidad del problema.

• Para los algoritmos de construccion, podemos hablarde estrategias de re-inicio (multistart). Tienen dosfases: (i) generar (construir) una solucion y (ii) tratar demejorar esa solucion

(INAOE) 104 / 197

Page 105: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Algoritmo generico de re-inicio

procedimiento MultiStartwhile no se satisaface criterio de paro

1) Construye una solucion s (generacion)2) Busca una mejor solucion s′

Si s′ < s, s ← s′

return Mejor Solucion

(INAOE) 105 / 197

Page 106: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Busqueda Local Guiada

• Busqueda local guiada (GLS) es una alternativa abusqueda local para hacerla mas efectiva.

• La idea basica de GLS es aumentar la funcion objetivocon penalizaciones.

• Reemplaza la funcion objetivo por:

h(s) = g(s) + λ×∑

(pi × Ii(s))

donde s es la solucion candidata, λ es un parametro deGLS, i varıa sobre todos los atributos, pi es lapenalizacion para el i-esimo atributo (las pis seinicializan a 0) e Ii indica si s tiene el i-esimo atributo (1si lo tiene, 0 si no)

(INAOE) 106 / 197

Page 107: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

GLS

• Para que busqueda local pueda salir de optimoslocales, GLS anade penalizaciones a ciertos atributos

• La utilidad de penalizar un atributo i dado un optimolocal s∗ es:

utili(s∗) = Ii(s∗)×ci

1 + pi

donde ci es el costo del atributo y pi es la penalizacionactual del atributo i

• El atributo de mayor utilidad es el penalizado (seincrementa su penalizacion actual)

(INAOE) 107 / 197

Page 108: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Guided Local Search

k ← 0s0 ← genera una solucion inicialfor i = 1 until M do

pi = 0h(s) = g(s) + λ×

∑(pi × Ii(s))

while NOT criterio de paro dosk+1 = busqueda local(sk ,h)for i = 1 until M do

utili(s∗) = Ii(s∗)× ci1+pi

for each i tal que utili es maxima dopi ← pi + 1

k ← k + 1return mejor solucion encontrada

(INAOE) 108 / 197

Page 109: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Variable Neighbourhood Search

• La idea basica es ir cambiando en forma sistematica lavecindad al momento de realizar la busqueda.

• Sea Nk un conjunto finito de vecindades predefinidas yNk (x) el conjunto de soluciones en la k -esima vecindadde x .

• La mayorıa de los algoritmos de busqueda local usanuna sola vecindad.

• Las vecindades a veces se pueden inducir a partir deuna o mas metricas que se tengan en el espacio desolucion.

(INAOE) 109 / 197

Page 110: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Variable Neighbourhood Search

VNS se basa en tres hechos simples:1 Un mınimo local con respecto a una estructura de

vecindad no lo es necesariamente con respecto a otra.2 Un mınimo global es un mınimo local con respecto a

todas las posibles estructuras de vecindades.3 En muchos problemas el mınimo local con respecto a

una o varias estructuras de vecindad estanrelativamente cerca.

La ultima observacion es empırica e implica que un mınimolocal muchas veces nos de informacion acerca del optimoglobal.

(INAOE) 110 / 197

Page 111: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Estrategias

Se pueden hacer tres estrategias:• Determinıstica: buscar sistematicamente en diferentes

esquemas de vecindad hasta llegar a un mınimo localque es mınimo con respecto a todos los esquemas devecindad

• Estocastica: Igual que la anterior, solo que los vecinosen cada vecindad son seleccionados aleatoriamente

• Combinacion de las dos: Selecciona un punto aleatorioen cierta vecindad y luego aplicarle a ese puntobusqueda local. Si mejora, re-emplaza la solucionactual y se empieza otra vez con el primer esquema devecindad, si no se busca una mejora en el siguienteesquema de vecindad.

(INAOE) 111 / 197

Page 112: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Algoritmo de busqueda de vecindadvariable decendente

Sea Nk , para k = 1, . . . , kmax un conjunto de estructurasde vecindad a seguir en ese orden.

repeat until no mejorıaSea k ← 1repeat until k = kmax

encuentra al mejor vecino x ′ de x (x ′ ∈ Nk (x)).si la solucion obtenida x ′ es mejor que la anterior (x),

set x ← x ′ y k ← 1sino k ← k + 1

(INAOE) 112 / 197

Page 113: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Algoritmo de busqueda de vecindadvariable reducida

Sea Nk , para k = 1, . . . , kmax un conjunto de estructurasde vecindad a usar en la busqueda.

Define criterio de parorepeat until criterio de paro

Sea k ← 1repeat until k = kmax

genera un punto aleatorio (x ′) en la k -esima vecindadde x (x ′ ∈ Nk (x)).

si la solucion obtenida x ′ es mejor que la anterior (x),set x ← x ′ y k ← 1sino k ← k + 1

(INAOE) 113 / 197

Page 114: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Algoritmo de busqueda de vecindadvariable basico

Sea Nk , para k = 1, . . . , kmax un conjunto de estructurasde vecindad a usar en la busqueda.

Define criterio de parorepeat until criterio de paro

Sea k ← 1repeat until k = kmax

genera un punto aleatorio (x ′) en k -esima vecindadde x (x ′ ∈ Nk (x)).

aplica algun metodo de busqueda local usandoa x ′ como punto inicial (sea x ′′ la solucion encontrada)si la solucion obtenida x ′′ es mejor que la anterior (x),

set x ← x ′′ y k ← 1sino k ← k + 1

(INAOE) 114 / 197

Page 115: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Variantes

• Buscar dentro de los mejores N vecinos• Aceptar una mejor solucion con cierta probabilidad• Una vez que se encontro una solucion siguiendo un

esquema de vecindad particular, irse a regionesalejadas a tratar de encontrar una mejor solucion(Skewed VNS)

• Hacer VNS paralelo (PVNS)

(INAOE) 115 / 197

Page 116: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Busqueda Local Iterativa

• Busqueda local queda atrapada en mınimos locales yvolver a empezar desde puntos aleatorios no solucionael problema

• Se necesita hacer un muestreo sesgado, guiando labusqueda de forma mas efectiva.

• Busqueda local iterativa genera vecinos que nos llevena pozos de atraccion vecinos (o al menos diferentes).

• Dado un mınimo local, se crea una perturbacion quepertenezca al espacio de estados legales y que nosgenere un nuevo estado.

• Perturbaciones grandes nos regresan a random restart,perturbaciones pequenas no nos sacan del pozo deatraccion.

(INAOE) 116 / 197

Page 117: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Algoritmo de Busqueda Local Iterativa

procedimiento Busqueda Local Iterativas0 = genera solucion inicials∗ = busqueda local (s0)repeat

s′ = perturbacion(s∗,historia)s∗′ = busqueda local (s′)s∗ = criterio de aceptacion(s∗, s∗′,historia)

until criterio de terminacion

(INAOE) 117 / 197

Page 118: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Local

Aspectos de ILS

• Solucion Inicial: puede ser aleatoria o ser la obtenidacon un algoritmo greedy o gloton (normalmenteda mejores resultados).

• Criterio de Aceptacion: El criterio de aceptacion se usapara establecer un balance entre explotacion(intensificacion) y exploracion (diversificacion).

• Metodo de Perturbacion: puede contener tantainformacion dependiente del dominio como sequiera/tenga.

(INAOE) 118 / 197

Page 119: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas GRASP

Greedy Randomized Adaptive Search(GRASP)

• GRASP es un metodo de multi-inicio (multi-start) oiterativo en donde cada iteracion tiene dos fases: (i)construccion y (ii) busqueda local

• En la fase de construccion se encuentra una solucionfactible cuya vecindad es investigada hasta llegar a unmınimo local.

• La mejor solucion es guardada.

(INAOE) 119 / 197

Page 120: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas GRASP

Algoritmo de Busqueda GRASP

procedimiento GRASP(Max Itera,Semilla)for k = 1, . . . ,Max Itera do

s = Greedy Randomized Construction(Semilla)s = busqueda local (s)actualiza solucion(s,Mejor Solucion)

return Mejor Solucion

(INAOE) 120 / 197

Page 121: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas GRASP

Algoritmo de Greedy RandomizedConstruction

procedimiento Greedy Randomized Construction(Semilla)s ← 0Inicializa el conjunto candidato: C ← EEvalua el costo incremental c(e)∀e ∈ Cwhile C 6= 0 do

cmin ← min{c(e)|e ∈ C}cmax ← max{c(e)|e ∈ C}RCL← {e ∈ C|c(e) ≤ cmin + α(cmax − cmin)}selecciona un elemente t de RCL aleatoriamentes ← s ∪ {t}actualiza el conjunto candidato Cre-evalua los costos incrementales c(e)∀e ∈ C

return s

(INAOE) 121 / 197

Page 122: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas GRASP

GRASP

• Sea el conjunto candidato (C), todos los elementos quese pueden incorporar a la solucion parcial que seesta construyendo sin que se pierda la factibilidad.

• La seleccion del elemento a incorporar se determinamediante una evaluacion greedy de todos loselementos candidatos

• Esta evaluacion crea una lista de candidadosrestringida (RCL)

• La calidad se puede restringir de acuerdo a la siguientecota: c(e) ∈ {cmin, cmin + α(cmax − cmin)}

• Con α = 0 se vuelve un algoritmo completamentegreedy, mientras que con α = 1 se vuelve unaestrategia aleatoria.

(INAOE) 122 / 197

Page 123: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas GRASP

GRASP

• α sirve para establecer un balance entre costocomputacional y calidad de las soluciones.

• El elemento que se incorpora en la construccion de lasolucion, se selecciona aleatoriamente dentro de RCL.

• Una vez incorporado se actualiza la lista de candidadosy se re-evaluan los costos incrementales.

• El algoritmo de busqueda local puede ser con el mejorcandidato (best-improvement) o el primer candidato(first-improvement) que mejore la solucion actual.

(INAOE) 123 / 197

Page 124: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas GRASP

Extensiones

Algunas extensiones se ocupan principalmente por comocontrolar los posibles valores de α.• Dejar un valor fijo.• Variar de acuerdo a la calidad de las soluciones, por

ejemplo, dentro de un rango de valores y favoreciendocon el tiempo aquellos valores que dan mejoresresultados.

• Seleccionar aleatoriamente dentro de un cierto rango.• Seleccionar aleatoriamente dentro de una distribucion

decreciente y no uniforme.

(INAOE) 124 / 197

Page 125: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Tabu

Busqueda Tabu

• Con la lista tabu se evitan ciclos si se previene moversede x a s(x) si: (1) s(x) ya ha sido visitado antes (muycaro en memoria e implementacion); (2) el movimientos ya se aplico a x antes; (3) el movimiento s−1 ya seaplico a s(x) antes.

• La lista tabu puede prohibir movimientos deseables queno produzcan ciclarse o tambien nos puede llevar a unpunto en donde no es posible moverse.

• Todos los algoritmos de busqueda tabu permitenrevocar o cancelar tabus.

• A estos se les llama criterios de aspiracion (aspirationcriteria), que permiten movimientos, aunque sean tabu.

(INAOE) 125 / 197

Page 126: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Tabu

Intensificacion y Diversificacion

• La idea de intensificacion es buscar mas en porcionesdel espacio que aparentan ser mejores o masprometedoras.

• Cada determinado tiempo se puede realizar un procesode intensificacion.

• Normalmente se re-inicia la busqueda a partir de lamejor solucion actual. Algunas opciones:

• Mantener fijos los componentes o atributos que parecenmejores.

• Cambiar el equema de vecindad.

(INAOE) 126 / 197

Page 127: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Tabu

Intensificacion y Diversificacion

• Las funciones de memoria a mediano plazo sirven pararegistrar y comparar atributos de las mejoressoluciones obtenidas durante un perıodo de busqueda.

• Los atributos comunes pueden servir para guiar nuevassoluciones a espacios en donde existan tales atributos.

• Diversificacion obliga buscar en areas no exploradas.• Las funciones de memoria a largo plazo tratan de

diversificar la busqueda, empleando principios mas omenos contrarios a los de memoria a mediano plazo.

(INAOE) 127 / 197

Page 128: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Tabu

The Reactive Tabu Search

• La busqueda tabu reactiva (RTS) adapta el tamano dela lista a las propiedades del problema de optimizacion.

• El mecanismo de reaccion basico aumenta la listatabu cuando se repiten configuraciones y lo reducecuando no se necesita aumentar.

• Se anade un mecanismo de diversificacion de memoriaa largo plazo cuando se sospecha de un atractor fuerte.

(INAOE) 128 / 197

Page 129: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Busqueda Tabu

Algoritmo

1 Se evaluan todos los posibles movimiento elementalesa partir de la configuracion actual.

2 Se busca la ultima configuracion y se decide si se haceun mecanismo de escape.

3 Si no hay escape, se realiza el mejor movimiento.4 Si hay escape, el sistema entra en un ciclo de

movimientos aleatorios cuya duracion depende delpromedio de los movimientos en ciclos detectados.

(INAOE) 129 / 197

Page 130: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Recocido Simulado

• Los algoritmos de busqueda local normalmente iteranpartiendo de una solucion aleatoria, generando unvecino que sea mejor hasta que se llegue a unasolucion que no tiene mejores vecinos.

• Recocido simulado (Simulated Annealing) se basa enaceptar en forma limitada transiciones que no mejorenla funcion de costo usando un mecanismo nodeterminista.

• Es una analogıa con el proceso fısico de decrementarla temperatura muy lentamente hasta alcanzar unestado base de mınima energıa, con una estructuracristalina lo mas regular posible.

(INAOE) 130 / 197

Page 131: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Algoritmo de Metropolis

Es el nucleo de recocido simulado (Metropolis et al. 1953)donde T denota la temperatura y kB la constante deBoltzmann.

Dado un estado i con energıa Ei ,genera un nuevo estado j mediante un mecanismo de

perturbacion (pequena distorsion del estado i).calcula la energıa del nuevo estado Ej .si (Ej − Ei) ≤ 0entonces acepta el estado j como estado nuevosino, acepta el estado con probabilidad: exp(Ei−Ej

kB ·T )

(INAOE) 131 / 197

Page 132: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Algoritmo de Metropolis

• Metropolis acepta un vecino si tiene menor energıa ocon mayor energıa pero con cierta probablidad quedepende de la temperatura (T ).

• Se puede probar que si se realiza este proceso durantemuchas transiciones se puede llegar a lo que seconoce como un equilibrio termico.

• El equilibrio termico esta caracterizado por ladistribucion de Boltzmann.

(INAOE) 132 / 197

Page 133: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Distribucion de Boltzmann

• La distribucion da la probabilidad de que el solidoeste en el estado i con energıa Ei a temperatura T yesta dada por:

PT{X = i} = 1Z (T )

exp(−Ei

kBT)

donde X es la variable estocastica denotando el estadoactual del solido, y Z (T ) es la funcion de particiondefinida como:

Z (T ) =∑

j

exp(−Ej

kBT)

(INAOE) 133 / 197

Page 134: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Recocido Simulado

• Si se baja la temperatura suficientemente lento sepuede alcanzar el equilibrio termico en cadatemperatura. Esto se hace mediante la generacion devarias transiciones en cada temperatura.

• Se puede demostrar que bajando suficientemente lentoel parametro asociado a la temperatura y generandosuficientes transiciones en cada temperatura se puedealcanzar la configuracion optima.La probabilidad de aceptacion se expresa como sigue:

Pc{acepta j} ={

1 si f (j) ≤ f (i)exp( f (i)−f (j)

c ) si f (j) > f (i)

donde c ∈ R+ denota el parametro de control.

(INAOE) 134 / 197

Page 135: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Algoritmo de Recocido Simulado

Inicialmente valores grandes de c aceptan cualquier estado.Al tender c a cero, se dejan de aceptar estados.

k := 0, i := iinicrepite

for l := 1 to Lk dogenera j ∈ Sjsi f (j) ≤ f (i) entonces i := jsino, si exp( f (i)−f (j)

ck) > random[0,1)

entonces i := jk := k + 1actualiza Lk y ckhasta criterio de terminacion

(INAOE) 135 / 197

Page 136: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Recocido Simulado

• La velocidad de convergencia del algoritmoesta determinada por Lk y ck .

• Dada una instancia de un problema de optimizacioncombinatoria, una estructura de vecindad adecuada yuna distribucion estacionaria equivalente a ladistribucion de Boltzmann, entonces:

limc→0qi(c) ≡ q∗i =1

| Sopt |χ(Sopt )(i)

donde Sopt denota el conjunto de soluciones optimasglobales, y χA′(a) es la funcion caracterıstica definidacomo:

χ(A′)(a) ={

1 si a ∈ A′

0 de otra forma

(INAOE) 136 / 197

Page 137: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Recocido Simulado

• El resultado es importante porque garantiza unaconvergencia asintotica hacia el conjunto de solucionesoptimas del algoritmo de recocido simulado bajo lacondicion que la distribucion estacionaria se obtengapara cada valor de c.

• La probabilidad de encontrar la solucion optimaincrementa monotonicamente al decrementar c.

(INAOE) 137 / 197

Page 138: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Aproximaciones

• En la practica se hacen aproximaciones con la longitudde transiciones finitas y el numero de descensos delparametro de control, que arrojan solucionessub–optimas.

• Se requiere para el parametro de control: (i) un valorinicial c0, (ii) una funcion de decremento, y (iii) un valorfinal (condicion de paro).

• Se requiere un numero finito de transiciones para cadavalor del parametro de control (longitud finita de cadacadena de Markov).

(INAOE) 138 / 197

Page 139: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Componentes

• La representacion del problema:• Representar el espacio de solucion• Expresar la funcion de costo

• El mecanismo de transicion:• Generar una nueva solucion (simetrica).• Calcular diferencia de costo• Tomar decision de aceptacion

P( aceptacion ) =

{1 si 4f < 0exp(−4f

c ) si 4f ≥ 0

• El mecanismo de enfriamiento:• Valor inicial de c, y su funcion de decremento.• Criterio de paro y longitud de las cadenas.

(INAOE) 139 / 197

Page 140: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Variantes

• Una de las mas conocidos en threshold acceptingpropuesta independientemente por Dueck y Scheuer(1990) y por Moscato y Fontanari (1990).

• Threshold accepting o aceptacion por umbral, proponeaceptar un movimiento siempre y cuando rebase uncierto umbral (Thresk ) determinıstico y decreciente conrespecto a la iteracion k .

P( aceptacion ) =

{1 si 4f < Thresk0 de otra forma

(INAOE) 140 / 197

Page 141: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Threshold Accepting

• Aunque mucho mas rapido, se pierden las propiedadesde convergencia hacia el mınimo global.

• Una variante de esto es cambiar el valor del umbral alhacer la busqueda. Si se dejan de aceptar solucionesen el esquema de vecindad, entonces se aumenta elumbral, en caso contrario se reduce, buscando escaparde mınimos locales (dwindling expectation).

• En general, en todos los algoritmos que hemos visto endonde se tiene un criterio de aceptacion basado en lamejora sobre la funcion objetivo, se puede reemplazarpor un criterio basado en recocido simulado

(INAOE) 141 / 197

Page 142: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Recocido Simulado

Consejos

• En lugar de calcular la diferencia de funciones haceruna aproximacion a esa diferencia.

• Seleccionar vecinos en forma inteligente (no aleatoria).• Usar otra distribucion de probabilidad (e.g., decaimiento

exponencial).• Utilizar un esquema de enfriamiento adecuado.• Pensar ciudadosamente en el esquema de vecindad.

(INAOE) 142 / 197

Page 143: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Scatter Search

• Scatter Search o busqueda esparcida, es un algoritmopoblacional que construye soluciones mediante lacombinacion de otras soluciones.

• La idea era generar nuevas reglas mediante unacombinacion pesada de reglas existentes. Despues seextendio a una combinacion pesada de restriccionespara reflejar que tanto se violaban ciertas restricciones(surrogate constraints).

• Las combinaciones son formas generalizadas decombinaciones lineales, acompanadas de procesosadaptativos para garantizar condiciones de factibilidad.

(INAOE) 143 / 197

Page 144: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Scatter Search

El algoritmo prosigue de la siguiente forma:1 Genera un conjunto inicial de soluciones que garantice

cierto nivel de diversidad. Selecciona un subconjuntode las mejores soluciones, en cuanto a evaluacion defuncion objetivo y en cuanto a diversidad.

2 Crea nuevas soluciones mediante combinaciones desubconjuntos de las soluciones de referencia. Sebuscan soluciones tanto dentro como fuera de lasregiones convexas de las soluciones de referencia y suposible modificacion para hacerlas aceptables(soluciones factibles).

3 Extrae las mejores soluciones y anadelas al conjuntode soluciones de referencia.

(INAOE) 144 / 197

Page 145: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Pasos1 Genera una coleccion de soluciones diversas

(tıpicamente 10 veces mas que el conjunto dereferencia)

2 Transforma una solucion en otra u otras mejores3 Actualiza el conjunto de referencia con las N mejores

soluciones (N tıpicamente es pequeno, alrededor de 20y mejor no es solo en terminos de evaluacion sinotambien en terminos de diversidad).

4 Considerando el conjunto de referencia, genera unconjunto de posibles soluciones combinadas (lo mascomun es considerar todos los pares en las solucionesde referencia).

5 Transforma el subconjunto generado en una o massoluciones combinadas reemplazando las peores delconjunto de referencia

(INAOE) 145 / 197

Page 146: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Algoritmo de Scatter Search

P = Diversifacion para constuir |P| solucionesSea ConjRef N soluciones diversas de POrdena las soluciones en ConjRef de acuerdo a la

funcion objetivoSea SolsNuevas = Truewhile SolsNuevas do

Sea NuevosConj todos los pares en ConjRef que incluyaal menos una solucion nueva.Sea SolsNuevas = Falsewhile NuevosConj 6= ∅ do

Selecciona el siguiente subconjunto s en NuevosConjSea x = Combinacion(s)

CONTINUA

(INAOE) 146 / 197

Page 147: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Algoritmo de Scatter Search

if (x 6∈ ConjRef ∧f (x) < f (xN) thenxN = x y reordena ConjRefsea SolsNuevas = True

endifelimina a s de NuevosConj

procedimiento DiversificacionP ← ∅Construye una solucion xUntil |P| = TamanoP

If x 6∈ P, Then P = P ∪ xElse elimina x

regresa P

(INAOE) 147 / 197

Page 148: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Scatter Search

• La figura muestra un ejemplo en donde el conjuntoinicial de soluciones de referencias es {A, B, C}.Despues de una combinacion de A y B se produce 1(de hecho se puede producir un segmento de lınea, yde ahı seleccionar a 1). De la misma forma se generanlas nuevas soluciones 2, 3 y 4.

• Dependiendo de la implementacion el numero decombinaciones del conjunto referencia puede ser muygrande.

(INAOE) 148 / 197

Page 149: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Ejemplo

1

C

4

3 B

A

2

Figura : Ejemplo de generacion de nuevos puntos con scattersearch.

(INAOE) 149 / 197

Page 150: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Path Relinking

• El proceso de generar combinaciones de solucioneslineales de soluciones de referencia se puede ver comogenerar caminos entre soluciones que nos lleven apuntos entre o mas alla de las soluciones.

• Podemos llevar esto a un concepto un poco masgeneral de creacion de combinaciones de soluciones.

• Un camino entre soluciones en un espacio vecino va agenerar soluciones que compartan una serie deatributos con las soluciones originales. Estos atributospueden ser ligas, nodos, valores de variables, etc.

(INAOE) 150 / 197

Page 151: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Path Relinking

• La idea de path relinking es buscar soluciones quecompartan atributos con antiguas soluciones con laesperanza de obtener mejores soluciones.

• Path relinking construye nuevas soluciones explotandolas trayectorias que conectan a las soluciones buenas,empezando con alguna de las soluciones, llamada lasolucion de iniciacion (initiating solution), y generandoun camino en la vecindad del espacio que lleva a otrassoluciones, llamadas las soluciones guıas (guidingsolutions).

• Muchas veces se introducen ideas de busquedaTabu para poder realizar estos caminos y no repetircaminos anteriores.

(INAOE) 151 / 197

Page 152: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Ejemplos

• La figura muestra un ejemplo de path relinking donde apartir de un camino inicial entre dos soluciones (A y B)en lınea continua se construye un nuevo camino paraunir estas dos soluciones.

• La idea es encontrar soluciones difıciles de obtener porbusqueda “ciega”, al incorporar atributos de solucionesconocidas.

(INAOE) 152 / 197

Page 153: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Ejemplo

A B

Func.Obj.

Movs.

Figura : La lınea continua es un camino entre soluciones y la lıneapunteada es un camino generado para unir las dos soluciones. Elnodo sombreado es una mejor solucion que las anteriores.

(INAOE) 153 / 197

Page 154: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Scatter Search

Path Relinking

• Tambien es posible generar caminos considerando lacombinacion de atributos de varias soluciones(multiparent path) o hacer “tunelaje” (tunneling) al tratarde unir dos soluciones en vecindades diferentes.

• En combinacion con GRASP:• Utilizar path relinking como un proceso de optimizacion

posterior a todos los pares de soluciones “elite”encontradas con GRASP.

• Utilizar path relinking como una estrategia deintensificacion aplicada a cada solucion obtenidadespues de la fase de busqueda local.

(INAOE) 154 / 197

Page 155: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmos Geneticos

• El termino algoritmo genetico se le atribuye a Holland,sin embargo, otros cientıficos trabajaron en ideasparecidas durantes los 60’s.

• Ingo Rechenberg y Hans-Paul Schwefel, en Alemania,desarrollaron las ideas de las etrategias evolutivas(Evolutionsstrategie)

• Bremermann y Fogel desarrollaron las ideas deprogramacion evolutiva

(INAOE) 155 / 197

Page 156: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Programacion Evolutiva

• Desarrollado principalmente por Lawrence J. Fogel enlos 60’s.

• Algoritmo basico:1 Genera aleatoriamente una poblacion inicial2 Aplica mutacion3 Calcula aptitud de cada hijo y selecciona por torneo

• Por ejemplo, podemos pensar en cambiar un automatafinito mediante mutacion para reconocer ciertasentradas.

(INAOE) 156 / 197

Page 157: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Programacion Evolutiva

• La mutacion puede cambiar un sımbolo de salida,cabiar una transicion, agregar un estado, borrar unestado y cambiar el estado inicial.

Estado Actual A A B B C CSımbolo Entrada 0 1 0 1 0 1Estado siguiente B C B C B CSımbolo Salida N N Y N N Y

(INAOE) 157 / 197

Page 158: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Estrategias Evolutivas

• Propuestas en Alemania en 64 para resolver problemashidrodinamicos complejos

• La version original (1+1)-EE usaba un solo padre delcual se generaba un solo hijo

• Se mantenıa el hijo solo si era mejor que el padre• Un individuo nuevo es generado introduciendo ruido

Gaussiano: ~xt+1 = ~xt + N(0, ~σ), donde N es una vectorde numeros Gaussianos independientes con una mediacero y desviacion estandar ~σ

(INAOE) 158 / 197

Page 159: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Estrategias Evolutivas

• Por ejempo, supongamos que queremos optimizar:f (x1, x2) = 100(X 2

1 − X2)2 + (1− X1)

2 donde,−2048 ≤ x1, x2 ≤ 2048

• Ahora supongamos que tenemos el siguiente individuogenerado aleatoriamente: (-1,1) y tenemos lassiguientes mutaciones:

x t+11 = x t

1 + N(0,1,0) = −1,0 + 0,61 = 0,39x t+1

2 = x t2 + N(0,1,0) = 1,0 + 0,57 = 1,57

f (xt) = f (−1,1) = 4f (xt+1) = f (−0,39,1,57) = 201,416

(INAOE) 159 / 197

Page 160: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Estrategias Evolutivas

• Rechenberg introdujo el concepto de poblacion (Mpadres generan 1 hijo) y Schwefel introdujo el uso demultiples hijos (quedarse con los M mejores hijos o losM mejores individuos considerando a los padres y a loshijos)

• Rechenberg formulo una regla para ajustar ladesviacion estandar: la razon entre mutacionesexitosas y el total de mutaciones debe de ser 1/5. Si esmayor, incrementa la desviacion estandar (divıdelaentre 0.817), si en menor, decrementala (multiplıcalapor 0.817).

• En las estrategias evolutivas se evoluciona no solo a lasvariables del problema, sino tambien a los parametrosmismos de la tecnica (i.e., desviaciones estandar):auto-adaptacion

(INAOE) 160 / 197

Page 161: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmos Geneticos

• Los Algoritmos Geneticos (GA) pueden verse como unafamilia de procedimientos de busqueda adaptivos.

• Su nombre se deriva de que estan basados en modelosde cambio genetico en una poblacion de individuos.Esto es:

1 Nocion Darwiniana de aptitud (fitness) que influye engeneraciones futuras.

2 Apareamiento que produce descendientes engeneraciones futuras.

3 Operadores geneticos que determinan la configuraciongenetica de los descendientes (tomada de los padres).

(INAOE) 161 / 197

Page 162: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmos Geneticos

• Un punto clave de estos modelos, es que el proceso deadaptacion no se hace cambiando incrementalmenteuna sola estructura, sino manteniendo una poblacionde estructuras a partir de las cuales se generan nuevasestructuras usando los operadores geneticos.

• Cada estructura en la poblacion esta asociada con unaaptitud y los valores se usan en competencia paradeterminar que estructuras seran usadas para formarnuevas estructuras.

• Una de sus caracterısticas es su abilidad de explotarinformacion acumulada acerca de un espacio debusqueda inicialmente desconocido para guiar labusqueda subsecuente a subespacios utiles.

(INAOE) 162 / 197

Page 163: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmos Geneticos

Diferencias con metodos tradicionales de busqueda yoptimizacion:• Trabajan con un conjunto de parametros codificados y

no con los parametros mismos.• Inician la busqueda desde un conjunto de puntos, no de

uno solo.• Usan una funcion a optimizar en lugar de la derivada u

otro conocimiento adicional.• Usan reglas de transicion probabilısticas no

determinısticas.

(INAOE) 163 / 197

Page 164: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Anatomıa de un GA

1 Modulo Evolutivo: mecanismo de decodificacion(interpreta la informacion de un cromosoma) y funcionde evaluacion (mide la calidad del cromosoma). Soloaquı existe informacion del dominio.

2 Modulo Poblacional: tiene una representacionpoblacional y tecnicas para manipularla (tecnica derepresentacion, tecnica de arranque, criterio deseleccion y de reemplazo). Aquı tambien se define eltamano de la poblacion y la condicion de terminacion.

3 Modulo Reproductivo: contiene los operadoresgeneticos.

(INAOE) 164 / 197

Page 165: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmo de Algoritmos Geneticos

Procedimiento AGtiempo = 0Inicializa Poblacion(tiempo)Evalua Poblacion(tiempo)Mientras no condicion de terminacion

tiempo = tiempo + 1Construye Poblacion(tiempo) a partir de

Poblacion(tiempo-1) usando:• Seleccion• Modifica Poblacion(tiempo) usando

Operadores Geneticos• Evalua Poblacion(tiempo)• Reemplaza

Fin mientras

(INAOE) 165 / 197

Page 166: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Codificacion

• Normalmente se codifican los parametros de unproblema

• A veces se usan codificaciones que tengan lapropiedad de que numeros consecutivos varıen a lomas en un bit (e.g., codificacion de Gray).

• En la codificacion se busca idealmente que todos lospuntos esten dentro del espacio de solucion (seanvalidos).

• Tradicionalmente se buscan representaciones quefavorescan los esquemas cortos de bajo orden.

• Pueden existir problemas de interdependencia(problemas para los GA si existe mucha y es preferibleusar otro metodo si es casi nula).

(INAOE) 166 / 197

Page 167: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Funcion de aptitud

• Es la base para determinar que soluciones tienenmayor o menor probabilidad de sobrevivir.

• Se tiene que tener un balance entre una funcion quehaga diferencias muy grandes (y por lo tanto unaconvergencia prematura) y diferencias muy pequenas(y por lo tanto un estancamiento).

• Idealmente se busca que sea una funcion facil deevaluar

(INAOE) 167 / 197

Page 168: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Tamano de la poblacion

• Balance entre una poblacion muy pequena (y por lotanto convergencia a maximo local) y una poblacionmuy grande (y por lo tanto requerimiento de muchosrecursos computacionales).

• Se busca el tamano mınimo para poder alcanzar todoslos puntos en el espacio de busqueda

• Para genes binarios, si l es el tamano del gen, sepodrıan tener poblaciones de tamano O(log(l))

• Normalmente las poblaciones se seleccionanaleatoriamente (no garantiza cubrir el espacio debusqueda uniformemente)

• Se pueden introducir mecanismos mas sofisticadospara garantizar diversidad en la poblacion.

• Normalmente la poblacion es de tamano fijo, pero sehan propuesto esquemas de tamano variable

(INAOE) 168 / 197

Page 169: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Criterio de Seleccion• Individuos son copiadas de acuerdo a su evaluacion en

la funcion objetivo (aptitud). Los mas aptos tienenmayor probabilidad a contribuir con una o mas copiasen la siguiente generacion

• Se puede implementar de varias formas, sin embargo,la mas comun es la de simular una ruleta, donde cadacadena tiene un espacio en ella proporcional a su valorde aptitud.

Pr(h) =Aptitud(h)∑N

j=1 Aptitud(hj)

• En lugar de seleccionar uno a la vez, se puedengenerar N selecciones teniendo en la ruleta Napuntadores que estan separados uniformemente, porlo que un giro en la ruleta nos porporciona N individuos(stochastic universal selection)

(INAOE) 169 / 197

Page 170: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Criterio de Seleccion

• Alternativa: seleccionar aleatoriamente N individuosque compiten entre sı (seleccion por torneo)

• El mejor individuo siempre es seleccionado y solonecesitamos comparar si un gen es mejor que otro(posiblemente no tenemos que evaluar la funcion deaptitud)

• Haciendo muestreo con reemplazo, existe unaprobabilidad de 0.368 (≈ e−1) que un gen no seaseleccionado

• Alternativa: seleccion por ranqueo. La probabilidad deseleccionar un gen ranqueado como el k -esimo (P(k)),con ranqueo lineal, es: P(k) = α+ βk donde α y β sonconstantes y

∑Mk=1(α+ βk) = 1

(INAOE) 170 / 197

Page 171: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Nueva Poblacion

• Se pueden seleccionar individuos de la poblacionactual, generar una nueva poblacion y reemplazar conella completamente a la poblacion que se tenıa(esquema generacional).

• Tambien a veces se mantienen los N mejoresindividuos de una poblacion a la siguiente (esto pareceser la mejor opcion).

• Si se conserva solo el mejor individuo se llamaestrategia elitista, si se mantiene un subconjunto sehabla de poblaciones traslapadas

(INAOE) 171 / 197

Page 172: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Criterio de Paro

• Normalmente cuando un porcentaje alto de la poblacionconverge a un valor o despues de un numero fijo deevaluaciones en la funcion de aptitud

• Si con ese valor no se llega a la medida esperada (si esque se conoce) o simplemente para tratar de mejorar lasolucion, entonces se toma una pequena proporcion yse inyecta “diversidad genetica” (se generanaleatoriamente nuevos individuos), o inclusive sereemplaza completamente la poblacion.

(INAOE) 172 / 197

Page 173: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Operadores Geneticos

• Normalmente se hace cruza seguida de mutacion, perose podrıa hacer una o la otra

• Algunas personas proponen hacer mucha cruza alprincipio e incrementar la mutacion conforme pasa eltiempo.

• Los operadores mas usados son: cruza y mutacion

(INAOE) 173 / 197

Page 174: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Cruza

• Tiene una alta probabilidad de ser utilizado y esconsiderado como el mas importante dentro de los AG

• Permite la generacion de nuevos individuos tomandoscaracterısticas de individuos padres

• Selecciona dos individuos despues del proceso deseleccion, determina una posicion de cruce aleatoria eintercambia las cadenas entre la posicion inicial y elpunto de cruce y el punto de cruce y la posicion final.

• Existen diferentes tipos: (i) Cruza simple: un solo puntode cruza, (ii) cruza de dos puntos y (iii) cruza uniforme

(INAOE) 174 / 197

Page 175: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Mutacion

• Tiene baja probabilidad de ser utilizado y permiteintroducir nueva informacion no presente en lapoblacion

• Opera sobre un solo individuo, determina una posiciony la invierte con cierta probabilidad (permite salir demaximos locales)

• En lugar de generar un numero aleatorio para cadaalelo y ver si se muta o no, se puede generar unnumero que nos de el numero de mutaciones a realizar(M) y simplemente generar M numeros aleatorios entre1 y el tamano del gen.

• Lo unico que falta por determinar es que valor usarcuando existan mas de dos posibles valores.

(INAOE) 175 / 197

Page 176: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Inversion

• Tiene baja probabilidad. Incrementa la capacidad deexploracion

• Permite generar cadenas que serıan difıciles deobtener con los otros dos operadores

• Opera en un individuo, determina dos posiciones dentrode la cadena e invierte la subcadena

• Existen mas...

(INAOE) 176 / 197

Page 177: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Parametros

• Una forma simple e intuitiva es identificar losparametros clave que controlan el comportamiento deun sistema y cambiarlos para mejorar su desempeno.

• La idea viene desde Samuel (59) (checkers) hastacambio de pesos en redes neuronales.

• Idea: parametros = genes (cadenas fijas de genes paracada parametro)

• El operador de cruce genera nuevas combinaciones deparametros y la mutacion nuevos valores.

(INAOE) 177 / 197

Page 178: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Parametros

• Pero... hay que considerar el numero de valoresdistintos que los genes (parametros) pueden tomar.

• Las poblaciones normalmente representan una fraccionpequena de los posibles valores.

• Si mutacion es muy baja, podemos caer en maximoslocales, si los aumentamos nos lleva a una busquedaaleatoria que disminuye la probabilidad de queindividuos nuevos tengan un desempeno alto.

(INAOE) 178 / 197

Page 179: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Parametros

• Los GA son mas efectivos cuando cada gen puedetomar pocos valores (en este sentido genes binariosson optimos), i.e., un parametro se representa comogrupos de genes.

• A GA le va mejor, porque aunque el espacio sea elmismo, aparte de mutacion, el operador de cruce ahoratambien puede generar nuevos valores.

• e.g., en lugar de representar un parametreo que puedetomar 230 valores (dejando a mutacion explorarlostodos!!!), lo representamos con 30–genes binarios.

(INAOE) 179 / 197

Page 180: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Estructuras de Datos

• Se puede aplicar a cambiar mecanismos de controlcomo agendas. Por ejemplo, el TSP.

• A primera vista, uno puede pensar en “linearizar” lasestructuras de datos y mapearlas a cadenas binarias.

• Un punto fundamental es que debemos de cuidar quela representacion no nos represente, en su mayorıa,estructuras de datos ilegales.

• E.g., en el TSP una representacion directa serıarepresentar una ciudad por gen. Sin embargo, losoperadores de mutacion y cruce nos explorarıan todoslas tuplas con N ciudades, cuando lo que nos interesason las permutaciones de las N ciudades.

(INAOE) 180 / 197

Page 181: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Estructuras de Datos

Para evitar esto podemos:• Disenar representaciones alternativas.• Usar diferentes operadores geneticos (e.g., inversion).• Restricciones para asegurar que mutacion y cruce nos

producen solo puntos validos.

(INAOE) 181 / 197

Page 182: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Codigo

• El espacio descrito por cambios en codigo es masgrande y mas complejo.

• Tenemos que escoger el lenguaje de programacionadecuado. Una representacion “natural” de programaspuede ser desastrosa, ya que mutacion y cruceproducirian muy pocos programas sintacticamentecorrectos y menos aun semanticamente correctos.

• Una alternativa es disenar nuevos operadors geneticosespecıficos del lenguaje para preservar por lo menos laintegridad sintactica y enfocarse a lenguajes consintaxis sencilla (e.g., Lisp o Prolog “puros”).

(INAOE) 182 / 197

Page 183: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

GA para Cambiar Codigo

• Inicialmente se enfoco a reglas de produccion.• Surgieron dos formas de representar reglas:

1 The Pitt approach: cada individuo de la poblacionrepresenta un programa completo de reglas.

2 The Michigan approach: cada individuo de la poblacionrepresenta una regla y la poblacion completa unprograma.

(INAOE) 183 / 197

Page 184: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Programacion Genetica

• Computacion evolutiva genera programas (Koza, ’92).Osea que lo que se tiene es una poblacion deprogramas.

• Los programas tıpicamente se representan comoarboles de “parseo” de un programa

• Cada funcion esta representada en un nodo y losargumentos de la funcion en sus ramas.

(INAOE) 184 / 197

Page 185: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Programacion Genetica

Para aplicar programacion genetica a un dominio se tieneque especificar:

• Las funciones primitivas a considerar (e.g.,cos,√,+,−, etc.).

• Los nodos terminales (e.g., x , y ,2, etc.).

(INAOE) 185 / 197

Page 186: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Programacion Genetica

Pasos:1 Genera una poblacion inicial mediante una composicion

(generalmente aleatoria) de funciones y sımbolosterminales relacionados al dominio.

2 Realiza en forma iterativa los siguientes pasos, hastallegar a un criterio de terminacion:

• Ejecuta cada programa y asignales un valor de acuerdoa tu funcion de aptitud.

• Crea nuevos programas haciendo: (i) Reproduccion(copia), (ii) Cruza (intercambio aleatorio de dos partesde un programa, (iii) Mutacion (cambia una partealeatoria de un programa), y (iv) Operaciones quecambian la arquitectura (ver abajo),

3 Selecciona el mejor programa.

(INAOE) 186 / 197

Page 187: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Programacion Genetica

• Cruza selecciona aleatoriamente nodos padres de dosarboles y los intercambia.

• Las operaciones que alteran la “arquitectura” se usanpara determinar: (i) el numero de funciones a utilizar,(ii) el numero de argumentos por funcion, y (iii) el tipode jerarquıa (quien llama a quien)

(INAOE) 187 / 197

Page 188: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Conocimiento del dominio

• En principio se ven a los GA como metodos debusqueda independientes del dominio.

• Sin embargo, se incorpora conocimiento del dominioen:

1 Los operadores geneticos a utilizar2 La representacion usada3 Poblaciones iniciales4 Retroalimentacion

• En la mayorıa de los casos, el desempeno de unalgoritmo genetico depende fuertemente de larepresentacion utilizada y de la funcion de aptitud

(INAOE) 188 / 197

Page 189: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Poblaciones Estadısticas

• La mayor parte de la teorıa de los GA se basa en losllamados “bloques constructores”.

• La informacion global se puede usar para estimar unadistribucion y usar esa estimacion para generar nuevassoluciones.

• Como en otras ocasiones, existe un balance entre laexactitud de la estimacion y el costo computacionalpara realizarla.

• Lo mas facil es considerar cada variable independientede las demas (PBIL).

(INAOE) 189 / 197

Page 190: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

PBIL (Population-based IncrementalLearning)

• Usa un vector de probabilidad que al muestrearseproduce con alta probabilidad vectores conevaluaciones altas.

• Inicialmente todos los lugares toman el valor de 0.5(prob. de producir un 1).

• Se genera un conjunto de individuos tomando encuenta las probabilidades del vector.

(INAOE) 190 / 197

Page 191: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

PBIL

• Se cambia el vector de probabilidades hacia valoresque produjeron mejores resultados (la magnitud delcambio depende de un parametro).

• Se continua con el proceso hasta llegar a un criterio deparo (todos los lugares som cercanos a 1 o a 0).

• Parametros: (i) numero de muestras a generar (e.g.,200), (ii) razon de aprendizaje (LR, e.g., 0.005), y (iii)numero de vectores a considerar para actualizar elvector de probabilidad (e.g., 2)

(INAOE) 191 / 197

Page 192: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmo de PBIL

Algoritmofor i := 1 to LONG. do P[i] = 0,5while NOT criterio de paro

for i := 1 to NUM-MUEST. dovectores soluc[i] := genera una muestra con prob. Pevalaciones[i] := evalua(vectores soluc[i])

ordena vectores solucfor j := 1 to NUM-VECT-ACT. do

for i := 1 to LONG. doP[i] := P[i] ∗ (1− LR) + vectores soluc[j][i] ∗ LR

Funciona bien si no hay interacciones significativas entrevariables y se aproxima (por lo menos UMDA, una variantede PBIL) al comportamiento de un GA con cruza uniforme.

(INAOE) 192 / 197

Page 193: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Variantes

• Incluir “mutaciones” (alteraciones estocasticas)• Mover el vector de probabilidad tambien con ejemplos

“negativos”• Mover el vector de probabilidad de acuerdo a la fuerza

de cada individuo• Utilizar varios vectores y combinarlos

(INAOE) 193 / 197

Page 194: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

BOA: The Bayesian OptimizationAlgorithm

Para tratar de capturar interacciones entre variables se hanpropuesto las siguientes mejoras:• Interacciones por pares y construccion de un arbol de

dependencias (relacionado a Chow y Liu)• Factorizacion y descomposicion de problemas (se

requiere conocimiento del dominio)• Usar redes bayesianas (BOA) y descubrir la estructura

intrınseca

(INAOE) 194 / 197

Page 195: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

BOA

• BOA genera una poblacion aleatoria• Selecciona los mejores individuos• Construye una red bayesiana que ajuste esos

individuos bajos ciertos criterios• Genera nuevos individuos usando la distribucion

codificada en la red bayesiana y• Reemplaza (parte de) la problacion original• Este proceso se repite hasta cumplir el criterio de

terminacion

(INAOE) 195 / 197

Page 196: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Restricciones de BOA

Algunas de las restricciones que se usan son:• numero de padres maximo• arbol o poliarbol• algoritmo tipo hill-climbing• calidad de la red (usando la metrica Dirichlet

Bayesiana)

(INAOE) 196 / 197

Page 197: Busqueda y Optimizaci´on - Coordinación de Ciencias ...emorales/Cursos/Aprendizaje2/Acetatos/bus… · El problema de las 8 reinas Una posibilidad es lograr una solucion´ incremental,

Introduccion

Ejemplos eIdeas

Procedimientosde BusquedaClasicosBusqueda ciega osin informacion

Busqueda conInformacion

Como InventarHeurısticas

MACRO–Operadores

Metaheurısti-casBusqueda Local

GRASP

Busqueda Tabu

Recocido Simulado

Scatter Search

AlgoritmosGeneticos

Metaheurısticas Algoritmos Geneticos

Algoritmo de BOA

t ← 0Genera aleatoriamente problacion inicial P(0)Hasta llegar a criterio de paro:

Evalua y selecciona los mejores individuos S(t) de P(t)Construye una BN (B) bajo ciertas metricas y restriccionesGenera nuevos individuos (O(t)) usando la distrib. de BCrea nueva poblacion P(t + 1) reemplanzando

algunos individuos de P(t) con los de O(t)t ← t + 1

(INAOE) 197 / 197