Académique Documents
Professionnel Documents
Culture Documents
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
30 de septiembre de 2014
1 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
1
2
Preambulo
Constraint satisfaction problem
Espacio de b
usqueda
Nodo consistencia
Arco consistencia
K-consistencia
Backtracking
Backtracking + GBJ
Backtracking + CBJ
Forward Checking
Real Full Look Ahead
B
usqueda Global
Tecnicas de verificacion de
consistencia local
Tecnicas de Enumeracion
2 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Preambulo
3 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Preambulo
4 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Espacio de b
usqueda
dominio de Xk es Dk .
Un conjunto de restricciones C = {C1 , ..., Cm }, donde cada Ci
es un conjunto de variables.
Un conjunto de relaciones R = {R1 , ..., Rm }, donde Ri es el
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Espacio de b
usqueda
6 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Espacio de b
usqueda
7 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Espacio de b
usqueda
8 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Espacio de b
usqueda
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Espacio de b
usqueda
El espacio de b
usqueda es aproximadamente D V , el dominio de las
variables considerando todas las variables.
Veamos posibles representaciones para el problema de n-reinas.
1
10 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
La idea de un metodo de b
usqueda global es analizar todo el espacio
de b
usqueda de un modelo y encontrar una soluci
on optima.
Clave es especificar que se hace una b
usqueda sobre el modelo, si
este cambia o se interpreta de otra forma la b
usqueda puede variar
su eficiecia y eficacia.
Lo malo de este tipo de b
usqueda tiene como problema un consumo
excesivo de tiempo para resolver un problema.
11 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Existen varias tecnicas de b
usqueda gobal:
Verificaci
on de consistencia local.
Nodo consistencia.
Arco consistencia.
K-consistencia.
Enumeraci
on.
Backtracking.
Backtracking + GBJ.
Backtracking + CBJ.
Forward checking.
Real full look ahead.
12 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
13 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
que el espacio de b
usqueda de P 0 , EP(P 0 ) EP(P).
Eliminar los elementos que, con seguridad, no pueden ser
parte de la solucion.
Existen casos donde se puede detectar la ausencia de soluciones.
14 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Nodo consistencia
15 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Nodo consistencia
X1 = 2
X3 6= 3
X5 2
16 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Nodo consistencia
17 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Arco consistencia
Similar a la nodo consistencia, la arco consistencia analiza las relaciones directas entre variables directamente relacionadas.
X2 X3
X3 6= X4
X5 X1
Existen varios algoritmos para hacer arco
consistencias.
18 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Arco consistencia
AC-1
Aplicar nodo consistencia.
Aplicar arco consistencia: cada vez que se elimina un valor de
19 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
K-consistencia
20 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Ejemplo: Coloreo de grafos.
21 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Ejemplo: Coloreo de grafos.
que la carrocera.
Se pueden pintar el auto?
22 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de verificaci
on de consistencia local
Ejemplo: Coloreo de grafos.
23 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de Enumeraci
on
24 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de Enumeraci
on - Backtracking
Backtracking es una tecnica que se basa en analizar como una asignacion de valores afecta a las variables previamente instanciadas.
En cada nivel se busca un valor posible dentro del dominio de la
variable que no genere conflictos con los valores de las variables ya
instanciadas.
Se define un orden en las variables y se van asignando valores hasta
que se encuentre conflicto. Salta atras al nodo previamente instanciado para determinar un nuevo valor
25 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de Enumeraci
on - Backtracking + GBJ
Graph Back Jump es un paso guiado a traves del grafo original del
problema como camino para asignar y validar el backtracking
En caso de error sobre una variable se regresa a la variable conectada
por una restriccion mas recientemente instanciada.
26 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de Enumeraci
on - Backtracking + CBJ
Conflict Back Jump es un paso guiado a traves del grafo original del
problema como camino para asignar y validar el backtracking
Para cada variable guardar el conjunto de conflictos Conf (xi ).
Para cada valor err
oneo se hace un registro de la variabla mas
27 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de Enumeraci
on - Forward Checking
28 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
Tecnicas de Enumeraci
on - Real Full Look Ahead
29 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
T
ecnicas de verificaci
on de consistencia local
T
ecnicas de Enumeraci
on
Busqueda Global
30 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Local
Una solucion al problema del tiempo es el utilizar tecnicas locales
para resolver los problemas.
Directamente es resolver por que no necesariamente se consigue
la solucion optima de un problema pero si una solucion buena dentro
de un posible vecindario de valores y variables.
Vamos a necesitar dos conceptos generales para este tipo de metodos:
Exploraci
on
Explotataci
on
31 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Local
32 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Local
33 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Local
Para todos estos metodos tendremos que definir lo siguiente:
Por lo menos una soluci
on inicial.
Una funci
on de evaluaci
on (puede ser una funcion objetivo o
34 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Hill-Climbing
35 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Hill-Climbing
Inicializacion:
Elegir una soluci
on factible inicial x0 .
t = 0.
Optimo
local:
Si ning
un 4x es factible o mejora a xt se termina siendo xt el
optimo local.
Movimiento:
Elegir un 4x factible.
Incremento:
t = t + 1.
Volver al paso 2.
36 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Hill-Climbing
Max
Sujeto a
Soluci
on inicial: (1, 0, 0, 0).
37 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Hill-Climbing
38 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Tabu Search
39 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Tabu Search
40 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Tabu Search
41 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Tabu Search
Inicializacion:
Elegir soluci
on inicial factible x0 .
Elegir lmite de iteraciones tmax .
t = 0.
x = x0 .
Optimo
local:
Si ning
un 4x Movimiento no tab
u es factible o t = tmax se
termina siendo x el
optimo.
3
Movimiento:
Elegir un 4x no tab
u factible y hacerlo 4xt+1 .
Actualizar:
xt+1 = xt + 4xt+1 .
42 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Tabu Search
Lista tab
u:
Eliminar de la lista los movimientos que hayan cumplido su
condici
on de permanencia en la lista.
Agregar un conjunto de movimientos que permitan cualquier
Incremento:
t = t + 1.
Volver al paso 2.
43 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Tabu Search
Max
Sujeto a
Soluci
on inicial: (1, 0, 0, 0).
44 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Simulated Annealing
son aceptados.
Movimientos que no mejoran la funci
on de evaluacion son
45 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Simulated Annealing
Inicializacion:
Elegir soluci
on inicial factible x0 .
Elegir lmite de iteraciones tmax .
Elegir temperatura inicial q.
t = 0.
x = x0 .
Optimo
local:
Si ning
un 4x Movimiento es factible o t = tmax se termina
siendo x el optimo.
46 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Simulated Annealing
3
Movimiento provisorio:
Elegir aleatoriamente un 4x factible y hacerlo provisoriamente
4xt+1 .
Calcular 4z: efecto neto de la funci
on de evaluacion de pasar
de xt a xt+1 .
4
Aceptacion:
Si 4z > 0 o con probabilidad e
4z
q
si 4z 0 se acepta el
movimiento: xt+1 = xt + 4xt+1 . En caso contrario volver al
paso 3.
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Simulated Annealing
Reduccion de la temperatura:
Si un n
umero suficiente de iteraciones han sido realizadas desde
el u
ltimo cambio de temperatura, reducir la temperatura q.
7
Incremento:
t = t + 1.
Volver al paso 2.
48 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Simulated Annealing
Max
Sujeto a
Soluci
on inicial: (1, 0, 0, 0).
49 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Algoritmos Geneticos
50 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Algoritmos Geneticos
1
Inicializacion:
Escoger un tama
no de poblaci
on p.
Generar soluciones iniciales factibles x0 , ..., xp .
Elegir lmite de iteraciones tmax .
Definir probabilidad de cruzamiento pc .
Definir probabilidad de mutaci
on pm .
Definir cantidad de individuos por elite pe (por defecto 1).
t = 0.
x = Best(x0 , ..., xpe ).
Termino:
Si t = tmax se termina.
Elite:
Incluir en la generaci
on t + 1 a las pe mejores soluciones de la
poblaci
on actual.
51 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Algoritmos Geneticos
Nueva poblacion:
Seg
un un n
umero aleatorio p determinar si se realiza
cruzamiento o mutaci
on.
Cruzamiento: elegir al menos 2 soluciones de la poblaci
on y
realizar una mezcla de ambos, generando una soluci
on nueva
para la generaci
on t + 1.
Mutaci
on: elegir una soluci
on de la poblaci
on y hacer una
modoficaci
on, generando una soluci
on nueva para la
generaci
on t + 1.
5
Incremento:
t = t + 1.
Volver al paso 2.
52 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos
Busqueda Global
Algoritmos Geneticos
Max
Sujeto a
Soluci
on inicial: (1, 0, 0, 0).
53 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Ejercicios
Coloreo de grafos
54 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
Ejercicios
Vendedor viajero
Ciudad
Ciudad
Ciudad
Ciudad
Ciudad
1
2
3
4
5
Ciudad 1
0
132
217
164
58
Ciudad 2
132
0
290
201
79
Ciudad 3
217
290
0
113
303
Ciudad 4
164
201
113
0
196
Ciudad 15
58
79
303
196
0
55 / 56
Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios
30 de septiembre de 2014
56 / 56