Este documento describe los conceptos básicos de la resolución de problemas mediante búsqueda en inteligencia artificial. Explica los componentes de un problema, como el espacio de estados, estado inicial, función sucesor y función de costo. También describe estrategias de búsqueda como búsqueda no informada y con información parcial, así como la representación del problema y solución mediante árboles y grafos de búsqueda. Presenta ejemplos de problemas como el mundo de la aspiradora, el puzzle de 8 piezas y el problema de las 8 rein
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Solución de problemas mediante búsqueda en Inteligencia Artificial
1. • 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
INTELIGENCIAARTIFICIAL
UNIDAD 3:
20/03/2014FCT - UNCA. ING. Héctor Estigarribia1
2. 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
3. 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
4. AGENTES RESUELVE-PROBLEMAS
ALGORITMO 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)
5. AGENTES RESUELVE-PROBLEMAS
FunciónAGENTE-RES-PROB (percepción) devuelve acción
Entrada percepción
Static:
sec: secuencia de acciones, valor inicial: 0
estado, descripción actual del mundo
objetivo, valor inicial: 0
Problema, formulación del problema
Estado ACTUALIZAR_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
6. AGENTES RESUELVE-PROBLEMAS
Tipos 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
7. AGENTES RESUELVE-PROBLEMAS
Problemas 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.
8. AGENTES RESUELVE-PROBLEMAS
Todo 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 buena
representación del problema y la solución
*ABSTRACCIÓN:necesaria para una buena
representación del problema y la solución
9. 20/03/2014FCT - UNCA. ING. Héctor Estigarribia9
Ejemplo:Llegar desde Arad hasta
Bucarest (Rumania)
AGENTES RESUELVE-PROBLEMAS
10. 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 LAASPIRADORAProblemas de juguete, ejemplo del MUNDO DE LAASPIRADORA
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 de
limpiarse
*ABSTRACCIONES:Localizaciones discretas – suciedad discreta – limpieza fiable – no se ensucia luego de
limpiarse
11. 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.
12. 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.
13. 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.)
14. EJEMPLOS DE PROBLEMAS
20/03/2014FCT - UNCA. ING. Héctor Estigarribia14
Problemas del Mundo Real: EjemplosProblemas del Mundo Real: Ejemplos
• ProblemasTurísticos: visitar todas las ciudades al menos una vez
• Problema del viajante de comercio: visitar todas las ciudades solo una vez
• Distribución deVLSI: colocar componentes en el menor área.
• Navegación de un robot: parecido alVLSI.
• Ensamblaje automático: por robots…
• Diseño de proteínas: ensamblaje de aminoácidos…
• Búsqueda en internet: mediante robots software…
• ProblemasTurísticos: visitar todas las ciudades al menos una vez
• Problema del viajante de comercio: visitar todas las ciudades solo una vez
• Distribución deVLSI: colocar componentes en el menor área.
• Navegación de un robot: parecido alVLSI.
• Ensamblaje automático: por robots…
• Diseño de proteínas: ensamblaje de aminoácidos…
• Búsqueda en internet: mediante robots software…
15. 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 comprobar expandir … hasta:
• Encontrar una solución o;
• No existen más estados a expandir.
• Escoger comprobar expandir … hasta:
• Encontrar una solución o;
• No existen más estados a expandir.
16. 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
17. BÚSQUEDA DE SOLUCIONES
20/03/2014FCT - UNCA. ING. Héctor Estigarribia17
FRONTERA: colección de nodos que se han generado pero no
expandido.
NODO HOJA: cada elemento de la FRONTERA, un nodo sin
sucesores en el árbol (¡claro,aún no se han expandido!).
Estrategia de búsqueda función que seleccione, de la
frontera siguiente nodo a expandir.
Parece sencillo! Pero…
Puede ser costoso: quizá haya que mirar cada elemento!
padre
HIJO
HIJO
ACCIÓN
COSTO DEL
CAMINO
FRONTERA:
NODOS HOJA
18. 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
19. 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 ENTIEMPO ¿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
20. BÚSQUEDA DE SOLUCIONES
20/03/2014FCT - UNCA. ING. Héctor Estigarribia20
COSTO DE LA BÚSQUEDA: Complejidad en tiempo + espacio
COSTETOTAL: costo de la búsqueda + costo del camino
PARA EL PROBLEMA DEVIAJAR 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)
COSTETOTAL: sumar tiempo + km ?????COSTETOTAL: sumar tiempo + km ?????
POSIBLE SOLUCIÓN:POSIBLE SOLUCIÓN:
Convertir km en horas usando una estimación de la
velocidad media de un coche
Convertir km en horas usando una estimación de la
velocidad media de un coche
21. ESTRATEGIAS DE BÚSQUEDA NO
INFORMADA (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 ENANCHURA
BÚSQUEDA DE COSTO UNIFORME
BÚSQUEDA PRIMERO EN PROFUNDIDAD
BÚSQUEDA DE PROFUNDIDAD LIMITADA
BÚSQUEDA CON PROFUNDIDAD ITERATIVA
BÚSQUEDA BIDIRECCIONAL
22. 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 puede
volver 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
23. 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
24. BIBLIOGRAFÍA
20/03/2014FCT - UNCA. ING. Héctor Estigarribia24
INTELIGENCIAARTIFICIAL: UN ENFOQUE MODERNO.
STUART RUSSELLY PETER NORVIG.
PEARSON EDUCATION
2da Edición, 2004.
1240 páginas
Capitulo 3, Paginas 67 a 105