Está en la página 1de 39

BÚSQUEDA

TABÚ
A C O S TA H U AY L I N O S , S H E Y L A
CONDORI CABANA, LIZELL
NEIRA NIÑO DE GUZMÁN, SERGIO
S I LVA V I L L A R R E A L J E F F E R S O N
Introducción
● La búsqueda Tabú surge, en un intento de dotar de “inteligencia” a los
algoritmos de búsqueda local. Según Fred Glover, su primer definidor, “la
búsqueda tabú guía un procedimiento de búsqueda local para explorar el
espacio de soluciones más allá del óptimo local”.
● Oficialmente el nombre y la metodología fueron introducidos por Fred Glover
en dos artículos (1989):

2
Conceptos de Búsqueda Tabu
● La búsqueda tabú puede ser aplicada directamente a expresiones verbales o
simbólicas, sin necesidad de transformarlas a expresiones matemáticas, el
requerimiento x∈S . Por ejemplo, especificar condiciones lógicas o
interconexiones que pueden ser difíciles de expresar matemáticamente por lo
tanto será mejor dejarlas como expresiones verbales y codificarlas como
reglas.
● La característica que distingue a la Búsqueda Tabú es el uso de la memoria la
cual tiene una estructura basada en una lista tabú y unos mecanismos de
selección del siguiente movimiento.

3
LISTA TABÚ
 La lista tabú es una lista (linked list) en el contexto computacional, donde se
registran aquellas soluciones o atributos de soluciones que no deben ser
elegidas.
 Una forma sencilla de construir una lista tabú consiste en que cada vez que
se realiza un movimiento, se introduce su inverso (si se pasó de x0 a x1 , el
inverso es x1 a x0) en una lista circular, de forma que los elementos de dicha
lista están penalizados durante un cierto tiempo.
 Por tanto, si un movimiento está en la lista tabú no será aceptado, aunque
aparentemente sea mejor solución que la solución actua

4
LISTA TABÚ
 La lista tabú puede contener :

• Soluciones visitadas recientemente

• Movimientos realizados recientemente o

• Atributos o características que tenían las soluciones visitadas.


 El tamaño de la lista tabú (tabu tenure) es el tiempo o número de iteraciones
que un elemento (movimiento o atributo) permanece en la lista tabú.
 Si todos los elementos tienen la misma tenure, ésta estará identificada por la
longitud de la lista tabú.
 Si es variable, un elemento que entró a la lista tabú antes que otro puede salir
mucho después
5
Clases de Aspiración
● Sobre la base de una memoria cambiante, debe haber una forma de “olvido
estratégico”, es decir que una solución o atributo pueda salir de la lista tabú
antes de que se cumpla su plazo. Existen 2 clases:
● Aspiraciones de movimiento: Cuando se satisface, revoca la condición tabú
del movimiento
● Aspiraciones de atributo: Cuando se satisface revoca el status tabú del
atributo.

6
Criterios de Aspiración
● Aspiración por Default: Si todos los movimientos posibles son clasificados
como tabú, entonces se selecciona el movimiento “menos tabú”.
● Aspiración por Objetivo: Permite que un movimiento x sea un candidato para
seleccionarse si, por ejemplo, F(x) < mejor costo.
● Aspiración por Dirección de Búsqueda: Un atributo de aspiración para la
solución “s” se satisface si la dirección en “s” proporciona un mejoramiento y
el actual movimiento es un movimiento de mejora. Entonces “s” se considera
un candidato.

7
Características básicas:
● Es un algoritmo de búsqueda local basado en el uso de memoria.
● Es posible utilizar soluciones que empeoren la solución actual.
● La memoria se utiliza para no repetir la trayectoria de búsqueda.
● Existen dos tipos de memoria: memoria reciente y memoria a largo plazo.
● En la memoria se guardan atributos de soluciones.
Características de la búsqueda tabú (Estructura
de memoria)
La búsqueda tabú se caracteriza porque utiliza una estrategia basada en el uso de
estructuras de memoria para escapar de los óptimos locales, en los que se puede
caer al “moverse” de una solución a otra por el espacio de soluciones.
Las estructuras de memoria usadas son de dos tipos:
● Explicita.- Almacena soluciones de elite (que dan un óptimo local) .
● De atributos.- Se guarda información acerca de ciertos atributos de las
soluciones pasadas, para propósitos de orientación de la búsqueda.
La estructura de la memoria en la metaheurística de búsqueda tabú opera en
relación a cuatro dimensiones principales:

 calidad
 influencia
 corto plazo (lo reciente)
 largo plazo (lo frecuente)
Calidad
● La calidad se refiere a la habilidad para diferenciar el mérito de las
soluciones, identifica qué las hace tan buenas e incentiva la búsqueda para
reforzar las acciones que conducen a una buena solución y desalienta
aquellas que conducen a soluciones pobres.

● Bajo el enfoque de búsqueda tabú un movimiento puede ser de mejor calidad


si, por ejemplo, su frecuencia de ocurrencia en el pasado es baja o no ha
ocurrido antes y nos permite explorar nuevas regiones.
Influencia
● La dimensión influencia, considera el impacto de las elecciones hechas
durante la búsqueda, mide el grado de cambio inducido en la estructura de la
solución o factibilidad, no sólo en calidad sino también en estructura, en un
sentido la calidad puede entenderse como una forma de influencia.
Memoria basada en lo reciente (corto plazo)

● Es una “memoria” donde se almacenan los últimos movimientos realizados, y


que puede ser utilizada para “recordar” aquellos movimientos que hacen caer
de nuevo en soluciones ya exploradas. Su objetivo es penalizar la búsqueda
para evitar el ciclado.
Criterio de aspiración : Permite en circunstancias especiales eliminar la restricción tabú

A pesar de que el movimiento 4,5 es tabú. Vamos a


saltarnos la restricción ya que se llega a la mejor
solución conocida hasta el momento
Memoria Basada en Frecuencia (largo plazo)
● La memoria basada en frecuencia proporciona un tipo de información que
complementa la información proporcionada por la memoria basada en lo reciente,
ampliando la base para seleccionar movimientos preferidos. Como lo reciente, la
frecuencia a menudo toma en cuenta las dimensiones de calidad de la solución e
influencia del movimiento. En esta estructura de memoria se registra la frecuencia
de ocurrencias de los movimientos, las soluciones o sus atributos y puede ser:
Frecuencia de transiciones .- Cantidad de veces que una solución es la mejor o
cantidad de veces que un atributo pertenece a una solución generada.
Frecuencia de residencia .- Cantidad de iteraciones durante la cual un atributo
pertenece a la solución generada.
La memoria tiene dos estrategias asociadas:
 La Intensificación: Consiste en regresar a regiones ya exploradas para
estudiarlas más a fondo. Para ello se favorece la aparición de aquellos
atributos asociados a buenas soluciones encontradas.
Para evitar regresar a óptimos locales cada cierto número de iteraciones, la
búsqueda tabú utiliza además otra estrategia, como es la diversificación.
 La Diversificación: Consiste en visitar nuevas áreas no exploradas del espacio
de soluciones. Para ello se modifican las reglas de elección para incorporar a
las soluciones atributos que no han sido usados frecuentemente.
Aplicación del
método al problema
de las n-reinas

18
● El problema de las n-reinas consiste
en colocar n reinas en un tablero de
ajedrez de n x n de tal manera que
no sea posible que dos reinas se
capturen entre sí.

19
● Se dice que existe una colisión si
hay dos reinas que se pueden
capturar entre sí.
● La solución se orienta a elegir las
n celdas donde colocar a las
reinas, minimizando el número
total de colisiones.

20
Componentes:
● Una solución tiene la forma de un arreglo n-dimensional: (r1 ,r2 ,r3 ,..., rn ).

● Por ejemplo, para n = 4, en donde (r1, r2, r3, r4)=(3,4,1,2), matricialmente se


representa:

21
Componentes:
● La función objetivo es minimizar la cantidad de colisiones.
● El espacio de soluciones está dado por todos aquellos arreglos de 7
posiciones de los números {1,2,...7}.
● La estructura de la solución es la ubicación de las reinas:

● Significa que la reina 1 está ubicada en la columna 6, la reina 2 en la columna


1, ..., la reina 7 en la columna 4.
22
Componentes:

● Un movimiento es un intercambio de dos reinas.


● El vecindario de x está formado por todas aquellas soluciones a las que se
llega desde x al hacer un movimiento, es decir, en las cuales se ha realizado
uno y solo un intercambio de reinas. Por ejemplo sea:

● z pertenece al vecindario de x, pues se ha permutado la reina 1 con la 7.

23
Componentes:

● La condición de parada: el proceso se detendrá si se alcanza el máximo


número de iteraciones permitida , que en este caso se asigna arbitrariamente
como MAXITER=100, independientemente de la soluciones encontradas.
● No se detendrá cuando se encuentre una solución que produce cero
colisiones, pues se tratará de encontrar más de una solución con cero
colisiones.
● El tamaño de la lista tabú (tabu tenure), se define como 3, es decir, se
penalizará hasta las tres últimas soluciones.

24
Selección de la solución inicial:

● Puede ser el resultado de una heurística, de una selección aleatoria o de una


asignación arbitraria realizada por el experto. Sea la solución inicial:

R1

R2

R3 ● La función objetivo vale 4.


R4 Colisionan las reinas: {(2,6) (6,7)
R5 (4,5) (1,2)}
R6

R7
25
Iteraciones para seleccionar la siguiente solución:

● Se realizan los intercambios posibles (movimientos) mientras no se cumpla


la condición de parada. Iteración 1 El vecindario está conformado por las
combinaciones de 7 elementos tomados de 2 en 2, es decir, 7!/(2!*5!) = 21. Se
evalúan las 21 posibles soluciones:

26
Iteraciones para seleccionar la siguiente solución:

● Seleccionándose las 5 mejores:

27
● Hay 4 movimientos que producen 2 colisiones. Cuando hay empates se
puede utilizar un mecanismo aleatorio para seleccionar el mejor movimiento.

● Se escoge la permutación (1,7).


28
● La solución siguiente resulta de intercambiar las reinas 1 y 7 en x0 .

● La función objetivo vale 2, colisionan las reinas: {(2,6) (4,5)}


● La lista tabú contiene los movimientos considerados prohibidos, en este caso
se registran los atributos de las permutaciones (el intercambio de reinas).
Para prevenir que las reinas vuelvan a su lugar anterior, se registrará en la
lista tabú los 3 últimos movimientos.
29
30
● Iteración 2: Se intercambian las reinas 2 y 4 en x1 la función objetivo valdrá 1,
solo hay una colisión {(1,4)}.

31
● Se continúa iterando hasta llegar a la condición de parada. Si la mejor
permutación es una solución que está en la lista tabú, se desestima y se
toma la siguiente “mejor”, sin embargo, si el objetivo es encontrar una
solución con cero colisiones, se puede utilizar el criterio de aspiración a un
movimiento que produce cero colisiones, pero como se verá cuando se
procese en un programa computacional, esto ocasiona que no se diversifique
la búsqueda y no se encuentren más soluciones.

32
● Para diversificar la búsqueda se usó la memoria de largo plazo, en este caso,
la frecuencia de ocurrencia de los movimientos. Supongamos que no se está
considerando ningún criterio de aspiración y se han realizado ya 75
iteraciones.

33
● T significa que la permutación está penalizada en la lista tabú.
● Al evaluar los 5 mejores candidatos para pasar a x76 se observa que el
elegido debería ser el movimiento 4,7 pues da un valor para la función
objetivo igual a una colisión, pero, al revisar la tabla de frecuencias (memoria
a largo plazo) se observa que dicho movimiento ha ocurrido 7 veces en el
pasado, hay otros candidatos no tabú con menor frecuencia y además hay
otros movimientos que tienen frecuencia cero, lo que implica que se puede
explorar otras regiones que podrían contener otras soluciones con menos
colisiones.

34
● Por lo tanto el movimiento 4,7 a pesar de no ser tabú debe ser penalizado
para que no vuelva a ocurrir hasta que la frecuencia de los otros lo supere.
● El candidato (5, 7) no puede ser elegido por ser tabú.
● El candidato (1, 2) es no tabú, pero entre los otros candidatos no tabú hay
uno que tiene menor frecuencia de ocurrencias en el pasado.
● Por lo tanto el elegido para conformar la siguiente solución debería ser el
movimiento (1, 6) para diversificar la búsqueda.
● El procedimiento se repite hasta superar el máximo número de iteraciones
permitidas.

35
Resultados:

● Para el MAXITER=100 con solución inicial X0=4, 5, 3, 6, 7, 1, 2 obtenemos 30


soluciones sin colisiones de las cuales 2 de ellas son diferentes y 28 son
iguales.
● Se considera que dos soluciones son iguales cuando:

 La solución i es la solución j desplazada, por ejemplo:

 Es la misma solución, pero en orden inverso, por ejemplo:

36
R1 R1

R2 R2

R3 R3

R4 R4

R5 R5

R6 R6

R7 R7

37
Conclusiones
● Hay una gran cantidad de problemas en el mundo real que debido a su
complejidad no pueden ser resueltos por métodos analíticos por lo que se
hace uso necesario de heurísticas y meta heurísticas para obtener soluciones
aproximadas.
● La filosofía de la búsqueda tabu no es complicada, consiste en el uso del
contexto del problema y de la historia del proceso.
● Su algoritmo es flexible y puede ser aplicado a cualquier problema
combinatorio en l que se defina con claridad y precisión los elementos.

38
Conclusiones
● Se puede introducir modificaciones al algoritmo básico de tal modo que el
usuario pueda aportar su conocimiento de experto.
● Para el problema de las n-reinas con valores pequeños de n (como un n=7),
se puede formular el problema como un programa lineal y encontrar una
solución usando algún software.

39

También podría gustarte