Clase 7 Inteligencia Artificial Handout
-
Upload
javiermancilla -
Category
Documents
-
view
12 -
download
0
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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