Tecnicas de Busqueda IA

32
INSTITUTO TECNOLÓGICO DE NUEVO LEÓN INGENIERÍA EN SISTEMAS COMPUTACIONALES MATERIA: Inteligencia Artificial UNIDAD 2: 2.3 Técnicas de Búsqueda CATEDRÁTICO: Enrique Arturo García Juárez ALUMNO David Rivera Guadalupe N.L. a 11 de febrero de 2014

Transcript of Tecnicas de Busqueda IA

  • INSTITUTO TECNOLGICO DE NUEVO LEN

    INGENIERA EN SISTEMAS COMPUTACIONALES

    MATERIA:

    Inteligencia Artificial

    UNIDAD 2:

    2.3 Tcnicas de Bsqueda

    CATEDRTICO: Enrique Arturo Garca Jurez

    ALUMNO

    David Rivera

    Guadalupe N.L. a 11 de febrero de 2014

  • 2. Mtodos de bsqueda

    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.

  • Elementos de la bsqueda

    Conjunto de estados: Todas las configuracionesposibles en el dominio.

    Estados iniciales: Estados desde los que partimos.

    Estados finales: Las soluciones del problema

    Operadores: Se aplican para pasar de un estado aotro.

  • LOGO

    2.3. Primero en anchura

    (breadth first)

  • Es un algoritmo para recorrer o buscar elementos enun grafo (usado frecuentemente sobre rboles).Intuitivamente, se comienza en la raz (eligiendoalgn nodo como elemento raz en el caso de ungrafo) y se exploran todos los vecinos de este nodo.

    DEFINICIN

  • COMO TRABAJA

    BFS va formando un rbol a medida queva recorriendo un grafo, veamos elejemplo de la figura:

    Si observan bien todo parte de un nodoinicial que ser la raiz del rbol que seforma, luego ve los adyacentes a esenodo y los agrega en un cola, como laprioridad de una cola es FIFO (primero enentrar es el primero en salir), lossiguientes nodos a evaluar sern losadyacentes previamente insertados. unacosa bastante importante es el hecho deque no se pueden visitar 2 veces elmismo nodo o Estado.

    Ya que sino podriamos terminar en unciclo interminable o simplemente nohallar el punto deseado en el menornmero de pasos.

  • LOGO

    2.3.2. Primero en profundidad

    (depth first).

  • Bsqueda en profundidad. (Orden en el que sevisitan los nodos)

  • DEFINICIN

    Es un algoritmo que permite recorrer todos losnodos de un grafo o rbol (teora de grafos) demanera ordenada, pero no uniforme. Sufuncionamiento consiste en ir expandiendo todosy cada uno de los nodos que va localizando, deforma recurrente, en un camino concreto.

    Bsqueda en profundidad. (Orden en el que se visitan losnodos)

  • COMO TRABAJA

    Cuando ya no quedan ms nodos quevisitar en dicho camino, regresa(Backtracking), de modo que repite elmismo proceso con cada uno de loshermanos del nodo ya procesado.

  • Vamos a encontrar un camino entre los nodos A y F usando el mtodo depth first :

  • Se utilizaran 2 listas:

    Lista abrir: No pierde de vista lo que hay que hacer.

    Lista cerrada: Hace seguimiento de lo que ya se ha hecho.

    Nosotros no hemos hecho nada para l todava, as que vamos a aadir a nuestro lista Abrir .

    Lista de Apertura: A

    Lista cerrada:

  • Paso 0 Empecemos con nuestro nodo root

    Paso 1 explorar los vecinos de nuestro nodo A. Para decirlo

    de otra manera, vamos a tomar el primer elemento de nuestra lista abierta y explorar sus vecinos.

  • Los vecinos de Nodo A son los nodos B y C. Porque ahora estamos hecho con nuestra nodo A, podemos eliminarlo de nuestra lista Abrir y aadirlo a nuestra lista cerrada.

    Paso 2 El primer elemento de la lista abierta es el nodo B. B

    no es nuestro destino, as que vamos a explorar sus vecinos:

  • ahora se ha ampliado B, voy a quitarlo de la lista Abrir y agregarlo a la lista cerrada. Nuestros nuevos nodos son D y E, y aadimos estos nodos al principio de nuestra lista abierta:

    Lista Apertura: D, E, C

    Lista cerrada: A, B

  • Paso 3

    Debido a que D est en el principio de nuestra lista Abrir, ampliamos. D no es nuestro destino, y que no contiene ningn vecino. Todo lo que hacemos en este paso es quitar D de nuestra Lista abierto y aadirlo a nuestra lista Cerrado:

    Lista Apertura: E, C Lista cerrada: A, B, D

  • Paso 4 Ahora vamos a ampliar el nodo E de nuestra lista

    Abrir. E no es nuestro destino, as que exploramos sus vecinos y compruebe que contiene los vecinos F y G. Recuerde, F es nuestro objetivo, pero no nos detenemos aqu, sin embargo. A pesar de ser F en nuestro camino, que slo terminar cuando estamos a punto de ampliar nuestro nodo de destino - F en este caso

  • Nuestra lista abierta tendr el nodo E removido y los nodos F y G aadido. El nodo E eliminado ser aadido a nuestra lista Cerrado:

    Lista Apertura: F, G, C

    Lista cerrada: A, B, D, E

  • Paso 5

    Ahora vamos a ampliar el nodo F. Ya que es nuestro destino previsto, nos detenemos:

  • Quitamos F de nuestra lista de Abrir y aadiremos a nuestra lista cerrada. Ya que estamos en nuestro destino, no hay necesidad de ampliar F con el fin de encontrar a sus vecinos. Nuestras listas abiertas y cerradas finales contienen los siguientes datos:

    Lista Apertura: G, C Lista cerrada: A, B, D, E, F

    La ruta definitiva adoptada por nuestro mtodo de bsqueda en profundidad primero es el final de nuestra lista cerrada : A, B, D, E, F

  • LOGO

    2.3.3. Grafos O

  • GRAFO

    Un grafo es un conjunto de puntos(vrtices) en el espacio, que estnconectados por un conjunto de lneas(aristas).

  • GRAFO 0

    Consiste en un grafo con vrtices desconocidos

    Un grafo trivial es un grafo con 0 aristas, y 0 o 1vrtices.

    Los grafos triviales son grafos completos: a aquel que no posee vrtices se le llama grafo nulo (grafo con orden cero)

  • Mientras que al que posee un vrtice, se le conoce como grafo singleton (0 regular).

    Estos grafos son utilizados normalmente para comenzar una induccin matemtica (razonamiento que permite demostrar una infinidad de proposiciones), o para buscar contraejemplos de una proposicin dada.

  • No se puede construir, porque no tiene sentido hablar de un nodo aislado.

  • LOGO

    2.3.4. Grafos A

  • DEFINICIN

    El algoritmo de bsqueda A*(pronunciado A asterisco o Aestrella) se clasifica dentro de los algoritmos de bsqueda engrafos. El algoritmo A* encuentra, siempre y cuando secumplan unas determinadas condiciones el camino de menorcoste entre un nodo origen y uno objetivo

  • COMO TRABAJA

    Busca el camino en un grafo de un vrticeinicial hasta un vrtice final. Es lacombinacin de aproximacionesheursticas como del algoritmo

    Bes-first-Search.

  • Este tipo de bsqueda se usa para resolucin de problemas como el de un quiebra-cabezas.

  • BIBLIOGRAFA

    http://es.wikipedia.org/wiki/B%C3%BAsqueda_en_anchura

    http://www.slideshare.net/pakodiaz752/tipos-de-bsqueda-inteligencia-artificial

    http://inteligencia7b.blogspot.mx/2010/11/depth-first-search-primera-profundidad.html

    http://inteligencia2013udla.blogspot.mx/2013/06/problema-acertijo-del-lobo-la-cabra-y.html

    http://fher9696.wordpress.com/grafos/

    http://prezi.com/uagchtutnyhx/busqueda-por-el-metodo-algoritmico-a/

    http://www.kirupa.com/developer/actionscript/depth_breadth_search2.htm

  • LOGO

    THE CAAS