Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Técnicas básicas de búsqueda: Busqueda en anchura y profundidad, Apuntes de Ciencias de la Educación

Documento que presenta las técnicas básicas de búsqueda en anchura y profundidad aplicadas al problema de las jarras. Explica el proceso de construcción de árboles de búsqueda, la implementación de estas técnicas y sus propiedades.

Tipo: Apuntes

2012/2013

Subido el 30/06/2013

2manoli
2manoli 🇪🇸

3.7

(5)

23 documentos

1 / 47

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Inteligencia Artificial I Curso 2010–2011
Tema 3: ecnicas asicas de
usqueda
Jos´e Antonio Alonso Jim´enez
Francisco Jes´us Mart´ın Mateos
Jos´e L. Ruiz Reina
Dpto. de Ciencias de la Computaci´on e Inteligencia Artificial
Universidad de Sevilla
IA-I 2010–2011 CcIaecnicas asicas de usqueda 3.1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f

Vista previa parcial del texto

¡Descarga Técnicas básicas de búsqueda: Busqueda en anchura y profundidad y más Apuntes en PDF de Ciencias de la Educación solo en Docsity!

Inteligencia Artificial I Curso 2010–

Tema 3: T´ecnicas b´asicas de

b´usqueda

Jos´e Antonio Alonso Jim´enez Francisco Jes´us Mart´ın Mateos Jos´e L. Ruiz Reina

Dpto. de Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla

B´usqueda de soluciones en espacios de estados

x Objetivo: encontrar una secuencia de operadores que, partiendo del es-

tado inicial, obtenga un estado final

x Idea b´asica: exploraci´on del grafo del espacio de estados

u (^) En cada momento se analiza un estado actual (en un principio, el inicial) u (^) Si el estado actual es final, acabar (recopilando la sucesi´on de operadores) u (^) En caso contrario, obtener los sucesores del estado actual (expandir) u (^) Elegir un nuevo estado actual, dejando los restantes para analizarlos posteriormente (si fuera necesario) u (^) Repetir el proceso mientras haya estados por analizar

x La elecci´on del estado actual en cada momento determina una estrategia

de b´usqueda

Arboles de b´´ usqueda

x Nodo de un ´arbol de b´usqueda, componentes:

u (^) Estado u (^) Secuencia de operadores que conducen al estado desde el inicial (camino)

x Nodo ra´ız del ´arbol de b´usqueda: estado inicial + secuencia vac´ıa

x Nodos hoja del ´arbol de b´usqueda:

u (^) Nodos cuya expansi´on no ha producido sucesores nuevos u (^) Nodos pendientes de considerar (y expandir en su caso)

x Diferencias entre el espacio de estados y el ´arbol de b´usqueda:

u (^) Arbol vs. grafo u (^) Nodos del ´arbol de b´usqueda: estado + camino u (^) El ´arbol de b´usqueda se construye incrementalmente y refleja un proceso de b´usque- da sobre el grafo del espacio de estados

Implementaci´on de un problema de espacio de estados

x Elecci´on de una representaci´on (estructura de datos):

u (^) para los estados u (^) para los operadores

x La implementaci´on de un problema como espacio de estados consta de:

u (^) Una variable global ESTADO-INICIAL u (^) Una funci´on ES-ESTADO-FINAL(ESTADO) u (^) Una variable global OPERADORES. u (^) Una funci´on APLICA(OPERADOR,ESTADO)

x La funci´on APLICA(OPERADOR,ESTADO):

u (^) Devuelve NO-APLICABLE si OPERADOR no es aplicable a ESTADO u (^) En caso contrario, devuelve el estado resultante de aplicar OPERADOR a ESTADO

Implementaci´on de un procedimiento general de b´usqueda

FUNCION BUSQUEDA-GENERAL()

  1. Hacer ABIERTOS la "cola" formada por el nodo inicial (es decir, el nodo cuyo estado es ESTADO-INICIAL y cuyo camino es vac´ıo); Hacer CERRADOS vac´ıo
  2. Mientras que ABIERTOS no est´e vac´ıa, 2.1 Hacer ACTUAL el primer nodo de ABIERTOS 2.2 Hacer ABIERTOS el resto de ABIERTOS 2.3 Poner el nodo ACTUAL en CERRADOS. 2.4 Si ES-ESTADO-FINAL(ESTADO(ACTUAL)), 2.4.1 devolver el nodo ACTUAL y terminar. 2.4.2 en caso contrario, 2.4.2.1 Hacer NUEVOS-SUCESORES la lista de nodos de SUCESORES(ACTUAL) cuyo estado no est´a ni en ABIERTOS ni en CERRADOS 2.4.2.2 Hacer ABIERTOS igual a GESTIONA-COLA(ABIERTOS,NUEVOS SUCESORES)
  3. Devolver FALLO.

Implementaci´on de un procedimiento general de b´usqueda

x La implementaci´on anterior es independiente del problema

x ABIERTOS puede verse como una “cola” en la que esperan los nodos para

ser analizados

x CERRADOS contiene los nodos ya analizados:

u (^) Permite no iniciar la b´usqueda en estados analizados

u (^) En particular, nos permite evitar ciclos en el proceso de b´usqueda

u (^) En determinados problemas es prescindible

x La funci´on GESTIONA-COLA(ABIERTOS,NUEVOS SUCESORES):

u (^) A˜nade NUEVOS-SUCESORES a ABIERTOS, reordenando seg´un alg´un criterio concreto

u (^) Distintas concreciones de esta funci´on dan lugar a distintos algoritmos de b´usqueda (estrategias de b´usqueda) u (^) B´usqueda no informada o ciega vs. b´usqueda informada

B´usqueda en anchura

x Arbol de b´usqueda en anchura en el problema de las jarras:

(0 0) 1

(4 3) 4 5

(1 0) 7

(0 1) 9

(4 1) 11

(2 3) 13

(1 3) (3 0) 6

(3 3) 8

(4 2)

(0 2) 12

(2 0)

10

(4 0) 2 (0 3) 3

B´usqueda en anchura

x Tabla de b´usqueda en anchura para el problema de las jarras:

Nodo Actual Sucesores Abiertos ((0 0)) 1 (0 0) ((4 0) (0 3)) ((4 0) (0 3)) 2 (4 0) ((4 3) (1 3)) ((0 3) (4 3) (1 3)) 3 (0 3) ((3 0)) ((4 3) (1 3) (3 0)) 4 (4 3) () ((1 3) (3 0)) 5 (1 3) ((1 0)) ((3 0) (1 0)) 6 (3 0) ((3 3)) ((1 0) (3 3)) 7 (1 0) ((0 1)) ((3 3) (0 1)) 8 (3 3) ((4 2)) ((0 1) (4 2)) 9 (0 1) ((4 1)) ((4 2) (4 1)) 10 (4 2) ((0 2)) ((4 1) (0 2)) 11 (4 1) ((2 3)) ((0 2) (2 3)) 12 (0 2) ((2 0)) ((2 3) (2 0)) 13 (2 3)

Soluciones de los problemas mediante b´usqueda anchura

x Problema de las jarras:

(load "p-jarras-1.lsp") T (load "b-anchura.lsp") T (busqueda-en-anchura) #S(NODO :ESTADO (2 3) :CAMINO (LLENAR-JARRA-3-CON-JARRA- LLENAR-JARRA- VACIAR-JARRA-4-EN-JARRA- VACIAR-JARRA- LLENAR-JARRA-3-CON-JARRA- LLENAR-JARRA-4))

Soluciones de los problemas mediante b´usqueda en anchura

(trace es-estado-final) (busqueda-en-anchura)

  1. Trace: (ES-ESTADO-FINAL ’(0 0))
  2. Trace: (ES-ESTADO-FINAL ’(4 0))
  3. Trace: (ES-ESTADO-FINAL ’(0 3))
  4. Trace: (ES-ESTADO-FINAL ’(4 3))
  5. Trace: (ES-ESTADO-FINAL ’(1 3))
  6. Trace: (ES-ESTADO-FINAL ’(3 0))
  7. Trace: (ES-ESTADO-FINAL ’(1 0))
  8. Trace: (ES-ESTADO-FINAL ’(3 3))
  9. Trace: (ES-ESTADO-FINAL ’(0 1))
  10. Trace: (ES-ESTADO-FINAL ’(4 2))
  11. Trace: (ES-ESTADO-FINAL ’(4 1))
  12. Trace: (ES-ESTADO-FINAL ’(0 2))
  13. Trace: (ES-ESTADO-FINAL ’(2 3))

(untrace)

Soluciones de los problemas mediante b´usqueda en anchura

x Estad´ıstica de b´usqueda en anchura:

Tiempo Espacio Nodos M´aximo en Profundidad

(seg.) (bytes) analizados abiertos m´axima

Viaje 0.18 3.260 8 4 3

Granjero 0.18 3.432 10 2 7

Jarras 0.41 7.236 13 3 6

8-puzle 4.51 68.292 46 33 5

Propiedades de la b´usqueda en anchura

x Complejidad:

u (^) r: factor de ramificaci´on.

u (^) p: profundidad de la soluci´on.

u (^) Complejidad en tiempo: O(rp).

u (^) Complejidad en espacio: O(rp).

x Es completa.

x Obtiene una soluci´on con el m´ınimo n´umero de operadores.

Limitaciones de la b´usqueda en anchura

x Tiempo y espacio exponenciales

x Suponiendo ramificaci´on 10, 1000 nodos por seg. y 100 bytes por nodo:

Profundidad Nodos Tiempo Espacio

0 1 1 ms. 100 b

2 111 0.1 seg. 11 Kb

4 11111 11 seg. 1 Mb

6 106 18 min. 11 Mb

8 108 31 horas 11 Gb

10 1010 128 d´ıas 1 Tb

12 1012 33 a˜nos 11 Tb

14 1014 3500 a˜nos 11.111 Tb

B´usqueda en profundidad

x Arbol de b´usqueda en profundidad para el problema de las jarras:

(0 0) 1

(4 3)

(1 0)

(0 1)

(4 1)

(2 3)

(1 3)

(4 0) 2 (0 3)

3 4

6

7

8

5