• 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
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
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
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)
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
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
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.
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
20/03/2014FCT - UNCA. ING. Héctor Estigarribia9
Ejemplo: Llegar desde Arad hastaBucarest (Rumania)
AGENTES RESUELVE-PROBLEMAS
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
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.
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.
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.)
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…
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.
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
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
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
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
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
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
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
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
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