Sunteți pe pagina 1din 36

1

Resolucin de
problemas
mediante bsqueda
Bsqueda ciega, no informada

Bsqueda heurstica, informada


2
Introduccin
Agentes de resolucin de problemas:
es un tipo de agentes basados en el
objetivo.
Algoritmos no informados: no disponen
de ninguna informacin adicional a la
propia definicin del problema
Es necesario realizar
formulacin de objetivos basada en:
la situacin actual
medida sobre el desempeo de la tarea
Formulacin del problema mediante
estados posibles
acciones a ejecutar
Algoritmo: simple-problem-solving-agent
Diseado: Formulate, Search, Execute
Ejemplos
mapa de carreteras
viajante de comercio





3
Agente simple de resolucin
de problemas
Etapas de la resolucin de
problemas con objetivos:
1. Formulacin de objetivos
2. Formulacin del problema
3. Bsqueda de la secuencia
de acciones que deberan
resolver el problema
4. Ejecuta las acciones una
cada vez
Formulate, Search, Execute
Obs:
RECOMMENDATION
devuelve la primera accin (first) de la secuencia.
REMAINDER
devuelve el resto (rest) de la secuencia
(Russell 2nd. Ed.)


4
Formulacin de problemas, I
(ejemplo)
Problema de aspiradora:
Se dispone de una aspiradora con acceso
a dos habitaciones y con la capacidad de
aspirar basura
8 posibles estados
2 estados objetivo
3 posibles acciones
Mundo: 2 posibles posiciones
Sucio - limpio
Dos tipos de problemas:
Problema de estados nicos:
entornos accesible y determinista
Problema de estados mltiples:
entornos no accesible o no determinista
Ejemplo aspiradora sin sensores:
determinista, no accesible
DEF: Un problema de estados mltiples es un caso particular
del caso de un problema de estado nico, en donde cada
estado es un multiestado:
Estado inicial: multiestado
Cada operador obtiene un multiestado a partir de
otro multiestado.








5
Formulacin de problemas, II
(abstraccin)
Las acciones que puede
realizar el agente:
L: left (izquierda)
R: right (derecha)
S: suck (aspirar)
El mundo tiene dos posiciones: puede
haber o no suciedad
El agente est en una u otra posicin
Objetivo: limpiar toda la
suciedad.
Equivale al conjunto de
estados {7,8}
1 2
5
6 3
4
7 8


6
Formulacin de problemas, III
(abstraccin)


7
Formulacin de problemas, IV
(definicin)
Abstraccin de un problema
DEF: Proceso de eliminar los detalles de la
representacin formal de un problema
Problemas bien definidos
La formulacin de un problema requiere
Especificacin de estados iniciales: uno o ms
estados que describen las situaciones de partida
Especificacin de estados objetivos: uno o ms
estados que podran ser soluciones admisibles del
problema
Funcin/test objetivo: determina si un estado es
un estado objetivo.
Especificacin del conjunto de acciones/operadores
que pueden realizarse sobre cada estado.
Funcin sucesor: estando en un estado,
aplicando un operador indica a qu estado se
accede. S: x S(x)
Definicin de un espacio de estados del problema
Conjunto de todos los estados alcanzables a
partir del estado inicial aplicando cualquier
secuencia de operadores
Determina un grafo: estados - arcos - caminos
Funcin de coste de aplicacin de los operadores




8
Estados? Posiciones de la suciedad y del
robot
1 2
5 6 3
4
7 8
Operadores? Left (L), right (R), suck (S)
1 por
operador
NoDirt(x)
Coste del
camino?
Objetivo?
(1, AS, S), (2, S, AS), (3, AS, )
(4, S, A), (5, A, S), (6, , AS)
(7, A, ), (8, , A)
Formulacin de problemas, V
(Problema Bien Definido)
Estado inicial? El que se designe
Funcin sucesor? (1 R 2), (1 S 5)


9
Resolucin de problemas, I
La resolucin de un problema consiste
en definir un conjunto de acciones que
nos permita llegar al objetivo.
Para la resolucin de un determinado
problema se necesita su formulacin.
El entorno del problema influye sobre el
curso de acciones hacia la solucin.
Ejemplo (En un entorno no determinista)
La absorcin deposita algunas veces suciedad, pero
slo cuando previamente no hay suciedad
Si el entorno es accesible, para cada estado
inicial, hay una secuencia fija de operadores
que llevan al objetivo.
Si el entorno es semiaccesible (sensor de
posicin y sensor local suciedad) no hay una
secuencia fija que garantice una solucin a
partir de cualquier estado:
Estados (A=aspiradora, S=suciedad):
(1, AS, S), (2, S, AS), (3, AS, )
(4, S, A), (5, A, S), (6, , AS)
(7, A, ), (8, , A)













10
Resolucin de problemas, II

{1,3} --(absorcin)-->{5,7}--(derecha)-->
{6,8}--(absorcin)-->{6,8}
La solucin sera: absorcin, derecha,
absorcin, absorcin si sucio. Es un
rbol de posibles acciones (problema
con contingencias)















{1,3}
{5,7}
{2,4}
{6,8}
{5,1,7,3}
S
L
S R
L
R
S
L
R
L
R S
{.........}


11
1 2
5 6
3 4
7
8
Secuencia solucin: Absorcin - derecha absorcin
{1,3} --> {5,7} --> {6,8} --> {6,8}
Resolucin de problemas, III


12
La resolucin de un problema de IA
mediante bsqueda consiste en la
aplicacin de una determinada
estrategia de control que conduzca a
encontrar un camino desde el estado
inicial hasta algn estado objetivo del
espacio de estados.
examinar las posibles secuencias de
acciones
seleccionar aquella que sea mejor segn
un determinado criterio
Los objetivos fundamentales de la
resolucin de un problema mediante
bsqueda son:
Encontrar una solucin
Que la solucin tenga coste total mnimo:
Coste de bsqueda (coste offline):
Tiempo y memoria necesarios.
Coste del camino solucin (coste
online).

Resolucin mediante
bsqueda


13
Ejercicio
Problema del 8-puzzle
Estados?
Operadores?
Coste del
camino?
Objetivo?
Puzzle con 8
piezas, hay
que llegar
del estado
inicial al
objetivo,
moviendo el
hueco.
Estado inicial?


14
Ejercicio
Problema de las N reinas
Estados?
Operadores?
Coste del camino?
Tablero con N reinas
o damas.
Encontrar
configuracin de las
damas no
enfrentadas entre si
Objetivo?
Es esto una
solucin?
No, se
amenazan
Estado inicial?


15
Ejemplos, I
Problema del 8-puzzle
Estados: posiciones de las piezas y hueco
(setf *estado0*
((0 5)(1 4)(2 nil)
(3 6)(4 1)(5 8)
(6 7) (7 3) (8 2))
Operadores:
HuecoA: Dcha Izda Arriba Abajo
Objetivo: (ver grfico anterior)
Coste operadores: 1
Problema de las 8 reinas (en general de las N
reinas/damas):
Coste operadores: 1 (el camino solucin siempre
tiene coste 8).
Posible representacin (1):
estado: N reinas en el tablero
operadores: aadir una reina a una posicin vaca.
Posible representacin (2):
estado: N reinas en el tablero (no atacndose).
Operadores: aadir una reina en la columna vaca
ms a la izquierda tal que no sea atacada por ninguna
de las ya existentes.
Menos operadores que en la representacin (1)



16
Ejemplos, II
Problemas de Criptoaritmtica




Estados: algunas letras sustituidas por
dgitos.
Operadores: sustituir una letra por un dgito
que no aparece ya dentro del estado.
La solucin se encuentra a profundidad
conocida.
Todas las soluciones son igualmente vlidas
luego el coste del camino es 0






FORTY
+ TEN
TEN
------
SIXTY


29786
+ 850
850
------
31486


17
Ejemplos, III
Misioneros y canbales
Hay 3 misioneros y 3 canbales en la orilla
izquierda de un ro. Un bote puede
transportar a 1 2 personas de una orilla a
otra.
Objetivo: pasar a todos a la otra orilla.
Condicin: No puede ocurrir nunca que si en una
orilla hay algn misionero haya a la vez un
nmero mayor de canbales (se los comeran).
Estados:
Parmetros: nmero misioneros lado izquierdo,
nmero canbales lado izquierdo, posicin bote
(izquierda o derecha).
Se debe verificar la Condicin.
Operadores:
Transportar 1 misionero.
Transportar 1 canbal.
Transportar 2 misioneros.
Transportar 2 canbales.
Transportar 1 misionero y 1 canbal.
Coste operador: 1



18
Ejemplos, IV
Otros ejemplos (ms reales):
Problema de mapa de carreteras.
Viajar de una ciudad a otra recorriendo la menor
distancia posible.
Problema del viajante de comercio
Un viajante debe viajar recorriendo un conjunto
de ciudades. Debe partir de una ciudad inicial y,
tras recorrer todas las ciudades, volver a la
ciudad de inicio.
Problema clsico: debe visitar exactamente
1 vez todas las ciudades (excepto la de
inicio que la visita 2 veces).
Problemas de
Diseo de circuitos.
Navegacin de robots.
Montaje mecnico de robots.
Planificacin de toma de imgenes (telescopio
Hubble).





19
Bsqueda en rboles, I
Representacin de un nodo:
Estado: elemento del espacio de estados
que corresponde con el nodo.
Nodo padre: el nodo en el rbol de
bsqueda que ha generado este nodo.
Accin/Operador: operador que se aplic al
padre para generar este nodo.
Coste del camino: el coste desde el nodo
inicial. Denotado por g(n).
Profundidad en el rbol de bsqueda:
nmero de pasos a lo largo del camino
desde el nodo inicial.
Distinguir los conceptos:
Espacio de estados:
Finito
rbol de nodos: se genera
Finito o infinito
Ejemplo: mapa de carreteras






20
Bsqueda en rboles, II
Algoritmo de bsqueda en rboles
(descripcin informal):

funcion bsqueda-rboles (problema, estrategia)
devuelve una solucin o fallo
inicializa rbol de bsqueda con estado inicial
bucle hacer
si no hay candidatos para expandir,
entonces devolver fallo
en otro caso
escoger, segn estrategia, nodo para
expandir
si el nodo es objetivo (contiene estado objetivo)
entonces devolver solucin
en otro caso
expandir nodo
aadir nodos resultantes al rbol



21
Bsqueda no informada vs
bsqueda informada
Bsqueda no
informada o ciega:
Slo usan la
informacin de la
definicin del
problema.

Estrategias:
Bsqueda primero en
anchura.
Bsqueda primero en
profundidad.
Bsqueda limitada
en profundidad.
Bsqueda iterativa
en profundidad.
Bsqueda
bidireccional.
Bsqueda informada
o heurstica:
Usan la informacin
de definicin del
problema y el coste
del estado actual al
objetivo.
Estrategias:
Best first
Bsqueda Avara
A*
IDA*
Mejora iterativa


22
Estrategias de bsqueda
ciega, I
Criterios de evaluacin de estrategias:
Completitud (encontrar solucin)
Optimizacin (encontrar la mejor solucin)
Complejidad espacial (memoria necesaria)
Complejidad temporal (tiempo necesario)
Estrategias de bsqueda:
Hiptesis:
Todos los operadores tienen el mismo coste (por
ejemplo 1).
El factor de ramificacin es siempre finito.
Las complejidades temporal y espacial se
miden en trminos de:
m = profundidad mxima del rbol de bsqueda
(puede ser infinito)
d = profundidad de la mejor solucin (de la de
menor coste)
b = factor de ramificacin (mximo n de
sucesores de cualquier nodo del rbol de
bsqueda)


23
Estrategias de bsqueda
ciega, II
Bsqueda en anchura:
Completo y ptimo
Complejidad espacial =
Complejidad temporal =
nmero de nodos expandidos =



Nmero de nodos generados
Para b=10, 1000 nodos/segundo, 100
bytes/nodo:
d=2, 111 nodos, 0.1 seg., 11 Kb
d=6, 1.000.000 nodos, 18 minutos, 111
Mb
d=12, nodos, 35 aos, 111 Tb
Ejemplo: viajante de comercio
) (
d
b O
) (
1
1
... 1
1
2 d
d
d
b O
b
b
b b b



12
10


24
Estrategias de bsqueda
ciega, III
Bsqueda en profundidad:
No es ptimo
Puede encontrar un camino peor
No es completo
Puede no acabar
Complejidad temporal =
Complejidad espacial =
nmero de nodos necesarios = un camino hasta
una hoja y los hermanos de cada nodo del
camino =

Ejemplo: viajante de comercio
) (
m
b O
) (bm O


25
Estrategias de bsqueda
ciega, IV
Bsqueda limitada en profundidad:
Caso particular de Bsqueda en
profundidad. Se utiliza un lmite de
profundidad (l)
No es ptimo
Puede encontrar un camino peor
No es completo, en general, aunque:
s es completo cuando


Complejidad temporal =

Complejidad espacial =
nmero de nodos necesarios = un camino hasta
una hoja y los hermanos de cada nodo del
camino =




d l
) (
l
b O
) (bl O


26
Estrategias de bsqueda
ciega,V
Bsqueda iterativa en profundidad:
Son bsquedas en profundidad con
lmites: 0, 1, 2, 3, 4, ...
Es ptimo y completo
Complejidad espacial =
Complejidad temporal
nmero total de expansiones (los nodos con la
profundidad de la mejor solucin se expanden 1
vez; los siguientes 2 veces, los siguientes 3
veces, ) =




Mtodo preferido cuando no se
conoce la profundidad de la solucin.







) (
1 ) 1 ( ) 1 (
.... 3 2 1
2
2 1
d
d d d
b O
d db b d
b b b




) (bd O


27
Bsqueda iterativa en profundidad
(abstraccin grfica)
Estrategias de bsqueda
ciega, VI


28
Estrategias de bsqueda
ciega, VII
Bsqueda bidireccional:
Buscar simultneamente desde estado
inicial hasta objetivo y viceversa hasta que
ambas bsquedas se encuentren.
Optimo y completo.
Complejidad espacial y temporal:


Dificultades
Clculo de predecesores.
Varios estados objetivo.
Significado de encontrarse las bsquedas.
Determinacin del tipo de bsqueda en cada
direccin.
Ejemplo: viajante de comercio
) (
2
d
b O


29
Estrategias de bsqueda
ciega, VIII
Bsqueda de coste uniforme:
Los resultados anteriores pueden no
verificarse cuando los costes de los arcos
son variables tener en cuenta costes
Costes variables para los arcos pero:

Para un nodo n se define:
g(n) = coste desde nodo inicial
Se expande el nodo con menor valor de g
Completo y ptimo
Si todos los arcos tienen el mismo coste, se
tiene bsqueda en anchura.
Si todos los arcos tienen el mismo coste,
g(n)=profundidad(n)
Complejidad espacial y temporal =


Ejemplo: viajante de comercio
( ) 0, coste k

tes valor minimo
solucin mejor de te
d b O
d
cos
cos
), (
~
~



30
Estrategias de bsqueda
ciega, IX
Cuadro resumen:







31
Eliminacin de estados
repetidos, I
La repeticin de estados incrementa la
complejidad de la estrategia de bsqueda
Si la estrategia no los detecta (comparar el
nodo a expandir con los ya expandidos), un
problema resoluble puede llegar a ser
irresoluble.
Situacin habitual en problemas de rutas y
acciones reversibles
Ejemplo: espacio con d+1 estados
2
d
ramas
Para los d+1 estados (d es
la profundidad mxima)
El rbol de bsqueda
contendr 2
d
ramas. Poda.


32
Eliminacin de estados
repetidos, II
Para evitar que se repitan estados, se
pueden considerar tres mtodos:
1. No generar un nodo hijo de un nodo si los dos
pertenecen al mismo estado
2. Evitar ramas con ciclos (en un camino desde el
nodo inicial, hay dos nodos que pertenecen el
mismo estado)
El mtodo 2) incluye al 1)
3. Si al generar un nodo, su estado asociado, ya ha
sido generado por otro nodo, eliminar el nodo peor
(y sus descendientes) del rbol de bsqueda
1. El mtodo 3) incluye al 2) y, por tanto, al 1)
2. Este mtodo es el ms caro (hay que mantener
todos los nodos en memoria).
Estructuras de datos
Listas cerradas (nodos expandidos)
Listas abiertas (frontera de nodos no expandidos)
Algoritmo general de bsqueda en grafos
(Russell, 2nd. Ed., sec. 3.5)


33
Ejemplo
Realizar bsqueda en anchura
(eliminando estados repetidos)
(suponemos costes=1):








Estado inicial: A
estados objetivo: {G}









A
B
D
C F
G
E
A
B
D
C F
G E
4 3
6
5
7
2
1
SOLUCIN


34
Problemas de satisfaccin
de restricciones, I
Constraint Satisfaction Problems (CSP)
Problema definido por:
Un conjunto de variables cuyos valores estn
definidos en un dominio (finitos o infinito)
Un conjunto de restricciones que involucran una o
ms variables del problema (ecuaciones lineales/no
lineales)
Los estados del problema que se definen mediante
asignaciones variable valor
Una funcin objetivo que optimice la solucin del
CSP
Estrategia de backtracking
Bsqueda en profundidad
Asigna valores a variables (una cada vez)
Retrocede en el rbol cuando el dominio de
asignacin de una variable en el rbol es vaco
Ejemplos
Problema 8 damas.
Criptoaritmtica.


35
Problemas de satisfaccin
de restricciones, II
Los problemas discretos (dominio finito) se
pueden resolver utilizando bsqueda:
Estado inicial: todas las variables sin
asignar
Profundidad mxima=nmero de
variables=profundidad de todas las
soluciones
Se puede utilizar, por tanto, bsqueda en
profundidad.
Cardinal espacio bsqueda=producto de
cardinales de los dominios de las variables
Se puede hacer:
Eliminacin de ramas en donde alguna
restriccin no se satisface (backtracking)
Propagacin de restricciones, para reducir los
posibles valores de las variables por asignar.


36
Otros ejemplos
Problema del viajante de comercio
NLP
Problemas de anlisis sintctico
Ejercicios de la hoja 3
Localizacin de una moneda falsa.
Reconocimiento de cadenas de caracteres
para una expresin regular.
Etc.

S-ar putea să vă placă și