Búsqueda en espacio de estados

Documentos relacionados
Búsqueda en espacio de estados

Tema 3: Técnicas básicas de búsqueda para la resolución de problemas

Resolviendo Problemas Buscando Soluciones. Tomás Arredondo Vidal 16/6/2010

Tema 4: Búsqueda informada mediante técnicas heurísticas

Estado 3.2 (coste = 9)

Espacios de estados Técnicas básicas de búsqueda en espacios de estados Búsqueda informada mediante técnicas heurísticas.

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco.

25/09/2014 BÚSQUEDA NO INFORMADA / BÚSQUEDA CIEGA INTRODUCCIÓN BÚSQUEDA SUPOSICIONES DEL ENTORNO FORMULAR-BUSCAR-EJECUTAR

Algoritmos de Búsqueda Informados. Tomas Arredondo Vidal 16/6/2010

Métodos de Inteligencia Artificial

ALGORITMOS DE BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

Búsqueda Heurística III

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

Tema 2: Representación de problemas como espacios de estados

Solución de Problemas Mediante Búsqueda (2) Carlos Hurtado Depto de Ciencias de la Computación, Universidad de Chile

Tema 3: Técnicas básicas de

Inteligencia Artificial Búsqueda informada y exploración

Apellidos:... Nombre:...

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

Algoritmos de búsqueda informada

Inteligencia Artificial Búsqueda informada y exploración

Agentes que resuelven problemas

Búsqueda Informada. Heurísticas

Inteligencia Artificial

Búsqueda Informada. Algoritmos primero el mejor Algoritmos de búsqueda local

SISTEMAS INTELIGENTES

Inteligencia Artificial

Algoritmos de búsqueda con espacio de memoria limitado

IV. Métodos de Búsqueda Estudiaremos los métodos de búsqueda para resolver problema de la IA

Búsqueda no-informada

25/09/2014 BÚSQUEDA INFORMADA BÚSQUEDA VORAZ PRIMERO EL MEJOR (BÚSQUEDA ÁVARA / BÚSQUEDA PRIMERO EL MEJOR) EJEMPLO BÚSQUEDA VORAZ

No se permiten libros ni apuntes. Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4 TOTAL NOTA

9. Programación lineal entera.

Tema 1: Representación de problemas como espacio de estados

Tema 4: Resolución de problemas de espacios de estados

Programación lógica ( )

Hoja de Problemas Tema 2 Búsqueda no-informada

Inteligencia Artificial

Tema 2: Búsqueda. Formalización de la resolución de problemas Ejemplos Procedimiento general de búsqueda Estrategias de control Búsqueda heurística

3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS.

Búsqueda Heurística (1ª parte)

Tema 2: Búsqueda. Resolución de problemas: formalización. Búsqueda en espacio de estados. Ejemplos. Búsqueda en espacio de estados.

INTELIGENCIA ARTIFICIAL II

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n. ? Mate del tonto

RESOLUCIÓN DE PROBLEMAS, BÚSQUEDA. Ing. Ronald A. Rentería Ayquipa

Algorítmica y Lenguajes de Programación. Algoritmos voraces y divide y vencerás

BÚSQUEDA. Vicente Martínez Orga

Resolución del problema. Problema: Los puntos extremos no tienen por qué ser enteros

Búsqueda con adversario

Francisco J. Hernández López

Estructuras de datos: Árboles binarios de

Tema 4.- Recursión e iteración

Solución de Problemas Mediante Búsqueda (1) Carlos Hurtado L. Depto de Ciencias de la Computación, Universidad de Chile

Algoritmo de ramificación y acotación

Teoría de Algoritmos. Capitulo 5: Algoritmos para la Exploración de Grafos.

Tema: Búsqueda a Ciegas (No Informada).

Programación II. Mario Aldea Rivas Programación II 16/05/11 1

Hoja de Ejercicios. Temas 1 y 2

Ejemplo. Ejemplo. 8-puzzle. Formulación de un Problema de Búsqueda. Inteligencia Artificial 2º cuatrimestre de Algoritmos de Búsqueda

Programa de teoría. Algoritmos y Estructuras de Datos II. 3. Algoritmos voraces. 1. Análisis de algoritmos 2. Divide y vencerás

Búsqueda en línea y Búsqueda multiagente

Inteligencia Artificial II Unidad Plan 2010-Ingeniería en Sistemas Computacionales

INGENIERÍA EN SISTEMAS Y COMUNICACIONES

INTELIGENCIA EN REDES DE COMUNICACIONES

Búsqueda con adversario

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

Apellidos:... Nombre:... Ejercicio 1 (Cuestiones) [2 puntos] Responder a las siguientes cuestiones de manera clara y concisa:

Métodos de Búsqueda para juegos humano-maquina. PROF: Lic. Ana María Huayna D.

Heurísticas en el recorrido de árboles de soluciones

Ingeniería Técnica en Informática de Gestión

Inteligencia Artificial FCC-BUAP. Esaú Villatoro Tello Alfonso Garcés Báez

Búsqueda con información, informada o heurística

Metaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III

Tema: Búsqueda Heurística (Informada).

Tema 2 Fundamentos de Complejidad Algorítmica

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III

Fundamentos de Inteligencia Artificial

Para definir en formalmente el juego se deberá establecer:

Transcripción:

Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

Abstracción Problema Representación como espacio de estados Implementación del problema Algoritmos de búsqueda Búsqueda de solución Lenguaje de programación Solución Interpretación del resultado

Torres de Hanoi: Tres varillas verticales. Discos de distinto tamaño apilados de mayor a menor en una de las varillas. Objetivo: pasar los discos de la varilla 1 a la 3. Reglas: 1. Se desplaza un disco cada vez. 2. Solo se desplazan los discos de arriba de las varillas. 3. No se coloca un disco sobre otro más pequeño.

Estado de un problema: Descripción de una posible situación en que puede encontrarse el problema. Recopila toda la información relevante e ignora la irrelevante.

Estado de un problema: Descripción de una posible situación en que puede encontrarse el problema. Recopila toda la información relevante e ignora la irrelevante. Información irrelevante para las Torres de Hanoi: Material de las varillas y los discos. Color de cada disco. Etcétera.

Estado de un problema: Descripción de una posible situación en que puede encontrarse el problema. Recopila toda la información relevante e ignora la irrelevante. Información relevante para las Torres de Hanoi: Qué discos están colocados en cada varilla. En qué orden están colocados esos discos.

Estado de un problema: Descripción de una posible situación en que puede encontrarse el problema. Recopila toda la información relevante e ignora la irrelevante. Información relevante para las Torres de Hanoi: Tamaño (relativo) de los discos colocados en cada varilla.

Estado de un problema: Descripción de una posible situación en que puede encontrarse el problema. Recopila toda la información relevante e ignora la irrelevante. Espacio de estados de un problema: conjunto de todos los posibles estados en que puede encontrarse el problema.

Espacio de estados de las Torres de Hanoi con 2 discos:

Acción para un problema: Transforma estados del problema en otros estados. Conjunto de posibles acciones fijo y finito. El número de acciones debería ser lo menor posible. Puede no ser posible aplicar una acción a un estado (aplicabilidad de las acciones).

Acción para un problema: Transforma estados del problema en otros estados. Conjunto de posibles acciones fijo y finito. El número de acciones debería ser lo menor posible. Puede no ser posible aplicar una acción a un estado (aplicabilidad de las acciones). Acciones para las Torres de Hanoi (con n discos): Mover el disco de tamaño i a la varilla j. Condiciones de aplicabilidad: disco i en lo alto de una varilla distinta de j. varilla j sin discos o tiene en lo alto un disco mayor que i. Número de acciones: 3n acciones.

Acción para un problema: Transforma estados del problema en otros estados. Conjunto de posibles acciones fijo y finito. El número de acciones debería ser lo menor posible. Puede no ser posible aplicar una acción a un estado (aplicabilidad de las acciones). Acciones para las Torres de Hanoi (con n discos): Mover un disco de la varilla i a la varilla j. Condiciones de aplicabilidad: varilla i con al menos un disco. varilla j sin discos o el disco en lo alto de ella de mayor tamaño que el disco en lo alto de la varilla i. Número de acciones: 6 acciones.

Un problema de espacio de estados viene dado por: Su espacio de estados. Sus acciones, junto con las condiciones de aplicabilidad asociadas. El estado inicial en el que se encuentra. Los estados finales (enumerados o declarados) en los que deseamos que se encuentre.

Un problema de espacio de estados viene dado por: Su espacio de estados. Sus acciones, junto con las condiciones de aplicabilidad asociadas. El estado inicial en el que se encuentra. Los estados finales (enumerados o declarados) en los que deseamos que se encuentre. Torres de Hanoi con 2 discos: Estado inicial: Estados finales: Descripción enumerativa: Descripción declarativa: los dos discos en la varilla 3.

Solución de un problema de espacio de estados: secuencia de acciones que llevan el problema de su estado inicial a un estado final. Búsqueda de soluciones mediante procedimientos generales que son independientes del problema.

Grafo de un problema de espacio de estados: Vértices: los estados del problema. Arco de un estado a otro: hay una acción que se puede aplicar al primero y proporciona el segundo.

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

La búsqueda de una solución se reduce a una exploración del grafo: Comienza a partir del estado inicial. En cada paso se considera un nuevo estado que sea sucesor directo de un estado ya analizado. Termina al analizar un estado final (solución encontrada) o al explorar el grafo al completo (solución no encontrada). Tipos de soluciones a buscar: una solución cualquiera, todas las soluciones, la solución más corta, la solución menos costosa, etc.

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

Problemas con gran cantidad de estados: inviable expresar el grafo de manera explícita. Torres de Hanoi con n discos: 3 n estados. Búsqueda en un grafo implícito, mediante un árbol de búsqueda: Construido de manera incremental. Nodos analizados (explorados o cerrados) y por analizar (frontera o abiertos). Control de la repetición de nodos.

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

1 a 3 2 a 1 3 a 2 1 a 3 2 a 1 1 a 3 2 a 1 3 a 2 3 a 2 1 a 3 2 a 1 3 a 2

Nodo de un árbol de búsqueda: Estado. Nodo padre (ninguno para el nodo inicial). Acción (ninguna para el nodo inicial). Para cada nodo se puede obtener la secuencia de acciones que llevan del estado inicial al estado de ese nodo. Expansión de un nodo n con estado s: Sucesores de n: para cada acción a aplicable a s, nodo con estado a(s), nodo padre n y acción a.

función búsqueda-general (problema) devuelve solución o fallo inicio función inicializar la frontera con el nodo inicial inicializar los nodos explorados al conjunto vacío repetir si la frontera está vacía entonces devolver fallo fin si seleccionar y sacar un nodo de la frontera si nodo contiene un estado final entonces devolver secuencia de acciones desde el nodo inicial hasta nodo fin si

añadir nodo al conjunto de explorados para cada acción aplicable al estado de nodo hacer si el nodo hijo correspondiente a acción no está ni en frontera ni en explorados entonces añadir el nodo hijo a frontera fin si fin para fin repetir fin función

Estrategia de búsqueda: forma de seleccionar los nodos de la frontera. Búsqueda no informada: independiente del problema. Búsqueda en anchura: frontera es una cola FIFO. Búsqueda en profundidad: frontera es una pila LIFO. Búsqueda en profundidad iterativa: búsqueda en profundidad reiterada. Búsqueda informada: usa información específica del problema. Búsqueda primero el mejor: se selecciona el nodo que se estima mejor candidato. Búsqueda A : se selecciona el nodo que se estima más cerca de una solución óptima.

Búsqueda en anchura: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Búsqueda en profundidad: 1 2 9 3 6 10 13 4 5 7 8 11 12 14 15

Análisis de las estrategias de búsqueda: Complejidad en tiempo: número de nodos generados. Complejidad en espacio: tamaño máximo de frontera y explorados. Parámetros de complejidad: r: factor de ramificación. p: profundidad mínima de una solución. m: profundidad del árbol de búsqueda. Notación Ο: complejidad del peor caso.

Análisis de la búsqueda no informada: Anchura Profundidad Completa Sí No en general Sí con número finito de estados Minimal Sí No Tiempo Ο(r p+1 ) Ο(r m+1 ) Espacio Ο(r p+1 ) Ο(r m+1 )

Análisis de la búsqueda no informada: Anchura Profundidad Completa Sí No en general Sí con número finito de estados Minimal Sí No Tiempo Ο(r p+1 ) Ο(r m+1 ) Espacio Ο(r p+1 ) Ο(r m+1 ) Para ramificación 10, 10 6 nodos/seg y 1000 bytes/nodo Prof. Tiempo Espacio 6 1 seg 1 GB 8 2 min 103 GB 10 3 horas 10 TB Prof. Tiempo Espacio 12 13 días 1 PB 14 3.5 años 99 PB 16 350 años 10 EB

Análisis de la búsqueda no informada: Anchura Profundidad Completa Sí No en general Sí con número finito de estados Minimal Sí No Tiempo Ο(r p+1 ) Ο(r m+1 ) Espacio Ο(r p+1 ) Ο(rm) Búsqueda en profundidad: para evitar bucles infinitos solo es necesario guardar los nodos de la rama que se está explorando.

función búsqueda-p-acotada (problema, cota) devuelve solución o fallo inicio función inicializar la frontera como una pila con el nodo inicial inicializar los nodos explorados al conjunto vacío repetir si la frontera está vacía entonces devolver fallo fin si seleccionar y sacar el primer nodo de la frontera si nodo contiene un estado final entonces devolver secuencia de acciones desde el nodo inicial hasta nodo fin si añadir nodo al conjunto de explorados

si profundidad de nodo es menor que cota entonces para cada acción aplicable al estado de nodo hacer si el nodo hijo correspondiente a acción no está ni en frontera ni en explorados entonces añadir el nodo hijo a frontera fin si fin para fin si fin repetir fin función

función búsqueda-p-iterativa (problema) devuelve solución o fallo inicio función para cota desde 0 hasta hacer resultado búsqueda-p-acotada(problema, cota) si resultado no es fallo entonces devolver resultado fin si fin para fin función

Heurística de un nodo: valor numérico que puede depender de el nodo. el objetivo. la información recogida por la búsqueda hasta ahora. conocimiento específico del problema. Algoritmo de búsqueda primero el mejor: frontera: cola de prioridades ordenada por heurística. nodo a explorar se descarta si hay nodo en frontera o explorados con el mismo estado y valor heurístico menor o igual.

función búsqueda-primero-mejor (problema) devuelve solución o fallo inicio función inicializar la frontera como una cola de prioridades ordenada por heurística con el nodo inicial inicializar los nodos explorados al conjunto vacío repetir si la frontera está vacía entonces devolver fallo fin si seleccionar y sacar un nodo de la frontera si nodo contiene un estado final entonces devolver secuencia de acciones desde el nodo inicial hasta nodo fin si

añadir nodo al conjunto de explorados para cada acción aplicable al estado de nodo hacer si el nodo hijo correspondiente a acción no está en frontera ni en explorados con un valor heurístico menor o igual entonces añadir el nodo hijo a frontera fin si fin para fin repetir fin función

Solución óptima: solución con el menor coste posible. necesario conocer el coste de obtener a(s). coste de una secuencia de acciones: suma de costes de las acciones. coste constante: soluciones óptimas son las minimales. Búsqueda de una solución óptima: Heurística de un nodo: coste de la secuencia de acciones usada para llegar desde el estado inicial hasta el estado de ese nodo. Completa, si el coste de cada acción excede ε > 0. Complejidad exponencial en tiempo y espacio.

Búsqueda A : heurística de un nodo n es donde f(n) = g(n) + h(n) g(n): coste de la secuencia de acciones usada para llegar desde el estado inicial hasta el estado de ese nodo. h(n): estimación del coste de una secuencia óptima de acciones desde el estado de ese nodo hasta un estado final. f(n) estima el coste de una solución óptima que pasa por el nodo n.

h (n): coste exacto de solución óptima desde el estado de n hasta un estado final. Heurística h admisible: h(n) h (n), para todo nodo n Una heurística admisible proporciona una cota inferior del coste de una solución óptima desde cada nodo. Teorema 1. La búsqueda A es completa. 2. Si h es una heurística admisible, entonces la solución devuelta por A es óptima.

Poda del árbol de búsqueda: ramas que la heurística evita explorar. Casos extremos: h(n) = h (n): máxima poda posible. h(n) = 0: mínima poda posible (búsqueda óptima). h 2 más informada que h 1 : ambas son admisibles y h 2 (n) h 1 (n), para todo nodo n Teorema Si h 2 es mas informada que h 1, entonces todo nodo explorado por A usando h 2 también es explorado por A usando h 1.

Complejidad en tiempo y espacio de la búsqueda A : En el peor de los casos es exponencial. En la práctica, depende en gran medida del problema particular y de la heurística empleada.

Relajación de un problema: simplificación obtenida eliminando restricciones que prohíben o penalizan ciertas acciones. Técnica de construcción de heurísticas: coste exacto de una solución óptima en un problema relajado. Otras técnicas: Combinación de heurísticas admisibles. Uso de información estadística.

Heurística para las Torres de Hanoi: Relajación del problema: los discos se pueden colocar en cualquier posición de la varilla, no únicamente en lo alto. El coste exacto en el problema relajado es el número de discos que no están en la varilla 3. Es una heurística admisible para el problema original. Valor heurístico: 8 Valor heurístico: 4

Para saber más Stefan Edelkamp y Stefan Schroedl. Heuristic Search. Theory and Applications. Elsevier, 2011. isbn: 978-01-237251-2-7. Judea Pearl. Heuristics. Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley, 1985. isbn: 0-201-05594-5. Stuart J. Russell y Peter Norvig. Artificial Intelligence: A Modern Approach. 3 a ed. Pearson, 2009. isbn: 978-0-13-604259-4.