Universidad de Oviedo
Centro de Inteligencia Artificial
SISTEMAS INTELIGENTES
T2: Sistemas de Bsqueda
{jdiez, juanjo} @ aic.uniovi.es
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Cmo resolverlo?
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
ndice
El papel de la bsqueda en IA Componentes de un sistema de bsqueda Ejemplos de problemas de bsqueda
Artificiales Reales
Algoritmo general de bsqueda en rboles Caracterizacin de las estrategias de bsqueda
Medidas
de rendimiento Estrategias de bsqueda a ciegas Estrategias de bsqueda informada
Estrategias de bsqueda a ciegas
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El papel de la bsqueda en IA
Existe una unin inseparable entre los conceptos razonamiento o resolucin de problemas y bsqueda Constituyen el ncleo fundamental de ideas que aparecen en casi todos los programas inteligentes que se realizan en IA
Deduccin Elaboracin
de planes de actuacin Prueba automtica de teoremas
Los sistemas de bsqueda son una herramienta bsica para construir SSII
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Resolver problemas por bsqueda (I)
Formulacin del objetivo: conjunto de estados del mundo que satisfacen el objetivo buscado
Por
extensin Se especifica como una propiedad abstracta
Formulacin del problema: decidir qu acciones y estados debemos considerar
La abstraccin es un proceso clave Se deben eliminar aquellos detalles del problema no sustanciales y que dificultan su resolucin
Bsqueda: proceso en el que se examinan diferentes secuencias posibles de acciones que conducen a estados conocidos y en el que se escoge la mejor secuencia Ejecucin: llevar a cabo la secuencia de acciones
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Resolver problemas por bsqueda (II)
Encontrar secuencias de acciones que conduzcan desde el estado actual a algn estado objetivo
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Encontrar una ruta en Rumania (I)
De vacaciones en Arad (Rumania) El vuelo de vuelta sale maana de Bucarest Formular objetivo: llegar a Bucarest cuanto antes Formular problema:
estados:
estar en una ciudad de Rumania acciones: conducir de una ciudad a otra
Encontrar una solucin: secuencia de ciudades que nos lleve desde Arad hasta Bucarest en el menor tiempo posible
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Encontrar una ruta en Rumania (II)
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Elementos
Estado inicial del agente, punto de partida para la bsqueda
En(Arad)
Funcin sucesor que dado un estado x devuelve un conjunto ordenado de pares <accin, sucesor>
{<Ir(Sibiu),En(Sibiu)>,<Ir(Timisoara),En(Timisoara)> ,<Ir(Zerind), En(Zerind)> }
Espacio de estados o de bsqueda es el conjunto de estados alcanzables desde el estado inicial aplicando distintas acciones. Es un grafo donde los nodos son estados y los arcos acciones Camino es una secuencia de estados conectado por una secuencia de acciones
Coste del camino (g) es una funcin que asigna un coste numrico a cada camino. Suele ser la suma de costes de cada accin individual, g(x,a,y)
Suma de kilmetros de la ruta entre dos ciudades
Test objetivo determina si un estado es objetivo
En(Bucarest)
Solucin secuencia de acciones que llevan del estado inicial a un estado objetivo. Las que tengan coste del camino mnimo, sern las ptimas
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Tipos de problemas/entornos
Totalmente/parcialmente observable
Rumania: totalmente observable, el agente percibe totalmente el entorno
Determinista/estocstico
Rumania: determinista, el agente sabe en qu estado se encontrar despus de realizar una accin
Episdico/secuencial
Rumania: secuencial, cada accin depende de las acciones anteriores
Esttico/dinmico
Rumania: esttico, la formulacin y bsqueda se hacen sin prestar atencin a cualquier cambio que pudiera ocurrir en el entorno
Discreto/continuo
Rumania: discreto, no se tiene en cuenta la variable tiempo
Individual/Multiagente
Rumania: individual, slo interviene un agente
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Ejemplos de problemas
Problemas Artificiales
Se utilizan para:
Ilustrar
los mtodos de resolucin de problemas
el funcionamiento de diferentes algoritmos Ejemplos: n-puzzle, n-reinas,
Comparar
Problemas Reales
Tienden a tener formulaciones particulares en cada caso
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El mundo de la aspiradora (I)
La aspiradora puede estar en una de las dos habitaciones, donde puede haber o no suciedad
Estados: 2x22=8 posibles estados Estado inicial: cualquiera de los posibles Funcin sucesor: genera estados resultantes de aplicar Izquierda, Derecha, o Aspirar Test objetivo: todas las habitaciones limpias Coste: suma del nmero de acciones realizadas Si hubiera n habitaciones tendramos n 2n estados
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El mundo de la aspiradora (II)
Las acciones son: Izquierda (L), Derecha (R), Aspirar (S)
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El mundo de los bloques
B A C
Estados: 13 posibles estados Estado inicial: cualquiera de los posibles Funcin sucesor: mover un bloque Coste: suma del nmero de acciones realizadas Test objetivo:
A B C
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El 8-puzzle (I)
Estados: especifican la posicin de cada ficha Estado inicial: una posicin Funcin sucesor: genera los estados resultantes de desplazar el hueco Arriba, Abajo, a la Izquierda o a la Derecha Test objetivo: indica si la configuracin de fichas es la deseada Coste: nmero de movimientos
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El 8-puzzle (II)
Parece simple pero es un problema NP-completo
P:
resoluble en tiempo polinomial NP: polinomial no determinstico, se puede verificar la validez de una solucin en tiempo polinomial
NP-completo: los problemas ms difciles NP
La complejidad crece rpidamente con el tamao del puzzle
8-puzzle:
181,440 estados, 0.1 segundos
15-puzzle:
~1.31012 estados, 6 das 24-puzzle: ~1025 estados, mucho!
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Las 8-reinas (I)
Colocar 8 reinas en un tablero de ajedrez sin que se ataquen entre ellas
Este estado no es un objetivo!!! Las reinas en la primera y ltima columna se atacan
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Las 8-reinas (II)
Formulacin Incremental
Se
aumenta paulatinamente la descripcin de cada estado aadiendo una reina al tablero Estados: cualquier combinacin de 0 a 8 reinas
Estado
inicial: tablero vaco Funcin sucesor: aadir una reina a cualquier cuadrado vaco Test objetivo: 8 reinas sobre el tablero, ninguna es atacada Hay 6463625857 ~ 31014 estados Para 100-reinas tendramos 10400 estados
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Problemas reales
Bsqueda de rutas
Generalizacin del problema de ir hasta Bucarest Se aaden complicaciones adicionales como el coste en tiempo, dinero, disponibilidad de transporte Ejemplo: viajes de lneas areas
Problemas tursticos: visitar varias ciudades al menos una vez Problema del viajante de comercio (TSP)
Slo una vez en cada ciudad y adems han de recorrerse todas con un coste mnimo
Distribucin VLSI: colocacin de componentes y conexiones en un chip verificando que el rea es mnima Navegacin de un robot
Generalizacin de la bsqueda de una ruta en un espacio continuo
Secuenciacin para ensamblaje automtico Diseo de protenas Juegos Bsquedas en internet
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Algunas definiciones
rbol de bsqueda: generado por el estado inicial y la funcin sucesor. En general ser un grafo Nodo de bsqueda: cada nodo de un rbol de bsqueda que representa un estado del problema Expansin de un nodo: aplicar la funcin sucesor al estado representado por el nodo para generar nodos sucesores Estrategia de bsqueda: determina el estado a expandir en cada momento. En esencia, se trata de escoger una opcin y posponer la exploracin de otras opciones para ms tarde Frontera: conjunto de nodos generados y an no expandidos. La estrategia de bsqueda selecciona qu estado expandir de entre los de la frontera
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
rbol de bsqueda para encontrar una ruta desde Arad a Bucarest
El estado inicial
Tras expandir Arad
Tras expandir Sibiu
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Algoritmo de Bsqueda en rboles
funcin Bsqueda_rboles( problema , estrategia ) devuelve solucin o fallo inicializa el rbol con el estado inicial del problema bucle hacer si no hay candidatos a expandir entonces devolver fallo escoger, segn estrategia, un nodo hoja para expandir si el nodo es objetivo entonces devolver la correspondiente solucin sino expandir el nodo y aadir los sucesores al rbol fin bucle hacer
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Representacin de los nodos
Los nodos no son equivalentes a los estados La representacin de los nodos suele depender del problema Se suelen describir mediante:
el
estado que representan su nodo padre la accin que lleva al nodo el coste del camino hasta ese nodo: g(n) la profundidad del nodo
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Medidas de rendimiento
Completitud: Si existe solucin la encuentra? Optimizacin: Si la encuentra es la mejor? Complejidad espacio-temporal: cunto tiempo y memoria necesita para encontrar una solucin?
En informtica terica se expresa mediante el tamao del grafo En IA la dificultad del problema se expresa en funcin de: factor de ramificacin (b): mximo nmero de sucesores de cualquier nodo profundidad del objetivo (d): profundidad del nodo objetivo menos profundo profundidad mxima (m) de cualquier camino en el espacio de estados Qu cantidad de recursos se requieren para encontrar la solucin? Mximo nmero de nodos almacenados en memoria Cunto se tarda en encontrar la solucin? Suele medirse en trminos de nmero de nodos generados
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Estrategias de bsqueda
Bsqueda no informada o a ciegas: no tienen informacin para medir la calidad de los estados
Primero en anchura Coste uniforme Primero en profundidad Profundidad limitada Primero en profundidad con profundidad iterativa Bidireccional
Bsqueda informada o heurstica: saben estimar si un estado es ms prometedor que otro
Voraz primero el mejor Algoritmo A* Escalada (hill-climbing) Temple simulado (simulated annealing) Haz local (beam seach) Algoritmos genticos
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Primero en anchura (I)
Se expande el nodo raz, a continuacin se expanden todos los sucesores, luego los sucesores de stos, En general, se expanden todos los nodos de un nivel antes de expandir cualquier nodo del nivel siguiente La estrategia sera una cola FIFO Cada nodo generado debe permanecer en memoria, ya que es parte de la frontera, o un antepasado de un nodo frontera
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Primero en anchura (II)
Completitud: es una estrategia completa si el factor de ramificacin es finito Optimizacin: no se garantiza una solucin ptima. El nodo objetivo ms superficial no tiene por qu ser la solucin ptima
Sera ptima si el coste fuera una funcin no decreciente de la profundidad
Complejidad: Si cada nodo tiene b sucesores y la solucin est a nivel d, en el peor de los casos tenemos que expandir todos menos el ltimo nodo del nivel d
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Primero en anchura (III)
Ejemplo: suponemos un problema con un factor de ramificacin b=10, que ser resuelto por un ordenador capaz de generar 10.000 nodos/ seg. y que requiere 1.000 bytes/nodo de espacio
Profundidad 2 4 6 8 10 12 14 Nodos 1.100 111.100 107 109 1011 1013 1015 Tiempo 0,11 segs. 11 segs. 19 mins. 31 horas 129 das 35 aos 3.523 aos Memoria 1 MB 106 MB 10 GB 1 TB 101 TB 10 PB 1 EB
Requisitos de espacio ms problemticos que los de tiempo
Aplicable en problemas pequeos, si no es necesario una bsqueda informada
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Coste uniforme (I)
Primero en anchura es ptimo cuando todos los costes son iguales, ya que expande el nodo menos profundo Coste uniforme es una extensin de primero en anchura de forma que es ptimo para cualquier funcin de coste (estrictamente positiva) Se expande el nodo con el camino de menor coste desde el nodo raz Si todos los costes de cada accin son iguales, es idntico a primero en anchura Se preocupa, no por la profundidad, sino por el coste total No puede haber acciones de coste 0 que conduzcan al mismo estado (bucle infinito)
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Coste uniforme (II)
Completitud: est garantizada si el coste de cada accin es mayor o igual que un constante positiva pequea () Optimizacin: la condicin anterior tambin garantiza la optimizacin
El algoritmo expande nodos en orden creciente de coste del camino, por lo que el primer nodo objetivo seleccionado para expandir es la solucin ptima
Complejidad: depende del coste. Si el coste ptimo es C* y suponemos que el coste mnimo de cada accin es , entonces la complejidad en el peor caso es:
puede ser mucho mayor que
(el efecto de muchos pasos pequeos)
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Primero en profundidad (I)
Se expande primero el nodo ms profundo en la frontera actual del rbol de bsqueda Cuando todos los nodos del nivel ms profundo no tienen sucesor, la bsqueda retrocede al nivel anterior La estrategia se implementara con una pila LIFO
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Primero en profundidad (II)
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Primero en profundidad (III)
Completitud: si hay ramas infinitas el proceso de bsqueda podra no terminar, an teniendo una solucin prxima a la raz Optimizacin: no se garantiza que la solucin sea ptima Complejidad temporal: si m es la profundidad mxima del rbol, la complejidad temporal es de orden
en general m>>d y es infinito si el rbol es ilimitado
Complejidad espacial: requiere almacenar slo bm+1 nodos. La complejidad espacial es de orden
con profundidad m=d=12 slo requiere 118 KB en lugar de los 10 PB de la bsqueda primero en anchura (mismas condiciones)
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Profundidad limitada (I)
Trata de aliviar el problema de los rboles ilimitados (con ramas infinitas) con la bsqueda primero en profundidad Se efecta bsqueda primero en profundidad pero hasta una profundidad mxima l Primero en profundidad = profundidad limitada con l= ( m) Lamentablemente se aade alguna complicacin adicional si escogemos l tal que l<d. Entonces el objetivo est fuera del lmite de profundidad El lmite de profundidad puede estar basado en el conocimiento previo del problema:
Ejemplo: en el mapa de Rumania hay 20 ciudades, luego la solucin debe ser como mucho con l=19
Dimetro del espacio de estados: la profundidad mxima para alcanzar cualquier estado desde otro
Ejemplo: cualquier ciudad puede alcanzarse desde otra en 9 pasos
Para la mayor parte de problemas no conocemos un lmite de profundidad bueno hasta que no resolvemos el problema
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Profundidad limitada (II)
Completitud: no se puede garantizar que encuentre solucin, ya que podra ocurrir que l<d. Optimizacin: no se puede garantizar que la solucin sea ptima Complejidad: en general, menor que la de la bsqueda en profundidad Espacial: Temporal:
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
BPP con profundidad iterativa (I)
Se trata de aplicar repetidas veces la bsqueda con profundidad limitada, aumentando en cada ocasin el lmite de profundidad (0, 1, 2, ) hasta encontrar un estado objetivo (cuando alcancemos la profundidad d) Trata de combinar las ventajas de la bsqueda en anchura (completitud) y primero en profundidad (complejidad) Los estados se generan en cada iteracin, es poco costoso. Los nodos de profundidad d son generados 1 vez, los de d-1 2 veces, , los de la raz d veces Es ms rpida que la bsqueda en anchura ya que no genera sucesores en el nivel d+1 Es el mtodo de bsqueda a ciegas preferido cuando hay un espacio grande de bsqueda y no se conoce d
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Lmite=0 Lmite=1
Centro de Inteligencia Artificial
BPP con profundidad iterativa (II)
Lmite=2
Lmite=3
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
BPP con profundidad iterativa (III)
Completitud: es como una bsqueda en anchura por niveles. Hereda de sta su carcter completo cuando el factor de ramificacin es finito Optimizacin: si todas las acciones tienen el mismo coste, tambin hereda la capacidad de encontrar soluciones ptimas Complejidad
Nodos:
Ejemplo: b=10, d=5 N(prof. it.)=50+400+3000+20.000+100.000=123.450 N(anc.)=10+100+1.000+10.000+100.000+999.990=1.111.100
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Bsqueda bidireccional (I)
Inicio
Objetivo
El rea de dos crculos pequeos es menor que rea de uno grande
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Bsqueda bidireccional (II)
Se ejecutan dos bsquedas simultneas: una hacia delante, desde el estado inicial y la otra hacia atrs, desde el objetivo Se para cuando ambas bsquedas se encuentren: se comprueba que el nodo expandido de un rbol est en la frontera del otro Su inters radica en la reduccin de la complejidad La bsqueda hacia atrs puede plantear dificultades ya que no siempre es fcil calcular los nodos predecesores. El caso ms difcil se plantea cuando el test objetivo da nicamente una descripcin implcita de algn conjunto (posiblemente grande) de estados objetivo Su principal problema es que requiere mucho espacio
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Bsqueda bidireccional (III)
Si las bsquedas son primero en anchura
es es
completo ptimo para costes uniforme
Complejidad: Espacial: O(bd/2) Temporal: O(bd/2)
Otras combinaciones en cuanto a los algoritmos de bsqueda utilizados pueden sacrificar la completitud, optimizacin o ambas
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Comparacin de estrategias de bsqueda no informada
1A Completa? Sc1 ptima? Tiempo Espacio
Variables b: factor de ramificacin d: profundidad mnima de un objetivo m: profundidad mxima de un estado C*: coste de la solucin ptima : cantidad positiva mnima de coste ind. l: lmite de profundidad
Sistemas Inteligentes - T2: Sistemas de Bsqueda
CU Sc1,c2 S
1P No No
PL No No O(bl)
PI Sc1 Sc3 O(bd) O(bd)
B Sc1,c4 Sc3,c4 O(bd/2) O(bd/2)
Sc3
O(bd+1) O(bC*/) O(bm)
O(bd+1) O(bC*/) O(bm) O(bl)
Condiciones
c1: factor de ramificacin finito c2: costes individuales >= c3: costes individuales iguales c4: 1A en ambas direcciones
Universidad de Oviedo
Centro de Inteligencia Artificial
Eliminar estados repetidos (I)
Perder tiempo expandiendo estados ya expandidos es una de las complicaciones ms importantes de los procesos de bsqueda Hay problemas que no tienen esta dificultad ya que su espacio de estados es un rbol (no un grafo) y hay un solo camino a cada estado Para otros problemas es inevitable la repeticin de estados
Son
problemas en los que las acciones suelen ser reversibles (ej. bsqueda de rutas) Sus rboles de bsqueda son infinitos (son grafos) Una poda puede producir una reduccin exponencial del coste de la bsqueda
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Las 8-reinas (III)
Formulacin Alternativa
Estados:
combinacin de n reinas, con 0<=n<=8, una por columna, desde la situada ms a la izquierda y sin que se ataquen Funcin sucesor: aadir una reina en la columna ms a la izquierda posible tal que no sea atacada por las reinas anteriores
Esta formulacin no repite estados
El espacio de bsqueda se reduce a tan slo 2057 estados!!! 100-reinas seguimos teniendo 1052 estados
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Eliminar estados repetidos (II)
La formulacin eficiente del problema de las 8-reinas debe su eficiencia en parte a que no se repiten estados Cada estado slo se puede alcanzar por un camino Si se formula permitiendo poner una reina en cualquier columna, entonces cada estado se puede alcanzar por n! caminos diferentes
Los algoritmos que olvidan su historia estn condenados a repetirla
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Eliminar estados repetidos (III)
Espacio de estados en el que dos acciones nos llevan de A a B, dos de B a C, etc El espacio tiene d+1 estados El rbol asociado tiene 2d caminos
Un problema ms real: la rejilla rectangular Cada estado tiene 4 sucesores El rbol de bsqueda tendra 4d hojas Pero slo hay 2d2 estados distintos Para d=20 pasamos de un billn de nodos del rbol a slo 800 estados
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Eliminar estados repetidos (IV)
Conclusin: no detectar estados repetidos puede provocar que un problema resoluble llegue a ser irresoluble Solucin:
Los nodos expandidos pueden almacenarse en una lista. La llamaremos LISTA_CERRADA Los nodos de la frontera, que almacenaremos en LISTA_ABIERTA, que aparezcan en LISTA_CERRADA se eliminarn en lugar de ser expandidos de nuevo
En algunos casos tendramos que comprobar si el nuevo camino encontrado es de menor coste que el encontrado previamente. Esto no ser necesario si utilizamos bsqueda de coste uniforme o en anchura con coste constante, pero s en otros casos
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
Algoritmo de Bsqueda en Grafos
funcin Bsqueda_Grafos( problema, estrategia ) devuelve solucin o fallo lista_cerrada = lista vaca lista_abierta = estado inicial del problema bucle hacer si Vaca(lista_abierta) entonces devolver fallo nodo = EscogerNodo(estrategia,lista_abierta) si EsObjetivo(nodo) entonces devolver la correspondiente solucin sino si NoEst(nodo,lista_cerrada) entonces Aadir(nodo,lista_cerrada) Aadir(Sucesores(nodo,problema),lista_abierta) fin bucle hacer
Sistemas Inteligentes - T2: Sistemas de Bsqueda
Universidad de Oviedo
Centro de Inteligencia Artificial
El problema puede ser ms complejo
Hemos estudiado las estrategias de bsqueda para problemas sencillos, con entornos totalmente observables, deterministas, estticos, con agentes individuales Qu pasa cuando el conocimiento de las acciones o los estados es incompleto?
problemas
sin sensores: si es parcialmente observable, cada accin llevara a un conjunto de estados posibles problemas de contingencia: si tenemos adversarios, tendremos incertidumbre por las acciones de otro agente problemas de exploracin: el agente no conoce los estados, deber actuar para descubrirlos
Sistemas Inteligentes - T2: Sistemas de Bsqueda