Espacio de estados y búsqueda (1) Dibujo de Vlad Guzner publicado en The New York Times Review, EEUU Según Rich & Knight (1991), la solución de problemas en IA se aborda en tres fases: 1) Definición del problema, e.g. situación inicial y final. 2) Análisis del problema y representación del conocimiento. búsqueda (1) espacio de estados y búsqueda 3) Elección y aplicación de una técnica de solución de problemas. 2 Espacio de estados y búsqueda (2) Espacio de estados y búsqueda (3) En la fase de definición del problema se identifican tres componentes: El conjunto de todas las posibles configuraciones válidas es el espacio de estados del problema o el espacio del problema. 1) Los estados del problema El objetivo final es el estado al que se quiere llegar. 2) Los operadores La solución del problema puede verse como la búsqueda de un camino que lleve de un estado inicial a un estado final del problema. 3) El objetivo o estado final Los problemas de la IA tienen grandes espacios de estados. 3 4 Espacio de estados y búsqueda (4) Espacio de estados y búsqueda (5) En la fase de análisis del problema, debe buscarse una representación del problema para una computadora. Rompecabezas (8-puzzle) 2 8 3 1 1 6 4 8 5 7 7 2 Los estados como los operadores de este problema pueden representarse de diversas formas: 3 4 6 5 1-3 estado inicial posiciones posiciones estado final 4-6 7-9 ¿De qué tamaño es el espacio de estados de este problema? 9!, es decir 362,880 estados. 3 1 2 3 8 4 7 6 5 2 1 1 2 3 8 4 7 6 5 1 edofinal([1,2,3,8,0,4,7,6,5]). 2 3 edofinal([2/2, 1/3, 2/3, 3/3, 3/2, 3/1, 2/1, 1/1, 1/2]). 5 6 Espacio de estados y búsqueda (6) Espacio de estados y búsqueda (7) Los operadores que permiten pasar de un estado a otro del problema, en el ejemplo del 8-puzzle son los movimientos válidos de las celdas, e.g. el movimiento de una celda contigua a la celda vacía en una de cuatro direcciones, arriba, abajo, izquierda y derecha. La solución al rompecabezas puede verse como una secuencia de movimientos de celdas, e.g. “mover celda 6 hacia abajo”, “mover celda 8 hacia abajo”, etc. Los estados del problema al igual que los operadores para transitar de un estado a otro se capturan en esquema de representación de conocimiento, por ejemplo con ayuda de un lenguaje de programación tipo Prolog. 2 8 3 2 1 6 4 1 5 7 7 estado inicial 7 8 6 3 2 3 4 1 8 4 5 7 6 5 1 ... 2 8 7 3 4 6 5 estado final 8 Espacio de estados y búsqueda (8) Espacio de estados y búsqueda (9) En la fase de elección de la técnica de solución de problemas debe considerarse cuál de las técnicas de búsqueda de soluciones debe aplicarse: Técnicas de búsqueda con adversiarios: búsquedas sistemáticas en espacio de estados para encontrar. el siguiente estado apropiado o mejor, en un escenario interactivo en donde participan dos entidades/jugadores. Técnicas de búsqueda ciega o sin información: búsquedas sistemáticas que recorren exhaustivamente el espacio de estados para encontrar una ruta que lleve de un estado inicial a uno final. Técnicas evolutivas: búsquedas inspiradas en la evolución, considera nociones como selección en una “población” de individuos, reproducción y mutación. Los individuos representan posibles soluciones al problema y se prueban de forma simultánea, “compiten” entre ellos y son evaluados con ayuda de una función de selección. Técnicas de búsqueda heurística o con información: búsquedas “guiadas” que recorren selectivamente el espacio de estados para encontrar una ruta que lleve de un estado inicial a uno final. Se basan en criterios de “pesado” o evaluación para la guiar la búsqueda. 9 Espacio de estados y búsqueda (10) 10 Espacio de estados y búsqueda (11) Consideraciones importantes para aplicar técnicas de búsqueda, tanto ciegas como heurísticas Búsqueda básica Los estados del problema y los operadores de transicion entre estados pueden caracterizarse sin ambigüedad. 2 8 3 1 6 4 Búsqueda heurística 7 2 8 3 1 6 4 7 5 5 2 8 3 1 4 2 8 3 1 6 4 7 5 7 6 5 2 8 3 6 4 1 7 5 ! 11 ... ... ... ... Los estados del problema pueden compararse en ambas búsquedas, y pueden calificarse para guiar una búsqueda heurística, con base en conocimiento previo del problema. Debe considerarse el historial de estados visitados. En muchas aplicaciones no se visitan estados ya visitados. 12 Planificación basada en campos potenciales (13) Planificación basada en propagación (1) Planificador deKoren & Borenstein (1991) La familia de planificadores basados en propagación (wavefront based planners) basada en idea propuesta Nilsson N.J. (1980)está Principles ofuna Artificial Intelligence, por J.C Latombe y su grupo (Hsu et al. 1999). Morgan Kaufmann Pub. Referencias Espacio de estados y búsqueda (12) Estas consideraciones siempre son aplicables ¿Cuáles son los problemas no de un planificador de este tipo?a todos los problemas IA: por ejemplo en problemas de ¿Cuáles situacionesde pueden resolverse y cuáles no? robótica o de sistemas de apoyo médico. EstosRich planificadores se basan en la E. & Knight K. (1991) hipótesis de expansividad del espacio Hill. de estados, consistente en la posibilidad de “muestrear” de manera uniforme el Cspace en subconfiguraciones conectadas por una línea recta o por una iteración de tiempo n. Considere por ejemplo el siguiente caso !!!!!!"# !!!!!!!!! !!!!!!"# !!!!!!!!$ !!!!!!"# !!!!$$$$$ !!!!!!"# $$$%%%%%%&& $$$$$$$$$$$$$%%%%&& %%%%%%&& %%%%%%%%%%&& %%%% &' %%%%%%%%%%&& %%%%&&&' %%%%%%%%%%&& El equilibrio de fuerzas Presión arterial 120/80 repulsivas y atractivas Glucosa en sangre 110 Colesterol HDL 120 debe ser cuidadosamente Colesterol LDL 110 establecido. Las acciones del robot podrían comprometerse Presión en regiones de paso arterial 120/80 Glucosa en sangre 200 obligatorio en las cuales HDL 210 abundanColesterol las fuerzas Colesterol LDL 150 repulsivas. Artificial Intelligence, McGraw Expansividad del Cspace, y secuencia de conexiones entre p y q, tomado de Hsu et al. (1999) - 15 - - 16 - 13 14 Planificación basada en propagación (2) Planificación basada en propagación (3) El funcionamiento de estos planificadores se resume a los siguientes pasos: La evaluación no es estática, aún cuando se hace sobre un subespacio del Cspace, considera información global del problema, muchas veces actualizada en tiempo de ejecución. (1) Muestrear el Cspace (2) Evaluar el subespacio muestreado y seleccionar una nueva posición del robot, de acuerdo con algún criterio previamente determinado. Estos planificadores son adecuados para un Cspace representado en forma de rejilla de ocupación. La evaluación del paso (2) debe permitir a un robot llegar al estado final a partir de cualquier estado inicial, siguiendo generalmente un gradiente, e.g. positivo para planificadores basados en campos potenciales, o negativo para los basados en propagación. - 17 - - 18 -