Вы находитесь на странице: 1из 37

Resolucin de problemas mediante bsqueda

Bsqueda ciega, no informada Bsqueda heurstica, informada B d h i i f d


1

Agente simple de resolucin de problemas: Tipos de problemas


Agentes de resolucin de problemas son un tipo de agentes basados en el objetivo Determinista, completamente observable problema de estado simples:
El agente sabe exactamente en qu estado se encuentra La encuentra. solucin es una secuencia

No-observable

problema sin sensores p problema con

El agente no sabe dnde se encuentra. La solucin es una secuencia.

No determinista y/o p y parcialmente observable contingencias. Espacio de estados desconocido

Las percepciones proporcionan informacin actualizada sobre el estado actual.

problema exploratorio

Formulacin de problemas, I Problema de la aspiradora


Se dispone de una aspiradora con acceso a dos habitaciones y con la capacidad de aspirar basura
Entorno accesible y determinista: Problema de estados simples
El agente est en alguna posicin
1

El mundo tiene dos alternativas {LIMPIO, SUCIO}


2

Las acciones que puede realizar el agente: L: left (izquierda) R: right (derecha) S: suck (aspirar)

Objetivo: limpiar toda la suciedad. Equivale al conjunto de 3 estados {7,8}

Formulacin de problemas, II Problema de la aspiradora


Entorno no accesible (parcialmente observable) y/o no determinista: Problema de estados mltiples
DEF: Un problema de estados mltiples es un caso particular del caso de un problema de estado simple simple, en donde cada estado es un multiestado.

Formulacin de problemas, III (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

Formulacin de problemas, V (Problema Bien Definido)


Estados? Posiciones de la suciedad y del robot El que se designe d i (1, AS, S), (2, S, AS), (3, AS, ) (4, S, A), (5, A, S), (6, , AS) (7, A, ), (8, , A)

Estado i i i l? E t d inicial?

Operadores? Left (L), right (R), suck (S) Funcin sucesor? (1 R 2), (1 S 5) 1
2

Objetivo? NoDirt(x) Coste del camino? 1 por operador


5 6 3 4

Resolucin mediante bsqueda, I


La resolucin de un problema de IA mediante bsqueda consiste en:
Aplicar una determinada estrategia de control que conduzca a encontrar un camino desde el estado inicial hasta algn estado objetivo del espacio de estados
Exige examinar las posibles secuencias de acciones Se debe seleccionar aquella secuencia que sea la 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).
7

Resolucin mediante bsqueda, II


El entorno del problema influye sobre la secuencia de acciones solucin
Ej Ejemplos l
Entorno determinista Para cada estado inicial, hay una secuencia fija de operadores que llevan al objetivo Comenzar en #5 Secuencia: [R, S] Entorno determinista no accesible Para cada estado inicial hay una secuencia inicial, fija de operadores que llevan al objetivo Comenzar en algn estado: {1 .. 8} Secuencia: [R, S, L, S] E t Entorno no d t determinista, semiaccesible i i t i ibl La absorcin deposita algunas veces suciedad, pero slo cuando no hay suciedad sensor de posicin y sensor local de suciedad Se percibe [L, Limpio]. Comenzar en #5 #7 [L, Limpio] Secuencia: [R, If Sucio Then S] 8

Ejercicios propuestos
En ambos casos determinar: (a) estados, (b) estado inicial, (c) operadores, (d) objetivo, (e) coste del camino

1. 1 - Dado un puzzle de 8 piezas alcanzar el estado piezas, objetivo mediante sucesivos movimientos del hueco.

2.- Dado un tablero con N reinas, encontrar una configuracin en la que no estn enfrentadas entre si
Solucin no vlida

Soluciones a ejercicios propuestos


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): i /d )


Coste operadores: 1 (el camino solucin siempre tiene coste 8). Posible representacin (1):
estado: N reinas en el t bl t d i l 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)

10

Otros ejemplos, I
Problemas de Criptoaritmtica
+ FORTY TEN TEN -----SIXTY + 29786 850 850 -----31486

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

11

Otros ejemplos, II
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: p
Transportar 1 misionero. Transportar 1 canbal. Transportar 2 misioneros. Transportar 2 canbales. canbales Transportar 1 misionero y 1 canbal. 12

Coste operador: 1

Otros ejemplos, III


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 ciudades, inicio. Debe visitar exactamente 1 vez todas las ciudades (excepto la de inicio que la visita 2 veces).

Estado inicial: (A) Estado final: (A ... A) Estados: (A C) (A D) (A B) (A E) (A C D) (A C D E) (A C D E B) ... Operadores: VisitarCiudadA = VA, VisitarCiudadB = VB, ... VisitarCiudadE = VE

B
10

10 13 8 6

A
6

D C
5

13

Bsqueda en rboles, I
Representacin de un nodo:
Estado: elemento del espacio de estados que corresponde con el nodo 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 14

Bsqueda en rboles, II
Algoritmo de bsqueda en rboles Algoritmo de expansin de nodos

15

Bsqueda en rboles, III


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

16

Bsqueda no informada vs bsqueda informada


Bsqueda no informada o ciega:
Slo usan la informacin d l i f i de la definicin del problema no disponen de ninguna informacin adicional a la propia definicin del mismo

Bsqueda informada o heurstica:


Usan la informacin de definicin del d d fi i i d l problema y el coste del estado actual al objetivo.

Estrategias:
Best first Bsqueda Avara A* IDA* Mejora iterativa

Estrategias:
Bsqueda primero en anchura. Bsqueda p q primero en profundidad. Bsqueda limitada en profundidad. Bsqueda iterativa en profundidad. f did d Bsqueda bidireccional.

17

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: bsq eda


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) 18

Estrategias de bsqueda ciega, II


Bsqueda en anchura (BFS):
Completo y ptimo C Complejidad espacial l jid d i l Complejidad temporal =
nmero de nodos expandidos =

O (bd +1 )

Se almacenan todos los nodos en memoria

1 bd +1 1 + b + b + ... + b = = O (bd +1 ) 1 b
2 d

Frontera: Cola FIFO


Nmero de nodos generados para b=10, 1000 nodos/segundo, 100 bytes/nodo: d=2 111 nodos, 0.1 seg., 11 Kb d 2, nodos 0 1 seg d=6, 1.000.000 nodos, 18 minutos, 111 Mb d=12, 1012 nodos, 35 aos, 111 Tb

19

Estrategias de bsqueda ciega, III


Bsqueda en profundidad (DFS):
No es ptimo
Puede encontrar un camino peor

No es completo
Puede no acabar

Frontera: Cola LIFO Complejidad temporal = O(b m )


Terrible si m>>d Ms eficiente que BFS si la solucin est accesible.

Complejidad espacial: lineal


nmero de nodos necesarios = un camino hasta una hoja y los hermanos de cada nodo del camino = O (bm)

20

Estrategias de bsqueda ciega, IV


Bsqueda limitada en profundidad (DLS): Caso particular de Bsqueda en profundidad. profundidad Se utiliza un lmite de profundidad (l). Los nodos a profundidad l no tienen sucesores. No es ptimo (idem DFS)
Puede encontrar un camino peor

No es completo, en general, aunque:


s es completo cuando

ld

Complejidad temporal = O(b ) Complejidad espacial: lineal


nmero de nodos necesarios = un camino hasta una hoja y los hermanos de cada nodo del camino = O(bl)

21

Estrategias de bsqueda ciega,V


Bsqueda iterativa en profundidad (IDS):

Son bsquedas en profundidad con lmites 0, 1, 2, 3, 4, l it 0 1 2 3 4 ... Es ptimo y completo ( p j p Complejidad espacial = O (bd ) Complejidad temporal
nmero total de expansiones (los nodos con la profundidad de la mejor solucin se expanden 1 vez; l siguientes 2 veces, l siguientes 3 los i i t los i i t veces, ) =

1bd + 2bd 1 + 3bd 2 + .... + ( d 1)b2 + db + ( d + 1)b0 = O (b d )


Mt d preferido cuando no se Mtodo f id d conoce la profundidad de la solucin.
22

Iterative deepening search l =1

Extrado de Russell-Norvig AIMA

23

Iterative deepening search l =2

Extrado de Russell-Norvig AIMA

24

Iterative deepening search l =3

Extrado de Russell-Norvig AIMA

25

Estrategias de bsqueda ciega,VI


COMPARACIN DLS - IDS Para b = 10, d = 5
NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111111 NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123456

Overhead = (123456 - 111111)/111111 = 11%

26

Estrategias de bsqueda ciega, VIII


Bsqueda de coste uniforme:
Los resultados anteriores pueden no verificarse cuando los costes de los arcos son variables. Hay que tener en cuenta los costes variables para los arcos:

coste() k > 0,
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 (BFS).
Si todos los arcos tienen el mismo coste, g(n)=profundidad(n)

Complejidad espacial y temporal =


O(b ), d =
d
~

cos te d mejor solucin de j l i minimo valor cos tes


27

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. d 2 Complejidad espacial y temporal: O (b )
Espacial: Al menos u o de los bo es e memoria spac a e os uno os rboles en e o a siempre Temporal: Comprobar que un nodo pertenece al otro rbol. Tiempo constante con tabla hash

Ejemplo:
d=6 y b=10 con BFS (anchura) en cada direccin En el peor caso p=3 en cada direccin 22.200 nodos generados 11.111.100 si slo hicisemos BFS

Dificultades
Clculo de predecesores. Varios estados objetivo. Significado de encontrarse las bsquedas g q Abstraccin de la funcin objetivo (jaque mate) Determinacin del tipo de bsqueda en cada direccin.

28

Estrategias de bsqueda ciega, IX


Cuadro resumen:

29

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
Para los d+1 estados (d es la profundidad mxima) El rbol de bsqueda contendr 2d ramas. Poda.

2d ramas

30

Eliminacin de estados repetidos, II


Para evitar que se repitan estados, se pueden considerar tres mtodos:
1. 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 al 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) (Russell, 2nd. Ed., sec. 3.5) 31

Algoritmo general de bsqueda en grafos

Ejemplo I (Eliminacin Estados Repetidos)


Realizar bsqueda en anchura
Costes unitarios. Estado inicial: {A} Estado objetivo: {G}

A B D E Con EER A 1 2 B 5 D 3 C 6 E G A C F

Sin EER 1 A 2 5 B 3 6 E E C 4 F

7 G

4 F 7 G

32

Ejemplo II (Eliminacin Estados Repetidos)


Realizar bsqueda en profundidad
Costes unitarios. Estado inicial: {A} Estado objetivo: {G}

A B D G E 4 Con EER 2 B 3 D 4 E A 1 5 C 6 F C F

Sin EER 1 A 2 3 D A 5 B E B C F

7 G
33

Problemas de satisfaccin de restricciones, I


Constraint Satisfaction Problems (CSP)
Un conjunto de variables cuyos valores estn definidos en un dominio (finito o infinito) ( ) Un conjunto de restricciones que involucran una o ms variables del problema (ecuaciones lineales/no lineales) p que Los estados del problema q se definen mediante asignaciones variable valor Una funcin objetivo que optimice la solucin del CSP

Grafos de restricciones: Representacin de CSP


Nodos: variables Arcos: restricciones
NT SA Q WA T V
NSW

Imagen tomada de Russell & Norvig

34

Problemas de satisfaccin de restricciones, II


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. Coloreo de mapas. WA
Dominio inicial WA = R

NT
RGB GB B B

Q
RGB RGB G G

NSW
RGB RGB R B R

V
RGB RGB RGB B

SA
RGB GB B

T
RGB RGB RGB RGB

RGB R R R

Q=G

V=B

35

Problemas de satisfaccin de restricciones, III


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 bsqueda en profundidad.

Cardinal espacio bsqueda


Producto de los 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

Problemas de satisfaccin de restricciones, IV


Estados: 4 reinas en 4 columnas (44 = 256 estados) Acciones: mover reina en columna
desplazar la reina que menos amenazas tenga

Objetivo: que no existan amenazas Evaluacin: h(n) = n de amenazas ( )

Imagen tomada de Russell & Norvig

h(n) ( )

h(n) ( )

4 4

2 3

4 3

3 4

2 3 5 3 1 4

2 2

2 3

37

Вам также может понравиться