clase2

download clase2

of 114

description

IA

Transcript of clase2

  • 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