Vous êtes sur la page 1sur 56

Pre

ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Tecnicas de Inteligencia Artificial


Alvaro Luzzi
Departamento de Inform
atica
Universidad T
ecnica Federico Santa Mara

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

Hasta ahora hemos visto tecnicas y metodologas de investigacion


de operaciones.
Pero existe un mundo aparte de metodos que utilizan inteligencia
artificial.
La inteligencia artificial es un area multidisciplinaria que, a traves
de ciencias como la informatica, la l
ogica y la filosofa, estudia la
creacion y dise
no de entidades capaces de razonar por s mismas
utilizando como paradigma la inteligencia humana.

3 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Preambulo

Existen dos visiones principales:


B
usqueda global: analizar todas las posibles soluciones que

se pueden encontrar en el dominio de las varibles.


B
usqueda local: enfocarse en un subconjunto del dominio de

las variables y buscar la mejor soluci


on ah.

4 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Espacio de b
usqueda

Constraint satisfaction problem


Antes de atacar tecnicas de inteligencia artificial debemos definir los
problemas de satisfacci
on de restricciones (CSP).
Un CSP consta de cuatro elementos:
Un conjunto de variables X = {X1 , ..., Xn }.
Un conjunto de dominios D = {D1 , ..., Dn }, de manera que el

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

conjunto de combinaciones de valores que satisfacen Ci .


5 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Espacio de b
usqueda

Constraint satisfaction problem


Ejemplos de CSP: N-Reinas.
Localizar N reinas sobre un tablero de ajedrez de N N, de manera
que no puedan atacarse entre si.

6 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Espacio de b
usqueda

Constraint satisfaction problem


Ejemplos de CSP: Buscaminas.
Identificar las casillas que contienen una bomba a partir de la informacion desplegada por sus casillas adyacentes.

7 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Espacio de b
usqueda

Constraint satisfaction problem


Ejemplos de CSP: Sudoku.
El objetivo es rellenar una cuadrcula de n n celdas dividida en
subcuadrculas de n = 3 n = 3 con las cifras del 1 al 9 partiendo
de algunos n
umeros ya dispuestos en algunas de las celdas.

8 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Espacio de b
usqueda

Constraint satisfaction problem


Espacio de b
usqueda

Volvamos al problema de las n-reinas.

Existen varias formas de representar este problema. Cual debemos


elegir?
9 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Espacio de b
usqueda

Constraint satisfaction problem


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

Una variable cada reina. N (NN)

Una variable cada casillero. 2(NN)

Una variable cada columna/fila. N N

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

La verificacion de consistencia local se basa en analizar los dominios


y los efectos de los dominios entre las variables considerando sus
relaciones.
Se puede analizar desde una variable puntual hasta el universo completo de las variables y sus relaciones.
Para esto se utiliza un grafo de restricciones.

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

El objetivo final de la verificaci


on es hacer un filtro de los dominios
de manera que:
Un problema P se convierta en un problema P 0 de manera

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

Supongamos que tenemos ciertas restricciones sobre las variables:

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

un dominio se analiza el grafo completo.


AC-3
Aplicar nodo consistencia.
Aplicar arco consistencia: cada vez que se elimina un valor de

un dominio se analiza solo las variables conetadas.

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

A medida que se van agregando dimensiones para ir analizando nos


vamos acercando a una consistencia mas cercana a una solucion.
Si existe K-consistencia en un problema sabemos que existe a lo
menos una solucion.
Si no existe cualquiera de las consistencias sabemos que el problema
finalmente no puede ser resuelto.

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.

Suponga que desea pintar un auto cuyas partes son:


Parachoques.
Techo.
Alerones.
Carrocera.
Puertas.
Cap
o.

Existen 4 colores: Blanco, Rosado, Rojo y Negro.

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.

Sea A C B, A es mas claro que B.


Blanco C Rosado C Rojo C Negro.
Ademas considere las siguientes restricciones:
El parachoques debe ser blanco.
El techo debe ser rojo.
Los alerones no pueden ser ni blancos ni negros.
La carrocera, las puertas y el cap
o deben ser del mismo color.
El parachoques, el techo y los alerones deben ser m
as claros

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

Como se menciono en programaci


on entera, existe una forma de
resolver problemas utilizando una enumeraci
on de variables.
Existen 2 familias de algoritmos:
Los que miran haca atr
as.
Los que miran haca adelante.

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

prematuramente instanciada y en conflicto con el intento


actual de instanciaci
on.
Cuando no quedan valores a intentar, el conjunto entrega las

causas del problema y el punto de regreso sera la variable mas


reciente g en el conjunto de conflictos.
Se actualiza el conjunto de conflictos.

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

Forward Checking es una tecnica que se basa en analizar como una


asignacion de valores afecta a las variables posteriormente instanciables.
Se realiza la eliminaci
on de todos los valores futuros que tengan
conflictos con la u
tlima variable instanciada.

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

Real Full Look Ahead es analizar como una asignacion de valores


afecta toda las variables directa o indirectamente conectadas a la
u
ltima variable instanciada.

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

El problema de usar tecnicas de b


usqueda globales es que mientras mas crezca el problema (ya sea la cantidad de variables o los
dominios de las mismas) el tiempo de ejecuci
on o la cantidad de
verificaciones de restricciones se vuelve poco practico.
Pero la gracia es que con este tipo de tecnicas se consigue la mejor
de las soluciones.

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

Exploracion es el mecanismo por el cual recorro el espacio de b


usqueda diversificando las opciones de soluci
on para un problema determinado.
Explotacion es el mecanismo utilizado para ir encontrando mejores
soluciones dentro de un vecindario definido.

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

Veremos cuatro metodos de resoluci


on de problemas:
Hill-Climbing
Tabu Search
Simulated Annealing
Algoritmos Gen
eticos

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

alguna otra que tome en consideraci


on penalizaciones
respecto a restricciones no cumplidas, etc.).
A lo menos un movimiento.
Una representaci
on de la soluci
on.
Un criterio de termino (puede ser un n
umero de iteraciones,

un porcentaje de mejora, etc.).

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

Definir una representaci


on del problema.
Definir un movimiento seg
un la representaci
on.
Definir una soluci
on inicial factible.
Definir un criterio de elecci
on de nueva solucion (Alguna

Mejora o Mejor Mejora).


Realizar los movimientos y elegir la nueva soluci
on.
Detenerse si no existe ninguna soluci
on mejor.

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

z = 18x1 + 25x2 + 11x3 + 14x4


2x1 + 2x2 + x3 + x4 3
x1 , x2 , x3 , x4 {0, 1}

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

Que malo tiene este metodo?


Estancamiento en un optimo local. Es ciego a las oportunidades que
tiene en su entorno.

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

Por que no permitir movimientos que no mejoran la solucion?


Con el fin de mejorar la b
usqueda se podra considerar visitar

soluciones que empeoren con la esperanza de encontrar


mejores vecinos en iteraciones posteriores.
La implementaci
on de esta idea requiere incorporar un

mecanismo que evite caer en ciclos.

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

La gran diferencia con respecto a Hill-Climbing es que para este


metodo se agrega una lista tabu que quita posibles movimientos
repetidos.
Esta lista tabu va guardando los movimientos que se realizaron de
manera que no se puedan repetir dentro de un intervalo de tiempo.

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

La lista tiene un tama


no a definir, mientras mas grande mas posibles
caminos puede recorrer y esto puede llevar a no tener movimientos
por que estan todos prohibidos.
Por otro lado, mientras mas peque
na, mas posible que se repita un
movimiento que sea mas favorable para una solucion, pero tambien
existe la posibilidad de que se estanque la soluci
on.
Mientras existan soluciones vecinas factibles el algoritmo iterara, por
lo que es necesario definir un criterio de termino con un maximo de
iteraciones.

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

Mejorar solucion actual:


Si xt+1 entrega un mejor valor para la funci
on de evaluacion

que x , entonces x = xt+1 .


6

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

retorno inmediato desde xt+1 a xt .


7

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

z = 18x1 + 25x2 + 11x3 + 14x4


2x1 + 2x2 + x3 + x4 3
x1 , x2 , x3 , x4 {0, 1}

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

Analoga al proceso annealing que enfra lentamente los

metales para mejorar su dureza.


Movimientos que mejoran la funci
on de evaluacion siempre

son aceptados.
Movimientos que no mejoran la funci
on de evaluacion son

aceptados de acuerdo a probabilidades generadas con n


umeros
aleatorios
Se define una funci
on de temperatura que va decreciendo con

el tiempo y que se utiliza para verificar los valores aleatorios y


as tomar la decisi
on de tomar peores soluciones.

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.

Mejorar solucion actual:


Si xt+1 entrega un mejor valor para la funci
on de evaluacion

que x , entonces x = xt+1 .


47 / 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

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

z = 18x1 + 25x2 + 11x3 + 14x4


2x1 + 2x2 + x3 + x4 3
x1 , x2 , x3 , x4 {0, 1}

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

Intentan emular el proceso de la evoluci


on biologica para

encontrar soluciones cada vez mejores.


Una generaci
on representa un conjunto de soluciones.
Las generaciones comprenden
Elites.
Cruzamientos.
Mutaciones.
Los miembros de la generaci
on generan nuevos miembros para

una generacion futura.

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

z = 18x1 + 25x2 + 11x3 + 14x4


2x1 + 2x2 + x3 + x4 3
x1 , x2 , x3 , x4 {0, 1}

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

El problema del coloreo de grafos se define como la asignacion de


colores a los nodos de un grafo de tal forma que los nodos adyacentes
(conectados) no tengan el mismo color.
Considere un caso en que tiene tres colores (rojo, verde y azul).

54 / 56

Pre
ambulo
Constraint satisfaction problem
B
usqueda Global
B
usqueda Local
Ejercicios

Ejercicios
Vendedor viajero

Partiendo de la ciudad 1 recorrer todas las otras ciudades (pasando


una sola vez por cada una) y volver al punto de origen.

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

Tecnicas de Inteligencia Artificial


Alvaro Luzzi
Departamento de Inform
atica
Universidad T
ecnica Federico Santa Mara

30 de septiembre de 2014

56 / 56

Vous aimerez peut-être aussi