1.01k likes | 1.15k Views
Fundamentos de Inteligencia Artificial. Búsqueda Eduardo Morales/L. Enrique Sucar Sesión 02. Solución de Problemas. Identificación y definición del problema Identificación del criterio de evaluación Generación de alternativas B úsqueda de una solución y evaluación
E N D
Fundamentos de Inteligencia Artificial Búsqueda Eduardo Morales/L. Enrique Sucar Sesión02
Solución de Problemas • Identificacióny definición del problema • Identificacióndel criterio de evaluación • Generaciónde alternativas • Búsqueda de unasolución y evaluación • Selección de opción y recomendación • Implementación Solución de muchosproblemas en IA: principalmentebúsqueday evaluación
Heurísticas • La búsquedaesnecesaria en muchosproblemas e involucraintroducirheurísticas • Criterios, métodos, principiosparadecidir entre alternativas • Representan un compromiso entre: (i) simplicidad y (ii) poderdiscriminativo • No garantizan la mejoracción • Ayudan a reducir el número de evaluaciones
Representación del espacio de estados • Define un espacio de estados • (explícito / implícito) • Especificalos estadosiniciales • Especificalos estados finales (metas) • Especificalasreglasquedefinenlasacciones • disponiblesparamoverse de un estado a otro
Representación de espacio de estados En este contexto: El proceso de solución de problemas = encontrarunasecuencia de operacionesquetransformen al estadoinicial en uno final Se requiereunaestrategia de búsqueda
Q Q Q B Ejemplo: problema de las 8 reinas Reinas (Q) Tablero de Ajedrez C A A=8 B=9 C=10
Ejemplo: problema de las 8 reinas • Posiblescandidatos de heurísticas: • Preferircolocarreinasquedejes el mayor número de celdas son atacar (mostrados en la figura) • Vercuáles el menornúmero de celdas no atacadas en cadarenglón y escoger la quesunúmeromenor sea mayor. En el ejemplo: heu(A)=1, heu(B)=1, heu(C)=2
Para el problema de las 8 reinas podemos tener diferentes opciones: • Soluciónincremental: acercarse a la meta haciendodecisiones locales • Sistemática: no repetir y no excluir
Medios (espacio de estados): • Transformarposiblessolucionesglobales hasta encontrar la meta • vs. • Construirpocoa pocounasolución global
El problema del 8-puzzle • Búsquedaexhausticaesimpráctico • Se puedeestimarqué tan cerca se está de la solución • Posiblesheurísticas: • Contar el número de cuadrosque no corresponden a la meta • Distancias Manhattan de los cuadrosque no corresponden a sulugar • Distancia del espacio al primer cuadrofuera de sulugar
Otras ideas • Usar información extra (v.g., estimar distancias con base en coordenadas) • Usar subestimaciones (e.g., TSP vs. árbol de expansión mínimo) • Contruir una estrategia (e.g., detectar moneda falsa. Con 12 monedas y pesando 3 veces) • Grafos AND/OR • Identificar meta crítica (e.g., Torres de Hanoi)
Cómo encontramos una buena heurística? Factores a considerar: • Calidadde la solución (a vecespuede no importar) • Diferenciaen complejidad entre unasolucióny la soluciónóptima • En general, se buscaencontrar la soluciónmásbarata
Qué necesitamos: Estructura simbólica que represente subconjuntos de soluciones potenciales (agenda) Operaciones/reglas que modifiquen símbolos de la agenda y produzcan conjuntos de soluciones potenciales más refinadas Estrategia de búsqueda que decida qué operación aplicar a la agenda
Representación La representaciónnormalmentejuega un papel fundamental. E.g., juego de seleccionardigitos de forma alternadatalque la suma de 3 de ellossumen 15
Terminología: nodo, árbol, hoja, nodo-raíz, nodo-terminal, branching factor (factor de arborescencia), ramas, padres, hijos, árbol uniforme, ...
Nodosexpandidos (closed): • todos los sucesores • Nodosexploradospero no expandidos : • sóloalgunossucesores • Nodosgeneradospero no explorados • (open) • Nodosno generados Paso computacional primordial: expansión de nodos
Nodo raíz Ramas Padre Hijos Profundidad Nodos terminales/hojas
Nodo expandido (closed) Nodos generados No explorados (open) Nodo explorado No expandido Nodo no generado
Propiedades La estrategia de control essistemáticasi: 1. No deja un sólocamino sin explorar (completo) 2. No explora un mismocaminomás de unavez (eficiencia)
Propiedades de algoritmos de búsqueda (heurísticas): 1. Completo: si encuentra una solución cuando ésta existe 2. Admisible: si garantiza regresar una solución óptima cuando ésta existe
Propiedades de algoritmos de búsqueda (heurísticas): 3. Dominante: un algoritmo A1 se dice que domina a A2 si todo nodo expandido por A1 es también expandido por A2 (“más eficiente que”) 4. Óptimo: un algoritmo es óptimo sobre una clase de algoritmos si domina a todos los miembros de la clase
Procedimientos de Búsqueda Algúncamino: • Sin información: • depth-first (en profundo) • breadth-first (a lo ancho) • … • Con información: • hill climbing • beam search • best first • …
El mejorcamino: • British museum • branch and bound • A* • Juegos • minimax • alpha-beta • SSS* • SCOUT
GRAFO 4 4 C A B 3 5 5 I M 4 3 D E F 2 4
ÁRBOL DE BÚSQUEDA I A D B D A E F C E E B B 11 D B F C E A C M F 14 17 15 15 13 C M M F 19 19 17 M 25
AlgoritmoGenérico de Búsqueda sin información Creauna agenda de un elemento (el nodoraíz) hastaque la agenda estevacía o se alcance la meta siel primer elementoes la meta entoncesacaba si noelimina el primer elemento y añadesussucesoresa la agenda
Depth first - backtracking (LIFO) Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta siel primer elemento es la meta entoncesacaba si no elimina el primer elemento y añade sus sucesores al frentede la agenda
DEPTH-FIRST SEARCH (I) I (A D) A D (B D D) D A B E (C E D D) F E E B B C 11 (E D D) E A D F B F C C M 14 17 15 15 13 M M F C (D F D D) 19 19 17 M (F D D) 25 (M D D)
Problemas: árbolescon caminos de profundidadmuygrande Variantes: • Backtracking: genera un solo sucesor a la vez • Depth-bound (casitodos): limitar la búsqueda hasta ciertolímite de profundidad • Interative-deepening: explorar a profundidadprogresivamente • Con algo de información: ordena los nodosexpandidos
Breadth first Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores al final de la agenda Problemas: árboles con arborescencia muy grande Variantes: búsqueda de costo uniforme
ÁRBOL DE BÚSQUEDA I A D B D A E F C E E B B 11 D B F C E A C M F 14 17 15 15 13 C M M F 19 19 17 M 25
(I) 0 4 (D F B F C E A C M) (A D) 1 (F B F C E A C M) (D B D) 2 (B D A E) (B F C E A C M M) (D A E C E) (F C E A C M M C) (A E C E E) (E C E E B) (C E A C M M C M) 3 BREADTH-FIRST SEARCH (C E E B B F) (E A C M M C M) (E E B B F) (A C M M C M F) (E B B F D F) (B B F D F B F) (C M M C M F) (B F D F B F C E) 5 (M M C M F) ( F D F B F C E A C)
Breadth-first (búsqueda a lo ancho) Escompleto (encuentraunasoluciónsiexiste) y óptimo (encuentra la máscorta) si el costo del camino no decrece con la profundidad del nodo Problemas: Requieremuchamemoria y tieneproblemas con árbolescon arborescenciamuygrande Variantes: búsqueda de costouniforme
Profund. Nodos Tiempo Memoria 0 100 bytes 1 1 miliseg. 2 111 .1 seg. 11 kilobytes 11 seg. 4 11,111 1 megabyte 111 megabytes 6 18 min. 10 14 8 6 12 10 10 10 10 10 8 11 gigabytes 31 hr. 10 128 días 1 terabyte 12 111 terabytes 35 años 11,111 terabytes 14 3500 años Requerimientos de tiempo y memoria para breadth-first. Factor de arborecencia = 10; 1,000 nodos/sec; 100 bytes/nodo
BúsquedaBidireccional • Se explora al mismotiempo del estadoinicial a la meta y de la meta al estadoinicial • Si el factor de arborecenciaesigual en ambos sentidos se puedenhacergrandesahorros • Se requierenoperadoresreversibles • Puedenexistirmuchasmetas • Se requiereunaestrategiaeficientepararevisarsi un nodoaparece en la otramitad de la búsqueda
Complejidad Comparación en nodos buscados: Si n = profundidad del árbol b = braching factor d = profundidad de un nodo meta
n b • depth-first: • mejor caso: d nodos buscados • peor caso: - n n n+1- d d n+1 - i i b b - = b b b-1 i= 0 i= 0
d+1 d - - d 1 b 1 i - d - 1 i d 1 b b = b b = - - b 1 b 1 i= 0 i= 0 d b breadth-first: • mejor caso: • peor caso:
d l m d d d d b b b b b b b b b b Xm Xd X l Criterio Iterative Bidireccional Breadth Costo Depth Depth first uniforme first limited deepening d/2 Tiempo b d/2 Espacio b si no no si si si Optimo si(si l ≥d) si si si si no Completo Comparación de estrategias. b = factor de arborecencia; d = profundidad solución; m = máxima profundidad árbol; l = límite de profundidad.
AlgoritmoGenérico de Búsqueda con información Creauna agenda de un elemento (el nodoraíz) hastaque la agenda estevacía o se alcance la meta siel primer elementoes la meta entoncesacaba si noelimina el primer elemento, añadesussucesoresa la agenda ordenatodos los elementos de la agenda
Algoritmos con Información Hill-Climbing Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entoncesacaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda selecciona el mejor y elimina el resto
BÚSQUEDA HILL-CLIMBING Hill climbing Heurística: ve a la ciudad más cercana I (I) (A D) (D B) (E C) A D D A B E F E E B B C 11 E A D F B F C C M 14 17 15 15 13 M M F C 19 19 17 M 25
Hill Climbing • Problemasobvios: máximos/mínimos locales, valles y riscos • Para evitarlos a veces se empieza la búsquedadesdediferentespuntosaleatorios (random-restart hill-climbing) • Dado subajocostocomputacionalesuna de lasestratgiasmásutilizadas en optimización y en aprendizajecomputacional
Best-first Crea una agenda de un elemento (el nodo raíz) hasta que la agenda este vacía o se alcance la meta si el primer elemento es la meta entonces acaba si no elimina el primer elemento y añade sus sucesores a la agenda ordena todos los elementos de la agenda
BEST FIRST Heurística:Distancia acumulada más corta 1 I A 3 D 4 2 I A D 4 B 7 D 8
3 I A D A E B D 7 8 9 6
I 4 A D E A E B D 9 7 8 B F 11 10
I 5 A D E A E B D B 8 9 B F C E 11 10 11 12
I 6 A D E A E B D B D 9 B F C E E 11 10 11 12 10