Técnicas de Búsqueda(1)

38
TÉCNICAS DE BÚSQUEDA Y SUS APLICACIONES

Transcript of Técnicas de Búsqueda(1)

  • TCNICAS DE BSQUEDA Y SUS APLICACIONES

  • Introduccin Qu son las tcnicas de bsqueda y cules son sus elementos? Tipos de solucionadores- Bsqueda ciega- Bsqueda heurstica Bsqueda sin informacin del dominio o ciega- Bsqueda en amplitud- Bsqueda en profundidad- Bsqueda en profundidad progresiva- Bsqueda bidireccional Sistemas de reduccin

  • Introduccin Bsqueda heurstica- Definiciones- Funcin de evaluacin heurstica- Estrategias- Bsqueda con adversos- Algoritmo MINIMAX- Poda Alfa-Beta Aplicaciones- GPS (General Problem Solver) Enlaces de inters

  • Qu son las tcnicas de bsqueda y cules son sus elementos?Las tcnicas de bsqueda son una serie de esquemas de representacin del conocimiento, que mediante diversos algoritmos nos permite resolver ciertos problemas desde el punto de vista de la I.A.

  • Qu son las tcnicas de bsqueda y cules son sus elementos?Los elementos que integran las tcnicas de bsqueda son:- Conjunto de estados: todas las configuraciones posibles en el dominio.- Estados iniciales: estados desde los que partimos.- Estados finales: las soluciones del problema.- Operadores: se aplican para pasar de un estado a otro.

  • Qu son las tcnicas de bsqueda y cules son sus elementos?- Solucionador: mecanismo que nos permite evolucionar de un estado a otro mediante un algoritmo aplicando los siguientes pasos:1. Elegir el estado a explorar2. Establecer un operador que trabaje sobre el estado elegido en el paso 13. Comprobar si el resultado obtenido es un estado final (es una solucin del problema). Sino ir al paso 1.

  • Qu son las tcnicas de bsqueda y cules son sus elementos?Ejemplo con 8-puzzle: este juego consiste en, dada una matriz de 3x3 elementos, tenemos 8 nmeros que deben de ser ordenados dejando la casilla central vaca. Para resolverlo usaremos tcnicas de bsqueda:- El conjunto de estados son todas las combinaciones posibles de ordenacin de las 9 piezas.- El estado inicial es el estado en el que nos dan el puzzle, en desorden.- El estado final es el puzzle ordenado.- Los operadores son mover una ficha en cualquier direccin: arriba, abajo, izquierda o derecha.

  • Tipos de solucionadoresPara decidir como contestar a las preguntas del solucionador podemos usar dos tipos de bsqueda: - Bsqueda ciega:- Se hace crecer el rbol de forma sistemtica- No se realiza anlisis entre el estado obtenido y la solucin- Bsqueda heurstica:- El crecimiento del rbol se hace inyectando conocimiento.- Este conocimiento permite calcular la distancia entre el estado obtenido y el estado final

  • Tipos de solucionadoresUn buen solucionador ser aquel que realice su funcin a bajo coste segn los siguientes parmetros: - Complejidad temporal: tiempo empleado en obtener la solucin - Complejidad espacial: cantidad de recursos necesarios para obtener la solucin. Por ejemplo: memoria.La explosin combinatoria es un fenmeno que hace que el problema no se pueda abordar computacionalmente.

  • BSQUEDA CIEGA Slo utiliza informacin acerca de si un estado es o no objetivo para guiar su proceso de bsqueda.

    Antes de explicar los tipos de bsqueda ciega, convendra dar una serie de definiciones:

    Expandir un nodo: obtener los posibles hijos de un nodo a partir de la aplicacin de los distintos operadores sobre l.

    Nodo cerrado: Se han aplicado todos los posibles operadores sobre l, obtenindose todos sus posibles hijos.

  • BSQUEDA CIEGANodo abierto: No han actuado todos los posibles operadores, con lo que podran obtenerse nuevos hijos aplicando los operadores restantes.

    TIPOS DE BSQUEDA CIEGA: Bsqueda en amplitud. Bsqueda en profundidad. Bsqueda en profundidad progresiva. Bsqueda bidireccional.

    http://decsai.ugr.es/~lcv/Docencia/itmia/Clases/Practicas/BUSQUEDA_SIN.HTM Resumen de los tipos de bsq. ciega

  • BSQUEDA CIEGA (TIPOS)Bsqueda en amplitud: - Procedimientos de bsqueda nivel a nivel.- Para cada uno de los nodos de un nivel se aplican todos los posibles operadores.- No se expande ningn nodo de un nivel antes de haber expandido todos los del nivel anterior.- Se implementa con una estructura FIFO.

    Ejemplo de movimiento de caballo dirigido con bsqueda en amplitud ( Archivo flash )

  • BSQUEDA CIEGA (TIPOS)- Ventajas:- Si existe la solucin, la encuentra en la menor profundidad posible.- Desventajas:- Explosin combinatoria aparece frecuentemente debido a la alta complejidad espacial y temporal de esta tcnica.

    Referencia a sta y otras tcnicas de bsqueda ciega:[Fernndez, Gonzlez y Mira, 1998] Cap. 1 Bsqueda sin informacin del dominio

  • BSQUEDA CIEGA (TIPOS)Bsqueda en profundidad:- La bsqueda se realiza por una sola rama del rbol hasta encontrar una solucin o hasta que se tome la decisin de terminar la bsqueda por esa direccin.- Terminar la bsqueda por una direccin se debe a no haber posibles operadores que aplicar sobre el nodo hoja o por haber alcanzado un nivel de profundidad muy grande.- Si esto ocurre se produce una vuelta atrs (backtracking) y se sigue por otra rama hasta visitar todas las ramas del rbol si es necesario.

  • BSQUEDA CIEGA (TIPOS)- Ventajas:- Tiene menor complejidad espacial que bsqueda en amplitud.- Desventajas:- Se pueden encontrar soluciones que estn mas alejadas de la raz que otras.- Existe el riesgo de presencia de bucles infinitos.

    Un ejemplo de uso de distintos tipos de bsqueda ciega ( Problema de las jarras )

  • BSQUEDA CIEGA (TIPOS)Bsqueda en profundidad progresiva:- Se define una profundidad predefinida. - Se desarrolla el rbol realizando una bsqueda en profundidad hasta el lmite definido en el punto anterior. - Si se encuentra la solucin FIN- En caso contrario, se establece un nuevo lmite y volvemos al segundo paso.

    Un artculo sobre la historia de esta tcnica

  • BSQUEDA CIEGA (TIPOS)Bsqueda bidireccional:- Se llevan a la vez dos bsquedas: una descendente desde el nodo inicial y otra ascendente desde el nodo meta.- Al menos una de estas dos bsquedas debe ser en anchura para que el recorrido ascendente y descendente puedan encontrarse en algn momento. - Cuando se llegue a un nodo que ya haba sido explorado con el otro tipo de bsqueda, el algoritmo acaba. - El camino solucin es la suma de los caminos hallados por cada bsqueda desde el nodo mencionado hasta el nodo inicial y hasta el nodo meta.

  • Sistemas de reduccin Objetivo: reducir un problema en subproblemas ms sencillos que el problema original.

    Ejemplo: integrales por partes.

    Grafos: en un grafo de reduccin, cada uno de los nodos representan un subproblema del problema original.

  • Bsqueda heurstica Las tcnicas de bsqueda heurstica usan el conocimiento del dominio para adaptar el solucionador y, de esta manera, ste sea ms potente y consiga llegar a la solucin con mayor rapidez. Por tanto, estas tcnicas utilizan el conocimiento para avanzar buscando la solucin al problema. Definiciones:- Costo del camino: coste necesario para ir del nodo raz al nodo meta por dicho camino.- Costo para hallar la solucin: coste necesario para encontrar el camino anteriormente definido.Potencia heurstica: capacidad de un mtodo de exploracin para obtener la solucin con un coste lo ms bajo posible.

    http://es.wikipedia.org/wiki/Heur%C3%ADstica_(computaci%C3%B3n)

  • Funcin de evaluacin heurstica Definicin: es una aplicacin del espacio de estados con el espacio de los nmeros realesF(estado) => n n representa lo cercano que esta el estado con el que se ha aplicado la funcin de evaluacin de la solucin final.

    Es muy importante mantener un equilibrio entre la eficiencia de la funcin y su complejidad. No debemos tener una funcin de evaluacin demasiado complicada, ni tampoco una demasiado sencilla pero que no avance prcticamente nada en el problema. En caso de no mantener este equilibrio se podra producir explosin combinatoria.

    http://www.infor.uva.es/~arancha/IA/busqueda/busq2.pdf

  • Estrategias de bsqueda heurstica Tipos: Estrategias tentativas: aquellas en las que se puede abandonar la exploracin de una rama y pasar a explorar otra en cualquier momento del problema. Estrategias irrevocables: aquellas en las que no se puede abandonar la exploracin de la rama por la que se comenz.Mtodos: Gradiente Primero el mejor Bsqueda en haz Algoritmo Ahttp://www.lsi.upc.es/~bejar/ia/material/teoria/2-BH2-Busqueda_heuristica.pdfhttp://www.secyt.frba.utn.edu.ar/gia/IIA-mod2-Procedimientos.pdf

  • Estrategias de bsqueda heurstica Gradiente: Metodologa: elegir el camino de mxima pendiente, usando para ello la funcin de evaluacin. Tipo: irrevocable. Ventajas: se llega a la solucin con poco coste computacional. Inconvenientes: puede ser que el problema no sea compatible con este mtodo, y, por lo tanto, no conseguiremos obtener la solucin.

  • Estrategias de bsqueda heurstica Primero el mejor:

    Metodologa: elegir como siguiente nodo aquel con mayor funcin de evaluacin.

    Tipo: tentativo.

    Ventajas: no depende en exceso de la funcin de evaluacin.

    Inconvenientes: excesiva complejidad espacial, pues se deben guardar todos los nodos abiertos.

  • Estrategias de bsqueda heurstica Bsqueda en haz:

    Metodologa: elegir un conjunto de nodos como los siguientes a expandir, y hacerlo de forma irrevocable.

    Tipo: irrevocable/tentativo.

    Ventajas: ms permisible.

    Inconvenientes: en caso de que el sistema sea irrevocable, este mtodo no acta con eficacia.

  • Estrategias de bsqueda heurstica Algoritmo A:

    Metodologa: Ponderar a la vez lo cerca que estamos del nodo meta y lo lejos que estamos del nodo inicial.

    Tipo: tentativo.

    Ventajas: soluciones ms cercanas a la raz.

    Inconvenientes: la funcin de evaluacin se complica.

  • Bsqueda con adversosLa bsqueda con adversos (juego contra un oponente) analizalos problemas en los que existe mas de un adversario modificando el estado del sistema.

    Hay dos operadores:- el que lleva el problema a la mejor situacin (jugada nuestra)- el que lleva el problema a la peor situacin (jugada de nuestro adversario)

  • Bsqueda con adversos: Algoritmo MINIMAX Minimax es un mtodo de decisin para minimizar la prdida mxima esperada en juegos con adversario y con informacin perfecta.

    Minimax es un algoritmo recursivo.

    El funcionamiento de Minimax puede resumirse como elegir mejor movimiento para ti mismo suponiendo que tu contrincante escoger el peor para ti.

  • Pasos del algoritmo MinimaxGeneracin del rbol de juego. Se generarn todos los nodos hasta llegar a un estado terminal.Clculo de los valores de la funcin de evaluacin para cada nodo terminal.Calcular el valor de los nodos superiores a partir del valor de los inferiores.Desde los nodos de nivel n, buscar la mejor situacin para mi y la peor para mi rival. Elegir la jugada valorando los valores que han llegado al nivel superior, es decir, obtengo la mejor rama.

  • Bsqueda con adversos: Algoritmo MINIMAXEl algoritmo explorar los nodos del rbol asignndoles un valor numrico mediante una funcin de evaluacin, empezando por los nodos terminales y subiendo hacia la raz.

    La funcin de evaluacin definir lo buena que es la posicin para un jugador cuando la alcanza. Ejemplo: en el ajedrez los posibles valores son (+1,0,-1) que se corresponden con ganar, empatar y perder respectivamente. Esto ser diferente para cada juego.

    Ms informacin sobre MINIMAX y ejemplo

  • Ejemplo MINIMAXABCDEFGHIJ780659Min(7,8)Min(0,6)

    Min(5,9)

    705Max(7,0,5)7Otros ejemplos:Ejemplo de rbol MINIMAX para el juego del ajedrezEjemplo para el juego de las 3 en raya

  • Bsqueda con adversos: Poda Alfa-BetaSe aplica en tcnicas con adversos y se usa para reducir el coste computacional de MINIMAX podando las ramas que nos llevan a una solucin peor que las ya encontradas.

    Llamaremos valores alfa a los valores calculados hacia atrs de los nodos max. Los valores alfa de los nodos max nunca pueden decrecer.

    Llamaremos valores beta a los valores calculados hacia atrs en los nodos min. Los valores min nunca pueden crecer.

  • Funcionamiento de la Poda Alfa-BetaPuede suspenderse la exploracin por debajo de un nodo en cualquiera de los casos siguientes:

    A. Por debajo de cualquier nodo min que tenga valores beta menores o iguales a los valores de cualquier nodo max ascendiente suyo.

    B. Por debajo de un nodo max que tenga un valor alfa mayor o igual al valor beta de cualquier nodo min ascendiente.

  • Funcionamiento de la Poda Alfa-BetaComo ha podido verse, la poda alfa-beta es aplicar minimax, solo que decidimos que algunas ramas no sern exploradas, consiguiendo con esto ahorrar algo de espacio y de tiempo computacional.

    Ejemplo de la poda Alfa-Beta

    Ms informacin sobre la poda Alfa-Beta y su eficiencia

  • Aplicaciones: GPS (General Problem Solver)Alan Newell y Herbert Simon, trabajando la demostracin de teoremas y el ajedrez por ordenador logran crear un programa llamado GPS (Solucionador General de Problemas) en los aos 60.

    Se trataba de un programa que por medio de una serie de algoritmos basados en anlisis, ms o menos exhaustivos, fuera capaz de resolver toda clase de problemas relativos a juegos de estrategias y demostraciones automticas.

    Se le podan ofrecer pequeos problemas (como el tpico del mono que debe coger un pltano que se encuentra colgado del techo), y ste deber describir todos los pasos que realiza hasta conseguir su objetivo.

  • Aplicaciones: GPS (General Problem Solver)El usuario defina un entorno en funcin de una serie de objetos y los operadores que se podan aplicar sobre ellos.

    Se basaba en el anlisis medios-fines que consiste en detectar las diferencias entre un objetivo deseado y la situacin actual y reducir despus esas diferencias.

    Se aplic por primera vez el Backtracking (vuelta atrs) (probar si funciona y si no, volver atrs y probar otra cosa) que se convirti desde aquel momento en una herramienta bsica de la I.A. De forma similar a las tcnicas explicadas anteriormente.

  • Aplicaciones: GPS (General Problem Solver)El GPS manejaba reglas heursticas (aprender a partir de sus propios descubrimientos) que la conducan hasta el destino deseado mediante el mtodo del ensayo y el error.

    La ambicin era grande, as como lo fue la decepcin que tuvieron al ver que a pesar de los progresos tericos y de algunos programas espectaculares, no obtuvieron los resultados que se esperaban.

  • Aplicaciones: GPS (General Problem Solver)Fue entonces cuando algunos investigadores decidieron cambiar por completo el enfoque del problema: restringieron sus ambiciones a un dominio especifico e intentaron reproducir la forma en que los expertos efectuaban su razonamiento.

    As fue como nacieron los sistemas expertos.

    Ejemplo de funcionamiento en pseudocdigo de GPS (ingls)

  • Enlaces de intersTcnicas de bsqueda heurstica (informacin detallada sobre tcnicas de bsqueda heurstica)

    General Problem Solver (programa que representa una version simplificada del General Problem Solver)

    Tcnicas heursticas de resolucin de problemas (descripcin de tcnicas de bsqueda y aplicaciones tradicionales)

    Estudio de tcnicas de bsqueda (Estudio de tcnicas de bsqueda por vecindad a muy gran escala)