Documente Academic
Documente Profesional
Documente Cultură
Artificial
Clase 05
[G.R.Simari] 3
Resolucin de Problemas
[G.R.Simari] 4
Resolucin de Problemas
[G.R.Simari] 5
Bsqueda: Definiciones
Representacin usando Grafos
Propiedades de los Grafos y Bsqueda
Mtodos de bsqueda a ciegas:
Primero en profundidad (Depth First)
Primero a lo ancho (Breadth First)
Profundidad incrementada gradualmente (Iterative
Deepening)
Ramificacin incrementada gradualmente
(Iterative Broadening)
Bi-direccional
[G.R.Simari] 6
Resolucin de Problemas y Bsqueda
Operadores
S1
S2
Estados
S3
[G.R.Simari] 7
Resolucin de Problemas y Bsqueda
S0 S1 Sn
[G.R.Simari] 8
Definiciones y Conceptos Bsicos
[G.R.Simari] 9
Definiciones y Conceptos Bsicos
[G.R.Simari] 10
Definiciones y Conceptos Bsicos
[G.R.Simari] 13
Ejemplo: 8 Reinas
[G.R.Simari] 14
Y Como mueve una Reina?
[G.R.Simari] 15
Y Como mueve una Reina?
[G.R.Simari] 16
Ejemplo
[G.R.Simari] 17
Ejemplo: 8 Reinas
[G.R.Simari] 18
Ejemplo: 8 Reinas
Una solucin
[G.R.Simari] 19
Ejemplo: 8 Reinas
42
sucesores
[G.R.Simari] 21
Ejemplo: El Mundo de Bloques
Mesa Bloques
B
A
C
[G.R.Simari] 22
B Posibles
A C Movimientos
C
B B
A
A C
B
A C
[G.R.Simari] 23
Secuencia de
Operadores
B
A
C
Estado Inicial
A
B
C
Estado Final
[G.R.Simari] 24
Estado: una configuracin de Operadores:
los bloques sobre la mesa. reposicionamiento de los
bloques sobre la mesa o
sobre otro bloque, a partir
Espacio de Estados: de su posicin sobre la
todas las posibles mesa o sobre otro bloque.
configuraciones de los
bloques sobre la mesa.
Meta: un estado especfico.
B
A
C
[G.R.Simari] 25
8-puzzle
2 4 1
7 3 6
5
7 5
8 8
Un caso en donde la representacin es importante
[G.R.Simari] 26
Estado: Cada uno de los Meta: Un Estado especfico.
posibles arreglos de los
nmeros en el cuadrado.
2 4 8 2 3 4
7 3 5 1 5
1 6 8 7 6
Estado Inicial Estado Final
[G.R.Simari] 27
2 4 8 2 4 8 2 4
7 3 5 7 3 7 3 8
1 6 1 6 5 1 6 5
2 4 8
7 3
2 4 8
1 6 5
7 3 5
1 6
2 4 8 2 4 8
7 5 7 3 5
1 3 6 1 6
[G.R.Simari] 28
Buscando
[G.R.Simari] 29
Nodos
Explorados
[G.R.Simari] 30
Un Algoritmo de Bsqueda Genrico
buscar(F0 )
seleccionar(Nodo, F0 , F1 ),
es_meta(Nodo).
buscar(F0 )
seleccionar(Nodo, F0 , F1 ),
vecinos(Nodo, NN),
agregar_frontera(NN, F1 , F2 ),
buscar(F2 ).
[G.R.Simari] 31
Ejemplo
Definicin de vecinos y es_meta
vecinos(1, [2, 3]).
vecinos(2, [4, 5]).
vecinos(3, [6, 7, 8]).
vecinos(4, [ ]).
vecinos(5, [ ]).
vecinos(6, [ ]).
vecinos(7, [ ]).
vecinos(8, [ ]).
es_meta( 7 ).
seleccionar y agregar_frontera no
han sido definidos.
[G.R.Simari] 32
Costos
En algunos casos se asigna a los arcos en los grafos una cierta
longitud o peso.
Esto permite calcular el costo de un paso desde la raz a un
nodo meta.
Existen diferentes maneras de representar este costo.
Por ejemplo, costo(n1, n2, 6) representa el costo de recorrer el
arco que va de n1 a n2 es 6.
[G.R.Simari] 35
Encontrando Pasos
Una estructura posible sera la siguiente:
nodo( Nodo, Paso, Costo_del_paso ).
donde
Nodo es un nodo en el grafo
Paso es una lista de nodos desde la raz a
Nodo sin incluirlo
Costo_del_paso es el costo total del paso
hasta Nodo
Agregar un nodo al paso parcial implica ponerlo al
frente de la lista.
[G.R.Simari] 36
Encontrando Pasos
pbuscar(F0 , [ N | P ] )
seleccionar(nodo(N, P, C), F0 , F1 ),
es_meta(N ).
pbuscar(F0 , Paso )
seleccionar(nodo(N, P, C ), F0 , F1 ),
vecinos(N, Vecinos),
agregar_pasos(Vecinos, nodo(Nodo, P, C ), NF ),
agregar_frontera(NF, F1 , F2 ),
pbuscar(F2 , Paso ).
agregar_pasos([ ], FE, [ ] ).
agregar_pasos([M | R ], nodo(N, P, CP ), [nodo(M, [ N | P ], NCP) | FR] )
costo(N, M, C ),
NCP is CP + C,
agregar_pasos(R, node(N, P, CP ), FR ).
[G.R.Simari] 37
Bsqueda
A partir del problema se define el grafo y la
meta que se desea alcanzar.
Al definir el grafo queda definido cuales son
los vecinos de un nodo dado.
Una estrategia de bsqueda define la forma en
como se seleccionan elementos de la
frontera.
La forma de seleccionar el nodo a expandir y
la forma como agregar un nodo a la frontera
estn indefinidas y al hacerlo aparecen
diferentes estrategias de bsqueda.
[G.R.Simari] 38
Estrategias de Bsqueda: Propiedades
[G.R.Simari] 39
Bsqueda Primero en Profundidad
Depth-First
a
h
c
b
g
f
Secuencia de
e exploracin
a,b,d,e,c,f,g,h
[G.R.Simari] 40
Bsqueda Primero en Profundidad
[G.R.Simari] 41
Anlisis de Primero en Profundidad
Completitud: no
Optimalidad: no
b es el factor de
Complejidad Temporal: bm
ramificacin
m es la mxima
Complejidad Espacial: bm profundidad
[G.R.Simari] 42
Completitud
h
c
b
g
[G.R.Simari] 43
Completitud
Meta
h
c
b
g
[G.R.Simari] 44
Completitud
Meta
h
c
b
g
f
i
e
[G.R.Simari] 45
Optimalidad
Meta
h
c
b
g Supongamos
f que el costo de
los arcos es
e uniforme
Meta
[G.R.Simari] 46
Bsqueda Primero a lo Ancho
Breadth-First
a
h
c
b
g
f
Secuencia de
e
exploracin
a,b,c,d,e,f,g,h
[G.R.Simari] 47
Bsqueda Primero a lo Ancho
[G.R.Simari] 48
Anlisis de Primero a lo Ancho
Completitud: si
Optimalidad: si
b es el factor de
Complejidad Temporal: bd ramificacin
d es la profundidad
Complejidad Espacial: bd de la meta
[G.R.Simari] 49
Completitud
Meta
h
c
b
g
[G.R.Simari] 50
Completitud
Meta
h
c
b
g
f
i
e
[G.R.Simari] 51
Otros Mtodos de Bsqueda
Profundizacin Iterativa.
Expansin Iterativa
Bidireccional
[G.R.Simari] 52
Profundizacin Iterativa
[G.R.Simari] 53
Expansin Iterativa
[G.R.Simari] 54
Bidireccional
Meta
Raz
[G.R.Simari] 55
Fin