Está en la página 1de 26

Bsqueda en Inteligencia Artificial

Fernando Berzal, berzal@acm.org

Bsqueda en I.A.





Introduccin
Espacios de bsqueda
Agentes de bsqueda
Uso de informacin en el proceso de bsqueda



Estrategias de control



Bsqueda sin informacin (a ciegas)


Bsqueda con informacin (heurstica)
Estrategias irrevocables
Estrategias tentativas

Caractersticas de los problemas de bsqueda





Problemas ignorables
ignorables (montonos y reversibles)
Problemas no ignorables
ignorables o irrecuperables
1

Introduccin
Problemas NPNP-difciles
Definicin informal:
Problemas que, para resolverlos de forma exacta,
requieren la realizacin de una bsqueda en un
espacio que es de tamao exponencial.


Nadie sabe como evitar esa bsqueda.

No se espera que nadie lo consiga nunca


2

Introduccin
Problemas NPNP-difciles


Todos los problemas de los que se ocupa la I.A. son


NPNP-difciles (si existe un algoritmo rpido para un
problema, difcilmente consideraremos que el
problema requiere inteligencia).
Si un problema es NPNP-difcil y tenemos un algoritmo
que encuentra la solucin de forma rpida y casi
siempre correcta, podemos considerar que el
algoritmo es inteligente.
La I.A. implica que la bsqueda est sujeta a errores.
3

Introduccin
Para poder resolver el problema, debemos construir
un modelo para basar nuestras decisiones en las
consecuencias (hipotticas) de nuestras acciones:

Berkeley CS188
4

Introduccin
Problema tpico en I.A.
Descripcin
inicial
del sistema

Estado 1

Descripcin
final
del sistema

Estado 2

Estado n

representa la aplicacin de algn operador


o transformacin del sistema.
Cmo se selecciona, en cada momento,
el operador que se debera aplicar?

Introduccin
Ejemplo:: Ajedrez
Ejemplo
?





Mate del tonto

Se dispone de varios operadores (movimientos legales).


Se ha de elegir cul es el ms adecuado en cada
momento (qu pieza movemos y a dnde?).
No tiene sentido aplicar (ejecutar) el primer operador
que sea vlido, sino que se debe realizar un proceso
previo de bsqueda del mejor operador, tras lo cual 6
se proceder a su aplicacin.

Introduccin
Un problema de bsqueda en I.A. consta de:


Un espacio de estados
estados..

Un conjunto de operadores (acciones,


acciones, con costes).
costes).
E, 1




Un estado inicial (punto de partida de la bsqueda).


bsqueda).
Una funcin objetivo (comprueba si el estado
actual corresponde a una solucin del problema).
problema).

Espacios de bsqueda


La bsqueda la realiza un programa (o agente).

El espacio de bsqueda ser un grafo dirigido en el


que cada nodo representa un posible estado del
sistema.
NOTA: Dependiendo del problema, cada nodo
incluir una descripcin completa del sistema,
o bien slo las modificaciones necesarias para
pasar de un nodo padre a su hijo.
8

Espacios de bsqueda
Bsqueda en un espacio de estados


Espacio de estados:
estados:
Representacin del problema a travs de las (posibles)
acciones del agente.

Bsqueda en el espacio de estados:


estados:
Resolucin del problema mediante la proyeccin de las
distintas acciones del agente.

Espacios de bsqueda
Posibles acciones del agente (operadores)

10

Espacios de bsqueda
Bsqueda en un espacio de estados
Grafo del espacio de estados / Grafo implcito


Representacin matemtica de un problema de


bsqueda (nodos: estados; arcos: operadores):
Grafo terico que representa todas las posibles
transformaciones del sistema aplicando todos los
operadores posibles recursivamente.

Debido a su complejidad exponencial, que requerira


una cantidad inviable de memoria y tiempo, el grafo
del espacio de estados no puede generarse por
completo.

11

Espacios de bsqueda

12

Espacios de bsqueda
Bsqueda en un espacio de estados
rbol de bsqueda / Grafo explcito


Debido a la complejidad exponencial del grafo


implcito, se ir generando, paso a paso, una porcin
del grafo conforme avance el proceso de bsqueda.

El grafo explcito es el subgrafo del grafo implcito


que se va generando durante el proceso de bsqueda
de una secuencia de operadores que resuelva nuestro
problema (camino solucin) .

Usualmente, en forma de rbol


rbol,, de ah su nombre.

13

Espacios de bsqueda

14

Espacios de bsqueda
Bsqueda en un espacio de estados
rbol de bsqueda / Grafo explcito


Nodo raz: Estado inicial.

Hijos de un nodo: Posibles sucesores (nodos


correspondientes a estados resultantes de la
aplicacin de un operador al nodo padre).

Los nodos del rbol representan estados, pero


corresponden a PLANES mediante los cuales se
alcanzan dichos estados.

15

Espacios de bsqueda
Bsqueda en un espacio de estados
rbol de bsqueda / Grafo explcito

Estado inicial

Sucesor 1

Sucesor 2

Estado inicial

Sucesor 3

Futuros posibles

16

Espacios de bsqueda
Bsqueda en un espacio de estados
rbol de bsqueda / Grafo explcito
Condiciones de parada


Se ha encontrado la solucin.

Se ha acabado el tiempo disponible.

Se ha llegado a un nivel de profundidad determinado.


17

Espacios de bsqueda
Ejemplo: 88-puzzle
2

3
4

En el problema del 88-puzzle hay que encontrar


un camino desde la configuracin inicial
hasta una determinada configuracin final.
18

Espacios de bsqueda
Ejemplo: 88-puzzle
2

2
7

8
6

8
7

19

Espacios de bsqueda
Ejercicio: Problema del mono y los pltanos
Un mono est en la puerta de una habitacin. En el
centro de la habitacin hay un pltano colgado del
techo, pero no puede alcanzarle desde el suelo. En la
ventana de la habitacin hay una caja, que el mono
puede mover y a la que puede encaramarse para
alcanzar el pltano. El mono puede realizar las
siguientes acciones: desplazarse de la puerta al
centro, del centro a la ventana y viceversa; empujar la
caja a la vez que se desplaza; subirse y bajarse de la
caja; coger el pltano.
El problema consiste en encontrar una secuencia
de acciones que permita al mono coger el pltano.

20

Agentes de bsqueda
Segn el tipo de problema, nos podemos encontrar con:


Agentes de bsqueda
que devuelven un nico operador
vg
vg.. Juegos con adversario (como el ajedrez)

Agentes de bsqueda
que devuelven una secuencia de operadores
vg. Juegos sin adversario (como el 8
8--puzzle)
Sistemas de planificacin
Sistemas expertos (con encadenamiento hacia adelante)
adelante)

21

Agentes de bsqueda
que devuelven un nico operador , p.ej. ajedrez
Descripcin
inicial
del sistema

Descripcin
final
del sistema

proceso de
bsqueda

Estado n

proceso de
bsqueda
Estado 1

Estado X

movimiento
del adversario

22

Agentes de bsqueda
que devuelven una secuencia de operadores
p.ej. 88-puzzle
Descripcin
inicial
del sistema

proceso de
bsqueda
Descripcin
final
del sistema

Estado 1

Estado 2

Estado n
23

Uso de informacin


Un problema puede tener varias soluciones, pero


debido a la extensin del grafo implcito, no podemos
explorarlo por completo, por lo que tampoco podemos
buscar la mejor solucin al problema (suponiendo
algn criterio de optimalidad).
optimalidad).

Por eso, en muchos problemas de I.A. nos


conformamos con buscar soluciones aceptables
(cualquier camino a una solucin lo suficientemente
buena) y no soluciones ptimas (la mejor solucin
posible).
NOTA: Existen tcnicas matemticas/algortmicas
para resolver determinados tipos de problemas de
optimizacin, p.ej. programacin dinmica.

24

Uso de informacin
Heursticas
Las heursticas son criterios, mtodos o principios
para decidir cul de entre varias acciones promete
ser la mejor para alcanzar una determinada meta.

En la generacin del rbol de bsqueda, nos podemos


guiar con heursticas que nos den una indicacin
acerca de cmo de bueno o prometedor es un
determinado estado u operador.
p.ej.
Qu pieza deberamos mover en una partida de ajedrez?
Qu regla aplicamos en primer lugar al hacer un diagnstico?

25

Uso de informacin
Heursticas


El uso de heursticas nos permite convertir nuestra


bsqueda de una solucin en un proceso guiado de
ensayo y error.
NOTA: Comprese el uso heurstico de informacin para guiar el
proceso de bsqueda en Inteligencia Artificial con formalismos
como la teora de la decisin o la teora de juegos, que en
ocasiones nos permitirn determinar la decisin ptima si somos
capaces de identificar todos los factores relevantes para el
problema en cuestin (y las incertidumbres asociadas a ellos !!).
http://en.wikipedia.org/wiki/Decision_theory
http://en.wikipedia.org/wiki/Game_theory

26

Bsqueda sin informacin




Slo realizaremos una bsqueda a ciegas [blind


search]] cuando no exista informacin especfica sobre
search
el problema que nos ayude a determinar cul es el
mejor operador que se debera aplicar en cada
momento o el mejor nodo por el que continuar la
bsqueda.

Se pueden utilizar distintos criterios para explorar el


espacio de bsqueda, p.ej. LIFO (en profundidad) o
FIFO (en anchura).
27

Bsqueda con informacin




En problemas medianamente complejos, no obstante,


tendremos que utilizar algn tipo de informacin para
guiar nuestra bsqueda.
p.ej.

Para generar el grafo completo del juego


del ajedrez (1047 estados), generando 3
billones de nodos por segundo y sin
restricciones de memoria, tardaramos
unos 1030 aos en resolver el problema,
1020 veces la edad estimada del universo!
http://www.wolframalpha.com/input/?i=universe+age
28

Bsqueda con informacin


Se pueden distinguir dos casos bsicos:


Informacin incluida en la descripcin del propio


conocimiento que tenemos del problema.
p.ej.

Uso de prioridades en los S.E.B.R.

Informacin especificada aparte de la descripcin del


conocimiento.
p.ej.

Uso de una funcin heurstica que evala la


bondad de un estado del sistema:
29
f(estado) R

Bsqueda con informacin


Ejemplo: 88-puzzle
Ya que conocemos el estado final deseado, podemos
utilizar la siguiente funcin heurstica:
f(tablero)= - nmero de piezas mal colocadas
con respecto al objetivo
2

f(E) = -4

3
4

f (OBJ) = 0
30

Bsqueda con informacin


Ejemplo: 88-puzzle

-2

-4

-3

8
6

-1
-5

-3

-3

-5

2
7

-5

-4

-2

-4

-6

8
7

31

Estrategias de control
El tipo de estrategia de control que utilice nuestro
agente de bsqueda (irrevocable o tentativa)
determinar la respuesta a las siguientes preguntas:


Cmo vamos generando el rbol de bsqueda en un


proceso de bsqueda?

Guardamos todos los nodos generados?

Guardamos slo el camino explorado hasta el ltimo


nodo generado?

Guardamos exclusivamente el ltimo nodo?

32

Estrategias de control
Estrategias irrevocables
En cada momento, slo mantenemos en memoria un
nico nodo, que incluye la descripcin completa del
sistema en ese momento:




Se selecciona un operador R.
Se aplica sobre el estado del sistema E,
para obtener un nuevo estado E = R(E).
Se borra de memoria E y se sustituye por E.
33

Estrategias de control
Estrategias irrevocables

E
Estado actual

3
4

E = R(E)
Estado resultante

34

Estrategias de control
Estrategias irrevocables


Bsqueda sin informacin


vg. CLIPS (estrategias
(estrategias greedy FIFO, LIFO o LEX)

Bsqueda con informacin


vg. CLIPS (conocimiento
(conocimiento:: prioridades de las reglas)
reglas)
Ascensin de colinas (funcin heurstica)
heurstica)
35

Estrategias de control
Estrategias tentativas de control
En memoria se guardan todos los estados o nodos
generados hasta el momento, de forma que la bsqueda
puede proseguir por cualquiera de ellos:
1.
2.
3.
4.
5.

Seleccionar un estado E del grafo.


Seleccionar un operador R aplicable sobre E.
Aplicar R, para obtener un nuevo nodo R(E).
Aadir el arco E R(E) al grafo
Repetir el proceso.
36

Estrategias de control
Estrategias tentativas sin informacin


Al no disponer de informacin que nos gue en el


proceso de bsqueda, seguimos criterios generales
vg
vg.. Exploracin del grafo en profundidad
Exploracin del grafo en anchura

Podemos definir criterios de parada


(p.ej. detener la generacin cuando se haya
llegado a un nivel de profundidad determinado
o se haya consumido el tiempo disponible).

37

Estrategias de control
Estrategias tentativas con informacin
Exploracin primero el mejor
Se explora exhaustivamente el grafo utilizando una
funcin heurstica para determinar el orden en que se
exploran los nodos:
1.

2.
3.
4.
5.

Seleccionar el nodo E del grafo


que tenga mayor valor para la funcin heurstica.
Seleccionar un operador R aplicable sobre E.
Aplicar R, para obtener un nuevo nodo R(E).
Aadir el arco E R(E) al grafo
Repetir el proceso.

38

Caractersticas del problema


Cules son las caractersticas de un problema que
obligan a utilizar una determinada estrategia?

Problemas ignorables
ignorables.
.


Problemas ignorables
ignorables montonos.

Problemas ignorables
ignorables reversibles.

Problemas no ignorables
ignorables o irrecuperables.
39

Caractersticas del problema


Problemas ignorables
ignorables
Un problema es ignorable cuando,
si se puede alcanzar el objetivo desde un estado E,
tambin puede alcanzarse
desde cualquier otro estado R(E),
donde R es un operador arbitrario.
En definitiva, no corremos ningn riesgo
en la aplicacin de cualquier operador.

40

Caractersticas del problema


Problemas ignorables
ignorables montonos
Cuando la aplicacin de cualquier operador se limita a
aadir ms hechos, sin modificar los ya existentes.
Este tipo de problemas son los tratados en la lgica
clsica (que es montona).
EJEMPLO
R1. Si hace calor, entonces el profesor no est cmodo
R2. Si hace calor, entonces recomendar piscina
R3. Si el profesor no est cmodo,
entonces los alumnos suspenden
41

Caractersticas del problema


Problemas ignorables
ignorables montonos
R2

hace calor

hace calor
rec. piscina

R1

hace calor
profesor incmodo

R1
hace calor
rec. piscina
profesor incmodo

R3

R3
R2

hace calor
rec. piscina
profesor incmodo
alumnos suspenden

hace calor
profesor incmodo
alumnos suspenden

R2
42

Caractersticas del problema


Problemas ignorables
ignorables montonos


El ejemplo anterior ilustra la ignorabilidad


ignorabilidad de un
problema: siempre que sea posible, se llegar a la
solucin (aunque tal vez sea necesario aplicar ms
reglas de las estrictamente necesarias).

Al ser el problema ignorable,


ignorable, el grafo de bsqueda
puede explorarse utilizando una estrategia irrevocable
(as lo haremos, sobre todo, si el coste de
representacin de los estados en memoria es elevado).
NOTA:

Obviamente, siempre se puede explorar


con una estrategia de control retroactiva.

43

Caractersticas del problema


Problemas ignorables
ignorables reversibles
Cuando las acciones de los operadores son reversibles;
es decir, estado E, operador R, operador R-1 tal que
R-1(R(E))=E
EJEMPLOS
 8-puzzle.
 Planificacin de movimientos de un robot con STRIPS.

44

Caractersticas del problema


Problemas ignorables
ignorables reversibles


Se les puede aplicar una estrategia irrevocable:


irrevocable:
Si se decide no proseguir la bsqueda por un estado E',
generado a partir de otro estado E aplicando R(E),
siempre se puede aplicar R-1 a E para obtener de
nuevo E y buscar otro operador aplicable a E.

Si el coste computacional de la aplicacin de los


operadores es alto y no hay muchas restricciones de
memoria, entonces es mejor utilizar una estrategia
retroactiva..
retroactiva

45

Caractersticas del problema


Problemas ignorables
ignorables reversibles
R
E0

Operacin
reversible

Operador inverso
(o vuelta atrs)

Operacin
alternativa

R-1
E0

E0

R2

46

Caractersticas del problema


Problemas no ignorables
ignorables o irrecuperables
Cuando la aplicacin de un operador puede generar
un estado desde el cual no sea posible llegar a un
estado objetivo.
EJEMPLOS
 Control de la adicin de sustancias qumicas en el
proceso realizado por una planta industrial.
 Juegos con adversario, como el ajedrez.
47

Caractersticas del problema


Problemas no ignorables
ignorables o irrecuperables
EJEMPLO: Sustituciones simblicas en una cadena
R1:
R2:
R3:
R4:

C
C
B
Z

DL
BM
MM
BBM

Estado inicial:

E0 = {C B Z}

Estado final:

Cadena slo con emes




Si aplicamos R1 es imposible llegar a un estado


final, por lo que el problema es irrecuperable.
Si quitsemos R1, entonces el problema s sera ignorable
ignorable.
.

48

Caractersticas del problema


Problemas no ignorables
ignorables o irrecuperables
Lo usual ser utilizar una estrategia tentativa:
Exploracin
completa

CBZ
DLBZ

BMBZ

p.ej. anchura

CBZ
DLBZ

CBZ

retroceso

Exploracin
retroactiva

BMBZ
MMMBZ

(backtracking)

49

Bibliografa


Stuart Russell & Peter Norvig:


Norvig:
Artificial Intelligence:
A Modern Approach
Prentice--Hall, 3rd edition, 2009
Prentice
ISBN 0136042597

Nils J. Nilsson
The Quest for Artificial Intelligence
Cambridge University Press, 2009
ISBN 0521122937
50

Bibliografa
Bibliografa complementaria


Elaine Rich & Kevin Knight:


Artificial Intelligence.
Intelligence.
McGraw--Hill, 1991.
McGraw

Patrick Henry Winston:


Artificial Intelligence.
Intelligence.
Addison--Wesley, 1992.
Addison

Nils J. Nilsson:
Principles of Artificial Intelligence.
Intelligence.
Morgan Kaufmann, 1986.

51

También podría gustarte