Inteligencia Artificial
Bsqueda Ciega
Agenda
PARTE 1 Resolucin de Problemas Representacin de Problemas / Modelizacin Agente Solucionador de Problemas
PARTE 2 Bsqueda en Espacio de Estados:
Generacin y Testeo Implementacin
Modelos de Bsqueda Ciega En Anchura Primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad Primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Resolucin de Problemas Veremos como un agente inteligente puede
resolver problemas considerando las diferentessecuencias de acciones que puede realizar.
Cuando un agente exhibe este comportamento,orientado a alcanzar metas particulares se diceque es un Agente solucionador de problemas.
Resolucin de Problemas Este tipo de agente debe tener:
Una Representacin adecuada de su entorno. Debe conocer las Acciones que puede efectuar. Debe poder Razonar sobre los efectos de sus
acciones en el entorno. El razonamiento en este caso queda reducido a
escoger las acciones ms ventajosas ya sea quemaximicen una ganancia o que minimicen un efectonocivo sobre el entorno.
El Problema de la Representacin
En un sentido general, concierne a la relacinexistente entre las distintas formas de formularun problema y la eficiencia para alcanzar unasolucin del mismo.
Aunque un problema pueda ser expresado dediversas formas, siempre ser posibleestablecer una equivalencia formal entre ellasrespecto a ciertos aspectos.
El Problema de la Representacin La representacin de un problema tiene una gran
influencia en el esfuerzo que es necesario pararesolverlo.
Un problema raramente se resuelve en losmismos trminos en los que fue expresado alcomienzo.
Normalmente se utilizan un conjunto deconvenciones para representar la informacin.Simplificaciones, generalizaciones, abstracciones,etc.Esto se llama modelar.
El Problema de la Representacin
Cuando representamos un problemanecesitamos crear un modelo del mismo.
Pero, Qu es un modelo?
Los modelos ... Ayudan a visualizar un problema, a establecer
una situacin en el pasado, presente o en elfuturo;
Permiten especificar la estructura o la dinmicade un problema;
Permiten controlar y guiar el proceso deresolucin de un problema.
Hacen factible su resolucin por evitar detallesinnecesarios.
El Problema de la Representacin Un modelo consiste en la interpretacin de un
dado dominio del problema siguiendo unadeterminada estructura de conceptos. (ej.: planode una casa)
Un esquema es una especificacin de unmodelo usando un determinado lenguaje, el cualpuede ser formal o informal.
Un modelo es una representacin en pequeaescala, en una perspectiva particular, de unproblema.
Abstraccin Abstraccin: accin de abstraer;
separacin mental de una de las partes de un todo;
Abstracto: adj., que designa una cualidad separada del objeto al que pertenece;
Un buen ejemplo de modelacin Cuando el primer mapa de la lnea de subterrneos de
Londres fue publicado en 1908, segua fielmente sugeografa: todas las curvas y vueltas de los tneles, y ladistancia relativa entre las estaciones fueron fielmenterespetadas.
Entretanto el propsito del mapa era mostrar a lospasajeros el ordenamiento de las estaciones en cadalnea, y las conexiones entre ellas. Pero la fidelidad delmapa dificultaba obtener esa informacin.
de
1908
Mapa de 1933 En 1933, el mapa fue sustituido por una
representacin mas abstracta, quemostraba solamente la conectividad entrelas estaciones.
Fueron abstrados Detalles relacionados con la superficie. Distancia entre las estaciones. Orientacin de las lneas.
Mapa
de
1933
Mapa de 1933 El Diagrama dio a las personas un buen modelo
conceptual; i.e., como ver el sistema del subterrneode Londres en una forma simplificada. Es unaespecificacin que le permite a las personas entenderuna situacin compleja.
A pesar de que sufre cambios y es revisado desde1933, bsicamente continua siendo el mismodiagrama propuesto por el ingeniero diseador HarryBeck.
El xito del diagrama es debido a: Una apropiada eleccin de la abstraccin Una elegante representacin.
Mapa
Actual
Mapa
Actual
Mapa
Actual
Caractersticas de una buena Representacin
Claridad: Debe ser evidente la relacin entre elmodelo y el problema real.
Exactitud: El modelo debe ser fiel a la realidaden los aspectos relevantes para la resolucindel problema.
Completitud: El modelo debe representar todoslos aspectos relevantes para a resolucin delproblema.
Caractersticas de una buena Representacin
Eficiencia: La representacin debe poder serutilizada en forma eficiente.
Concisin: Las caractersticas irrelevantesdeben ser omitidas y los detalles suprimidos.
Utilidad: Es importante avaliar se el modelosugiere un buen mtodo para resolver elproblema.
Hiptesis de Representacin de Conocimiento (Brian Smith (1982))
Un sistema inteligente utiliza estructuras que:
Poden ser interpretadas como proposiciones que representan el conocimiento del sistema.
Determinan el comportamiento del sistema.
Resolucin de Problemas Algoritmos vs. Bsqueda
Algortmica: prescripcin exacta de una secuenciadeterminada de acciones conducentes a lasolucin en un nmero finito de pasos. Problemas: resolucin determinista, infalible, alta
complejidad, etc. Cmo resolver un problema si no se tiene un
algoritmos sistemtico o directo? Propuesta: ensayar un nivel de abstraccin utilizando
un mtodo general de bsqueda exhaustiva ysistemtica.
Resolucin de Problemas (Acciones)
El agente debe escoger una secuencia deacciones que conduzcan a alcanzar una metadeseada.
La determinacin de escoger entre variasmetas posibles normalmente incluye la idea decosto.
El proceso de seleccionar a secuencia deacciones se denomina Bsqueda.
Resolucin de Problemas Bsqueda
Conceptualmente, la resolucin mediantebsqueda requiere establecer un isomorfismoentre encontrar la secuencia de operadorespara resolver un problema y encontrar uncamino a travs de un grafo dirigido.
Cada nodo del grafo representar a un estadode la representacin escogida del problema.
Cada arco orientado corresponder a laexistencia de un operador o accin que permitepasar transformar el primer estado en elsegundo.
El agente reactivo Escoge sus acciones en base a sus percepciones acta
No tiene estado interno Por lo tanto, no puede pensar en el futuro
No sabe para donde va.
El Agente solucionador de problemas Busca una secuencia de acciones que lo lleve a estados deseados
(objetivos).
Agente solucionador de problemas
4 5 81 6
7 32
1 2 34 67 8
5?
Resolucin de Problemas: definicionesUn problema en IA es definido en trminos de...
1) un espacio de estados posibles, incluido: un estado inicial un (o mas) estado final = objetivo Ejemplo 1: ir de Funchal a Porto Moniz
espacio de estados: todas las ciudads de la Isla Ejemplo 2: juego de 8-puzzle
inicio: fin:
2) un conjunto de acciones (u operadores) que permiten pasar de un estado a otro Ej1.: ir de una ciudad a otra adyacente. Ej2.: mover una pieza del juego de 8-puzzle
4 5 81 6
7 32
1 2 35 6
7 84
Resolucin de Problemas: definiciones
Definicin del objetivo: Propiedad abstracta (compresin)
Ej.: condicin de jaque-mate en el Ajedrez Conjunto de estados finales del mundo (extensin)
Ex.: estar en Porto Moniz
Solucin: Camino (secuencia de acciones u operadores) que llevan del
estado inicial a un estado final (objetivo). Espacio de Estados:
Conjunto de todos los estados alcanzables a partir del estado inicial por cualquier secuencia de acciones.
Solucionando el problema: Representacin, Bsqueda y Ejecucin Representacin del problema y del objetivo:
Cuales son los estados y las acciones a considerar? Cual es (y como representar) el objetivo?
Bsqueda (solucin del problema): Proceso que genera/analiza secuencias de acciones para alcanzar un
objetivo. Solucin = camino entre estado inicial y estado final. Costo del camino = cualidad de la solucin.
Ejecucin: Ejecutar la solucin completa encontrada, (bsqueda ciega, bsqueda
informada, estrategias con adversarios). Intercalar ejecucin con bsqueda (planeamiento).
Reglas de Produccin
Representacin del conocimiento como pares de condicin accin Si la condicin (o premisa o antecedente) ocurre Entonces la accin (resultado, conclusin o consecuente)
deber ocurrir. Si el agente percibe luz del freno del auto, entonces debe travar el carro
(regla de accin). Si el vehculo tiene 4 ruedas y tiene un motor entonces el vehculo es un
automvil (nuevo conocimiento). Son llamadas de reglas de produccin porque producen nuevos
hechos a partir de los hechos y reglas de la BC. Esos nuevos hechos pasan a ser parte de la BC.
Ejemplo: Problema de las Jarras
Tenemos dos jarras vacas con capacidadde 4 y 3 litros cada una. Como podemosobtener exactamente 2 litros en la primerajarra? Las jarras pueden ser llenadas,vaciadas o se puede pasar el contenidode una jarra a la otra.
Ejemplo: Problema de las Jarras
El estado inicial es [0,0]
La condicin de solucin es [2,Z], ya queno importa el contenido de la segundajarra.
Ejemplo: Problema de las JarrasLas reglas de produccin son:
R1. Llenar jarra 1: [X,Y] [4,Y]R2. Llenar jarra 2: [X,Y] [X,3]R3. Vaciar jarra 1: [X,Y] [0,Y]R4. Vaciar jarra 2: [X,Y] [X,0]R5. Pasar el contenido de 1 a 2 hasta llenar 2
[X,Y] / X+Y>=3 [W,3] / W = X+Y-3R6. Pasar todo el contenido de 1 a 2
[X,Y] / X+Y=4 [4,Z] / Z = X+Y-4R8. Pasar todo el contenido de 2 a 1
[X,Y] / X+Y
Ejemplo: Problema de las JarrasR3. Vaciar jarra 1: [X,Y] [0,Y]Podemos colocar una precondicin X>0 para
evitar de usar la regla innecesariamente.
R3. Vaciar jarra 1: [X,Y] / X > 0 [0,Y]
Ejercicio:Hallar la solucin del Problema de las jarras en los prximos 10 minutos.
Sistemas de Produccin Son sistemas basados en reglas de produccin. Consisten en 3 mdulos principales:
Una Base de Reglas (BR): permanente Reglas de produccin.
Una Memoria de Trabajo: temporaria Base de hechos derivados durante la vida del agente. Percepciones del agente y hechos generados a partir
de la BR por el mecanismo de inferencia. El Mecanismo (mquina) de inferencia
Determina el mtodo de racionamiento utilizado(progresivo o regresivo).
Utiliza estrategias de bsqueda (unificacin). Resuelve conflictos y ejecuta acciones.
Arquitectura de los Sistemas de Produccin
conocimiento Permanente hechos reglas de producin
Meta-conocimiento estrategias para resolucin de
conflito
Base de Reglasconocimiento voltil descripcin de la instancia del problema actual hiptesis actual objetivos actuales resultados intermedios
Conjunto de conflitoconjunto de posibles reglas a ser disparadas
Memoria de Trabajo
Mecanismo de
inferencia
Ventajas y Limitaciones de los Sistemas de Produccin
Ventajas Las reglas son de fcil comprensin. inferencia y explicaciones son fcilmente derivadas. Mantenimiento es relativamente simples, debido a modularidad. Son mas eficientes que los sistemas de programacin en lgica,
aunque menos expresivos. Desventajas
conocimiento complejo requiere muchas (millares de) reglas. Ese exceso de reglas crea problemas para la utilizacin y
mantenimiento del sistema. No son robustos (inestables por tratamiento de incerteza). No aprenden.
Ejemplos de formulacin de problema
Juego de 8-puzzle:
estados = cada posible configuracin del tablero. estado inicial = cualquiera de los estados posibles. Objetivo = ordenado, con blanco en la posicin [3,3]. costo del camino = nmero de pasos de la solucin.
Ejercicio: Pensar las reglas de produccin (5 minutos).
Importancia de la Formulacin Solucin 1:
R1. mover 1 para arriba R2. mover 1 para la derecha etc., 32 reglas
Solucin 2 (lo que se mueve es el vaco) R1. mover vaco para arriba R2. mover vaco para la derecha etc., solamente 4 reglas
rboles de bsqueda para el juego del 8-puzzle4 5 8
1 67 32
5 84 1 67 32
4 5 87 1 6
32
4 5 86
7 321
arriba abajoderecha
1 2 34 67 8
5
abajo derecha
Importancia de la formulacin Juego de las 8 Reinas
distribuir 8 reinas en un tablero de ajedrez de forma queno se ataquen entre si. No puede haber mas de una reina en una misma lnea, columna o
diagonal.
Existen diferentes estados y operadores posibles. Esa eleccin puede tener consecuencias buenas o
nefastas en la complejidad de la bsqueda o en el tamaodel espacio de estados.
Formulaciones para 8 Reinas Formulacin A
estados: cualquier disposicin con n (n 8) reinas. operadores: agregar una reina a cualquier cuadro. 648 posibilidades: voy hasta el final para testear solucin.
Formulacin B estados: disposicin con (n 8) reinas sin ataque mutuo (testeo
gradual). operadores: agregar una reina en la columna vaca mas a la
izquierda en que no pueda ser atacada. mejor (2057 posibilidades), mas puede no haber accin posible.
Formulacin C estados: disposicin con 8 reinas, una en cada columna. operadores: mover una reina atacada para otra casilla en la
misma columna.
Medida de Desempeo en la Bsqueda
Desempeo de un algoritmo de bsqueda: 1. El algoritmo encuentra alguna solucin? 2. Es una buena solucin?
costo de camino (cualidad de la solucin). 3. Es una solucin computacionalmente barata?
costo de la bsqueda (tiempo y memoria).
Costo total costo del camino + costo de bsqueda
Espacio de estados grande: compromiso (conflicto) entre la mejor solucin y la
solucin mas barata.
Costo diferente => Solucin diferente Funcin de costo de camino
(1) nmero de casillas visitadas, (2) distancia entre las casillas, (3) tiempo de viaje, etc.
Solucin mas barata: (1) Funchal, (va Paul de la Serra), Porto Moniz (2) Funchal, So Vicente, Porto Moniz (3) Funchal, So Vicente (viaducto), Porto Moniz
Problemas clsicos Torre de Hanoi Misioneros y Canbales Jarras de agua Juego del 8-puzzle Mundo de bloques Viajante de comercio. Laberinto Lobo, oveja y verdura Travesa del puente ...
Problemas clsicos Ajedrez Bagamond Damas Go Mancala Damas ...
SEND+ MORE-------
MONEY
Aplicaciones: Problemas Reales Clculo de rutas
rutas en redes de computadores. sistemas de planeamiento de viajes. planeamiento de rutas de aviones. Cartero/viajante.
Planificacin (Scheduling) Distribucin de aula. Mquinas industriales en lneas de produccin
(job shop).
Aplicaciones: Problemas Reales Navegacin de robots:
generalizacin del problema de la navegacin. Los robots se mueven en espacios continuos, con un
conjunto (infinito) de posibles acciones y estados controlar los movimientos del robot no cho, de sus
brazos y piernas requiere espacio multi-dimensional.
Montaje de objetos complejos por robots: ordenar a montaje de las diversas partes del objeto
etc...
FIN PRIMERA PARTE
Agenda
PARTE 1 Resolucin de Problemas Representacin de Problemas / Modelizacin Agente Solucionador de Problemas
PARTE 2 Bsqueda en Espacio de Estados:
Generacin y Testeo Implementacin
Modelos de Bsqueda Ciega En Anchura Primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad Primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Bsqueda en Espacio de Estados
Una vez que el problema esta bien formulado...el estado final debe ser buscado.
En otras palabras, se debe usar un mtodo debsqueda para obtener un orden correcto deaplicacin de los operadores que vayan delestado inicial al final.
Una vez que la bsqueda ha terminado conxito, se ejecuta la solucin (= conjuntoordenado de operadores a aplicar).
Bsqueda en Espacio de Estados:Generacin y Testeo
Frontera del espacio de estados nodos (estados) a ser expandidos en algn momento.
Algoritmo:Obs.: el algoritmo comienza con la frontera conteniendo el estado inicial
del problema.1. Seleccionar el primer nodo (estado) de la frontera del espacio de estados;
- si la frontera est vaca, el algoritmo termina con falla.2. Testear si el nodo es un estado final (solucin):
- entonces retornar nodo - la bsqueda termina con xito.3. Generar un nuevo conjunto de estados por la aplicacin de los operadores al
estado seleccionado;4. Insertar los nodos generados a la frontera, de acuerdo con la estrategia de
bsqueda usada, y volver al paso (1).
Bsqueda en Espacio de Estados: Implementacin
Espacios de Estados pueden ser representados como un rbol donde los estados son
nodos y las operaciones son arcos.
Los nodos del rbol pueden guardar mas informacinadems del estado: suelen ser una estructura con 5 componentes:
1. el estado correspondiente2. un puntero al nodo padre3. el operador aplicado para generar el nodo (a partir del padre)4. la profundidad del nodo5. el costo del nodo (desde la raz)
Bsqueda en Espacio de Estados: implementacin
Algoritmo:Funcin-Insertar: controla el orden de insercin de nodos en la frontera del espacio de estados.
funcin Bsqueda-Genrica (problema, Funcin-Insertar) retorna una solucin o falla
frontera Armar-Lista(Estado-Inicial [problema] )loop do
si frontera est vaca entonces retorna fallanodo Remover-Primero (frontera)si Testeo-Terminal[problema] aplicado a Estado [nodo] retornar
xito con nodo.frontera Funcin-Insertar(frontera, Operadores [problema])
end do
Mtodos de Bsqueda Bsqueda exhaustiva - ciega
No sabe cual es el mejor nodo de la frontera a ser expandido = menor costo decamino desde ese nodo a un nodo final (objetivo).
Estrategias de Bsqueda (orden de expansin de los nodos):
Direccin de Bsqueda: Del estado inicial al objetivo Del objetivo al estado inicial Bsqueda Bidireccional
Bsqueda heurstica informada
Estima cual es el mejor nodo de la frontera a ser expandido en base afunciones heursticas => conocimiento.
Estrategia de Bsqueda: (mejor eleccin basada en la funcin heurstica). Direccin de Bsqueda: dem a bsqueda ciega.
Criterios de evaluacin de las Estrategias de Bsqueda
Completitud: La estrategia, encuentra siempre una solucin?
Costo temporal: Cuanto tiempo insume encontrar una solucin?
Costo espacial: Cuanta memoria es necesaria para realizar una
bsqueda? Optimizacin/calidad (optimality):
La estrategia, encuentra la mejor solucin cuandoexisten diferentes soluciones?
Bsqueda Ciega En Anchura Primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad Primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Bsqueda CiegaNotacin b = factor de ramificacin; d = profundidad de la solucin; m = profundidad mxima del rbol de
bsqueda; l = lmite de profundidad.
Bsqueda en Anchura (1) Bsqueda a lo ancho: el nodo de menor profundidad,
ms a la izquierda es elegido para generar sucesores. El nodo raz es expandido primero
todos los nodos generados son explorados; todos los sucesores de los antecesores son explorados; y as sucesivamente.
los nodos de profundidad d son explorados antes que los nodos de profundidad d+1
function BREADTH-FIRST-SEARCH (problem) return solution
return GENERAL-SEARCH(problem, ENQUEUE-AT-END)
Bsqueda en Anchura (2) Si existe solucin ser encontrada. La solucin encontrada primero ser la de
menor profundidad. Completa. ptima cuando el costo es la profundidad. Costo con factor de ramificacin (b)
se debe considerar tiempo y memoria; solucin con profundidad d.
1 + b2+ b3+ ... + bd
Bsqueda en Anchura (3)
Bsqueda en Anchura (4)
Bsqueda en Anchura (5)
Bsqueda en Anchura (6)
Bsqueda en Anchura (7)
Bsqueda en Anchura (8)
Algoritmo Bsqueda en Anchura Primero
Funcin BsquedaAnchuraPrimero (problema, insertar_lista): solucin o falla
1. i_nodos armar_lista(estado_inicial(problema))2. repetir
2.1 si vaca_lista(i_nodos) entonces2.1.1 devolver falla
fin_de_si2.2 nodo retirar_lista(i_nodos)2.3 si testeo_objetivo(nodo) entonces
2.3.1 devolver nodo solucin2.3.2 insertar_lista
(i_nodos,espancion(nodo,operadores(problema)))fin_de_si
fin_de_repetirfin_de_funcin
Costo Anchura (9)Anlisis de la Complejidad
El costo de espacio y tiempo, referente a estrategia de bsqueda uniforme, puede ser visualizado en el cuadro siguiente cuando b = 10 :
11,111 terabytes3500 aos101414
111 terabytes35 aos101212
1 terabyte128 dias101010
11 gigabytes31 horas1088
111 megabytes18 minutos1066
1 megabytes11 segundos11,1114
11 kilobytes0.1 segundos1112
100 bytes1 milisegundo10
MemoriaTiempoNodosProfundidad
Cuadro 1: Tiempo, memoria y nodos generados para llegar al estado metaSe computan 1000 nodos por segundo y un nodo ocupa 100 bytes.
Bsqueda Ciega En Anchura Primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad Primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Costo Uniforme (1)A estrategia de bsqueda uniforme es una
pequea modificacin de la estrategia debsqueda en anchura.
En la bsqueda en anchura, primero seexpande el nodo raz, despus todos los nodosgenerados por este, y as sucesivamente hastaque se llegue al estado meta, o sea, todos losnodos que estn a una profundidad d del rbolsern expandidos y visitados antes que losnodos que estn a una profundidad d+1.
Costo Uniforme (2)Una estrategia de bsqueda uniforme es bsicamente la
misma cosa. En lugar de comenzar con el primer nodo expandido, que est en la
lista aguardando procesamiento, usar el nodo que posee el menorcosto (g(N)) para ser expandido.
Si ciertas condiciones son cumplidas, se garantiza que laprimera solucin encontrada ser la mas barata.
Una de las condiciones es la siguiente: el costo del camino nunca debe ir diminuyendo conforme
avanzamos, en otras palabras, es importante que:
g (Sucesor(N)) >= g (N)en todos los nodos N, g (N) es el costo conocido de ir de la raz hasta
el ndulo N.
Costo Uniforme (3)Algoritmo Bsqueda Uniforme
1. Definir un conjunto L de nodos iniciales2. Ordenar L en orden creciente de costo3. si L es vaca
entonces la Bsqueda no fue exitosaSino sea n el primer nodo de L;
4. si n es un nodo objetivoentonces
Retornar camino del nodo inicial hasta N;Parar
Sino Remover n de L;Adicionar en L todos los nodos hijos de n, rotulando cada nodo con el
su camino hasta el nodo inicial;Ordenar L en orden creciente de costo;Volver al paso 3.
Costo Uniforme (4)Resumen
Principio: expandir siempre el nodo de la frontera conmenor costo (dado por la funcin g (n)).
Este mtodo es equivalente a bsqueda en anchuraprimero cuando g (n) = profundidad (n).
Caractersticas: Es completo Es ptimo
function UNIFORM-COST-SEARCH (problem) returns solutionreturn GENERAL-SEARCH (problem, COST-FN,ENQUEUE-AT-END)
Costo Uniforme (6)
Algoritmo Bsqueda Costo Uniforme
Funcin BsquedaCostoUniforme (problema, insertar_orden_lista): solucin o falla
1. i_nodos armar_lista(estado_inicial(problema))2. repetir
2.1 si vaca_lista (i_nodos) entonces2.1.1 devolver falla
fin_de_si2.2 nodo retirar_lista(i_nodos)2.3 si testeo_objetivo(nodo) entonces
2.3.1 r nodo sino2.3.2 insertar_orden_lista
(i_nodos,espansion(nodo,operadores(problema)))fin_de_si
fin_de_repetirfin_de_funcin
Bsqueda Ciega En Anchura Primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad Primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Profundidad Primero (1) Orden de expansin de los nodos:
siempre expande el nodo en el nivel mas profundo del rbol:1. nodo raz2. primer nodo de profundidad 13. primer nodo de profundidad 2, etc.
Cuando un nodo final no es solucin, el algoritmo retrocede para expandir los nodos que estn en la frontera del espacio de estados.
(problema, Insertar-al-Comienzo) Algoritmo:
funcin Bsqueda-en-Profundidad (problema) retorna una solucin o falla
Bsqueda-Genrica
Profundidad primero (2) El nodo de mayor profundidad mas a la izquierda es
escogido para generar sucesores.
Cuando es expandido un nodo de mayor profundidad, y la bsqueda llega a un nodo sin sucesor, entonces el algoritmo expande el prximo nodo con menor profundidad.
Profundidad primero (2)
Profundidad primero (3)
Profundidad primero (4)
Profundidad primero (5)
Profundidad primero (6)
Profundidad primero (7)
Profundidad primero (8)
Profundidad primero (9)
Profundidad primero (10)
Profundidad primero (11) Esta estrategia no es completa ni es ptima. Costo de memoria:
Mantener en la memoria el camino que est siendo expandido en el momento, y los nodos hermanos de los nodos en el camino (para posibilitar el backtracking) necesita almacenar apenas b * m nodos para un espacio de
estados con factor de expansin b y profundidad m, donde mpuede ser mayor que d (profundidad de la 1ra. solucin).
Costo de tiempo: El (b m), en el peor caso.
Para problemas con varias soluciones, esta estrategia puede ser mas rpida que bsqueda en anchura.
Esta estrategia debe ser evitada cuando las rboles generados son muy profundos o generan caminos infinitos.
Ventajas:
Requieren poca memoria- El nodo objetivo puede llegar a ser encontrado sin examinar el rbol por completo.
Desventaja: Es importante que cada secuencia posible pueda terminar.
- sino el algoritmo desciende indefinidamente.
Profundidad primero (12)
Algoritmo Bsqueda en Profundidad primero
Funcin BsquedaProfundidadprimero (problema, insertar_lista): solucin o falla
1. i_nodos armar_lista(estado_inicial(problema))2. repetir
2.1 si vaca_lista (i_nodos) entonces2.1.1 devolver falla
fin_de_si2.2 nodo retirar_lista (i_nodos)2.3 si testeo_objetivo(nodo) entonces
2.3.1 devolver nodo sino2.3.2 insertar_lista (i_nodos,espansion(nodo,operadores(problema)))
fin_de_sifin_de_repetir
fin_de_funcin
Bsqueda Ciega En Anchura primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Acabamos de ver que uno de los grandes problemas de laBsqueda en Profundidad primero se debe a suincapacidad para lidiar con caminos infinitos.
El algoritmo de Bsqueda en Profundidad Limitadabsqueda evitar este problema fijando el nvel mximo debsqueda.
Profundidad Limitada (1)
Profundidad Limitada (2) En este proceso de bsqueda se genera un sucesor delnodo en cada paso.
Por Ejemplo, en el primer paso se genera el sucesor del nodoinicial.
As decidimos que cada vez que tiene un nodo sucesor,aplicamos a este un nuevo operador, de modo de obtenerun nuevo sucesor, y as sucesivamente.
En cada nodo tenemos que dejar una marca, que indiquenque los operadores adicionales pueden utilizar y especificara orden en que deben ser aplicados.
Una vez alcanzada la profundidad lmite, la bsqueda parael proceso de sucesores.
- Este lmite nos permite alcanzar las partes del grafo,en que se supone que no encontramos un nodo objetivo.
Profundidad Limitada (3)
Algoritmo Bsqueda en Profundidad Limitada
Funcin BsquedaProfundidadLimitada (problema, insertar_lista,nivel_mx): solucin o falla
1. i_nodos armar_lista(estado_inicial(problema))2. repetir
2.1 si vaca_lista (i_nodos) entonces2.1.1 devolver falla
fin_de_si2.2 nodo retirar_lista (i_nodos)2.3 si testeo_objetivo(nodo) entonces
2.3.1 devolver nodo sino2.3.2 insertar_lista(i_nodos,espansion(nodo,operadores_Nmx(problema)))
fin_de_sifin_de_repetir
fin_de_funcin
Bsqueda Ciega En Anchura primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Como ya vimos, si no conocemos el valor del lmitemximo, estaremos condenados a una estratgia debsqueda en profundidad primero y tenemos que lidiarcon el problema de los caminos infinitos.
La respuesta a este problema pasa por la alteracin delprincipio de la bsqueda limitada haciendo variar eselmite entre cero e infinito.
Inmersin Progresiva (1)
Inmersin Progresiva (2) As, el algoritmo consiste en la llamada repetida delalgoritmo de bsqueda limitada para valores crecientesdel lmite mximo.
Este algoritmo combina los aspectos positivos de labsqueda en anchura y de la bsqueda en profundidad.
As el problema de los caminos infinitos desaparece.
Inmersin Progresiva (3)
Inmersin Progresiva (4)
Inmersin Progresiva (5)
Inmersin Progresiva (6)
El algoritmo de bsqueda por Inmersin progresiva esuna excelente opcin para problemas en que estamosobligados a utilizar un mtodo ciego.
El espacio de bsqueda es grande, si no sabemos cuales el nvel mximo en que puede estar una solucin.
Inmersin Progresiva (7)
Algoritmo Bsqueda en Inmersin Progresiva
Funcin BsquedaInmersinProgresiva (problema, insertar_lista): solucin o falla
1. para nivl 0 hasta infinito hacer1.1 si bsqueda BsquedaProfundidadLimitada (problema, insertar_lista,nivl) entonces
1.1.1 devolver solucinfin_de_si
fin_de_parafin_de_funcin
Bsqueda Ciega En Anchura primero (Breath - First) Costo Uniforme (Uniform - Cost) En Profundidad primero (DepthFirst) Profundidad Limitada (Depth Limited) Inmersin Progresiva (Progresive Depth) Bidireccional
Bsqueda Bidireccional (1) Bsqueda en dos direcciones:
Hacia adelante, a partir del nodo inicial, y Hacia atrs, a partir del nodo final (objetivo).
La bsqueda para cuando los dos procesos generan unmismo estado intermedio.
Es posible utilizar estrategias diferentes en cadadireccin de la bsqueda.
Bsqueda forward para el juego del 8-puzzle4 5 8
1 67 32
5 84 1 67 32
4 5 87 1 6
32
4 5 86
7 321
arriba abajoderecha
1 2 34 67 8
5
abajo derecha
Bsqueda backward para el juego del 8-puzzle
4 5 81 6
7 32
arriba abajo
1 2 34 67 8
5
abajoizquierda
1 2 34
67 85
1 2 34 67 8
5
abajo izquierdaarribaderecha
Direccin de Bsqueda Notar que en el 8-puzzle puede simularse la
direccionalidad, debido a la reversibilidad del problema.
Qu es ms eficiente: forward o backward? Hay ms estados iniciales o finales? En que direccin hay mayor factor de
ramificacin? Debe justificarse el razonamiento?
Bsqueda Bidireccional (2) Costo temporal:
Si el factor de expansin b en las dos direcciones, y la profundidad del ltimo nodo generado es d: O(bd/2)
Costo espacial: O(bd/2) Bsqueda para atrs genera antecesores del nodo final
si los operadores son reversibles: conjunto de antecesores del nodo = conjunto de sucesores del nodo esos operadores pueden generar rboles infinitos!
caso contrario, la generacin de antecesores es muy difcil descripcin de ese conjunto es una propiedad abstracta Ej.: como determinar exactamente todos los estados que preceden
un estado de jaque-mate? Dificultades tambin cuando existen muchos estados finales
(objetivos) en el problema.
Comparacin de las Diversas Estrategias de Bsqueda
b = factor de ramificacin; d = profundidad de la solucin; m = profundidad mxima de la rbol de bsqueda; l = limite de profundidad.
Critrio Anchura Costo Uniforme
Profun-didad
Inmersion-Iterativo
Tiempo bd bd bm bd
Espacio bd bd bm bd
Optima? Si Si No Si
Completa? Si Si No Si
Conclusiones Los Algoritmos de bsqueda bidireccional son de
especial inters, porque tienen gran potencial parabuscar en pequeos espacios y reducensignificativamente el tiempo de funcionamiento porimplementacin paralela. En cuanto lo ltimo esgeneralmente verdad, lo primero puede ser falso cuandoexisten mltiplos caminos de solucin comparables.
Aplicado de forma incorrecta el mtodo de bsquedabidireccional, puede originar los peores casos debsqueda, transformndose en casos de bsquedaunidireccionales donde los espacios de bsqueda sondistantes entre si.
Fuentes Consultadas Rusel, Norvig, Artificial Intelligence: A Modern
Approach, Cap. 3. Costa, Simes, Inteligncia Artificial.
Fundamentos y Aplicaciones. Cap 3.2. Kvitca, Adolfo Resolucin de problemas con
inteligencia artificial. Editorial Kapeluz. Acetatos Prof. Guillermo Simari. Universidad
Nacional del Sur, Argentina Acetatos Alunos IIA semestre 2005/2006 Acetatos Prof. Geber Ramalho. CIN.
Universidad Federal de Pernambuco, Brasil.
LecturasLIVROS Rusel, Norvig, Artificial Intelligence: A
Modern Approach, Cap. 3. Costa, Simes, Inteligncia Artificial.
Fundamentos y Aplicaciones. Cap 3.2.
FIN