SlideShare ist ein Scribd-Unternehmen logo
1 von 85
Downloaden Sie, um offline zu lesen
21/03/2012 ( 1
Resolución de
problemas mediante
Búsqueda (a ciegas)
21/03/2012 ( 2
Temario
 Introducción a los agentes resolvedores de
problemas
 Formulación de problemas
 Algoritmo general de búsqueda
 Estrategias de búsqueda a ciegas:
 Búsqueda primero en anchura/profundidad
 Búsqueda de costo uniforme
 Búsqueda PP con profundidad iterativa
 Comparación estrategias de búsqueda
 Búsqueda evitando estados repetidos
21/03/2012 3
Repaso
Función del agente: proyecta un historial de
percepciones dada una acción.
Programa del agente: implementación de la
función del agente.
Un agente es cualquier cosa capaz de
percibir su medioambiente con la ayuda
de sensores y actuar en ese medio
utilizando actuadores.
Un agente es cualquier cosa capaz de
percibir su medioambiente con la ayuda
de sensores y actuar en ese medio
utilizando actuadores.
21/03/2012 4
Repaso (cont.)
Agente racional: aquel que hace lo correcto.
Medida de rendimiento: determina el éxito
del agente, es decir, le permite hacer lo
correcto.
Un agente racional es aquel que,
basado en su historial de percepciones,
emprende aquella acción que maximiza
su medida de rendimiento.
Un agente racional es aquel que,
basado en su historial de percepciones,
emprende aquella acción que maximiza
su medida de rendimiento.
21/03/2012 5
Agentes basados en objetivos
Los agentes resolvedores de problemas son
una clase de agentes basados en objetivos.
Agente basado en objetivos equivalente a
agente con medida de rendimiento binaria:
 0 si el estado del mundo no es el objetivo
 1 si el estado del mundo es un objetivo.
De esta manera, maximiza rendimiento si y
solo si (sii) alcanza el objetivo.
21/03/2012 6
Agentes resolvedores de
problemas
Los agentes resolvedores de problemas son
una clase de agentes basados en objetivos.
Tarea: encontrar secuencia de acciones que
alcanza algún estado objetivo.
Ventaja: Pueden descartar toda acción que no
alcanzará el objetivo (simplificando así el problema de
maximización de rendimiento).
21/03/2012 7
<formular,buscar,ejecutar>
 Formulación del problema: Proceso de decidir
 acciones,
 estados posibles del agente y del entorno
 Costo de las acciones.
 objetivo: basado en situación actual y medida de rendimiento.
 Búsqueda: Proceso de hallar la secuencia de
acciones que llevan al objetivo.
 Entrada: formulación problema
 Devuelve: secuencia de acciones solución.
 Ejecución: tras encontrar la solución, el agente
procede a ejecutar las acciones que esta recomienda.
21/03/2012 8
Formulación del problema (KE
)
 Estado inicial
 Acciones
 Función sucesor (SUCESOR-FN(x)): conjunto de pares ordenados <acción,
sucesor> de acciones legales en (alcanzables desde) x.
 Espacio de estados: estado inicial + función sucesor.
 Test objetivo
 Determina si un estado es un estado objetivo.
 Costo de camino: Además de encontrar el estado de mayor
rendimiento (i.e., estado objetivo), se busca el menor costo númerico
de cada sucesión de acciones.
 Refleja medida de utilidad (que estado del agente es mejor), no medida de
rendimiento (que estado del entorno es mejor).
 Se asume g(x,a,y) ≥ 0.
 Solución: camino desde estado inicial al objetivo.
 Solución óptima: Tiene costo de camino mínimo.
21/ 03/ 2012 9
Tipos de entorno resolubles
por medio de búsquedas
 Estático: Formulación y búsqueda se realizan sin
prestar atención a cambios en el entorno.
 Observable: Agente conoce estado inicial, y puede
detectar si un estado es objetivo o no.
 Discreto: numero fínito de acciones y estados.
 Determinista: la función sucesor es determinista.
 Secuencial.
 Agente individual.
A excepción de secuencial, todas las otras
caracteristicas son las mas simples de resolver.
21/03/2012 10
Ejemplo:
Vacaciones en Rumania
Problema: Encontrar secuencia de acciones que lleven
al agente desde Arad a Bucarest.
21/ 03/ 2012 11
Formulación del problema.
Estados: Ciudades.
Estado inicial:
Función sucesor:
Para x = Sibiu : {<Ir(Arad), En(Arad)>,<Ir(Oradea, En(Oradea)>, <Ir(Fagaras),
En(Fagaras)>,<Ir(Rimnicu Vilcea), En(Rimnicu Vilcea)>}
{En(Arad)}
{En(Arad), En(Sibiu, …)}
21/ 03/ 2012 12
{En(Bucarest)}
 Test objetivo: Determina si un estado es un
estado objetivo.
 Costo de camino: Costo númerico de cada
camino.
 Refleja medida de rendimiento.
 Se asume g(x,a,y) ≥ 0.
Solución: camino desde estado inicial al objetivo.
Solución óptima: Tiene costo de camino mínimo.
Vacaciones en Rumania
Formulación del problema.
g(camino) = Σa∈camino g(x,a,y)
g(x,a,y) : distancia en kms desde x a y.
21/03/2012 13
Espacio de estados
Vacaciones en Rumania
Estado
inicial
Estado objetivo
Función sucesor
desde En(Sibiu)
Una
Solución
21/03/2012 14
Mundo de la aspiradora
Estados: del mundo 22
,del agente 23
= 8
 Estado inicial: cualquier estado puede designarse
como inicial.
 Test objetivo: todos
cuadrados limpios?
 Costo camino:
costo de acción es 1.
21/03/2012 15
Mundo de la aspiradora
 Función sucesor para acciones: Izquierda (L),
Derecha (R), Aspirar (S)
Espacio de estados
21/03/2012 16
8-puzzle
 Estados: un estado esta determinado por la
posición de cada una de las fichas.
 Estado inicial: cualquier estado puede designarse
como inicial.
 Función sucesor: genera estados que resultan de
aplicar acciones: mover blanco Izq, Der, Arr, Abajo.
 Test objetivo: Ver figura.
 Costo camino:
costo de acción es 1.
21/03/2012 17
8-puzzle
 El espacio de estados contiene aproximadamente
(n+1)! estados:
8-puzzle: 9! = 362880
15-puzzle: 16! = 1,3 trillones (resoluble en pocos ms)
24-puzzle: 25! ~1025
(dificil de resolver hoy en día)
21/03/2012 18
Problemas del mundo real
 Algoritmos de búsqueda en rutas: rutas en redes
de computadoras, planificación viajes lineas aéreas
 Problema del viajante de comercio: visitar cada
ciudad una ves, utilizando el camino mas corto.
 Distribución VLSI: colocación de millones de
componentes y conexiones en un chip:
 minimizando área
 minimizando el circuito
 minimizando capacidades electricas
 Búsqueda en internet (sin indexadores): gŕafo de
nodos conectadas por arcos.
21/03/2012 19
<formular,buscar,ejecutar>
 Búsqueda (de un estado objetivo) en el espacio de
estados.
 Aquí, búsqueda por medio de la generación de un árbol
de busqueda (ojo, != espacio de estados):
 Nodo Raíz: estado inicial
 Frontera: nodos hoja del árbol parcialmente expandido.
 Nodos internos generados usando función sucesor para
expandir un nodo frontera.
 Estrategia de búsqueda: determina orden en que se
expanden los nodos frontera.
 Acaso mismo estado no puede visitarse dos veces?
Gráfos de búsqueda (después).
21/03/2012 20
Nodo ≠ Estado
Nodo: <estado, nodo-padre, acción, costo de camino, profundidad>
NODO-PADRE
NODO
ACCIÓN = derecha
PROFUNDIDAD = 6
COSTO DEL CAMINO = g(NODO) = 6En(Arad)
21/03/2012 21
Arbol de búsqueda. Ejemplo
21/03/2012 22
Arbol de búsqueda. Ejemplo
21/03/2012 23
Arbol de búsqueda. Ejemplo
21/03/2012 24
Búsqueda en árboles.
Algoritmo simple
funcion BUSQUEDA-ARBOLES(problema, estrategia) return una solución o fallo
1 Inicializa el árbol de búsqueda usando el estado inicial del problema.
2 loop
3 if no hay candidatos para expandir then return fallo
4 elegir un nodo hoja para expandir de acuerdo a la estrategia
5 if nodo contiene estado objetivo then return solución
6 else expandir el nodo y añadir nodos resultantes al árbol de búsqueda
7 fin loop
21/03/2012 25
Estrategia: Frontera
 Utilizaremos como estratégia a la frontera:
Definición: La frontera, conjunto de nodos hoja (nodos
generados pero no expandidos, i.e., sin hijos). Se
implementa como una cola.
21/03/2012 26
Operaciones de Cola
 HACER­COLA(elemento,...) crea cola con elementos
dados.
 VACIA?(cola) devuelve verdadero si no hay elementos
en cola.
 PRIMERO(cola) devuelve primer elemento de la cola
 BORRAR­PRIMERO(cola) devuelve PRIMERO(cola) y
lo borra de la cola.
 INSERTA(elemento, cola) inserta un elemento en la
cola y devuelve la cola resultante (tipos diferentes de cola
insertan elementos en órdenes distintos)
 INSERTA­TODO(elementos, cola) inserta conjunto
de elemntos en la cola y devuelve la cola resultado.
21/03/2012 27
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
Inicializa el árbol de búsqueda usando el estado inicial del problema.
bucle
si no hay candidatos para expandir entonces devolver fallo
elegir un nodo hoja para expandir de acuerdo a la estrategia
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 28
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
Inicializa el árbol de búsqueda usando el estado inicial del problema.
bucle
si no hay candidatos para expandir entonces devolver fallo
elegir un nodo hoja para expandir de acuerdo a la estrategia
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 29
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema]),frontera)
bucle
si no hay candidatos para expandir entonces devolver fallo
elegir un nodo hoja para expandir de acuerdo a la estrategia
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 30
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si no hay candidatos para expandir entonces devolver fallo
elegir un nodo hoja para expandir de acuerdo a la estrategia
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 31
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
elegir un nodo hoja para expandir de acuerdo a la estrategia
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 32
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
elegir un nodo hoja para expandir de acuerdo a la estrategia
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 33
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 34
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si nodo contiene estado objetivo
entonces devolver solución
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 35
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto
entonces devolver SOLUCION(nodo)
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 36
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto
entonces devolver SOLUCION(nodo)
de lo contrario expandir el nodo y añadir nodos resultantes al
árbol de búsqueda
fin bucle
21/03/2012 37
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto
entonces devolver SOLUCION(nodo)
frontera← INSERTAR-TODOS(EXPANDIR(nodo, problema), frontera)
fin bucle
21/03/2012 38
Algoritmo de búsqueda en
arboles.
función BUSQUEDA-ARBOLES(problema,frontera) devuelve una
solución o fallo
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto
entonces devolver SOLUCION(nodo)
frontera← INSERTAR-TODOS(EXPANDIR(nodo, problema), frontera)
fin bucle
Operaciones de la cola:
INSERTA, VACIA?, BORRAR-PRIMERO, INSERTAR-TODOS
21/ 03/ 2012 39
Algoritmo de búsqueda en
arboles.
función EXPANDIR(nodo,problema) devuelve conjunto de nodos
sucesores← conjunto vacío
para cada <acción, resultado> en
SUCESOR-FN[problema](ESTADO[nodo]) hacer
s ← un NODO nuevo
ESTADO[s] ← resultado
NODO-PADRE[s] ← nodo
ACCION[s] ← acción
COSTO-CAMINO[s] ← COSTO-CAMINO[nodo] + g(nodo, acción,s)
PROFUNDIDAD[s] ← PROFUNDIDAD[nodo]+1
añadir s a sucesores
devolver sucesores
Añade un nodo por cada estado sucesor de nodo.
21/03/2012 (c) Facundo Bromberg 40
Y la estrategia?
 La estrategia es definida seleccionando orden en
que se insertan los nodos expandidos en la cola:
En lo que resta se presentan varios algoritmos que
varian en cuanto a la estrategia utilizada:
frontera← INSERTAR-TODOS(EXPANDIR(nodo, problema), frontera)
 Búsqueda primero en anchura
 Búsqueda primero en profundidad
 Búsqueda de costo uniforme
 Búsqueda de profundidad limitada
 Búsqueda primero en profundidad
con profundidad iterativa
 Búsqueda bi-direccional
 Búsqueda primero el mejor
 Búsqueda voraz
 Búsqueda A*.
Estrategias de búsqueda a ciegas Estrategias de búsqueda informada
• Búsqueda IDA*
21/03/2012 41
Estrategias de búsqueda a
ciegas.
 Utilizan solamente la información disponible en la
definición del problema (expandiendo y testeando
estado objetivo).
 Estrategias que saben si un estado (no objetivo) es mas
prometedor que otro se llaman búsqueda informada.
21/03/2012 (c) Facundo Bromberg 42
Estrategias de búsqueda a
ciegas.
 Presentamos tres estrategias “ciegas” y tres
“extensiones”.
Implementación de la frontera:Estrategias
 Búsqueda primero en anchura
 Búsqueda primero en profundidad
 Búsqueda de costo uniforme
 FIFO (first-in first-out): primero en
generarse, primero en expandirse.
 LIFO (last-in first-out): último en
generarse, primero en expandirse.
 Expande primero el nodo con menor
costo de cámino.
Detalles:Extensiones
 Primero en profundidad con
profundidad limitada
 Primero en profundidad con
profundidad iterativa
 Búsqueda Bidireccional.
 A partir de cierta profundidad, nodos
generados excluidos de la frontera.
 Profundidad limite se expande
sistematicamente.
 Búsqueda desde inicio y desde
objetivo.
21/03/2012 43
Búsqueda primero en anchura
A
B C
D E F G
FRONTERA: [A]
A
B C
D E F G
FRONTERA: [B,C]
A
B C
D E F G
FRONTERA: [C,D,E]
A
B C
D E F G
FRONTERA: [D,E,F,G]
FRONTERA implementada como cola FIFOFRONTERA implementada como cola FIFO
21/03/2012 44
Rendimiento de algoritmos
resolvedores de problemas.
NOTA: No confundir con redimiento del agente.
 El rendimiento de un resolvedor de problemas se mide de cuatro
maneras:
 Completitud: Encuentra siempre una solución si esta existe?
 Optimalidad: Encuentra siempre la solución de menor costo de camino?
 Complejidad en tiempo: Número de nodos generados/expandidos.
 Complejidad en espacio: Número de nodos almacenados en memoria
durante la búsqueda.
 La complejidad en tiempo y espacio se miden con respecto a:
 b – factor de ramificación, o máximo número de sucesores de cualquier
nodo.
 d – profundidad del nodo objetivo mas superficial.
 m – máxima profundidad del espacio (árbol) de búsqueda (puede ser ∞)
21/03/2012 45
Búsqueda primero en anchura
Completitud
Encuentra siempre una solución si esta existe?
21/03/2012 46
Búsqueda primero en anchura
Completitud
Encuentra siempre una solución si esta existe?
SI, la búsqueda encontrará el objetivo siempre y cuando:
 Nodo objetivo mas superficial se encuentra a profundidad
finita d.
 Factor de ramificación b sea finito.
21/03/2012 47
Búsqueda primero en anchura
Optimalidad
El nodo objetivo mas superficial no es necesariamente el
óptimo.
Óptima solo si:
 Todas las acciones de un cierto nivel tienen el mismo costo.
21/03/2012 48
Búsqueda primero en anchura
Complejidad en tiempo
Supongamos:
espacio de estados donde cada estado tiene b
sucesores.
Solución se encuentra a profundidad d.
Peor caso: estado objetivo es último nodo del nivel d.
Número de nodos generados:
1 + b+b2
+b3
...+bd
bd+1
−b=Obd+1

21/03/2012 49
Complejidad en espacio
Quien debe permanecer en memoria?
Todo nodo en la frontera:
 Para el correcto funcionamiento del alg.
Todo antecesor de algún nodo en la
frontera:
 Porque cada nodo en la frontera es
potencialmente un objetivo, y por lo tanto su
camino a la raiz debe recordarse para
reconstruir la solución.
21/03/2012 50
Búsqueda primero en anchura
Complejidad en espacio
En BPA todo nodo generado debe permanecer
en memoria:
Porque pertenece a la frontera, o es un
antecesor de algún nodo en la frontera.
La complejidad espacial es por lo tanto:
Ob
d+1

21/03/2012 51
Búsqueda primero en anchura
Dos lecciones:
 Requerimientos de memoria son un mayor problema que
tiempo de ejecución.
 Problemas de búsqueda de complejidad exponencial, no
pueden resolverse por métodos sin información.
1 exabyte3523 años1015
14
10 petabytes35 años1013
12
101 terabytes129 días1011
10
1 terabyte31 horas109
8
10 gigabytes19 minutos107
6
106 megabytes11 segundos1111004
1 megabyte0.11 segundos11002
MEMORIATIEMPONODOSPROFUNDIDAD
21/03/2012 52
Búsqueda de costo uniforme
A
B C
D E F G
A
B C
D E F G
FRONTERA: [B(1),C(2)]
A
B C
D E F G
FRONTERA: [C(2),D(2,5),E(3,5)]
A
B C
D E F G
FRONTERA ordenada por costo de camino g(n)
(ver definición de g(n) en la próxima diapositiva)
FRONTERA ordenada por costo de camino g(n)
(ver definición de g(n) en la próxima diapositiva)
1 2
1,5
2,5 1 1,3
1 2
1,5
2,5 1 1,3
1 2
1,5
2,5 1 1,3
1 2
1,5
2,5 1 1,3
FRONTERA: [D(2,5),F(3), E(3,5) G(3,3)]
FRONTERA: [A(0)]
21/03/2012 53
Función de costo g(n)
g(n) = costo (real) de alcanzar el nodo,
i.e., costo del camino desde el nodo inicial hasta n.
A
B C
D E F G
1 2
1,5
2,5 1 1,3
g(A) = 0
g(C) = 2
g(G) = 3,3
Por ejemplo:
21/ 03/ 2012 54
Búsqueda de costo uniforme
Análisis
Completo? SI, si el costo mínimo de todas las acciones
es ε >0. De esta manera no hay ciclos infinitos (entre los
nodos conectados por el costo nulo).
Óptimo? Si.
Demostración: Suponamos, por contradicción, que el algoritmo no
es óptimo, es decir, que el algoritmo retorna nodo A como solución
(con costo g(A)), pero que existe un nodo objetivo B tal que g(B) <
g(A). Pero si asi fuera, la definición del algoritmo nos asegura que
B esta primero en la frontera, y por lo tanto debería haber sido
expandido primero, y por ende testeado primero.
21/ 03/ 2012 55
Búsqueda de costo uniforme
Complejidad en tiempo y espacio
 En el algoritmo de BPA, la complejidad temporal y
espacial se definión en función de b y d.
 En BCU puede ocurrir que la solución no sea el
objetivo menos profundo como en BPA.
 Si G* es el costo de la solución, y asumimos el peor
caso en el que el costo de cada acción fue el mínimo
ε, entonces:
d = G*/ε
Las complejidades en tiempo y espacio son entonces:
O(bG*/ε
)
21/03/2012 56
Búsqueda primero en profundidad
FRONTERA implementada como cola LIFO (o pila)FRONTERA implementada como cola LIFO (o pila)
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
A
B C
D E F G
OH I J K L M N
[M,G][C][E,C][D,E,C]
[L,M,G][K,C][I,E,C][B,C]
[F,G][J,K,C][H,I,E,C][A]
21/03/2012 57
Encuentra siempre una solución si esta existe?
Búsqueda primero en profundidad
Completitud
3
21/03/2012 58
Encuentra siempre una solución si esta existe?
NO, a menos que espacio de estados sea finito y no hay
ciclos.
Búsqueda primero en profundidad
Completitud
3
21/ 03/ 2012 59
Búsqueda primero en profundidad
Complejidad en tiempo
Supongamos:
factor de ramificación uniforme b.
Profundidad del arbol m (potencialmente >> d hasta infinito!).
Entonces, en el peor caso, nro de nodos generados:
Terrible si m es mucho mayor que d.
Ejemplo: C es el único estado objetivo.
Pero, si existen muchas soluciones, entonces mas
rapido que primero en anchura.
Ejemplo: si H también es solución se generaron bm estados solamente.
Ob
m

21/03/2012 60
Búsqueda primero en profundidad
Complejidad en espacio
Obm+1
No es mas exponencial, pero igual ojo, m != d
Si nodo objetivo esta en último nivel, o bien a la izq,
se reduce de 10 petabytes a 118 Kb para d=12.
De donde proviene tal reducción?
Nodos cuyo sub-arbol ha sido generado puede
eliminarse de memoria (ni el, ni ninguno de sus
descendientes pertenecen a la frontera).
Puede reducirse a (m+1) con búsqueda hacia atrás.
21/03/2012 61
Búsqueda de profundidad limitada
BPP es mejor que BPA siempre y cuando m sea
pequeño (con respecto a d).
Se puede aliviar el problema de m infinito aplicando BPP
con límite de profundidad l (predeterminado x usuario):
•Es decir, nodos a profundidad l se asumen hoja.
21/03/2012 62
Búsqueda de profundidad limitada
Completitud? NO cuando l<d.
Optimalidad? NO. (mismas razones que BPP)
Complejidad en tiempo:
Complejidad en espacio:
BPP es equivalente a BPL con l = infinito.
Ob
l

Obl
2 r1/03et/2ur012n sucesores 63
Búsqueda de profundidad limitada
Puede implementarse modificando función EXPANDIR
(libro propone otro algoritmo, recursivo).
funcion EXPANDIR(nodo,problema,limite) return conjunto de nodos
if PROFUNDIDAD[nodo] = limite then return conjunto vacío
sucesores← conjunto vacío
for each <acción, resultado>
in SUCESOR-FN[problema](ESTADO[nodo]) do
s ← un NODO nuevo
ESTADO[s] ← resultado
NODO-PADRE[s] ← nodo
ACCION[s] ← acción
COSTO-CAMINO[s] ← COSTO-CAMINO[nodo] + c(nodo, acción,s)
PROFUNDIDAD[s] ← PROFUNDIDAD[nodo]+1
añadir s a sucesores
21/03/2012 64
Búsqueda de profundidad limitada
Util solo cuando se conoce número de estados o
diámetro del espacio de estados, porque ninguna
solución puede ser mas larga que estos valores.
Ejemplo, mapa de Rumania:
Nro de estados: 20 ciudades.
Diámetro: 9 ciudades.
Entonces, BPL con l=9 es completo.
21/03/2012 65
Búsqueda de profundidad iterativa
Encuentra el mejor limite de profundidad l.
Estrategia: aumentar gradualmente l hasta encontrar
un objetivo, osea, cuando l=d.
funcion BUSQUEDA-PROFUNDIDAD-ITERATIVA(problema)
for limite 0 to infinito do
resultado <- BUSQUEDA-PROFUNDIDAD-LIMITADA(problema, limite)
if resultado != fallo_por_corte return resultado
21/03/2012 66
Búsqueda de profundidad iterativa
Combina lo mejor de BPA y BPP:
Completo? SI
Optimo? SI (cuando coste de camino no disminuye con
la profundidad del nodo)
Complejidad en tiempo? (d, no m Y d, no d+1)
Complejidad en espacio? (d, no m)
Preferido para espacio estados grande y no se conoce d.
Ob
d

Obd 
21/03/2012 67
Búsqueda Bidireccional
 Dos búsquedas simultaneas desde inicio y desde objetivo.
– Motivación: Complejidad temporal es
• Previo a expansión, requiere chequear si nodo pertenece al otro árbol,
osea, debe almacenar el arbol completo: Complejidad espacial es
entonces
 Cuando hay mas de un estado objetivo: crear nodo ficticio con todos los
objetivos como predecesores.
 Completo y óptimo si ambas búsquedas son BPA.
bd /2
+bd /2
≪bd
Inicio objetivo
b
d /2
21/03/2012 68
Búsqueda Bidireccional
Inicio objetivo
El/los predecesores de cada nodo deben
poder computarse eficientemente:
– Por ejemplo, cuando las acciones son reversibles.
21/03/2012 69
Comparación de estrategias de
búsqueda a ciegas
SI
si costos son
iguales y usa
BPA
bd/2
bd/2
SI*
Si b finita
Si usa BPA
Bidireccional
NO
bm
bm
NO
Primero en
profundidad
SI
si costos son
descendientes
NOSISI*
si costos son
iguales
Optimo?
bdblbC*/e
bd+1Espacio
bd
bl
bC*/e
bd+1Tiempo
SISI,
si l ≥ d
SI*
Si b es finita
Si g(x,a,y) > 0
SI*
Si b finita
Completo?
Produndidad
iterativa
Profundidad
-limitada
Costo-
uniforme
Primero
en anchura
Criterio
2su1/ 03/s2012ub-árbol). 70
Estados repetidos
Hasta ahora ignoramos importante complicación:
expansión de estados ya visitados.
Cuando ocurre? Cuando espacio de estados no es
un árbol (recuerden: árbol es un grafo acíclico)
Inevitable cuando acciones son reversibles (e.g.,
búsqueda en rutas, puzzles que deslizan piezas).
problemas? Árboles de búsqueda exponenciales o
infinitos (ciclos).
Evitable si “podamos” del árbol los nodos con
estados ya visitados (incluyendo su sucesores, i.e.,
21/03/2012 71
Estados repetidos
exponencialidad del arbol de búsqueda
El mejor caso es donde cada estado es visitado una
ves (i.e., existe a lo sumo un nodo por estado).
El peor caso es visitar cada nodo del espacio de
estados un número exponencial de veces:
Espacio de estados: Árbol de búsqueda:
21/03/2012 72
Solución: evitar estados
repetidos
La solución es comparar el estado de cada nuevo nodo
a expandir con aquellos ya expandidos.
Problema: requiere recordar todos los estados ya
expandidos → BPP se vuelve nuevamente ineficiente
en memoria.
• Una opción intermedia para BPP es testear ciclos
solamente: evita árboles infinitos, pero no explosión
exponencial.
Si efectivamente se recuerda cada estado expandido,
la búsqueda puede verse como una exploración del
grafo de estados.
21/03/2012 73
Búsqueda en grafos.
Entonces ...recordar qué se visitó:
• insertar cada estado visitado en lista cerrada, y ...
No visitarlo nuevamente
• Antes de insertar en la frontera verificar que no
este en lista cerrada.
21/03/2012 74
Búsqueda en grafos.
función BUSQUEDA-GRAFOS(problema,frontera) devuelve una solución o fallo
cerrado ← conjunto vacío
frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera)
bucle
si VACIA?(frontera) entonces devolver fallo
nodo ← BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto
entonces devolver SOLUCION(nodo)
si ESTADO[nodo] no está en cerrado entonces
añadir ESTADO[nodo] a cerrado
frontera← INSERTAR-TODO(EXPANDIR(nodo, problema), frontera)
fin bucle
Entonces ...recordar qué se visitó:
• insertar cada estado visitado en lista cerrada, y ...
No visitarlo nuevamente
• Antes de insertar en la frontera verificar que no este en lista cerrada.
21/03/2012 75
Optimalidad en grafos
desecha último camino repetido descubierto! Pero si es mejor?
• Para costos constantes, esto no puede ocurrir
en búsquedas PA y costo uniforme
-> PA y CU son OPTIMOS en gráfos
• En BPP y BPI es posible que encuentre primero el
camino sub-óptimo
-> NO OPTIMOS en gráfos.
21/03/2012 76
Búsqueda en grafos.
Posible, aunque problemática, solucion para BPP y BPI:
desechar el peor de ambos.
• Supongamos dos nodos n1
y n2
que representan a un
mismo estado.
• Si n1
fue generado antes que n2
, puede que no solo n1
sino que gran parte de su sub-arbol ya ha sido expandido.
• Desechar el peor implicaría que si n2
es mejor, es decir
f(n2
) < f(n1
), hay que reemplazar a n1
por n2
, y ello implica
actualizar los costos de camino de todos los descendientes
de n1
ya generados con los nuevos valores que trae n2
.
21/03/2012 77
Búsqueda con información
parcial. (omitido de EV0)
Hasta ahora asumimos que:
el entorno es totalmente observable y
determinista, y
agente conoce efectos de cada acción
Osea, agente:
Puede calcular estado resultado de cualquier
secuencia de acciones.
Siempre sabe en que estado esta.
Percepción no le proporciona nueva info.
21/03/2012 78
Búsqueda con información
parcial.
Que pasa si relajamos estas suposiciones?
Problemas sin sensores: No sabe donde esta.
Problemas de contingencia: ocurre cuando
entorno parcialmente observable y acciones
inciertas:
•En este caso, percepciones proporcionan nueva
info después de cada acción.
21/03/2012 79
Problemas sin sensores
Agente no sabe en que estado esta, pero sí en que
estados no esta:
creencia: conjunto de estados posibles.
Inicialmente agente sabe que
esta en {1,2,3,4,5,6,7,8}.
Secuencia: Derecha, Aspirar,
Izquierda, Aspirar lo lleva a estados
de creencia: {2,4,6,8}, {4,8}, {3,7} y
finalmente al estado objetivo {7}.
21/03/2012 80
Problemas sin sensores
Se resuelven mediante búsquedas en espacio de
creencias. Aqui, acciones aplican un estado de
creencia en otro.
ANTES:
Espacio de estados
físicos
Se resuelven mediante búsquedas en espacio de
creencias. Aqui, acciones aplican un estado de
creencia en otro.
21/03/2012 81
Problemas sin sensores
Se resuelven mediante búsquedas en espacio de
creencias. Aqui, acciones aplican un estado de
creencia en otro.
ANTES:
Espacio de estados
físicos
Se resuelven mediante búsquedas en espacio de
creencias. Aqui, acciones aplican un estado de
creencia en otro.
21/03/2012 82
Problemas sin sensores
Se resuelven mediante
búsquedas en espacio de
creencias. Aqui, acciones
aplican un estado de
creencia en otro.
Puede ver ahora las soluciones?
21/03/2012 83
Problemas sin sensores
DIFICULTAD: si espacio de estados físico contiene n
estados, espacio estados de creencia contiene 2n
.
Puede extenderse a acciones no deterministas.
Simplemente seguir agregando estados a los estados
de creencia.
21/03/2012 84
Problemas de contingencia
+ Ley de Murphy: Aspirar puede ensuciar.
+ Percepción local.
– Percepción inicial:
– [I,Sucio] = {1,3}
– Secuencia de acciones:
– [Aspirar] = {5,7}
– [Derecha] ={6,8}
– [Aspirar] en {6}={8} (Success)
– PERO [Aspirar] en {8} = fallo (x Ley de Murphy)
Solución??
– Relajar requerimiento de secuancia rígida de acciones sin
percepciones:
Aspirar, Derecha, si [D,sucio] entonces Aspirar]
– Osea, intercalar percepciones (e.g., [D,sucio]) la ejecución,
osea, contemplar contingencias.
– Acciones posibles se amplian con percepciones (capçítulo 12).
21/03/2012 85
Repaso
Repaso (cont.)
Agentes basados en objetivos
Agentes resolvedores de problemas
<formular,buscar,ejecutar>
Formulación del problema (KE)
Tipos de entorno resolubles por medio de búsquedas
Ejemplo:
Vacaciones en Rumania
Vacaciones en Rumania Formulación del problema.
Vacaciones en Rumania Formulación del problema.
Espacio de estados
Vacaciones en Rumania
Mundo de la aspiradora
Mundo de la aspiradora
8-puzzle
8-puzzle
Problemas del mundo real
<formular,buscar,ejecutar>
Nodo ≠ Estado
Arbol de búsqueda. Ejemplo
Arbol de búsqueda. Ejemplo
Arbol de búsqueda. Ejemplo
Búsqueda en árboles. Algoritmo simple
Estrategia: Frontera
Operaciones de Cola
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Algoritmo de búsqueda en arboles.
Y la estrategia?
Estrategias de búsqueda a ciegas.
Estrategias de búsqueda a ciegas.
Búsqueda primero en anchura
Rendimiento de algoritmos resolvedores de problemas.
Búsqueda primero en anchura
Completitud
Búsqueda primero en anchura
Completitud
Búsqueda primero en anchura
Optimalidad
Búsqueda primero en anchura
Complejidad en tiempo
Complejidad en espacio
Búsqueda primero en anchura
Complejidad en espacio
Búsqueda primero en anchura
Búsqueda de costo uniforme
Función de costo g(n)
Búsqueda de costo uniforme
Análisis
Búsqueda de costo uniforme
Complejidad en tiempo y espacio
Búsqueda primero en profundidad
Búsqueda primero en profundidad
Complejidad en tiempo
Búsqueda primero en profundidad
Complejidad en espacio
Búsqueda de profundidad limitada
Búsqueda de profundidad limitada
Búsqueda de profundidad limitada
Búsqueda de profundidad limitada
Búsqueda de profundidad iterativa
Búsqueda de profundidad iterativa
Búsqueda Bidireccional
Búsqueda Bidireccional
Comparación de estrategias de búsqueda a ciegas
Estados repetidos
Estados repetidos
exponencialidad del arbol de búsqueda
Solución: evitar estados repetidos
Búsqueda en grafos.
Búsqueda en grafos.
Optimalidad en grafos
Búsqueda en grafos.
Búsqueda con información parcial. (omitido de EV0)
Búsqueda con información parcial.
Problemas sin sensores
Problemas sin sensores
Problemas sin sensores
Problemas sin sensores
Problemas sin sensores
Problemas de contingencia

Weitere ähnliche Inhalte

Was ist angesagt?

Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datosmyriam sarango
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busquedasacrilegetx
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Tema3 modelo relacional - normalización
Tema3   modelo relacional - normalizaciónTema3   modelo relacional - normalización
Tema3 modelo relacional - normalizaciónAlvaro Loustau
 
Unidad No. 5 - Agentes Inteligentes
Unidad No. 5 - Agentes InteligentesUnidad No. 5 - Agentes Inteligentes
Unidad No. 5 - Agentes InteligentesMilton Klapp
 
Métodos de Búsquedas en Inteligencia Artificial
Métodos de Búsquedas en Inteligencia ArtificialMétodos de Búsquedas en Inteligencia Artificial
Métodos de Búsquedas en Inteligencia ArtificialGregorys Gimenez
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetosalcrrsc
 
BúSqueda Primero En Anchura
BúSqueda Primero En AnchuraBúSqueda Primero En Anchura
BúSqueda Primero En Anchuramapaz91
 
Agentes reactivos basados en modelos
Agentes reactivos basados en modelosAgentes reactivos basados en modelos
Agentes reactivos basados en modelosSaúl Hulse
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de AprendizajeESCOM
 
Cuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IACuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IAluisilva18
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccionalLaura Del Pino Díaz
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptxRam Vazquez
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en javaLuis Miguel De Bello
 

Was ist angesagt? (20)

Seguridad en Base de Datos
Seguridad en Base de DatosSeguridad en Base de Datos
Seguridad en Base de Datos
 
Solución de problemas mediante busqueda
Solución de problemas mediante busquedaSolución de problemas mediante busqueda
Solución de problemas mediante busqueda
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Busqueda por profundidad iterativa
Busqueda por profundidad iterativaBusqueda por profundidad iterativa
Busqueda por profundidad iterativa
 
Tema3 modelo relacional - normalización
Tema3   modelo relacional - normalizaciónTema3   modelo relacional - normalización
Tema3 modelo relacional - normalización
 
Unidad No. 5 - Agentes Inteligentes
Unidad No. 5 - Agentes InteligentesUnidad No. 5 - Agentes Inteligentes
Unidad No. 5 - Agentes Inteligentes
 
IA CAPITULO 4
IA  CAPITULO 4IA  CAPITULO 4
IA CAPITULO 4
 
Métodos de Búsquedas en Inteligencia Artificial
Métodos de Búsquedas en Inteligencia ArtificialMétodos de Búsquedas en Inteligencia Artificial
Métodos de Búsquedas en Inteligencia Artificial
 
Metodología orientada a objetos
Metodología orientada a objetosMetodología orientada a objetos
Metodología orientada a objetos
 
BúSqueda Primero En Anchura
BúSqueda Primero En AnchuraBúSqueda Primero En Anchura
BúSqueda Primero En Anchura
 
Modelos de iluminacion
Modelos de iluminacionModelos de iluminacion
Modelos de iluminacion
 
Agentes reactivos basados en modelos
Agentes reactivos basados en modelosAgentes reactivos basados en modelos
Agentes reactivos basados en modelos
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de Aprendizaje
 
Cuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IACuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IA
 
Búsqueda no informada - Búsqueda bidireccional
Búsqueda no informada - Búsqueda  bidireccionalBúsqueda no informada - Búsqueda  bidireccional
Búsqueda no informada - Búsqueda bidireccional
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Búsqueda IA
Búsqueda IABúsqueda IA
Búsqueda IA
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 

Andere mochten auch

20140723_CECWeek_UnionFenosa
20140723_CECWeek_UnionFenosa20140723_CECWeek_UnionFenosa
20140723_CECWeek_UnionFenosaWarwick Forster
 
Capacidad del disco duro imprimir
Capacidad del disco duro imprimirCapacidad del disco duro imprimir
Capacidad del disco duro imprimirsofi Bure
 
BTCON 03 on security transformation
BTCON 03 on security transformationBTCON 03 on security transformation
BTCON 03 on security transformationSri Joydip
 
Sanjit Patra's Resume
Sanjit Patra's ResumeSanjit Patra's Resume
Sanjit Patra's Resumesanjit patra
 
登鸛雀樓
登鸛雀樓登鸛雀樓
登鸛雀樓chauwang
 
Tnc q4 2016_earnings_presentation_final
Tnc q4 2016_earnings_presentation_finalTnc q4 2016_earnings_presentation_final
Tnc q4 2016_earnings_presentation_finalTennantCorporation
 
Presentacion I Mercado de Otoño pdf
Presentacion  I Mercado de Otoño pdfPresentacion  I Mercado de Otoño pdf
Presentacion I Mercado de Otoño pdfotiguzman
 
Disruptive Technologies: Impact on Strategic Alliances, Partnerships & Channels
Disruptive Technologies: Impact on Strategic Alliances, Partnerships & ChannelsDisruptive Technologies: Impact on Strategic Alliances, Partnerships & Channels
Disruptive Technologies: Impact on Strategic Alliances, Partnerships & ChannelsPhil Hogg
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Libro de los inventos
Libro de los inventosLibro de los inventos
Libro de los inventosotiguzman
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)Fuerza Auriazul
 
Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)
Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)
Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)Ashok Katta
 

Andere mochten auch (20)

Capitulo 9
Capitulo  9Capitulo  9
Capitulo 9
 
20140723_CECWeek_UnionFenosa
20140723_CECWeek_UnionFenosa20140723_CECWeek_UnionFenosa
20140723_CECWeek_UnionFenosa
 
Capacidad del disco duro imprimir
Capacidad del disco duro imprimirCapacidad del disco duro imprimir
Capacidad del disco duro imprimir
 
Peces
PecesPeces
Peces
 
BTCON 03 on security transformation
BTCON 03 on security transformationBTCON 03 on security transformation
BTCON 03 on security transformation
 
DOCENTE
DOCENTEDOCENTE
DOCENTE
 
Slidehare
SlidehareSlidehare
Slidehare
 
Lauriston.doc
Lauriston.docLauriston.doc
Lauriston.doc
 
Sanjit Patra's Resume
Sanjit Patra's ResumeSanjit Patra's Resume
Sanjit Patra's Resume
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Hollywood a2
Hollywood a2Hollywood a2
Hollywood a2
 
登鸛雀樓
登鸛雀樓登鸛雀樓
登鸛雀樓
 
Tnc q4 2016_earnings_presentation_final
Tnc q4 2016_earnings_presentation_finalTnc q4 2016_earnings_presentation_final
Tnc q4 2016_earnings_presentation_final
 
Presentacion I Mercado de Otoño pdf
Presentacion  I Mercado de Otoño pdfPresentacion  I Mercado de Otoño pdf
Presentacion I Mercado de Otoño pdf
 
Disruptive Technologies: Impact on Strategic Alliances, Partnerships & Channels
Disruptive Technologies: Impact on Strategic Alliances, Partnerships & ChannelsDisruptive Technologies: Impact on Strategic Alliances, Partnerships & Channels
Disruptive Technologies: Impact on Strategic Alliances, Partnerships & Channels
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Libro de los inventos
Libro de los inventosLibro de los inventos
Libro de los inventos
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)
Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)
Metabolism of Basic Amino Acids (Arginine, Histidine, Lysine)
 

Ähnlich wie Clase 03 busquedas a ciegas

Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BJose Andres
 
Agente Carro Aplicando La Búsqueda A Star
Agente  Carro Aplicando La Búsqueda  A StarAgente  Carro Aplicando La Búsqueda  A Star
Agente Carro Aplicando La Búsqueda A StarUTPL
 
Tecnicas de Busqueda en IA
Tecnicas de Busqueda en IATecnicas de Busqueda en IA
Tecnicas de Busqueda en IAAlfredoAlejo1
 
Diapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voracesDiapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voracesAriannys Romero Parra
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkEmilio Torrens
 
PRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.ppt
PRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.pptPRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.ppt
PRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.pptAPIRELAGONZALEZ
 
Tutorial network analyst
Tutorial network analystTutorial network analyst
Tutorial network analystCivil Serrano
 
Inteligencia Artificial busquedas en IA.pdf
Inteligencia Artificial busquedas en IA.pdfInteligencia Artificial busquedas en IA.pdf
Inteligencia Artificial busquedas en IA.pdfMarcoChannel
 
(UCV - 6325) Search algorithms
(UCV - 6325) Search algorithms(UCV - 6325) Search algorithms
(UCV - 6325) Search algorithmsWilmer Gonzalez
 
S4 tarea4 moolh
S4 tarea4 moolhS4 tarea4 moolh
S4 tarea4 moolh01Montes06
 
Agente Inteligente
Agente InteligenteAgente Inteligente
Agente Inteligenteluisfe
 
Agente Inteligente: Viajero Perdido
Agente Inteligente: Viajero PerdidoAgente Inteligente: Viajero Perdido
Agente Inteligente: Viajero PerdidoUTPL
 
Programacion orientada ojetos
Programacion orientada  ojetosProgramacion orientada  ojetos
Programacion orientada ojetosChikio Edu
 

Ähnlich wie Clase 03 busquedas a ciegas (20)

Inteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys BInteligencia Artificial - Leonys B
Inteligencia Artificial - Leonys B
 
Agente Carro Aplicando La Búsqueda A Star
Agente  Carro Aplicando La Búsqueda  A StarAgente  Carro Aplicando La Búsqueda  A Star
Agente Carro Aplicando La Búsqueda A Star
 
6 prob busquinte
6 prob busquinte6 prob busquinte
6 prob busquinte
 
Criterios de Busqueda en I.A
Criterios de Busqueda en I.ACriterios de Busqueda en I.A
Criterios de Busqueda en I.A
 
Tecnicas de Busqueda en IA
Tecnicas de Busqueda en IATecnicas de Busqueda en IA
Tecnicas de Busqueda en IA
 
Ior
IorIor
Ior
 
Diapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voracesDiapositiva prog no numerica 2 algoritmo voraces
Diapositiva prog no numerica 2 algoritmo voraces
 
Cuadro Comparativo.docx
Cuadro Comparativo.docxCuadro Comparativo.docx
Cuadro Comparativo.docx
 
Busqueda
BusquedaBusqueda
Busqueda
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation Framework
 
PRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.ppt
PRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.pptPRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.ppt
PRACTICAS DE MODELOS APLICABLE EN MATEMATICAS.ppt
 
Sistemas inteligentes
Sistemas inteligentesSistemas inteligentes
Sistemas inteligentes
 
Tutorial network analyst
Tutorial network analystTutorial network analyst
Tutorial network analyst
 
Inteligencia Artificial busquedas en IA.pdf
Inteligencia Artificial busquedas en IA.pdfInteligencia Artificial busquedas en IA.pdf
Inteligencia Artificial busquedas en IA.pdf
 
(UCV - 6325) Search algorithms
(UCV - 6325) Search algorithms(UCV - 6325) Search algorithms
(UCV - 6325) Search algorithms
 
S4 tarea4 moolh
S4 tarea4 moolhS4 tarea4 moolh
S4 tarea4 moolh
 
Agente Inteligente
Agente InteligenteAgente Inteligente
Agente Inteligente
 
Agente Inteligente: Viajero Perdido
Agente Inteligente: Viajero PerdidoAgente Inteligente: Viajero Perdido
Agente Inteligente: Viajero Perdido
 
Programacion orientada ojetos
Programacion orientada  ojetosProgramacion orientada  ojetos
Programacion orientada ojetos
 
Examen parcial 2
Examen parcial 2Examen parcial 2
Examen parcial 2
 

Mehr von Carlos Manuel Sanchez Fernandez (9)

Informe final carlos
Informe final   carlosInforme final   carlos
Informe final carlos
 
estadistica - probabilidades
estadistica - probabilidadesestadistica - probabilidades
estadistica - probabilidades
 
Libro practico sobre_contabilidad_genera
Libro practico sobre_contabilidad_generaLibro practico sobre_contabilidad_genera
Libro practico sobre_contabilidad_genera
 
Pc matematica-financiera
Pc matematica-financieraPc matematica-financiera
Pc matematica-financiera
 
Contabilidad financiera 1 teoria y ejercicios
Contabilidad financiera 1 teoria y ejerciciosContabilidad financiera 1 teoria y ejercicios
Contabilidad financiera 1 teoria y ejercicios
 
Guia4 html
Guia4 htmlGuia4 html
Guia4 html
 
Guia3 html
Guia3 htmlGuia3 html
Guia3 html
 
Guia2 html
Guia2 htmlGuia2 html
Guia2 html
 
Guia html 1
Guia html 1Guia html 1
Guia html 1
 

Kürzlich hochgeladen

ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESJHONJAIROVENTURASAUC
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)samuelsan933
 
sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstDavidRojas870673
 
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfAportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfElisaLen4
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxfranklingerardoloma
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALEdwinC23
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxMaxPercyBorjaVillanu
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientoscuentaparainvestigac
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricasurAN077
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfWILLIAMSTAYPELLOCCLL1
 

Kürzlich hochgeladen (20)

ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gst
 
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfAportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptxG4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
G4 - CASO DE ESTUDIO - VOLUMEN DE UN RESERVORIO (1).pptx
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas1. Equipos Primarios de una Subestaciones electricas
1. Equipos Primarios de una Subestaciones electricas
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
 

Clase 03 busquedas a ciegas

  • 1. 21/03/2012 ( 1 Resolución de problemas mediante Búsqueda (a ciegas)
  • 2. 21/03/2012 ( 2 Temario  Introducción a los agentes resolvedores de problemas  Formulación de problemas  Algoritmo general de búsqueda  Estrategias de búsqueda a ciegas:  Búsqueda primero en anchura/profundidad  Búsqueda de costo uniforme  Búsqueda PP con profundidad iterativa  Comparación estrategias de búsqueda  Búsqueda evitando estados repetidos
  • 3. 21/03/2012 3 Repaso Función del agente: proyecta un historial de percepciones dada una acción. Programa del agente: implementación de la función del agente. Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores y actuar en ese medio utilizando actuadores. Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores y actuar en ese medio utilizando actuadores.
  • 4. 21/03/2012 4 Repaso (cont.) Agente racional: aquel que hace lo correcto. Medida de rendimiento: determina el éxito del agente, es decir, le permite hacer lo correcto. Un agente racional es aquel que, basado en su historial de percepciones, emprende aquella acción que maximiza su medida de rendimiento. Un agente racional es aquel que, basado en su historial de percepciones, emprende aquella acción que maximiza su medida de rendimiento.
  • 5. 21/03/2012 5 Agentes basados en objetivos Los agentes resolvedores de problemas son una clase de agentes basados en objetivos. Agente basado en objetivos equivalente a agente con medida de rendimiento binaria:  0 si el estado del mundo no es el objetivo  1 si el estado del mundo es un objetivo. De esta manera, maximiza rendimiento si y solo si (sii) alcanza el objetivo.
  • 6. 21/03/2012 6 Agentes resolvedores de problemas Los agentes resolvedores de problemas son una clase de agentes basados en objetivos. Tarea: encontrar secuencia de acciones que alcanza algún estado objetivo. Ventaja: Pueden descartar toda acción que no alcanzará el objetivo (simplificando así el problema de maximización de rendimiento).
  • 7. 21/03/2012 7 <formular,buscar,ejecutar>  Formulación del problema: Proceso de decidir  acciones,  estados posibles del agente y del entorno  Costo de las acciones.  objetivo: basado en situación actual y medida de rendimiento.  Búsqueda: Proceso de hallar la secuencia de acciones que llevan al objetivo.  Entrada: formulación problema  Devuelve: secuencia de acciones solución.  Ejecución: tras encontrar la solución, el agente procede a ejecutar las acciones que esta recomienda.
  • 8. 21/03/2012 8 Formulación del problema (KE )  Estado inicial  Acciones  Función sucesor (SUCESOR-FN(x)): conjunto de pares ordenados <acción, sucesor> de acciones legales en (alcanzables desde) x.  Espacio de estados: estado inicial + función sucesor.  Test objetivo  Determina si un estado es un estado objetivo.  Costo de camino: Además de encontrar el estado de mayor rendimiento (i.e., estado objetivo), se busca el menor costo númerico de cada sucesión de acciones.  Refleja medida de utilidad (que estado del agente es mejor), no medida de rendimiento (que estado del entorno es mejor).  Se asume g(x,a,y) ≥ 0.  Solución: camino desde estado inicial al objetivo.  Solución óptima: Tiene costo de camino mínimo.
  • 9. 21/ 03/ 2012 9 Tipos de entorno resolubles por medio de búsquedas  Estático: Formulación y búsqueda se realizan sin prestar atención a cambios en el entorno.  Observable: Agente conoce estado inicial, y puede detectar si un estado es objetivo o no.  Discreto: numero fínito de acciones y estados.  Determinista: la función sucesor es determinista.  Secuencial.  Agente individual. A excepción de secuencial, todas las otras caracteristicas son las mas simples de resolver.
  • 10. 21/03/2012 10 Ejemplo: Vacaciones en Rumania Problema: Encontrar secuencia de acciones que lleven al agente desde Arad a Bucarest.
  • 11. 21/ 03/ 2012 11 Formulación del problema. Estados: Ciudades. Estado inicial: Función sucesor: Para x = Sibiu : {<Ir(Arad), En(Arad)>,<Ir(Oradea, En(Oradea)>, <Ir(Fagaras), En(Fagaras)>,<Ir(Rimnicu Vilcea), En(Rimnicu Vilcea)>} {En(Arad)} {En(Arad), En(Sibiu, …)}
  • 12. 21/ 03/ 2012 12 {En(Bucarest)}  Test objetivo: Determina si un estado es un estado objetivo.  Costo de camino: Costo númerico de cada camino.  Refleja medida de rendimiento.  Se asume g(x,a,y) ≥ 0. Solución: camino desde estado inicial al objetivo. Solución óptima: Tiene costo de camino mínimo. Vacaciones en Rumania Formulación del problema. g(camino) = Σa∈camino g(x,a,y) g(x,a,y) : distancia en kms desde x a y.
  • 13. 21/03/2012 13 Espacio de estados Vacaciones en Rumania Estado inicial Estado objetivo Función sucesor desde En(Sibiu) Una Solución
  • 14. 21/03/2012 14 Mundo de la aspiradora Estados: del mundo 22 ,del agente 23 = 8  Estado inicial: cualquier estado puede designarse como inicial.  Test objetivo: todos cuadrados limpios?  Costo camino: costo de acción es 1.
  • 15. 21/03/2012 15 Mundo de la aspiradora  Función sucesor para acciones: Izquierda (L), Derecha (R), Aspirar (S) Espacio de estados
  • 16. 21/03/2012 16 8-puzzle  Estados: un estado esta determinado por la posición de cada una de las fichas.  Estado inicial: cualquier estado puede designarse como inicial.  Función sucesor: genera estados que resultan de aplicar acciones: mover blanco Izq, Der, Arr, Abajo.  Test objetivo: Ver figura.  Costo camino: costo de acción es 1.
  • 17. 21/03/2012 17 8-puzzle  El espacio de estados contiene aproximadamente (n+1)! estados: 8-puzzle: 9! = 362880 15-puzzle: 16! = 1,3 trillones (resoluble en pocos ms) 24-puzzle: 25! ~1025 (dificil de resolver hoy en día)
  • 18. 21/03/2012 18 Problemas del mundo real  Algoritmos de búsqueda en rutas: rutas en redes de computadoras, planificación viajes lineas aéreas  Problema del viajante de comercio: visitar cada ciudad una ves, utilizando el camino mas corto.  Distribución VLSI: colocación de millones de componentes y conexiones en un chip:  minimizando área  minimizando el circuito  minimizando capacidades electricas  Búsqueda en internet (sin indexadores): gŕafo de nodos conectadas por arcos.
  • 19. 21/03/2012 19 <formular,buscar,ejecutar>  Búsqueda (de un estado objetivo) en el espacio de estados.  Aquí, búsqueda por medio de la generación de un árbol de busqueda (ojo, != espacio de estados):  Nodo Raíz: estado inicial  Frontera: nodos hoja del árbol parcialmente expandido.  Nodos internos generados usando función sucesor para expandir un nodo frontera.  Estrategia de búsqueda: determina orden en que se expanden los nodos frontera.  Acaso mismo estado no puede visitarse dos veces? Gráfos de búsqueda (después).
  • 20. 21/03/2012 20 Nodo ≠ Estado Nodo: <estado, nodo-padre, acción, costo de camino, profundidad> NODO-PADRE NODO ACCIÓN = derecha PROFUNDIDAD = 6 COSTO DEL CAMINO = g(NODO) = 6En(Arad)
  • 21. 21/03/2012 21 Arbol de búsqueda. Ejemplo
  • 22. 21/03/2012 22 Arbol de búsqueda. Ejemplo
  • 23. 21/03/2012 23 Arbol de búsqueda. Ejemplo
  • 24. 21/03/2012 24 Búsqueda en árboles. Algoritmo simple funcion BUSQUEDA-ARBOLES(problema, estrategia) return una solución o fallo 1 Inicializa el árbol de búsqueda usando el estado inicial del problema. 2 loop 3 if no hay candidatos para expandir then return fallo 4 elegir un nodo hoja para expandir de acuerdo a la estrategia 5 if nodo contiene estado objetivo then return solución 6 else expandir el nodo y añadir nodos resultantes al árbol de búsqueda 7 fin loop
  • 25. 21/03/2012 25 Estrategia: Frontera  Utilizaremos como estratégia a la frontera: Definición: La frontera, conjunto de nodos hoja (nodos generados pero no expandidos, i.e., sin hijos). Se implementa como una cola.
  • 26. 21/03/2012 26 Operaciones de Cola  HACER­COLA(elemento,...) crea cola con elementos dados.  VACIA?(cola) devuelve verdadero si no hay elementos en cola.  PRIMERO(cola) devuelve primer elemento de la cola  BORRAR­PRIMERO(cola) devuelve PRIMERO(cola) y lo borra de la cola.  INSERTA(elemento, cola) inserta un elemento en la cola y devuelve la cola resultante (tipos diferentes de cola insertan elementos en órdenes distintos)  INSERTA­TODO(elementos, cola) inserta conjunto de elemntos en la cola y devuelve la cola resultado.
  • 27. 21/03/2012 27 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo Inicializa el árbol de búsqueda usando el estado inicial del problema. bucle si no hay candidatos para expandir entonces devolver fallo elegir un nodo hoja para expandir de acuerdo a la estrategia si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 28. 21/03/2012 28 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo Inicializa el árbol de búsqueda usando el estado inicial del problema. bucle si no hay candidatos para expandir entonces devolver fallo elegir un nodo hoja para expandir de acuerdo a la estrategia si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 29. 21/03/2012 29 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema]),frontera) bucle si no hay candidatos para expandir entonces devolver fallo elegir un nodo hoja para expandir de acuerdo a la estrategia si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 30. 21/03/2012 30 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si no hay candidatos para expandir entonces devolver fallo elegir un nodo hoja para expandir de acuerdo a la estrategia si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 31. 21/03/2012 31 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo elegir un nodo hoja para expandir de acuerdo a la estrategia si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 32. 21/03/2012 32 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo elegir un nodo hoja para expandir de acuerdo a la estrategia si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 33. 21/03/2012 33 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 34. 21/03/2012 34 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si nodo contiene estado objetivo entonces devolver solución de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 35. 21/03/2012 35 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto entonces devolver SOLUCION(nodo) de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 36. 21/03/2012 36 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto entonces devolver SOLUCION(nodo) de lo contrario expandir el nodo y añadir nodos resultantes al árbol de búsqueda fin bucle
  • 37. 21/03/2012 37 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto entonces devolver SOLUCION(nodo) frontera← INSERTAR-TODOS(EXPANDIR(nodo, problema), frontera) fin bucle
  • 38. 21/03/2012 38 Algoritmo de búsqueda en arboles. función BUSQUEDA-ARBOLES(problema,frontera) devuelve una solución o fallo frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto entonces devolver SOLUCION(nodo) frontera← INSERTAR-TODOS(EXPANDIR(nodo, problema), frontera) fin bucle Operaciones de la cola: INSERTA, VACIA?, BORRAR-PRIMERO, INSERTAR-TODOS
  • 39. 21/ 03/ 2012 39 Algoritmo de búsqueda en arboles. función EXPANDIR(nodo,problema) devuelve conjunto de nodos sucesores← conjunto vacío para cada <acción, resultado> en SUCESOR-FN[problema](ESTADO[nodo]) hacer s ← un NODO nuevo ESTADO[s] ← resultado NODO-PADRE[s] ← nodo ACCION[s] ← acción COSTO-CAMINO[s] ← COSTO-CAMINO[nodo] + g(nodo, acción,s) PROFUNDIDAD[s] ← PROFUNDIDAD[nodo]+1 añadir s a sucesores devolver sucesores Añade un nodo por cada estado sucesor de nodo.
  • 40. 21/03/2012 (c) Facundo Bromberg 40 Y la estrategia?  La estrategia es definida seleccionando orden en que se insertan los nodos expandidos en la cola: En lo que resta se presentan varios algoritmos que varian en cuanto a la estrategia utilizada: frontera← INSERTAR-TODOS(EXPANDIR(nodo, problema), frontera)  Búsqueda primero en anchura  Búsqueda primero en profundidad  Búsqueda de costo uniforme  Búsqueda de profundidad limitada  Búsqueda primero en profundidad con profundidad iterativa  Búsqueda bi-direccional  Búsqueda primero el mejor  Búsqueda voraz  Búsqueda A*. Estrategias de búsqueda a ciegas Estrategias de búsqueda informada • Búsqueda IDA*
  • 41. 21/03/2012 41 Estrategias de búsqueda a ciegas.  Utilizan solamente la información disponible en la definición del problema (expandiendo y testeando estado objetivo).  Estrategias que saben si un estado (no objetivo) es mas prometedor que otro se llaman búsqueda informada.
  • 42. 21/03/2012 (c) Facundo Bromberg 42 Estrategias de búsqueda a ciegas.  Presentamos tres estrategias “ciegas” y tres “extensiones”. Implementación de la frontera:Estrategias  Búsqueda primero en anchura  Búsqueda primero en profundidad  Búsqueda de costo uniforme  FIFO (first-in first-out): primero en generarse, primero en expandirse.  LIFO (last-in first-out): último en generarse, primero en expandirse.  Expande primero el nodo con menor costo de cámino. Detalles:Extensiones  Primero en profundidad con profundidad limitada  Primero en profundidad con profundidad iterativa  Búsqueda Bidireccional.  A partir de cierta profundidad, nodos generados excluidos de la frontera.  Profundidad limite se expande sistematicamente.  Búsqueda desde inicio y desde objetivo.
  • 43. 21/03/2012 43 Búsqueda primero en anchura A B C D E F G FRONTERA: [A] A B C D E F G FRONTERA: [B,C] A B C D E F G FRONTERA: [C,D,E] A B C D E F G FRONTERA: [D,E,F,G] FRONTERA implementada como cola FIFOFRONTERA implementada como cola FIFO
  • 44. 21/03/2012 44 Rendimiento de algoritmos resolvedores de problemas. NOTA: No confundir con redimiento del agente.  El rendimiento de un resolvedor de problemas se mide de cuatro maneras:  Completitud: Encuentra siempre una solución si esta existe?  Optimalidad: Encuentra siempre la solución de menor costo de camino?  Complejidad en tiempo: Número de nodos generados/expandidos.  Complejidad en espacio: Número de nodos almacenados en memoria durante la búsqueda.  La complejidad en tiempo y espacio se miden con respecto a:  b – factor de ramificación, o máximo número de sucesores de cualquier nodo.  d – profundidad del nodo objetivo mas superficial.  m – máxima profundidad del espacio (árbol) de búsqueda (puede ser ∞)
  • 45. 21/03/2012 45 Búsqueda primero en anchura Completitud Encuentra siempre una solución si esta existe?
  • 46. 21/03/2012 46 Búsqueda primero en anchura Completitud Encuentra siempre una solución si esta existe? SI, la búsqueda encontrará el objetivo siempre y cuando:  Nodo objetivo mas superficial se encuentra a profundidad finita d.  Factor de ramificación b sea finito.
  • 47. 21/03/2012 47 Búsqueda primero en anchura Optimalidad El nodo objetivo mas superficial no es necesariamente el óptimo. Óptima solo si:  Todas las acciones de un cierto nivel tienen el mismo costo.
  • 48. 21/03/2012 48 Búsqueda primero en anchura Complejidad en tiempo Supongamos: espacio de estados donde cada estado tiene b sucesores. Solución se encuentra a profundidad d. Peor caso: estado objetivo es último nodo del nivel d. Número de nodos generados: 1 + b+b2 +b3 ...+bd bd+1 −b=Obd+1 
  • 49. 21/03/2012 49 Complejidad en espacio Quien debe permanecer en memoria? Todo nodo en la frontera:  Para el correcto funcionamiento del alg. Todo antecesor de algún nodo en la frontera:  Porque cada nodo en la frontera es potencialmente un objetivo, y por lo tanto su camino a la raiz debe recordarse para reconstruir la solución.
  • 50. 21/03/2012 50 Búsqueda primero en anchura Complejidad en espacio En BPA todo nodo generado debe permanecer en memoria: Porque pertenece a la frontera, o es un antecesor de algún nodo en la frontera. La complejidad espacial es por lo tanto: Ob d+1 
  • 51. 21/03/2012 51 Búsqueda primero en anchura Dos lecciones:  Requerimientos de memoria son un mayor problema que tiempo de ejecución.  Problemas de búsqueda de complejidad exponencial, no pueden resolverse por métodos sin información. 1 exabyte3523 años1015 14 10 petabytes35 años1013 12 101 terabytes129 días1011 10 1 terabyte31 horas109 8 10 gigabytes19 minutos107 6 106 megabytes11 segundos1111004 1 megabyte0.11 segundos11002 MEMORIATIEMPONODOSPROFUNDIDAD
  • 52. 21/03/2012 52 Búsqueda de costo uniforme A B C D E F G A B C D E F G FRONTERA: [B(1),C(2)] A B C D E F G FRONTERA: [C(2),D(2,5),E(3,5)] A B C D E F G FRONTERA ordenada por costo de camino g(n) (ver definición de g(n) en la próxima diapositiva) FRONTERA ordenada por costo de camino g(n) (ver definición de g(n) en la próxima diapositiva) 1 2 1,5 2,5 1 1,3 1 2 1,5 2,5 1 1,3 1 2 1,5 2,5 1 1,3 1 2 1,5 2,5 1 1,3 FRONTERA: [D(2,5),F(3), E(3,5) G(3,3)] FRONTERA: [A(0)]
  • 53. 21/03/2012 53 Función de costo g(n) g(n) = costo (real) de alcanzar el nodo, i.e., costo del camino desde el nodo inicial hasta n. A B C D E F G 1 2 1,5 2,5 1 1,3 g(A) = 0 g(C) = 2 g(G) = 3,3 Por ejemplo:
  • 54. 21/ 03/ 2012 54 Búsqueda de costo uniforme Análisis Completo? SI, si el costo mínimo de todas las acciones es ε >0. De esta manera no hay ciclos infinitos (entre los nodos conectados por el costo nulo). Óptimo? Si. Demostración: Suponamos, por contradicción, que el algoritmo no es óptimo, es decir, que el algoritmo retorna nodo A como solución (con costo g(A)), pero que existe un nodo objetivo B tal que g(B) < g(A). Pero si asi fuera, la definición del algoritmo nos asegura que B esta primero en la frontera, y por lo tanto debería haber sido expandido primero, y por ende testeado primero.
  • 55. 21/ 03/ 2012 55 Búsqueda de costo uniforme Complejidad en tiempo y espacio  En el algoritmo de BPA, la complejidad temporal y espacial se definión en función de b y d.  En BCU puede ocurrir que la solución no sea el objetivo menos profundo como en BPA.  Si G* es el costo de la solución, y asumimos el peor caso en el que el costo de cada acción fue el mínimo ε, entonces: d = G*/ε Las complejidades en tiempo y espacio son entonces: O(bG*/ε )
  • 56. 21/03/2012 56 Búsqueda primero en profundidad FRONTERA implementada como cola LIFO (o pila)FRONTERA implementada como cola LIFO (o pila) A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N A B C D E F G OH I J K L M N [M,G][C][E,C][D,E,C] [L,M,G][K,C][I,E,C][B,C] [F,G][J,K,C][H,I,E,C][A]
  • 57. 21/03/2012 57 Encuentra siempre una solución si esta existe? Búsqueda primero en profundidad Completitud 3
  • 58. 21/03/2012 58 Encuentra siempre una solución si esta existe? NO, a menos que espacio de estados sea finito y no hay ciclos. Búsqueda primero en profundidad Completitud 3
  • 59. 21/ 03/ 2012 59 Búsqueda primero en profundidad Complejidad en tiempo Supongamos: factor de ramificación uniforme b. Profundidad del arbol m (potencialmente >> d hasta infinito!). Entonces, en el peor caso, nro de nodos generados: Terrible si m es mucho mayor que d. Ejemplo: C es el único estado objetivo. Pero, si existen muchas soluciones, entonces mas rapido que primero en anchura. Ejemplo: si H también es solución se generaron bm estados solamente. Ob m 
  • 60. 21/03/2012 60 Búsqueda primero en profundidad Complejidad en espacio Obm+1 No es mas exponencial, pero igual ojo, m != d Si nodo objetivo esta en último nivel, o bien a la izq, se reduce de 10 petabytes a 118 Kb para d=12. De donde proviene tal reducción? Nodos cuyo sub-arbol ha sido generado puede eliminarse de memoria (ni el, ni ninguno de sus descendientes pertenecen a la frontera). Puede reducirse a (m+1) con búsqueda hacia atrás.
  • 61. 21/03/2012 61 Búsqueda de profundidad limitada BPP es mejor que BPA siempre y cuando m sea pequeño (con respecto a d). Se puede aliviar el problema de m infinito aplicando BPP con límite de profundidad l (predeterminado x usuario): •Es decir, nodos a profundidad l se asumen hoja.
  • 62. 21/03/2012 62 Búsqueda de profundidad limitada Completitud? NO cuando l<d. Optimalidad? NO. (mismas razones que BPP) Complejidad en tiempo: Complejidad en espacio: BPP es equivalente a BPL con l = infinito. Ob l  Obl
  • 63. 2 r1/03et/2ur012n sucesores 63 Búsqueda de profundidad limitada Puede implementarse modificando función EXPANDIR (libro propone otro algoritmo, recursivo). funcion EXPANDIR(nodo,problema,limite) return conjunto de nodos if PROFUNDIDAD[nodo] = limite then return conjunto vacío sucesores← conjunto vacío for each <acción, resultado> in SUCESOR-FN[problema](ESTADO[nodo]) do s ← un NODO nuevo ESTADO[s] ← resultado NODO-PADRE[s] ← nodo ACCION[s] ← acción COSTO-CAMINO[s] ← COSTO-CAMINO[nodo] + c(nodo, acción,s) PROFUNDIDAD[s] ← PROFUNDIDAD[nodo]+1 añadir s a sucesores
  • 64. 21/03/2012 64 Búsqueda de profundidad limitada Util solo cuando se conoce número de estados o diámetro del espacio de estados, porque ninguna solución puede ser mas larga que estos valores. Ejemplo, mapa de Rumania: Nro de estados: 20 ciudades. Diámetro: 9 ciudades. Entonces, BPL con l=9 es completo.
  • 65. 21/03/2012 65 Búsqueda de profundidad iterativa Encuentra el mejor limite de profundidad l. Estrategia: aumentar gradualmente l hasta encontrar un objetivo, osea, cuando l=d. funcion BUSQUEDA-PROFUNDIDAD-ITERATIVA(problema) for limite 0 to infinito do resultado <- BUSQUEDA-PROFUNDIDAD-LIMITADA(problema, limite) if resultado != fallo_por_corte return resultado
  • 66. 21/03/2012 66 Búsqueda de profundidad iterativa Combina lo mejor de BPA y BPP: Completo? SI Optimo? SI (cuando coste de camino no disminuye con la profundidad del nodo) Complejidad en tiempo? (d, no m Y d, no d+1) Complejidad en espacio? (d, no m) Preferido para espacio estados grande y no se conoce d. Ob d  Obd 
  • 67. 21/03/2012 67 Búsqueda Bidireccional  Dos búsquedas simultaneas desde inicio y desde objetivo. – Motivación: Complejidad temporal es • Previo a expansión, requiere chequear si nodo pertenece al otro árbol, osea, debe almacenar el arbol completo: Complejidad espacial es entonces  Cuando hay mas de un estado objetivo: crear nodo ficticio con todos los objetivos como predecesores.  Completo y óptimo si ambas búsquedas son BPA. bd /2 +bd /2 ≪bd Inicio objetivo b d /2
  • 68. 21/03/2012 68 Búsqueda Bidireccional Inicio objetivo El/los predecesores de cada nodo deben poder computarse eficientemente: – Por ejemplo, cuando las acciones son reversibles.
  • 69. 21/03/2012 69 Comparación de estrategias de búsqueda a ciegas SI si costos son iguales y usa BPA bd/2 bd/2 SI* Si b finita Si usa BPA Bidireccional NO bm bm NO Primero en profundidad SI si costos son descendientes NOSISI* si costos son iguales Optimo? bdblbC*/e bd+1Espacio bd bl bC*/e bd+1Tiempo SISI, si l ≥ d SI* Si b es finita Si g(x,a,y) > 0 SI* Si b finita Completo? Produndidad iterativa Profundidad -limitada Costo- uniforme Primero en anchura Criterio
  • 70. 2su1/ 03/s2012ub-árbol). 70 Estados repetidos Hasta ahora ignoramos importante complicación: expansión de estados ya visitados. Cuando ocurre? Cuando espacio de estados no es un árbol (recuerden: árbol es un grafo acíclico) Inevitable cuando acciones son reversibles (e.g., búsqueda en rutas, puzzles que deslizan piezas). problemas? Árboles de búsqueda exponenciales o infinitos (ciclos). Evitable si “podamos” del árbol los nodos con estados ya visitados (incluyendo su sucesores, i.e.,
  • 71. 21/03/2012 71 Estados repetidos exponencialidad del arbol de búsqueda El mejor caso es donde cada estado es visitado una ves (i.e., existe a lo sumo un nodo por estado). El peor caso es visitar cada nodo del espacio de estados un número exponencial de veces: Espacio de estados: Árbol de búsqueda:
  • 72. 21/03/2012 72 Solución: evitar estados repetidos La solución es comparar el estado de cada nuevo nodo a expandir con aquellos ya expandidos. Problema: requiere recordar todos los estados ya expandidos → BPP se vuelve nuevamente ineficiente en memoria. • Una opción intermedia para BPP es testear ciclos solamente: evita árboles infinitos, pero no explosión exponencial. Si efectivamente se recuerda cada estado expandido, la búsqueda puede verse como una exploración del grafo de estados.
  • 73. 21/03/2012 73 Búsqueda en grafos. Entonces ...recordar qué se visitó: • insertar cada estado visitado en lista cerrada, y ... No visitarlo nuevamente • Antes de insertar en la frontera verificar que no este en lista cerrada.
  • 74. 21/03/2012 74 Búsqueda en grafos. función BUSQUEDA-GRAFOS(problema,frontera) devuelve una solución o fallo cerrado ← conjunto vacío frontera ←INSERTA(HACER-NODO(ESTADO-INICIAL[problema],frontera) bucle si VACIA?(frontera) entonces devolver fallo nodo ← BORRAR-PRIMERO(frontera) si TEST-OBJETIVO[problema] aplicado a ESTADO[nodo] es cierto entonces devolver SOLUCION(nodo) si ESTADO[nodo] no está en cerrado entonces añadir ESTADO[nodo] a cerrado frontera← INSERTAR-TODO(EXPANDIR(nodo, problema), frontera) fin bucle Entonces ...recordar qué se visitó: • insertar cada estado visitado en lista cerrada, y ... No visitarlo nuevamente • Antes de insertar en la frontera verificar que no este en lista cerrada.
  • 75. 21/03/2012 75 Optimalidad en grafos desecha último camino repetido descubierto! Pero si es mejor? • Para costos constantes, esto no puede ocurrir en búsquedas PA y costo uniforme -> PA y CU son OPTIMOS en gráfos • En BPP y BPI es posible que encuentre primero el camino sub-óptimo -> NO OPTIMOS en gráfos.
  • 76. 21/03/2012 76 Búsqueda en grafos. Posible, aunque problemática, solucion para BPP y BPI: desechar el peor de ambos. • Supongamos dos nodos n1 y n2 que representan a un mismo estado. • Si n1 fue generado antes que n2 , puede que no solo n1 sino que gran parte de su sub-arbol ya ha sido expandido. • Desechar el peor implicaría que si n2 es mejor, es decir f(n2 ) < f(n1 ), hay que reemplazar a n1 por n2 , y ello implica actualizar los costos de camino de todos los descendientes de n1 ya generados con los nuevos valores que trae n2 .
  • 77. 21/03/2012 77 Búsqueda con información parcial. (omitido de EV0) Hasta ahora asumimos que: el entorno es totalmente observable y determinista, y agente conoce efectos de cada acción Osea, agente: Puede calcular estado resultado de cualquier secuencia de acciones. Siempre sabe en que estado esta. Percepción no le proporciona nueva info.
  • 78. 21/03/2012 78 Búsqueda con información parcial. Que pasa si relajamos estas suposiciones? Problemas sin sensores: No sabe donde esta. Problemas de contingencia: ocurre cuando entorno parcialmente observable y acciones inciertas: •En este caso, percepciones proporcionan nueva info después de cada acción.
  • 79. 21/03/2012 79 Problemas sin sensores Agente no sabe en que estado esta, pero sí en que estados no esta: creencia: conjunto de estados posibles. Inicialmente agente sabe que esta en {1,2,3,4,5,6,7,8}. Secuencia: Derecha, Aspirar, Izquierda, Aspirar lo lleva a estados de creencia: {2,4,6,8}, {4,8}, {3,7} y finalmente al estado objetivo {7}.
  • 80. 21/03/2012 80 Problemas sin sensores Se resuelven mediante búsquedas en espacio de creencias. Aqui, acciones aplican un estado de creencia en otro. ANTES: Espacio de estados físicos Se resuelven mediante búsquedas en espacio de creencias. Aqui, acciones aplican un estado de creencia en otro.
  • 81. 21/03/2012 81 Problemas sin sensores Se resuelven mediante búsquedas en espacio de creencias. Aqui, acciones aplican un estado de creencia en otro. ANTES: Espacio de estados físicos Se resuelven mediante búsquedas en espacio de creencias. Aqui, acciones aplican un estado de creencia en otro.
  • 82. 21/03/2012 82 Problemas sin sensores Se resuelven mediante búsquedas en espacio de creencias. Aqui, acciones aplican un estado de creencia en otro. Puede ver ahora las soluciones?
  • 83. 21/03/2012 83 Problemas sin sensores DIFICULTAD: si espacio de estados físico contiene n estados, espacio estados de creencia contiene 2n . Puede extenderse a acciones no deterministas. Simplemente seguir agregando estados a los estados de creencia.
  • 84. 21/03/2012 84 Problemas de contingencia + Ley de Murphy: Aspirar puede ensuciar. + Percepción local. – Percepción inicial: – [I,Sucio] = {1,3} – Secuencia de acciones: – [Aspirar] = {5,7} – [Derecha] ={6,8} – [Aspirar] en {6}={8} (Success) – PERO [Aspirar] en {8} = fallo (x Ley de Murphy) Solución?? – Relajar requerimiento de secuancia rígida de acciones sin percepciones: Aspirar, Derecha, si [D,sucio] entonces Aspirar] – Osea, intercalar percepciones (e.g., [D,sucio]) la ejecución, osea, contemplar contingencias. – Acciones posibles se amplian con percepciones (capçítulo 12).
  • 85. 21/03/2012 85 Repaso Repaso (cont.) Agentes basados en objetivos Agentes resolvedores de problemas <formular,buscar,ejecutar> Formulación del problema (KE) Tipos de entorno resolubles por medio de búsquedas Ejemplo: Vacaciones en Rumania Vacaciones en Rumania Formulación del problema. Vacaciones en Rumania Formulación del problema. Espacio de estados Vacaciones en Rumania Mundo de la aspiradora Mundo de la aspiradora 8-puzzle 8-puzzle Problemas del mundo real <formular,buscar,ejecutar> Nodo ≠ Estado Arbol de búsqueda. Ejemplo Arbol de búsqueda. Ejemplo Arbol de búsqueda. Ejemplo Búsqueda en árboles. Algoritmo simple Estrategia: Frontera Operaciones de Cola Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Algoritmo de búsqueda en arboles. Y la estrategia? Estrategias de búsqueda a ciegas. Estrategias de búsqueda a ciegas. Búsqueda primero en anchura Rendimiento de algoritmos resolvedores de problemas. Búsqueda primero en anchura Completitud Búsqueda primero en anchura Completitud Búsqueda primero en anchura Optimalidad Búsqueda primero en anchura Complejidad en tiempo Complejidad en espacio Búsqueda primero en anchura Complejidad en espacio Búsqueda primero en anchura Búsqueda de costo uniforme Función de costo g(n) Búsqueda de costo uniforme Análisis Búsqueda de costo uniforme Complejidad en tiempo y espacio Búsqueda primero en profundidad Búsqueda primero en profundidad Complejidad en tiempo Búsqueda primero en profundidad Complejidad en espacio Búsqueda de profundidad limitada Búsqueda de profundidad limitada Búsqueda de profundidad limitada Búsqueda de profundidad limitada Búsqueda de profundidad iterativa Búsqueda de profundidad iterativa Búsqueda Bidireccional Búsqueda Bidireccional Comparación de estrategias de búsqueda a ciegas Estados repetidos Estados repetidos exponencialidad del arbol de búsqueda Solución: evitar estados repetidos Búsqueda en grafos. Búsqueda en grafos. Optimalidad en grafos Búsqueda en grafos. Búsqueda con información parcial. (omitido de EV0) Búsqueda con información parcial. Problemas sin sensores Problemas sin sensores Problemas sin sensores Problemas sin sensores Problemas sin sensores Problemas de contingencia