clase 7 inteligencia artificial handout

56
Pre´ ambulo Constraint satisfaction problem usqueda Global usqueda Local Ejercicios ecnicas de Inteligencia Artificial Alvaro Luzzi Departamento de Inform´ atica Universidad T´ ecnica Federico Santa Mar´ ıa 30 de septiembre de 2014 1 / 56

Upload: javiermancilla

Post on 16-Jan-2016

11 views

Category:

Documents


0 download

DESCRIPTION

fundamentos de inversion de operaciones

TRANSCRIPT

Page 1: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de Inteligencia Artificial

Alvaro Luzzi

Departamento de InformaticaUniversidad Tecnica Federico Santa Marıa

30 de septiembre de 2014

1 / 56

Page 2: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

1 Preambulo2 Constraint satisfaction problem

Espacio de busquedaNodo consistenciaArco consistenciaK-consistenciaBacktrackingBacktracking + GBJBacktracking + CBJForward CheckingReal Full Look Ahead

3 Busqueda GlobalTecnicas de verificacion deconsistencia localTecnicas de Enumeracion

2 / 56

Page 3: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Preambulo

Hasta ahora hemos visto tecnicas y metodologıas de investigacionde operaciones.

Pero existe un mundo aparte de metodos que utilizan inteligenciaartificial.

La inteligencia artificial es un area multidisciplinaria que, a travesde ciencias como la informatica, la logica y la filosofıa, estudia lacreacion y diseno de entidades capaces de razonar por sı mismasutilizando como paradigma la inteligencia humana.

3 / 56

Page 4: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Preambulo

Existen dos visiones principales:

• Busqueda global: analizar “todas” las posibles soluciones quese pueden encontrar en el dominio de las varibles.

• Busqueda local: enfocarse en un subconjunto del dominio delas variables y buscar la mejor solucion ahı.

4 / 56

Page 5: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Espacio de busqueda

Constraint satisfaction problem

Antes de atacar tecnicas de inteligencia artificial debemos definir losproblemas de satisfaccion 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 elconjunto de combinaciones de valores que satisfacen Ci .

5 / 56

Page 6: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Espacio de busqueda

Constraint satisfaction problem

Ejemplos de CSP: N-Reinas.

Localizar N reinas sobre un tablero de ajedrez de N×N, de maneraque no puedan atacarse entre si.

6 / 56

Page 7: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Espacio de busqueda

Constraint satisfaction problem

Ejemplos de CSP: Buscaminas.

Identificar las casillas que contienen una bomba a partir de la infor-macion desplegada por sus casillas adyacentes.

7 / 56

Page 8: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Espacio de busqueda

Constraint satisfaction problem

Ejemplos de CSP: Sudoku.

El objetivo es rellenar una cuadrıcula de n × n celdas dividida ensubcuadrıculas de n = 3× n = 3 con las cifras del 1 al 9 partiendode algunos numeros ya dispuestos en algunas de las celdas.

8 / 56

Page 9: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Espacio de busqueda

Constraint satisfaction problemEspacio de busqueda

Volvamos al problema de las n-reinas.

Existen varias formas de representar este problema. ¿Cual debemoselegir?

9 / 56

Page 10: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Espacio de busqueda

Constraint satisfaction problemEspacio de busqueda

El espacio de busqueda es aproximadamente DV , el dominio de lasvariables considerando todas las variables.

Veamos posibles representaciones para el problema de n-reinas.

1 Una variable cada reina. N(N∗N)

2 Una variable cada casillero. 2(N∗N)

3 Una variable cada columna/fila. NN

10 / 56

Page 11: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda Global

La idea de un metodo de busqueda global es analizar todo el espaciode busqueda de un modelo y encontrar una solucion optima.

Clave es especificar que se hace una busqueda sobre el modelo, sieste cambia o se interpreta de otra forma la busqueda puede variarsu eficiecia y eficacia.

Lo malo de este tipo de busqueda tiene como problema un consumoexcesivo de tiempo para resolver un problema.

11 / 56

Page 12: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda Global

Existen varias tecnicas de busqueda gobal:

• Verificacion de consistencia local.• Nodo consistencia.• Arco consistencia.• K-consistencia.

• Enumeracion.• Backtracking.• Backtracking + GBJ.• Backtracking + CBJ.• Forward checking.• Real full look ahead.

12 / 56

Page 13: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia local

La verificacion de consistencia local se basa en analizar los dominiosy los efectos de los dominios entre las variables considerando susrelaciones.

Se puede analizar desde una variable puntual hasta el universo com-pleto de las variables y sus relaciones.

Para esto se utiliza un grafo de restricciones.

13 / 56

Page 14: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia local

El objetivo final de la verificacion es hacer un filtro de los dominiosde manera que:

• Un problema P se convierta en un problema P ′ de maneraque el espacio de busqueda de P ′, EP(P ′) ≤ EP(P).

• Eliminar los elementos que, con seguridad, no pueden serparte de la solucion.

Existen casos donde se puede detectar la ausencia de soluciones.

14 / 56

Page 15: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localNodo consistencia

15 / 56

Page 16: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localNodo consistencia

Supongamos que tenemos ciertas restricciones sobre las variables:

• X1 = 2

• X3 6= 3

• X5 ≤ 2

16 / 56

Page 17: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localNodo consistencia

17 / 56

Page 18: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localArco consistencia

Similar a la nodo consistencia, la arco consistencia analiza las rela-ciones directas entre variables directamente relacionadas.

• X2 ≥ X3

• X3 6= X4

• X5 ≤ X1

Existen varios algoritmos para hacer arcoconsistencias.

18 / 56

Page 19: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localArco consistencia

AC-1

• Aplicar nodo consistencia.

• Aplicar arco consistencia: cada vez que se elimina un valor deun dominio se analiza el grafo completo.

AC-3

• Aplicar nodo consistencia.

• Aplicar arco consistencia: cada vez que se elimina un valor deun dominio se analiza solo las variables conetadas.

19 / 56

Page 20: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localK-consistencia

A medida que se van agregando dimensiones para ir analizando nosvamos acercando a una consistencia mas cercana a una solucion.

Si existe K-consistencia en un problema sabemos que existe a lomenos una solucion.

Si no existe cualquiera de las consistencias sabemos que el problemafinalmente no puede ser resuelto.

20 / 56

Page 21: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localEjemplo: Coloreo de grafos.

Suponga que desea pintar un auto cuyas partes son:

• Parachoques.

• Techo.

• Alerones.

• Carrocerıa.

• Puertas.

• Capo.

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

21 / 56

Page 22: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localEjemplo: 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 carrocerıa, las puertas y el capo deben ser del mismo color.

• El parachoques, el techo y los alerones deben ser mas clarosque la carrocerıa.

¿Se pueden pintar el auto?

22 / 56

Page 23: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de verificacion de consistencia localEjemplo: Coloreo de grafos.

23 / 56

Page 24: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de Enumeracion

Como se menciono en programacion entera, existe una forma deresolver problemas utilizando una enumeracion de variables.

Existen 2 familias de algoritmos:

• Los que miran hacıa atras.

• Los que miran hacıa adelante.

24 / 56

Page 25: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de Enumeracion - Backtracking

Backtracking es una tecnica que se basa en analizar como una asig-nacion de valores afecta a las variables previamente instanciadas.

En cada nivel se busca un valor posible dentro del dominio de lavariable que no genere conflictos con los valores de las variables yainstanciadas.

Se define un orden en las variables y se van asignando valores hastaque se encuentre conflicto. Salta atras al nodo previamente instan-ciado para determinar un nuevo valor

25 / 56

Page 26: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de Enumeracion - Backtracking + GBJ

Graph Back Jump es un paso guiado a traves del grafo original delproblema como camino para asignar y validar el backtracking

En caso de error sobre una variable se regresa a la variable conectadapor una restriccion mas recientemente instanciada.

26 / 56

Page 27: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de Enumeracion - Backtracking + CBJ

Conflict Back Jump es un paso guiado a traves del grafo original delproblema como camino para asignar y validar el backtracking

• Para cada variable guardar el conjunto de conflictos Conf (xi ).

• Para cada valor erroneo se hace un registro de la variabla masprematuramente instanciada y en conflicto con el intentoactual de instanciacion.

• Cuando no quedan valores a intentar, el conjunto entrega lascausas del problema y el punto de regreso sera la variable masreciente g en el conjunto de conflictos.

• Se actualiza el conjunto de conflictos.

27 / 56

Page 28: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de Enumeracion - Forward Checking

Forward Checking es una tecnica que se basa en analizar como unaasignacion de valores afecta a las variables posteriormente instan-ciables.

Se realiza la eliminacion de todos los valores futuros que tenganconflictos con la utlima variable instanciada.

28 / 56

Page 29: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda GlobalTecnicas de Enumeracion - Real Full Look Ahead

Real Full Look Ahead es analizar como una asignacion de valoresafecta toda las variables directa o indirectamente conectadas a laultima variable instanciada.

29 / 56

Page 30: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de verificacion de consistencia localTecnicas de Enumeracion

Busqueda Global

El problema de usar tecnicas de busqueda globales es que mien-tras mas crezca el problema (ya sea la cantidad de variables o losdominios de las mismas) el tiempo de ejecucion o la cantidad deverificaciones de restricciones se vuelve poco practico.

Pero la gracia es que con este tipo de tecnicas se consigue la mejorde las soluciones.

30 / 56

Page 31: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda Local

Una solucion al problema del tiempo es el utilizar tecnicas localespara “resolver” los problemas.

Directamente es “resolver” por que no necesariamente se consiguela solucion optima de un problema pero si una solucion buena dentrode un posible vecindario de valores y variables.

Vamos a necesitar dos conceptos generales para este tipo de meto-dos:

• Exploracion

• Explotatacion

31 / 56

Page 32: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda Local

Exploracion es el mecanismo por el cual recorro el espacio de busque-da diversificando las opciones de solucion para un problema deter-minado.

Explotacion es el mecanismo utilizado para ir encontrando mejoressoluciones dentro de un vecindario definido.

32 / 56

Page 33: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda Local

Veremos cuatro metodos de resolucion de problemas:

• Hill-Climbing

• Tabu Search

• Simulated Annealing

• Algoritmos Geneticos

33 / 56

Page 34: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda Local

Para todos estos metodos tendremos que definir lo siguiente:

• Por lo menos una solucion inicial.

• Una funcion de evaluacion (puede ser una funcion objetivo oalguna otra que tome en consideracion penalizacionesrespecto a restricciones no cumplidas, etc.).

• A lo menos un movimiento.

• Una representacion de la solucion.

• Un criterio de termino (puede ser un numero de iteraciones,un porcentaje de mejora, etc.).

34 / 56

Page 35: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalHill-Climbing

• Definir una representacion del problema.

• Definir un movimiento segun la representacion.

• Definir una solucion inicial factible.

• Definir un criterio de eleccion de nueva solucion (AlgunaMejora o Mejor Mejora).

• Realizar los movimientos y elegir la nueva solucion.

• Detenerse si no existe ninguna solucion mejor.

35 / 56

Page 36: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalHill-Climbing

1 Inicializacion:• Elegir una solucion factible inicial x0.• t = 0.

2 Optimo local:• Si ningun 4x es factible o mejora a xt se termina siendo xt el

optimo local.

3 Movimiento:• Elegir un 4x factible.

4 Incremento:• t = t + 1.• Volver al paso 2.

36 / 56

Page 37: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalHill-Climbing

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

Sujeto a 2x1 + 2x2 + x3 + x4 ≤ 3x1, x2, x3, x4 ∈ {0, 1}

Solucion inicial: (1, 0, 0, 0).

37 / 56

Page 38: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalHill-Climbing

¿Que malo tiene este metodo?

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

38 / 56

Page 39: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalTabu Search

¿Por que no permitir movimientos que no mejoran la solucion?

• Con el fin de mejorar la busqueda se podrıa considerar visitarsoluciones que empeoren con la esperanza de encontrarmejores vecinos en iteraciones posteriores.

• La implementacion de esta idea requiere incorporar unmecanismo que evite caer en ciclos.

39 / 56

Page 40: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalTabu Search

La gran diferencia con respecto a Hill-Climbing es que para estemetodo se agrega una lista tabu que quita posibles movimientosrepetidos.

Esta lista tabu va guardando los “movimientos” que se realizaron demanera que no se puedan repetir dentro de un intervalo de tiempo.

40 / 56

Page 41: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalTabu Search

La lista tiene un tamano a definir, mientras mas grande mas posiblescaminos puede recorrer y esto puede llevar a no tener movimientospor que estan todos prohibidos.

Por otro lado, mientras mas pequena, mas posible que se repita unmovimiento que sea mas favorable para una solucion, pero tambienexiste la posibilidad de que se estanque la solucion.

Mientras existan soluciones vecinas factibles el algoritmo iterara, porlo que es necesario definir un criterio de termino con un maximo deiteraciones.

41 / 56

Page 42: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalTabu Search

1 Inicializacion:• Elegir solucion inicial factible x0.• Elegir lımite de iteraciones tmax .• t = 0.• x∗ = x0.

2 Optimo local:• Si ningun 4x ∈ Movimiento no tabu es factible o t = tmax se

termina siendo x∗ el optimo.

3 Movimiento:• Elegir un 4x no tabu factible y hacerlo 4xt+1.

4 Actualizar:• xt+1 = xt +4xt+1.

42 / 56

Page 43: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalTabu Search

5 Mejorar solucion actual:• Si xt+1 entrega un mejor valor para la funcion de evaluacion

que x∗, entonces x∗ = xt+1.

6 Lista tabu:• Eliminar de la lista los movimientos que hayan cumplido su

condicion 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

Page 44: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalTabu Search

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

Sujeto a 2x1 + 2x2 + x3 + x4 ≤ 3x1, x2, x3, x4 ∈ {0, 1}

Solucion inicial: (1, 0, 0, 0).

44 / 56

Page 45: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalSimulated Annealing

• Analogıa al proceso annealing que enfrıa lentamente losmetales para mejorar su dureza.

• Movimientos que mejoran la funcion de evaluacion siempreson aceptados.

• Movimientos que no mejoran la funcion de evaluacion sonaceptados de acuerdo a probabilidades generadas con numerosaleatorios

• Se define una funcion de temperatura que va decreciendo conel tiempo y que se utiliza para verificar los valores aleatorios yası tomar la decision de tomar peores soluciones.

45 / 56

Page 46: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalSimulated Annealing

1 Inicializacion:

• Elegir solucion inicial factible x0.• Elegir lımite de iteraciones tmax .• Elegir temperatura inicial q.• t = 0.• x∗ = x0.

2 Optimo local:

• Si ningun 4x ∈ Movimiento es factible o t = tmax se terminasiendo x∗ el optimo.

46 / 56

Page 47: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalSimulated Annealing

3 Movimiento provisorio:• Elegir aleatoriamente un 4x factible y hacerlo provisoriamente4xt+1.

• Calcular 4z : efecto neto de la funcion de evaluacion de pasarde xt a xt+1.

4 Aceptacion:

• Si 4z > 0 o con probabilidad e4zq si 4z ≤ 0 se acepta el

movimiento: xt+1 = xt +4xt+1. En caso contrario volver alpaso 3.

5 Mejorar solucion actual:• Si xt+1 entrega un mejor valor para la funcion de evaluacion

que x∗, entonces x∗ = xt+1.

47 / 56

Page 48: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalSimulated Annealing

6 Reduccion de la temperatura:

• Si un numero suficiente de iteraciones han sido realizadas desdeel ultimo cambio de temperatura, reducir la temperatura q.

7 Incremento:

• t = t + 1.• Volver al paso 2.

48 / 56

Page 49: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalSimulated Annealing

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

Sujeto a 2x1 + 2x2 + x3 + x4 ≤ 3x1, x2, x3, x4 ∈ {0, 1}

Solucion inicial: (1, 0, 0, 0).

49 / 56

Page 50: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalAlgoritmos Geneticos

• Intentan emular el proceso de la evolucion biologica paraencontrar soluciones cada vez mejores.

• Una generacion representa un conjunto de soluciones.

• Las generaciones comprenden• Elites.• Cruzamientos.• Mutaciones.

• Los miembros de la generacion generan nuevos miembros parauna generacion futura.

50 / 56

Page 51: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalAlgoritmos Geneticos

1 Inicializacion:• Escoger un tamano de poblacion p.• Generar soluciones iniciales factibles x0, ..., xp.• Elegir lımite de iteraciones tmax .• Definir probabilidad de cruzamiento pc .• Definir probabilidad de mutacion pm.• Definir cantidad de individuos por elite pe (por defecto 1).• t = 0.• x∗ = Best(x0, ..., xpe ).

2 Termino:• Si t = tmax se termina.

3 Elite:• Incluir en la generacion t + 1 a las pe mejores soluciones de la

poblacion actual.51 / 56

Page 52: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalAlgoritmos Geneticos

4 Nueva poblacion:• Segun un numero aleatorio p determinar si se realiza

cruzamiento o mutacion.

• Cruzamiento: elegir al menos 2 soluciones de la poblacion yrealizar una mezcla de ambos, generando una solucion nuevapara la generacion t + 1.

• Mutacion: elegir una solucion de la poblacion y hacer unamodoficacion, generando una solucion nueva para lageneracion t + 1.

5 Incremento:• t = t + 1.• Volver al paso 2.

52 / 56

Page 53: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Hill-ClimbingTabu SearchSimulated AnnealingAlgoritmos Geneticos

Busqueda GlobalAlgoritmos Geneticos

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

Sujeto a 2x1 + 2x2 + x3 + x4 ≤ 3x1, x2, x3, x4 ∈ {0, 1}

Solucion inicial: (1, 0, 0, 0).

53 / 56

Page 54: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

EjerciciosColoreo de grafos

El problema del coloreo de grafos se define como la asignacion decolores 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

Page 55: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

EjerciciosVendedor viajero

Partiendo de la ciudad 1 recorrer todas las otras ciudades (pasandouna sola vez por cada una) y volver al punto de origen.

Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 15

Ciudad 1 0 132 217 164 58Ciudad 2 132 0 290 201 79Ciudad 3 217 290 0 113 303Ciudad 4 164 201 113 0 196Ciudad 5 58 79 303 196 0

55 / 56

Page 56: Clase 7 Inteligencia Artificial Handout

PreambuloConstraint satisfaction problem

Busqueda GlobalBusqueda Local

Ejercicios

Tecnicas de Inteligencia Artificial

Alvaro Luzzi

Departamento de InformaticaUniversidad Tecnica Federico Santa Marıa

30 de septiembre de 2014

56 / 56