Tema 2 - Dpto. Ciencias de la Computación e Inteligencia Artificial.

Tema 2 - Dpto. Ciencias de la Computación e Inteligencia Artificial. Tema 2 - Dpto. Ciencias de la Computación e Inteligencia Artificial.

11.07.2015 Views

Inteligencia Artificial I Curso 2009–2010Tema 2: Representación deproblemas como espacios deestadosJosé Antonio Alonso JiménezFrancisco Jesús Martín MateosJosé L. Ruiz ReinaDpto. de Ciencias de la Computación e Inteligencia ArtificialUniversidad de SevillaIA-I 2009–2010 CcIa Representación de problemas como espacios de estados 2.1

<strong>Inteligencia</strong> <strong>Artificial</strong> I Curso 2009–2010<strong>Tema</strong> 2: Representación <strong>de</strong>problemas como espacios <strong>de</strong>estadosJosé Antonio Alonso JiménezFrancisco Jesús Martín MateosJosé L. Ruiz Reina<strong>Dpto</strong>. <strong>de</strong> <strong>Ciencias</strong> <strong>de</strong> <strong>la</strong> Computación e <strong>Inteligencia</strong> <strong>Artificial</strong>Universidad <strong>de</strong> Sevil<strong>la</strong>IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.1


Método <strong>de</strong> solución <strong>de</strong> problemasProblemaABSTRACCIONExpresioncomo espacio<strong>de</strong> estadosINTERPRETACIONSolucionAplicacion <strong>de</strong> al−goritmos <strong>de</strong> bus−queda <strong>de</strong> solucionImplementacionen un lenguaje<strong>de</strong> programacionIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.3


P<strong>la</strong>nteamiento <strong>de</strong>l problema <strong>de</strong>l 8-puzle1Enunciado:Para el 8-puzle se usa un cajón cuadrado en el que hay situados 8bloques cuadrados. El cuadrado restante está sin rellenar. Cada bloquetiene un número. Un bloque adyacente al hueco pue<strong>de</strong> <strong>de</strong>slizarse haciaél. El juego consiste en transformar <strong>la</strong> posición inicial en <strong>la</strong> posición finalmediante el <strong>de</strong>slizamiento <strong>de</strong> los bloques. En particu<strong>la</strong>r, consi<strong>de</strong>ramosel estado inicial y final siguientes:2 8 31 2 31 6 4 8 47 57 6 5Estado inicialEstado finalIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.4


Representación <strong>de</strong> estados11Estado: <strong>de</strong>scripción <strong>de</strong> una posible situación en el problema✉Abstracción <strong>de</strong> propieda<strong>de</strong>sImportancia <strong>de</strong> una buena representación <strong>de</strong> los estados✉Sólo consi<strong>de</strong>rar información relevante para el problema✉Representación suficiente y necesaria✉La representación escogida influye en el número <strong>de</strong> estados y éste en los procedimientos<strong>de</strong> búsqueda <strong>de</strong> soluciones1Ejemplo: 8-puzle: Elementos <strong>de</strong> <strong>la</strong> representación:✉Localización <strong>de</strong> cada bloque y <strong>de</strong>l hueco;✉tipo <strong>de</strong> material <strong>de</strong> los bloques;✉colores <strong>de</strong> los bloques, ...IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.5


Representación <strong>de</strong> estados1Ejemplo <strong>de</strong>l 8-puzle: Representaciones <strong>de</strong>l estado✉Gráfico:2 8 31 6 47 5✉Descripción <strong>de</strong> <strong>la</strong> posición exacta <strong>de</strong> cada uno <strong>de</strong> los bloques1Representación vs. implementación✉Lista: (2 8 3 1 6 4 7 H 5), (2 8 3 4 5 H 7 1 6)✉Matriz: ((2 8 3)(1 6 4)(7 H 5))✉Hechos: ((primera-izquierda 2) (primera-centro 8) ...)1Número <strong>de</strong> estados = 9! = 362.880.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.6


Operadores11Operadores:✉Representan un conjunto finito <strong>de</strong> acciones básicas que transforman unos estadosen otrosElementos que <strong>de</strong>scriben un operador✉Aplicabilidad: precondición y postcondición✉Estado resultante <strong>de</strong> <strong>la</strong> aplicación <strong>de</strong> un operador (aplicable) a un estado1Criterio para elegir operadores.✉Depen<strong>de</strong> <strong>de</strong> <strong>la</strong> representación <strong>de</strong> los estados✉Preferencia por representaciones con menor número <strong>de</strong> operadores1Ejemplo: Operadores <strong>de</strong>l 8-puzle:✉Según los movimientos <strong>de</strong> los bloques: 32.✉Según los movimientos <strong>de</strong>l hueco: 4.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.7


Operadores1Operadores en el 8 puzle✉Mover el hueco hacia arriba✉Mover el hueco hacia abajo✉Mover el hueco hacia <strong>la</strong> <strong>de</strong>recha✉Mover el hueco hacia <strong>la</strong> izquierda1Descripción <strong>de</strong>l operador “Mover el hueco hacia arriba”✉Aplicabilidad: es aplicable a estados que no tengan el hueco en <strong>la</strong> primera fi<strong>la</strong>✉Resultado <strong>de</strong> aplicarlo: intercambiar <strong>la</strong>s posiciones <strong>de</strong>l hueco y <strong>de</strong>l bloque queestá encima <strong>de</strong> éste6718 36 827 2 34 51 4 51Los tres restantes, análogamenteIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.8


Estado inicial11Estado inicial✉Un estado que <strong>de</strong>scribe <strong>la</strong> situación <strong>de</strong> partidaEstado inicial en el ejemplo <strong>de</strong>l 8-puzle2 8 31 6 47 5IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.9


Estados finales1Descripción <strong>de</strong>l objetivo✉Usualmente, un conjunto <strong>de</strong> estados, que l<strong>la</strong>maremos finales✉A veces, aunque no necesariamente, un único estado final1Ejemplo <strong>de</strong>l 8-puzle (un único estado final)1 2 38 47 6 51Formas <strong>de</strong> <strong>de</strong>scribir los estados finales:✉Enumerativa.✉Dec<strong>la</strong>rativa.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.10


Soluciones <strong>de</strong> un problema11Definición <strong>de</strong> solución <strong>de</strong> un problema.✉Secuencia <strong>de</strong> acciones a realizar para conseguir el objetivo✉Secuencia <strong>de</strong> operadores cuya aplicación <strong>de</strong>s<strong>de</strong> el estado inicial obtiene un estadofinalEjemplo: Una solución <strong>de</strong>l 8-puzle:2 8 32 8 32 3231231 2 31 6 41 41 8 41 8 4848475 76 5 765765765765(arriba arriba izquierda abajo <strong>de</strong>recha)IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.11


Soluciones <strong>de</strong> un problema1Tipos <strong>de</strong> problemas:✉Determinar si existe solución y encontrar un estado final.✉Buscar una solución.✉Buscar cualquier solución lo más rápidamente posible.✉Buscar todas <strong>la</strong>s soluciones.✉Buscar <strong>la</strong> solución más corta.✉Buscar <strong>la</strong> solución menos costosa.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.12


Espacio <strong>de</strong> estados como un grafo1Un espacio <strong>de</strong> estados se pue<strong>de</strong> ver como un grafo dirigido✉Los vértices <strong>de</strong> dicho grafo son los estados✉Sucesores <strong>de</strong> un estado: aquellos obtenidos a partir <strong>de</strong>l estado aplicando un operadoraplicable1Ejemplo en el 8-puzle2 8 31 6 47 52 8 31 6 47 52 8 31 47 6 52 8 31 6 47 5IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.13


Elementos para <strong>la</strong> implementación1Elección <strong>de</strong> una representación (estructura <strong>de</strong> datos):✉para los estados✉para los operadores1La implementación <strong>de</strong> un problema como espacio <strong>de</strong> estados consta <strong>de</strong>:✉Una variable *estado-inicial*✉Una función es-estado-final(estado)✉Una lista <strong>de</strong> operadores: *operadores*.✉Una función aplica(operador,estado)1La función aplica(operador,estado):✉Devuelve no-aplicable si operador no es aplicable a estado✉En caso contrario, <strong>de</strong>vuelve el estado resultante <strong>de</strong> aplicar operador a estadoIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.14


P<strong>la</strong>nteamiento <strong>de</strong>l problema <strong>de</strong>l granjero1Enunciado:✉Un granjero está con un lobo, una cabra y una col en una oril<strong>la</strong> <strong>de</strong> un río.✉Desea pasarlos a <strong>la</strong> otra oril<strong>la</strong>.✉Dispone <strong>de</strong> una barca en <strong>la</strong> que sólo pue<strong>de</strong> llevar una cosa cada vez.✉El lobo se come a <strong>la</strong> cabra si no está el granjero.✉La cabra se come <strong>la</strong> col si no está el granjero.1Información <strong>de</strong> los estados: oril<strong>la</strong> en <strong>la</strong> que está cada elemento✉La oril<strong>la</strong> <strong>de</strong> <strong>la</strong> barca es redundanteIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.15


Formu<strong>la</strong>ción <strong>de</strong>l problema <strong>de</strong>l granjero1Representación <strong>de</strong> estados: (x y z u) en {i,d} 4 .✉Número <strong>de</strong> estados: 16.111Estado inicial: (i i i i).Estado final (único): (d d d d).Operadores:✉Pasa el granjero sólo.✉Pasa el granjero con el lobo.✉Pasa el granjero con <strong>la</strong> cabra.✉Pasa el granjero con <strong>la</strong> col.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.16


Formu<strong>la</strong>ción <strong>de</strong>l problema <strong>de</strong>l granjero11Aplicabilidad <strong>de</strong> los operadores✉Precondición (en los tres últimos): los dos elementos que pasan han <strong>de</strong> estar en <strong>la</strong>misma oril<strong>la</strong>✉Poscondición: en el estado resultante no <strong>de</strong>ben estar el lobo y <strong>la</strong> cabra, o <strong>la</strong> cabray <strong>la</strong> col, en <strong>la</strong> misma oril<strong>la</strong> sin que el granjero esté en esa misma oril<strong>la</strong>Estado resultante <strong>de</strong> aplicar el operador✉Cambiar <strong>la</strong> oril<strong>la</strong> <strong>de</strong> los elementos que pasan por <strong>la</strong> oril<strong>la</strong> opuestaIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.17


P<strong>la</strong>nteamiento <strong>de</strong>l problema <strong>de</strong> <strong>la</strong>s jarras1Enunciado:✉Se tienen dos jarras, una <strong>de</strong> 4 litros <strong>de</strong> capacidad y otra <strong>de</strong> 3.✉Ninguna <strong>de</strong> el<strong>la</strong>s tiene marcas <strong>de</strong> medición.✉Se tiene una bomba que permite llenar <strong>la</strong>s jarras <strong>de</strong> agua.✉Averiguar cómo se pue<strong>de</strong> lograr tener exactamente 2 litros <strong>de</strong> agua en <strong>la</strong> jarra <strong>de</strong>4 litros <strong>de</strong> capacidad.1Representación <strong>de</strong> estados: (x y) con x en {0,1,2,3,4} e y en {0,1,2,3}.1Número <strong>de</strong> estados: 20.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.18


Formu<strong>la</strong>ción <strong>de</strong>l problema <strong>de</strong> <strong>la</strong>s jarras1Estado inicial: (0 0).11Estados finales: todos los estados <strong>de</strong> <strong>la</strong> forma (2 y).Operadores:✉Llenar <strong>la</strong> jarra <strong>de</strong> 4 litros con <strong>la</strong> bomba.✉Llenar <strong>la</strong> jarra <strong>de</strong> 3 litros con <strong>la</strong> bomba.✉Vaciar <strong>la</strong> jarra <strong>de</strong> 4 litros en el suelo.✉Vaciar <strong>la</strong> jarra <strong>de</strong> 3 litros en el suelo.✉Llenar <strong>la</strong> jarra <strong>de</strong> 4 litros con <strong>la</strong> jarra <strong>de</strong> 3 litros.✉Llenar <strong>la</strong> jarra <strong>de</strong> 3 litros con <strong>la</strong> jarra <strong>de</strong> 4 litros.✉Vaciar <strong>la</strong> jarra <strong>de</strong> 3 litros en <strong>la</strong> jarra <strong>de</strong> 4 litros.✉Vaciar <strong>la</strong> jarra <strong>de</strong> 4 litros en <strong>la</strong> jarra <strong>de</strong> 3 litros.IA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.19


P<strong>la</strong>nteamiento <strong>de</strong>l problema <strong>de</strong> <strong>la</strong>s jarras1Aplicación <strong>de</strong> operadores a un estado (x y)1Operador “Llenar jarra <strong>de</strong> 3”✉Aplicabilidad: y4 (precondición)✉Estado resultante: (4 x+y-4)1Operador “Vaciar jarra <strong>de</strong> 3 en jarra <strong>de</strong> 4”✉Aplicabilidad: y>0, x+y≤4 (precondición)✉Estado resultante: (x+y 0)1Análogamente los <strong>de</strong>más operadoresIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.20


P<strong>la</strong>nteamiento <strong>de</strong>l problema <strong>de</strong>l viaje1Enunciado:✉Nos encontramos en una capital andaluza (p.e. Sevil<strong>la</strong>).✉Deseamos ir a otra capital andaluza (p.e. Almería).✉Los autobuses sólo van <strong>de</strong> cada capital a sus vecinas.COJASEHUGRMAALCAIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.21


Formu<strong>la</strong>ción <strong>de</strong>l problema <strong>de</strong>l viaje18 posibles estados:✉Almería, Cádiz, Córdoba, Granada, Huelva, Jaen, Má<strong>la</strong>ga, Sevil<strong>la</strong>111Estado inicial: Sevil<strong>la</strong>.Estado final: Almeria.Operadores:✉Ir a Almería.✉Ir a Cádiz.✉Ir a Córdoba.✉Ir a Granada.✉Ir a Huelva.✉Ir a Jaén.✉Ir a Má<strong>la</strong>ga.✉Ir a Sevil<strong>la</strong>.1Ejemplo: aplicación <strong>de</strong>l operador “Ir a Má<strong>la</strong>ga” a un estado x✉Aplicabilidad: x <strong>de</strong>be ser provincia vecina <strong>de</strong> Má<strong>la</strong>ga✉Estado resultante: Má<strong>la</strong>gaIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.22


Problemas <strong>de</strong> <strong>la</strong> vida real1Problemas <strong>de</strong> <strong>la</strong> vida real que se pue<strong>de</strong>n p<strong>la</strong>ntear y resolver como espacios<strong>de</strong> estados:✉Búsqueda <strong>de</strong> rutas en re<strong>de</strong>s informáticas✉Rutas aéreas para viajar✉Problema <strong>de</strong>l viajante✉Diseño <strong>de</strong> microchips✉Ensamb<strong>la</strong>je <strong>de</strong> componentes✉Desp<strong>la</strong>zamiento <strong>de</strong> robotsIA-I 2009–2010 CcIa Representación <strong>de</strong> problemas como espacios <strong>de</strong> estados 2.23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!