SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

24
Agentes resolventes-problemas Ejemplos de problemas Modelación de Búsquedas y espacios de soluciones Algoritmos y Estrategias de búsqueda Estrategias de búsqueda no informada Evitar estados repetidos Búsqueda con información parcial SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA INTELIGENCIA ARTIFICIAL UNIDAD 3: 20/03/2014 FCT - UNCA. ING. Héctor Estigarribia 1

description

Breve resumen del capitulo 3 del libro Inteligencia Artificial, de Russel y Norvig. Material de apoyo para la materia IA de la FCT UNCA

Transcript of SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

Page 1: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

• Agentes resolventes-problemas• Ejemplos de problemas

• Modelación de Búsquedas y espacios de soluciones• Algoritmos y Estrategias de búsqueda• Estrategias de búsqueda no informada

• Evitar estados repetidos• Búsqueda con información parcial

SOLUCIÓN DE PROBLEMAS MEDIANTEBÚSQUEDA

INTELIGENCIA ARTIFICIALUNIDAD 3:

20/03/2014FCT - UNCA. ING. Héctor Estigarribia1

Page 2: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMAS Agente maximizar su rendimiento Elige un objetivo Trata de satisfacerlo Objetivos organizan el comportamiento limitando las

metas

20/03/2014FCT - UNCA. ING. Héctor Estigarribia2

Primer paso para intentar solucionar un problema:

Basado en:• Situación Actual• Medida de rendimiento

Basado en:• Situación Actual• Medida de rendimiento

Page 3: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMAS OBJETIVO Conjunto de estados del mundo Agente secuencia de acciones estado objetivo

20/03/2014FCT - UNCA. ING. Héctor Estigarribia3

Decidir que acciones y estados debe considerar el agente:

• Si no conoce lo suficiente los estados (no hay información adicional)• no puede saber cual es la mejor acción• En este caso, lo mejor sería escoger al azar

• Si no conoce lo suficiente los estados (no hay información adicional)• no puede saber cual es la mejor acción• En este caso, lo mejor sería escoger al azar

• Si hay distintas opciones valores desconocidos• Examinar secuencias posibles valores conocidos• Escoger la mejor secuencia

• Si hay distintas opciones valores desconocidos• Examinar secuencias posibles valores conocidos• Escoger la mejor secuencia

• El proceso de escoger esta secuencia se llama BÚSQUEDA• El proceso de escoger esta secuencia se llama BÚSQUEDA

Page 4: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMASALGORITMO DE BÚSQUEDA: Entrada problema Salida Solución secuencia de acciones Proceso de ejecutar dichas acciones Ejecución

20/03/2014FCT - UNCA. ING. Héctor Estigarribia4

DISEÑO SIMPLE DE UN AGENTE:1. Formular (objetivo, problema)2. Buscar (secuencia de acciones)3. Ejecutar (acciones)

Page 5: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMASFunción AGENTE-RES-PROB (percepción) devuelve acción Entradapercepción Static: sec: secuencia de acciones, valor inicial: 0 estado, descripción actual del mundo objetivo, valor inicial: 0 Problema, formulación del problema

EstadoACTUALIZAR_ESTADO(estado, percepción) * Si sec =0 hacer Objetivo FORMULAR_OBJETIVO(estado) * Problema FORMULAR_PROBLEMA(estado, objetivo) Sec BÚSQUEDA(problema)

Acción PRIMERO (secuencia) Sec RESTO (secuencia) Devolver acción

20/03/2014FCT - UNCA. ING. Héctor Estigarribia5

* No se tratan en este capítulo

Page 6: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMASTipos de Entorno: Estático, Observable, Discreto, Determinista.Soluciones secuencias de acciones No pueden manejar acontecimientos inesperados Se ejecutan sin prestar atención a las percepciones En teoría de control, serían los sistemas de lazo abierto

20/03/2014FCT - UNCA. ING. Héctor Estigarribia6

Page 7: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMASProblemas definirse por 4 componentes:

20/03/2014FCT - UNCA. ING. Héctor Estigarribia7

* Espacio de estados* Espacio de estados

3 -Test objetivo determina si un estado estado objetivo3 -Test objetivo determina si un estado estado objetivo

Estado inicial + función sucesor todos los estados alcanzables desde Estado inicial.

* Camino* Camino

4 - Función Costo del Camino costo numérico a cada camino4 - Función Costo del Camino costo numérico a cada camino

1 - Estado inicial1 - Estado inicial

2 - Función sucesor conjunto de posibles acciones en forma de par ordenado(acción, estado sucesor)2 - Función sucesor conjunto de posibles acciones en forma de par ordenado(acción, estado sucesor)

secuencia de estados secuencia de acciones.

Page 8: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

AGENTES RESUELVE-PROBLEMASTodo lo anterior, DEFINE el problema

20/03/2014FCT - UNCA. ING. Héctor Estigarribia8

SOLUCIÓNSOLUCIÓN Camino desde Estado inicial estado objetivoCamino desde Estado inicial estado objetivo

SOLUCIÓN ÓPTIMASOLUCIÓN ÓPTIMA

… Puede unirse en una estructura de datos simple… Puede unirse en una estructura de datos simple

… que se dará como entrada al algoritmo Resolvente del problema… que se dará como entrada al algoritmo Resolvente del problema

Solución con el COSTO más pequeñoSolución con el COSTO más pequeño

*ABSTRACCIÓN: necesaria para una buenarepresentación del problema y la solución*ABSTRACCIÓN: necesaria para una buenarepresentación del problema y la solución

Page 9: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

20/03/2014FCT - UNCA. ING. Héctor Estigarribia9

Ejemplo: Llegar desde Arad hastaBucarest (Rumania)

AGENTES RESUELVE-PROBLEMAS

Page 10: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

EJEMPLOS DE PROBLEMAS

20/03/2014FCT - UNCA. ING. Héctor Estigarribia10

Problemas de juguete Problemas del mundo real Problemas de juguete Problemas del mundo real

Problemas de juguete, ejemplo del MUNDO DE LA ASPIRADORAProblemas de juguete, ejemplo del MUNDO DE LA ASPIRADORA

Estados: 2 cuadrículas … cada cuadrícula 2 posibles estados.Estados: 2 cuadrículas … cada cuadrícula 2 posibles estados.

2 x 22 = 8 posibles estados

1. Estado inicial: cualquiera de los ocho1. Estado inicial: cualquiera de los ocho

2. Función Sucesor: genera los estados luego de intentar las tres acciones.2. Función Sucesor: genera los estados luego de intentar las tres acciones.

Ejemplo: {Aspirar; (izq limpia, der sucia)} – {derecha; (izq sucia, der sucia)}Ejemplo: {Aspirar; (izq limpia, der sucia)} – {derecha; (izq sucia, der sucia)}

3. Test Objetivo: comprobar si izq, der están limpios.3. Test Objetivo: comprobar si izq, der están limpios.

4. Costo del camino: costo individual = 1. Costo del camino depende del n° de pasos.4. Costo del camino: costo individual = 1. Costo del camino depende del n° de pasos.

*ABSTRACCIONES: Localizaciones discretas – suciedad discreta – limpieza fiable – no se ensucia luego delimpiarse*ABSTRACCIONES: Localizaciones discretas – suciedad discreta – limpieza fiable – no se ensucia luego delimpiarse

Page 11: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

EJEMPLOS DE PROBLEMAS

20/03/2014FCT - UNCA. ING. Héctor Estigarribia11

Problemas de juguete: ejemplo del 8 - PUZZLEProblemas de juguete: ejemplo del 8 - PUZZLE

Estados: donde está cada ficha y el blanco en los 9 cuadrados (posibles: 9!/2 = 181,440)Estados: donde está cada ficha y el blanco en los 9 cuadrados (posibles: 9!/2 = 181,440)

1. Estado inicial: cualquiera1. Estado inicial: cualquiera

2. Función Sucesor: genera los estados luego de intentar las cuatro acciones.2. Función Sucesor: genera los estados luego de intentar las cuatro acciones.

Ejemplo: {blanco a la izq; (ver gráfica de estados)}Ejemplo: {blanco a la izq; (ver gráfica de estados)}

3. Test Objetivo: comprobar si coincide con la configuración objetivo3. Test Objetivo: comprobar si coincide con la configuración objetivo

4. Costo del camino: costo individual = 1. Costo del camino depende del n° de pasos.4. Costo del camino: costo individual = 1. Costo del camino depende del n° de pasos.

*ABSTRACCIONES: ignorar localidades intermedias, manipulaciones físicas.*ABSTRACCIONES: ignorar localidades intermedias, manipulaciones físicas.

Page 12: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

EJEMPLOS DE PROBLEMAS

20/03/2014FCT - UNCA. ING. Héctor Estigarribia12

Problemas de juguete: ejemplo de las 8 reinasProblemas de juguete: ejemplo de las 8 reinas

Estados: combinación de 0a 8 reinas, una por columna sin que una ataque a la otra (2057 posibles)Estados: combinación de 0a 8 reinas, una por columna sin que una ataque a la otra (2057 posibles)

1. Estado inicial: ninguna reina sobre el tablero1. Estado inicial: ninguna reina sobre el tablero

2. Función Sucesor: añadir una reina en cualquier cuadrado en la columna vacía …2. Función Sucesor: añadir una reina en cualquier cuadrado en la columna vacía …sin que sea atacada por otra reinasin que sea atacada por otra reina

3. Test Objetivo: ocho reinas sobre el tablero, ninguna es atacada3. Test Objetivo: ocho reinas sobre el tablero, ninguna es atacada

4. Costo del camino: no importa, solo interesa el resultado final4. Costo del camino: no importa, solo interesa el resultado final

*ABSTRACCIONES: prohibir colocar una reina en cualquier cuadrado que esté atacado.*ABSTRACCIONES: prohibir colocar una reina en cualquier cuadrado que esté atacado.

Page 13: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

EJEMPLOS DE PROBLEMAS

20/03/2014FCT - UNCA. ING. Héctor Estigarribia13

Problemas del Mundo Real: Ejemplo de viaje de línea aérea.Problemas del Mundo Real: Ejemplo de viaje de línea aérea.

Estados: ubicación (aeropuerto), hora actual.Estados: ubicación (aeropuerto), hora actual.

1. Estado inicial: definido por el problema1. Estado inicial: definido por el problema

2. Función Sucesor: estados resultante de cualquier vuelo hasta otra ubicación + tiempo de vuelo2. Función Sucesor: estados resultante de cualquier vuelo hasta otra ubicación + tiempo de vuelo

3. Test Objetivo: ¿llegamos a destino a la hora especificada?3. Test Objetivo: ¿llegamos a destino a la hora especificada?

4. Costo del camino: depende del costo en dinero, espera, tiempo de vuelo, inmigración,calidad del asiento, hora, tipo de avión, tiempo de vuelo del piloto, etc.4. Costo del camino: depende del costo en dinero, espera, tiempo de vuelo, inmigración,calidad del asiento, hora, tipo de avión, tiempo de vuelo del piloto, etc.

*ABSTRACCIONES: innumerables, imposible nombrar todas (retrasos, imprevistos, etc.)*ABSTRACCIONES: innumerables, imposible nombrar todas (retrasos, imprevistos, etc.)

Page 14: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

EJEMPLOS DE PROBLEMAS

20/03/2014FCT - UNCA. ING. Héctor Estigarribia14

Problemas del Mundo Real: EjemplosProblemas del Mundo Real: Ejemplos

• Problemas Turísticos: visitar todas las ciudades al menos una vez• Problema del viajante de comercio: visitar todas las ciudades solo una vez• Distribución de VLSI: colocar componentes en el menor área.• Navegación de un robot: parecido al VLSI.• Ensamblaje automático: por robots…• Diseño de proteínas: ensamblaje de aminoácidos…• Búsqueda en internet: mediante robots software…

• Problemas Turísticos: visitar todas las ciudades al menos una vez• Problema del viajante de comercio: visitar todas las ciudades solo una vez• Distribución de VLSI: colocar componentes en el menor área.• Navegación de un robot: parecido al VLSI.• Ensamblaje automático: por robots…• Diseño de proteínas: ensamblaje de aminoácidos…• Búsqueda en internet: mediante robots software…

Page 15: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA DE SOLUCIONES

20/03/2014FCT - UNCA. ING. Héctor Estigarribia15

Árbol de búsqueda: Estado actual + Función sucesor Nodo de búsqueda: estado inicial (¿1°: es el objetivo?) Expandir: función sucesor al estado actual genera un

nuevo conjunto de estados.

Árbol de búsqueda: Estado actual + Función sucesor Nodo de búsqueda: estado inicial (¿1°: es el objetivo?) Expandir: función sucesor al estado actual genera un

nuevo conjunto de estados.

• Escoger comprobarexpandir … hasta:• Encontrar una solución o;• No existen más estados a expandir.

• Escoger comprobarexpandir … hasta:• Encontrar una solución o;• No existen más estados a expandir.

Page 16: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA DE SOLUCIONES

20/03/2014FCT - UNCA. ING. Héctor Estigarribia16

NODO: Estructura de datos con 5 componentes: 1. ESTADO: espacio de estados, 2. NODO PADRE: el nodo que ha generado el nodo actual, 3. ACCIÓN: acción que se aplica al padre para generar otro

nodo. 4. COSTO DEL CAMINO: g(n) desde el Estado inicial al

nodo, indicado por los punteros a los padres, y 5. PROFUNDIDAD: n° de pasos desde el estado inicial

Page 17: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA DE SOLUCIONES

20/03/2014FCT - UNCA. ING. Héctor Estigarribia17

FRONTERA: colección de nodos que se han generado pero noexpandido.

NODO HOJA: cada elemento de la FRONTERA, un nodo sinsucesores en el árbol (¡claro, aún no se han expandido!).

Estrategia de búsqueda función que seleccione, de lafrontera siguiente nodo a expandir.

Parece sencillo! Pero… Puede ser costoso: quizá haya que mirar cada elemento!

padre

HIJO

HIJO

ACCIÓN

COSTO DELCAMINO

FRONTERA:NODOS HOJA

Page 18: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA DE SOLUCIONES

20/03/2014FCT - UNCA. ING. Héctor Estigarribia18

ASUMIREMOS colección de nodos COLA OPERACIONES POSIBLES EN UNA COLA HACER-COLA(elemento…) crea la cola con los elementos VACÍA? (cola)TRUE si no hay elementos PRIMERO (cola) 1° elemento BORRAR-PRIMERO(cola) devuelve PRIMERO(cola) y lo borra INSERTA (elemento, cola) inserta elemento y devuelve la cola

resultado INSERTA-TODO(elementos, cola) inserta un conjunto de elementos

y devuelve la cola resultado

Page 19: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA DE SOLUCIONES

20/03/2014FCT - UNCA. ING. Héctor Estigarribia19

Salida del algoritmo solución o fallo RENDIMIENTO DE LA RESOLUCIÓN DEL PROBLEMA COMPLETITUD ¿encontrará la solución cuando exista? OPTIMIZACIÓN ¿es la solución la óptima? COMPLEJIDAD EN TIEMPO ¿cuánto tarda? COMPLEJIDAD EN ESPACIO ¿cuánta memoria necesita?

• Factor de ramificación b: máx n° sucesores de cualquier nodo

• Profundidad d: del nodo objetivo más superficial

• Longitud máxima de cualquier camino m

Page 20: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA DE SOLUCIONES

20/03/2014FCT - UNCA. ING. Héctor Estigarribia20

COSTO DE LA BÚSQUEDA: Complejidad en tiempo + espacio COSTE TOTAL: costo de la búsqueda + costo del camino

PARA EL PROBLEMA DE VIAJAR POR RUMANIA:

COSTO DE LA BÚSQUEDA: cantidad de tiempo (¿horas?

COSTO DE LA SOLUCIÓN: longitud recorrida (km)COSTO DE LA SOLUCIÓN: longitud recorrida (km)

COSTE TOTAL: sumar tiempo + km ?????COSTE TOTAL: sumar tiempo + km ?????

POSIBLE SOLUCIÓN:POSIBLE SOLUCIÓN:

Convertir km en horas usando una estimación de lavelocidad media de un cocheConvertir km en horas usando una estimación de lavelocidad media de un coche

Page 21: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

ESTRATEGIAS DE BÚSQUEDA NOINFORMADA (BÚSQUEDA A CIEGAS)

20/03/2014FCT - UNCA. ING. Héctor Estigarribia21

No tienen información adicional aparte de la definición del problema. Generan los sucesores y distingue si el estado es objetivo o no.

BÚSQUEDA PRIMERO EN ANCHURA BÚSQUEDA DE COSTO UNIFORME BÚSQUEDA PRIMERO EN PROFUNDIDAD BÚSQUEDA DE PROFUNDIDAD LIMITADA BÚSQUEDA CON PROFUNDIDAD ITERATIVA BÚSQUEDA BIDIRECCIONAL

Page 22: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

20/03/2014FCT - UNCA. ING. Héctor Estigarribia22

Posibilidad perder tiempo expandiendo nodos que ya han sido visitados y expandidos. Para algunos problemas, esto nunca ocurre pero para otros es inevitable. Caso extremo: tamaño d+1 árbol con 2d hojas

EVITAR ESTADOS REPETIDOS

2d = 22 =4 hojas

• Si el algoritmo no detecta los estados repetidos, un problema resoluble se puedevolver irresoluble.

• El único método de evitar esto es guardar más nodos en memoria.• Los algoritmos que olvidan su historia están condenadas a repetirla

Page 23: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BÚSQUEDA CON INFORMACIÓN PARCIAL

20/03/2014FCT - UNCA. ING. Héctor Estigarribia23

¿Qué pasa cuando el conocimiento es incompleto? PROBLEMAS SIN SENSORES (PROBLEMAS

CONFORMADOS)¿cómo sabe el agente en que estado está? PROBLEMAS DE CONTINGENCIA cada percepción posible

define una contingencia que debe de planearse. PROBLEMAS DE EXPLORACIÓN caso extremo de problemas

de contingencia

Page 24: SOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDA

BIBLIOGRAFÍA

20/03/2014FCT - UNCA. ING. Héctor Estigarribia24

INTELIGENCIA ARTIFICIAL: UN ENFOQUE MODERNO. STUART RUSSELL Y PETER NORVIG. PEARSON EDUCATION 2da Edición, 2004. 1240 páginas

Capitulo 3, Paginas 67 a 105