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

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

Tema 5: Problemas de satisfacción de restricciones

Problemas de Satisfacción de Restricciones

Búsqueda con adversario

Tema 7: Búsqueda con adversario (juegos)

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

El TAD Grafo. El TAD Grafo

Para definir en formalmente el juego se deberá establecer:

Inteligencia Artificial

Tema 4: Técnicas heurísticas en juegos

Tema 3: Sistema inicial de representación y razonamiento

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

Notación Asintótica 2

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

Búsqueda Heurística I

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

El Juego como Problema de Búsqueda

Algebra lineal y conjuntos convexos

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

FICHAS DE ESTUDIO No.1. Definición del conjunto N NOMBRE FECHA

Profesorado de Nivel Medio y Superior en Biología Matemática - 1º Cuatrimestre Año 2013 FUNCIÓN CUADRÁTICA

Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos

ASIGNATURA: INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL.

Proyecto. Tema 6 sesión 2: Generación de Rectas, Circunferencias y Curvas. Geometría Analítica. Isidro Huesca Zavaleta

Juegos deterministas. Ajedrez, damas, Go, Othello. barquitos

Tema 3 Álgebra Matemáticas I 1º Bachillerato. 1

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

OPTIMIZACIÓN VECTORIAL

Algoritmos y Estructuras de Datos Curso 06/07. Ejercicios

Unidad V. 5.1 Recta tangente y recta normal a una curva en un punto. Curvas ortogonales.

FUNDAMENTOS DEL ÁLGEBRA. Folleto De Trabajo Para La Clase ECUACIONES LINEALES EN DOS VARIABLES

INTEGRACIÓN NUMÉRICA

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

Minería de Datos. Árboles de Decisión. Fac. Ciencias Ing. Informática Otoño de Dept. Matesco, Universidad de Cantabria

1. TARJETAS NUMERADAS.

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

Sistemas de dos ecuaciones lineales de primer grado con dos incógnitas

MATEMÁTICAS II CC III PARCIAL

Ecuaciones Lineales en Dos Variables

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

Inteligencia Artificial Resolver problemas mediante búsqueda

Diagnóstico de fallas en circuitos digitales

Aprendizaje basado en ejemplos.

Soluciones oficiales Clasificación Olimpiada Nacional Nivel Mayor

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Ángulos complementarios Un par de ángulos son complementarios si la suma resultante de sus medidas es.

Curso de Inducción de Matemáticas

PROBLEMAS RESUELTOS DE PREPARACIÓN PARA OPOSICIONES. Problemas 02

Guía de estudio para el examen de admisión - Convocatoria 2013

Métodos Heurísticos en Inteligencia Artificial

19 a Competencia de MateClubes Ronda Final Primer Nivel

Descripción inicial del sistema. Descripción final del sistema. Estado 1 Estado 2 Estado n

Espacios topológicos. 3.1 Espacio topológico

Tema 2.- Formas Cuadráticas.

LAS CIENCIAS DE LA PLANIFICACIÓN

La lección de hoy es sobre resolver valores absolutos por Inecualidades. El cuál es la expectativa para el aprendizaje del estudiante SEI.2.A1.

Solución de un sistema de desigualdades

Productos notables. Parte II

=SI(condición;valor_si_verdadero;valor_si_falso)

Trabajo 2. Jonathan A. Trejos O. El primer problema es uno típico de teoría de números, en el cual se puede apreciar la simetría.

Tema 5: Conceptualización relacional

Estudio de fallas asimétricas

La representación gráfica de una función cuadrática es una parábola.

Cálculo vs Análisis. Trabajos

Búsqueda heurística Prof. Constantino Malagón

CREATIVIDAD E INNOVACION.

La eficiencia de los programas

Curso Propedéutico de Cálculo Sesión 2: Límites y Continuidad

ALGORITMOS GENÉTICOS

APLICACIONES DE INTELIGENCIA ARTIFICIAL

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt

NOCIONES PRELIMINARES (*) 1

TOTAL % TOTAL % TOTAL PDI FUNCIONARIO ,40% ,60% 517 TOTAL PDI CONTRATADO 99 46,05% ,95% 215 TOTAL ,52% ,48% 477

MÓDULO 8: VECTORES. Física

GUÍA DOCENTE DE LA ASIGNATURA

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Bloque 2. Geometría. 2. Vectores. 1. El plano como conjunto de puntos. Ejes de coordenadas

Redes Semánticas. IIMAS Inteligencia Artificial. Alumno: Vicente Iván Sánchez Carmona Profesora: Dr. Ana Lilia Laureano

GEOMETRIA ANALITICA- GUIA DE EJERCICIOS DE LA RECTA Y CIRCUNFERENCIA PROF. ANNA LUQUE

Capítulo 2: Inducción y recursión Clase 2: El principio de Inducción Fuerte

Introducción FRONTERA DE POSIBILIDADES DE PRODUCCIÓN TEMA 2

UD Trigonometría Ejercicios Resueltos y Propuestos Col La Presentación

A continuación se presenta la información de la altura promedio para el año de 1998 en Holanda de hombres y mujeres jóvenes.

Ecuaciones Diofánticas

SISTEMAS DE ECUACIONES LINEALES. Método de reducción o de Gauss. 1º DE BACHILLERATO DPTO DE MATEMÁTICAS COLEGIO MARAVILLAS AUTORA: Teresa González.

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

Seminario de problemas-eso. Curso Hoja 10

CUADERNO Nº 5 NOMBRE: FECHA: / / Progresiones. Reconocer y distinguir las progresiones aritméticas y geométricas.

TEORÍA DE GRAFOS Ingeniería de Sistemas

PRINCIPIOS PARA GUIAR TU RUTA HACIA EL ÉXITO EN EL EMPLEO

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

CAPÍTULO 4 TÉCNICA PERT

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

Para analizar datos económicos a menudo es necesario buscar relaciones entre las variables económicas. Para estas relaciones podemos usar:

Distribuciones bidimensionales. Regresión.

Transcripción:

Tema 4: Búsqueda informada mediante técnicas heurísticas José Luis Ruiz Reina José Antonio Alonso Franciso J. Martín Mateos 1 Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial I, 2011

Índice Introducción Heurística Búsqueda primero el mejor Coste y búsqueda óptima Búsqueda A

Búsqueda informada Búsqueda ciega o no informada (anchura, profundidad,... ): no cuenta con ningún conocimiento sobre cómo llegar al objetivo. Búsqueda informada: aplicar conocimiento al proceso de búsqueda para hacerlo más eficiente. El conocimiento vendrá dado por una función que estima la bondad de los estados: Dar preferencia a los estados mejores. Ordenando la cola de ABIERTOS, comparando su bondad estimada. Objetivo: reducir el árbol de búsqueda, ganando eficiencia en la práctica.

Heurística: Concepto de heurística Del griego heuriskein, descubrir: Eureka! Según el DRAE: técnica de la indagación y del descubrimiento. Otro significado: método para resolver problemas que no garantiza la solución, pero que en general funciona bien. En nuestro caso, una heurística será una función numérica sobre los estados. Función heurística, heurística(estado): Estima la distancia al objetivo. Siempre mayor o igual que 0. Valor en los estados finales: 0. Admitimos valor. Todo el conocimiento específico que se va a usar sobre el problema está codificado en la función heurística.

Recordar: problema del viaje por Andalucía Ir de Sevilla a Almería, mediante una secuencia de desplazamientos a capitales de provincia fronterizas 8 posibles estados: Almería, Cádiz, Córdoba, Granada, Huelva, Jaen, Málaga, Sevilla Estado inicial: Sevilla. Estado final: Almeria. Operadores: Ir a Almería, Ir a Cádiz, Ir a Córdoba, Ir a Granada, Ir a Huelva, Ir a Jaén, Ir a Málaga, Ir a Sevilla.

Una heurística para el problema del viaje Coordenadas: Almeria : (409. 93 ) Granada : (309 127.) Malaga : (232. 7 ) Cadiz : ( 63 7 ) Huelva : ( 3 139.) Sevilla : ( 90 13 ) Cordoba : (198 207 ) Jaen : (29. 192 ) Función heurística (distancia en línea recta): heurística(estado) = distancia(coordenadas(estado), coordenadas(almeria))

Recordar: problema del 8-puzle Un tablero cuadrado (3x3) en el que hay situados 8 bloques cuadrados numerados (con lo cual se deja un hueco del tamaño de un bloque). Un bloque adyacente al hueco puede deslizarse hacia él. El juego consiste en transformar una posición inicial en la posición final mediante el deslizamiento de los bloques. En particular, consideramos el estado inicial y final siguientes: 2 8 3 1 6 4 8 4 7 1 2 3 7 6 Estado inicial Estado final Estados: cada una de las posibles configuraciones del tablero Operadores: arriba, abajo, izquierda, derecha (movimientos del hueco)

Primera heurística en el problema del 8 puzle Problema del 8-puzle (primera heurística): heurística(estado): número de piezas descolocadas respecto de su posición en el estado final Ejemplo: 2 8 3 1 6 4 8 4 7 1 2 3 7 6 H = 4 H = 0

Segunda heurística en el problema del 8 puzle Problema del 8-puzle (segunda heurística): heurística(estado): suma de las distancias Manhattan de cada pieza a donde debería estar en el estado final Ejemplo: 2 8 3 1 2 3 1 6 4 8 4 7 7 6 H = H = 0

Idea de la búsqueda por primero el mejor Búsqueda por primero el mejor: Analizar preferentemente los nodos con heurística más baja. Ordenar la cola de abiertos por heurística, de menor a mayor También llamada búsqueda voraz o codiciosa (del inglés greedy ) Porque siempre elige expandir lo que estima que está más cerca del objetivo Su rendimiento dependerá de la bondad de la heurística usada.

Implementación de búsqueda por primero el mejor Nodo de búsqueda: estado + camino + heurística Funciones de acceso: ESTADO(NODO), CAMINO(NODO) y HEURISTICA-DEL-NODO(nodo) Sucesores de un nodo heurístico: FUNCION SUCESOR(NODO,OPERADOR) 1. Hacer ESTADO-SUCESOR igual a APLICA(OPERADOR,ESTADO(NODO)) 2. Si ESTADO-SUCESOR=NO-APLICABLE devolver NO-APLICABLE en caso contrario, devolver un nodo cuyo estado es ESTADO-SUCESOR, cuyo camino es el resultado de añadir OPERADOR a CAMINO(NODO) y cuya heurística es la de ESTADO-SUCESOR FUNCION SUCESORES(NODO) 1. Hacer SUCESORES vacío 2. Para cada OPERADOR en *OPERADORES*, si SUCESOR(NODO,OPERADOR) =/= NO-APLICABLE, incluir SUCESOR(NODO,OPERADOR) en SUCESORES 3. Devolver SUCESORES

Implementación de la búsqueda por primero el mejor FUNCION BUSQUEDA-POR-PRIMERO-EL-MEJOR() 1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo cuyo estado es *ESTADO-INICIAL*, cuyo camino es vacío y cuya heurística es la de *ESTADO-INICIAL*); Hacer CERRADOS vacío 2. Mientras que ABIERTOS no esté vacía, 2.1 Hacer ACTUAL el primer nodo de ABIERTOS 2.2 Hacer ABIERTOS el resto de ABIERTOS 2.3 Poner el nodo ACTUAL en CERRADOS. 2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)), 2.4.1 devolver el nodo ACTUAL y terminar. 2.4.2 en caso contrario, 2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES(ACTUAL) cuyo estado no está ni en ABIERTOS ni en CERRADOS 2.4.2.2 Hacer ABIERTOS el resultado de incluir NUEVOS-SUCESORES en ABIERTOS y ordenar en orden creciente de sus heurísticas 3. Devolver FALLO.

Primero el mejor para el problema del viaje Sevilla H = 32.08 1 Cádiz Córdoba Huelva Málaga 2 H = 348.37 H = 240.27 H = 409.1 H = 177.91 Granada H = 106.26 3 Almería H = 0 4 Jaén H = 10.99

8 puzle por primero el mejor: heurística 1 2 8 3 1 6 4 7 1 H = 4 2 8 3 2 8 3 2 2 8 3 1 6 4 1 4 1 6 4 7 7 6 7 H = H = 3 H = 2 8 3 3 2 3 4 2 8 3 1 4 1 8 4 1 4 7 6 7 6 7 6 H = 3 H = 3 H = 4 8 3 2 8 3 2 3 2 3 2 1 4 7 1 4 1 8 4 1 8 4 7 6 6 7 6 7 6 H = 3 H = 4 H = 2 H = 4 1 2 3 6 8 4 7 6 H = 1 1 2 3 7 1 2 3 8 4 7 8 4 7 6 6 H = 0 H = 2

8 puzle por primero-el-mejor: heurística 2 2 8 3 1 6 4 7 1 H = 2 8 3 2 8 3 2 2 8 3 1 6 4 1 4 1 6 4 7 7 6 7 H = 6 H = 4 H = 6 2 8 3 2 3 3 2 8 3 1 4 1 8 4 1 4 7 6 7 6 7 6 H = H = 3 H = 2 3 1 8 4 7 6 H = 2 4 2 3 1 8 4 7 6 H = 4 1 2 3 8 4 7 6 H = 1 1 2 3 6 1 2 3 8 4 7 8 4 7 6 6 H = 0 H = 2

Propiedades de la búsqueda por primero el mejor Complejidad en tiempo O(r m ), donde: r: factor de ramificación. m: profundidad máxima del árbol de búsqueda. Complejidad en espacio: O(r m ). En la práctica, el tiempo y espacio necesario depende del problema concreto y de la calidad de la heurística usada No es completa, en general. Por ejemplo, una mala heurística podría hacer que se tomara un camino infinito. No es minimal (no garantiza soluciones con el menor número de operadores). La heurística podría guiar hacia una solución no minimal

Espacio de estados con coste En algunos problemas, existe un coste (positivo) asociado a la aplicación de los operadores. coste-de-aplicar-operador(estado,operador). Asumimos que operador es aplicable a estado. Coste asociado a un camino: Suma de los costes de la aplicación de cada uno de sus operadores. Una solución óptima es una solución con coste mínimo. En algunos problemas, no existe un coste explícito En ese caso, coste-de-aplicar-operador(estado,operador)=1, y las soluciones óptimas son las minimales. Coste en el problema del viaje: distancia euclídea entre estado y aplica(operador,estado)

Idea de la búsqueda óptima Analizar primero los nodos con menor coste. Es decir, ordenar la cola de abiertos por coste, de menor a mayor De esta manera, cuando se llega por primera vez a un estado, se llega con el menor coste posible. Y en particular, la primera vez que se llega a un estado final tenemos una solución óptima Se trata de una búsqueda ciega o no informada: No usa conocimiento para guiar la búsqueda hacia el objetivo Caso particular: búsqueda en anchura.

Implementación de la búsqueda óptima Nodo de búsqueda: estado + camino + coste del camino Funciones de acceso: ESTADO(NODO), CAMINO(NODO) y COSTE-CAMINO(nodo) Sucesores de un nodo con coste: FUNCION SUCESOR(NODO,OPERADOR) 1. Hacer ESTADO-SUCESOR igual a APLICA(OPERADOR,ESTADO(NODO)) 2. Si ESTADO-SUCESOR=NO-APLICABLE devolver NO-APLICABLE en caso contrario, devolver un nodo cuyo estado es ESTADO-SUCESOR, cuyo camino es el resultado de añadir OPERADOR a CAMINO(NODO) y cuyo coste es COSTE-CAMINO(CAMINO(NODO)) más COSTE-DE-APLICAR-OPERADOR(ESTADO(NODO),OPERADOR) FUNCION SUCESORES(NODO) 1. Hacer SUCESORES vacío 2. Para cada OPERADOR en *OPERADORES*, si SUCESOR(NODO,OPERADOR) =/= NO-APLICABLE, incluir SUCESOR(NODO,OPERADOR) en SUCESORES 3. Devolver SUCESORES

Implementación de la búsqueda óptima FUNCION BUSQUEDA-OPTIMA() 1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo con estado *ESTADO-INICIAL*, camino vacío y coste 0); Hacer CERRADOS vacío 2. Mientras que ABIERTOS no esté vacía, 2.1 Hacer ACTUAL el primero de ABIERTOS Hacer ABIERTOS el resto de ABIERTOS 2.2 Poner el nodo ACTUAL en CERRADOS. 2.3 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)), 2.3.1 devolver el nodo ACTUAL y terminar. 2.3.2 en caso contrario, 2.3.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES(ACTUAL) que o bien tienen un estado que no aparece en los nodos de ABIERTOS ni de CERRADOS, o bien su coste es menor que cualquier otro nodo con el mismo estado que apareciera en ABIERTOS o en CERRADOS 2.3.2.2 Hacer ABIERTOS el resultado de incluir NUEVOS-SUCESORES en ABIERTOS y ordenar todo en orden creciente de los costes de los caminos de los nodos 3. Devolver FALLO.

Árbol de búsqueda óptima para el problema del viaje Sevilla C = 0 1 3 4 2 Cádiz Córdoba Huelva Málaga C = 99.72 C = 120.7 C = 88.04 C = 162.4 Granada 8 Jaén 6 7 Granada C = 27.28 C = 219.39 C = 2.23 Almería C = 370.38 Almería C = 361.49 9

Propiedades de la búsqueda óptima Es completa (siempre que todos los costes individuales sean mayores que un cierto ǫ > 0) Complejidad en tiempo y espacio: O(r 1+[C/ǫ] ), donde C es el coste de una solución óptima. Exponencial (es una generalización de la búsqueda en anchura) Siempre encuentra solución óptima. Salvo en espacios de estados pequeños, en la práctica esta búsqueda no es posible, debido a la cantidad de tiempo y espacio que necesita

Uso de heurísticas para buscar soluciones óptimas Podemos usar búsqueda por primero el mejor para acelerar la búsqueda y aún estar seguro de obtener soluciones óptimas? En general, NO. Ejemplo 1: 2 I H= 2 H=4 1 A B H= H=2 1 C D 2 H=1 H=1 E 1 3 G H=0 Solución encontrada por primero el mejor: I-A-C-E-G (subóptima) Causa: la heurística sobrestima el coste real

Uso de heurísticas para buscar soluciones óptimas Ejemplo 2: 2 I H= 2 H=3 1 A B H=2 H=2 1 C D 10 H=1 H=1 E 1 3 G H=0 Solución encontrada por primero el mejor: I-B-D-G (subóptima) Causa: no se han tenido en cuenta los costes de los caminos ya recorridos

Idea de la búsqueda A Objetivo de la búsqueda A : conseguir buenas soluciones (óptimas). ganar en eficiencia (reduciendo el árbol de búsqueda). Idea: asignar a cada nodo n un valor f(n) = g(n) + h(n) g(n): coste del camino hasta n h(n): heurística del nodo, estimación del coste de un camino óptimo desde n hasta un estado final f(n): estimación del coste total de una solución óptima que pasa por n Seleccionar siempre el nodo con menor valor de f ordenando la cola de ABIERTOS en orden creciente respecto a f

Implementación de A Nodo de búsqueda: estado + camino + coste del camino + coste-más-heurística Funciones de acceso: ESTADO(NODO), CAMINO(NODO), COSTE-CAMINO(nodo) y COSTE-MAS-HEURISTICA(nodo). Sucesores de un nodo con coste y heurística: FUNCION SUCESOR(NODO,OPERADOR) 1. Hacer ESTADO-SUCESOR igual a APLICA(OPERADOR,ESTADO(NODO)) 2. Si ESTADO-SUCESOR=NO-APLICABLE devolver NO-APLICABLE en caso contrario, devolver un nodo cuyo estado es ESTADO-SUCESOR, cuyo camino es el resultado de añadir OPERADOR a CAMINO(NODO) y cuyo coste es COSTE-CAMINO(CAMINO(NODO)) más COSTE-DE-APLICAR-OPERADOR(ESTADO(NODO),OPERADOR) y cuyo coste-más-heurística es el coste anterior más HEURISTICA(ESTADO(NODO)) La función SUCESORES(NODO), como anteriormente

Implementación de la búsqueda A FUNCION BUSQUEDA-A-ESTRELLA() 1. Hacer ABIERTOS la cola formada por el nodo inicial (el nodo cuyo estado es *ESTADO-INICIAL*, cuyo camino es vacío, cuyo coste es 0, y cuyo coste-más-heurística es HEURISTICA(*ESTADO-INICIAL*)) Hacer CERRADOS vacío 2. Mientras que ABIERTOS no esté vacía, 2.1 Hacer ACTUAL el primer nodo de ABIERTOS Hacer ABIERTOS el resto de ABIERTOS 2.2 Poner el nodo ACTUAL en CERRADOS. 2.3 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)), 2.3.1 devolver el nodo ACTUAL y terminar. 2.3.2 en caso contrario, 2.3.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES(ACTUAL) que o bien tienen un estado que no aparece en los nodos de ABIERTOS ni de CERRADOS, o bien su coste es menor que cualquier otro nodo con el mismo estado que apareciera en ABIERTOS o en CERRADOS 2.3.2.2 Hacer ABIERTOS el resultado de incluir NUEVOS-SUC en ABIERTOS y ordenar todo en orden creciente de del coste-mas-heurística de los nodos 3. Devolver FALLO.

Árbol de búsqueda A para el viaje Sevilla C+H = 32.08 1 3 Cádiz Córdoba Huelva Málaga C+H = 448.09 C+H = 361.01 C+H = 497.19 C+H = 340.36 2 Jaén C+H = 370.38 Granada C+H = 361.49 4 Almería C+H = 361.49

Propiedades de A Sea h (n) coste de un camino óptimo desde el estado de n hasta un estado final f (n) = g(n) + h (n) coste total de una solución óptima que pasa por n En la práctica, no conocemos h Usamos una función heurística h que estima h Posibilidades: Para todo nodo n, h(n) = 0: búsqueda óptima, no hay reducción del árbol de búsqueda Para todo nodo n, h(n) = h (n): estimación perfecta, no hay búsqueda Para todo nodo n, 0 h(n) h (n): heurística admisible, solución óptima garantizada Para algún nodo n, h(n) > h (n): no se puede garantizar que la solución encontrada sea óptima

Propiedades de A Usando una heurística admisible: Es completa. Encuentra siempre solución óptima. Complejidad en tiempo y en espacio: en el peor de los casos, como la búsqueda óptima En la práctica, el coste en tiempo y espacio depende del problema particular y de la calidad de la heurística usada

Demostración de que A es óptimo f(m) g(n) n h*(n) ABIERTOS p m Supongamos que el algoritmo A usa una heurística h admisible, y veamos que un nodo m correspondiente a una solución no óptima nunca puede estar el primero de la cola de ABIERTOS. Sea p es un nodo correspondiente a una solución óptima. Se puede demostrar entonces que existe un nodo n en la lista de ABIERTOS cuyo camino es un subcamino del camino de p. Bastará probar que n está antes que m en la cola de ABIERTOS (es decir, que f(n) < f(m)). Por definición, f(n) = g(n) + h(n). Como h es admisible, h(n) h (n). Como n y p están en el mismo camino a la solución óptima, por definición de g y de h, g(n) + h (n) = g(p). Luego f(n) g(p). Puesto que m es subóptimo y h(m) = 0 (ya que m es final), se tiene que g(p) < g(m) = f(m). En conclusión f(n) < f(m).

Invención de heurísticas Recordar: estimación del coste mínimo restante hasta un estado final Comparación de heurísticas: Si para todo nodo n, 0 h 1 (n) h 2 (n) h (n), entonces h 2 está más informada que h 1 y mejora la eficiencia Técnicas para encontrar heurísticas Relajación del problema Combinación de heurísticas admisibles Uso de información estadística Evaluación eficiente de la función heurística

Problema del laberinto En el siguiente laberinto, se puede pasar desde una casilla a otra de las posibles adyacentes (arriba, abajo, izquierda, derecha), salvo si existe una barrera entre ellas G Objetivo: ir de I a F I W A P Q R T B C D E K M N Como ejercicio final, resolveremos el problema aplicando las búsquedas en profundidad, primero el mejor y A* F

Problema del laberinto como problema de espacio de estados Estados: A, B, C, D, E, G, I, W, K, M, N, P, Q, R, T y F Estado inicial: I Estado final: F Operadores: arriba, abajo, izquierda, derecha Aplicabilidad y resultado de la aplicación Arriba es aplicable a un estado si existe una casilla arriba y no está separada por barrera; el resultado de aplicarlo es la casilla de arriba y su coste es 1 El resto de operadores, análogamente Consideraremos que los sucesores están ordenados alfabéticamente Heurística (admisible): distancia Manhattan del estado a la casilla F Durante la búsqueda, y con igual valoración, elegir por orden alfabético

Laberinto: búsqueda en profundidad I 1 2 G Q 4 W 3 P R T 6 K 7 C 8 M 12 A 9 F 13 N B 10 D 11 Solución encontrada: I-Q-R-T-K-M-F No es óptima Nodos analizados: 13

Laberinto: búsqueda primero el mejor I G Q W P 1 H=4 2 H= H=3 H=3 R H=4 H=2 T K 3 4 H=1 H=2 C H=3 M 6 H=1 D F H=0 N 7 H=2 H=2 Solución encontrada: I-Q-R-T-K-M-F No es óptima Nodos analizados: 7 La heurística ha servido para reducir el espacio de búsqueda

Laberinto: búsqueda A* I 1 C+H=0+4 G C+H=1+ Q 2 C+H=1+3 W C+H=1+3 P R T 3 4 C K C+H=2+4 C+H=2+2 C+H=2+2 M C+H=3+1 C+H=3+3 C+H=3+1 6 7 K C+H=4+2 8 D C+H=4+2 F C+H=4+0 N C+H=4+2 Solución encontrada: I-W-K-M-F Óptima (heurística admisible) Nodos analizados: 8 Aunque en este caso se analizan más nodos (se ha explorado parcialmente un camino equivocado), la solución óptima está asegurada Nótese que se generan dos nodos distintos con el mismo estado K (pero distinto camino)

Bibliografía Russell, S. y Norvig, P. Inteligencia artificial: Un enfoque moderno (segunda edición) (Prentice Hall, 2004). Cap. 3: Solución de problemas mediante búsqueda Russell, S. y Norvig, P. Artificial Intelligence (A Modern Approach) (Prentice Hall, 2010). Third Edition Cap. 3: Solving problems by searching.

Bibliografía Luger, G.F. Artificial Intelligence (Structures and Strategies for Complex Problem Solving (4 edition) (Addison Wesley, 2002) Cap. 4: Heuristic search Nilsson, N.J. Inteligencia artificial (Una nueva síntesis) (McGraw Hill, 2001)] Cap. 8: Búsqueda heurística Poole, D.; Mackworth, A. y Goebel, R. Computational Intelligence (A Logical Approach) (Oxford University Press, 1998). Cap. 4: Searching