Está en la página 1de 19

28/9/17

1. INTRODUCCIN A LA
INTELIGENCIA ARTIFICIAL.

UNIDAD 1
BSQUEDA HEURSTICA

1
BSQUEDA INFORMADA O HEURSTICA
La bsqueda no informada es tremendamente ineficiente en la mayora
de los casos
El propsito de la bsqueda informada es utilizar conocimiento
especfico del problema para alcanzar el objetivo de manera ms
eficiente
La idea es ser capaces de medir la calidad de un estado
Eso nos permitir dirigir la bsqueda por los estados mejores que
estarn ms cerca del objetivo y no seguir estrategias en anchura o
profundidad que no tienen en cuenta la calidad de los estados
Las estrategias de bsqueda informada son mucho ms eficientes que
las no informadas.
2

1
28/9/17

FUNCIN DE EVALUACIN
Funcin de evaluacin (), dado un nodo n estima la distancia desde
ese nodo a un nodo objetivo
Un nodo tendr ms calidad cuanto menor sea la distancia al objetivo
Las bsquedas informadas expanden primero los nodos que estn ms
cerca del objetivo, aquellos en los que la funcin f(n) asigna un menor
valor.
Hay distintas formas de definir la funcin de evaluacin. Bsicamente,
se pueden tener en cuenta dos distancias:
q La distancia desde el nodo inicial a
q La distancia desde hasta un nodo objetivo

3
BSQUEDA PRIMERO EL MEJOR
Se expandirn primero los estados con menor valor de f(n)
Es un caso particular de los algoritmos generales de bsqueda en
rboles o grafos
El nombre primero el mejor es inexacto, si realmente supiramos
cul es el mejor, la bsqueda sera directa
En realidad escogemos el estado que parece el mejor
La funcin de evaluacin es un estimador
4

2
28/9/17

FUNCIN DE EVALUACIN (II)


Puede tener dos componentes:
Coste del camino (): coste del mejor camino conocido para ir
desde el nodo inicial al nodo
Funcin heurstica (): estimacin del camino de menor coste
desde el nodo n a un objetivo
Si n es un objetivo necesariamente () = 0
Jugando con () y () podemos definir distintas funciones de
evaluacin ():

5
FUNCIN DE EVALUACIN (II)
Puede tener dos componentes:
Costo del camino (): coste del mejor camino conocido para ir desde el
nodo inicial al nodo
Funcin heurstica (): estimacin del camino de menor coste desde el
nodo n a un objetivo
Si n es un objetivo necesariamente () = 0
Jugando con () y () podemos definir distintas funciones de
evaluacin ():
() = () (Costo uniforme, bsq. no infor.)
() = () (Voraz primero el mejor)
() = () + () (A*)
6

3
28/9/17

BSQUEDA VORAZ PRIMERO EL MEJOR


Se trata de expandir el nodo ms cercano al objetivo
() = ()
No tiene en cuenta el coste de llegar hasta
Se pretende llegar rpidamente a la solucin, sin importar tanto el
coste
La bondad que tenga la funcin heurstica determinar la rapidez
con que llegamos a un estado objetivo

7
BSQUEDA VORAZ PRIMERO EL MEJOR

4
28/9/17

BSQUEDA VORAZ PRIMERO EL MEJOR

9
BSQUEDA VORAZ PRIMERO EL MEJOR

En este caso encuentra una solucin de


forma directa, pero no es ptima
Descarta la ruta por Rimnicu Vilcea y
Pitesti, que es 32 Km. ms corta
10

5
28/9/17

BSQUEDA VORAZ PRIMERO EL MEJOR

La minimizacin de () puede llevarnos a ventajas falsas


Puede hacernos expandir nodos innecesarios
Si no se tiene cuidado con los estados repetidos, podemos llegar a
callejones sin salida
Se parece a la bsqueda primero en profundidad y tiene las
mismas desventajas:
No es ptima y es incompleta
La complejidad es ()
La complejidad se reduce en funcin de la calidad de la
heurstica utilizada

11
BSQUEDA A* (I)

Estrategia ms conocida de bsqueda primero el mejor


Trata de minimizar el coste estimado total de la solucin. La funcin
de evaluacin es:
() = () + ()
En este caso () representa el coste estimado menor de una
solucin que pase por
Esta estrategia es muy buena, incluso ptima si la funcin heurstica
cumple ciertas condiciones:
Admisibilidad: no sobreestimar el coste hasta el objetivo
Consistencia o Monotona: desigualdades triangulares entre nodos sucesores
12

6
28/9/17

BSQUEDA A* (II)

13
BSQUEDA A* (III)

14

7
28/9/17

BSQUEDA A* (III)

15
BSQUEDA A* (IV)

16

8
28/9/17

ADMISIBILIDAD (I)

() es admisible si no sobrestima el coste de alcanzar el


objetivo, es decir,
() <= () (costo ptimo desde )

Dado que () es el coste exacto para alcanzar , ()


no sobrestima el coste verdadero de una solucin a
travs de n
() <= () (coste ptimo de una solucin por )

Ejemplo: es admisible

17
ADMISIBILIDAD (II)

, usando el algoritmo de bsqueda en rboles, es ptimo si () es


admisible
Demostracin: Supongamos que en la frontera tenemos un nodo
objetivo no ptimo 2 y que el coste a una solucin ptima es :
(2) = (2) + (2) = (2) >
Si consideramos que en la frontera tiene que haber un nodo 1 que est
sobre un camino solucin ptimo

(1) = (1) + (1) <= ya que h es admisible

Luego 2 no ser expandido y es ptimo


18

9
28/9/17

CONSISTENCIA O MONOTONA (I)

() es consistente si para cada nodo n y para cada sucesor n de n


generado por cualquier accin a debe cumplirse que
() <= (, , ) + ()
Se puede demostrar que si h es consistente tambin es
admisible
n c(n,a,n)
Esto es una forma de desigualdad
triangular, el tringulo est formado por , h(n)
n
y el objetivo ms cercano a h(n)

Ejemplo: es consistente objetivo

19
CONSISTENCIA O MONOTONA (I)

, usando el algoritmo de bsqueda en grafos, es ptimo si () es consistente


Si () es consistente entonces los valores de f(n) a lo largo de cualquier camino no
disminuyen
Demostracin: Supongamos sucesor de entonces
() = () + (, , ).

Siguiendo la definicin:
() = () + () = () + (, , ) + () >= () + () = ()

Los nodos expandidos por tienen valores crecientes de (). Luego el primer nodo
objetivo seleccionado para expandir debe ser la solucin ptima, ya que los nodos
posteriores sern al menos tan costosos
20

10
28/9/17

BSQUEDA (V)

Conclusiones
expande todos los nodos con () <
podra expandir nodos con () = antes de seleccionar un nodo
objetivo
no expande ningn nodo con () > (poda)

es ptimamente eficiente, ningn otro algoritmo ptimo garantiza


expandir menos nodos que (excepto por los desempates en
f(n)=C*). Los algoritmos que no expandan todos los nodos f(n)<C*
corren el riesgo de no encontrar la solucin ptima

La bsqueda es completa, ptima y ptimamente eficiente entre


todos los algoritmos

21
BSQUEDA (VI)

Pero no es la solucin a todos los males


En la mayora de problemas los nodos que cumplen que () <
definen un espacio de bsqueda todava exponencial
El nmero de nodos expandidos suele ser exponencial para la
mayora de problemas, lo que supone un problema de tiempo y
espacio
Pueden utilizarse variantes que encuentran soluciones sub ptimas o
heursticas ms exactas pero no admisibles
BRPM y los algoritmos con memoria acotada ( y ) son
evoluciones de que utilizan cantidades limitadas de memoria
22

11
28/9/17

BSQUEDA RECURSIVA PRIMERO EL MEJOR (I)

Es similar a la bsqueda primero en profundidad recursiva


En lugar de seguir indefinidamente hacia abajo el camino actual, se
mantiene el mejor camino alternativo disponible de uno de los
antepasados del nodo actual
Si el nodo actual excede el lmite, la recursividad vuelve atrs al camino
alternativo
Cuando vuelve hacia atrs sustituye el valor de de cada nodo a lo largo
del camino con el mejor valor de de uno de sus hijos
De esta forma el algoritmo recuerda la calidad de la mejor hoja del
subrbol olvidado y as puede decidir ms tarde si merece expandir de
nuevo ese subrbol

23
BSQUEDA RECURSIVA PRIMERO EL MEJOR (II)

24

12
28/9/17

BSQUEDA RECURSIVA PRIMERO EL MEJOR (III)

25
BSQUEDA RECURSIVA PRIMERO EL MEJOR (IV)

Es un algoritmo ptimo si es admisible


La complejidad espacial es ()
Su complejidad temporal es difcil de caracterizar ya que depende
de la exactitud de la funcin heurstica y de cmo cambia el
camino al ir expandiendo nodos
El algoritmo sufre al usar muy poca memoria, aunque tenga ms
memoria disponible. Eso le obliga a volver a expandir caminos ya
visitados
Una solucin mejor pasa por usar ms memoria y tener que
reexpandir menos nodos
26

13
28/9/17

BSQUEDA A*MS (MEMORIA SIMPLIFICADA) (I)

La idea es ocupar toda la memoria disponible


Expande nodos de la misma forma que hasta que la memoria
se llena. En ese punto, no se puede aadir ningn nuevo nodo
Lo que se hace es eliminar el peor nodo hoja y, como en BRPM,
devuelve hacia atrs el valor del nodo olvidado. De esta
forma el antepasado sabe la calidad del mejor camino en ese
subrbol
Si todos los descendiente de un nodo son olvidados, no
sabremos por qu camino ir desde , pero s cuanto cuesta

27
BSQUEDA A*MS (MEMORIA SIMPLIFICADA) (II)

Es completo si hay alguna solucin alcanzable, es decir, si d es


menor que el tamao de la memoria
Es ptimo si alguna solucin ptima es alcanzable; de otra
manera devuelve la mejor solucin alcanzable
Pasa por ser el mejor algoritmo para encontrar soluciones
ptimas cuando:
el espacio de estados es un grafo
con costes no uniformes
la generacin de nodos es costosa en comparacin con la gestin de las
listas abierta y cerrada
28

14
28/9/17

BSQUEDA A*MS (MEMORIA SIMPLIFICADA) (II)

Las restricciones de memoria pueden hacer un problema


intratable en cuanto a tiempo de clculo

La compensacin entre tiempo y memoria es siempre ineludible,


la nica salida es sacrificar la exigencia de encontrar soluciones
ptimas

29
FUNCIONES HEURSTICAS

Es fundamental definir buenas funciones heursticas para mejorar


las bsquedas con
Un heurstico est mejor informado que h sii los dos son
admisibles y parta todo n no objetivo: () > ()
Ejemplo: n-puzzle
h1=nmero de piezas mal colocadas
h2=suma de las distancias de las piezas a sus posiciones objetivo
30

15
28/9/17

FUNCIONES HEURSTICAS

1 = 8
2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18

Ambas son admisibles


Cul es mejor?

Estado inicial Estado objetivo

31
FORMAS DE DEFINIR FUNCIONES HEURSTICAS

Relajando el problema
Original: una ficha puede moverse de A a B si son adyacentes (horizontal o
verticalmente) y B es vaca
un ficha puede moverse de A a B si son adyacentes (2)
un ficha puede moverse de A a B si B es vaco
un ficha puede moverse de A a B en cualquier caso (1)
Combinando heursticas
si disponemos de un conjunto de heursticas admisibles 1
, y ninguna domina al resto:
() = max {1, , } domina a todas las dems
32

16
28/9/17

FORMAS DE DEFINIR FUNCIONES HEURSTICAS

Calculando el coste de un subproblema

Mediante programas:
ABSOLVER genera heursticas a partir de la definicin formal del problema,
relajndolo
Programas que aprenden a partir de la experiencia

33
TCNICAS DE BSQUEDA LOCAL (I)

Los algoritmos de bsqueda local se usan cuando el camino hasta el


objetivo es irrelevante y solamente interesa el estado objetivo
Muchos de ellos funcionan con un solo estado, el actual, y se mueven a los
vecinos de ese estado
Se utilizan para resolver problemas de optimizacin puros, en los que no
existe un estado objetivo, sino que se trata de encontrar el mejor estado
segn una funcin objetivo
Ventajas:
Este tipo de algoritmos usan menos memoria ya que no necesitan mantener
los caminos hasta la solucin
A menudo encuentran soluciones razonables en espacios de estados muy
grandes en los que los algoritmos sistemticos son inadecuados.
34

17
28/9/17

BSQUEDA POR ESCALADA (HILL-CLIMBING) (I)

Es un algoritmo voraz, que no mantiene un rbol de bsqueda, sino slo la


representacin del estado actual y el valor de su funcin objetivo

No se mira ms all de los vecinos inmediatos del estado actual

Escoge el vecino que tiene un mejor valor de la funcin objetivo

Finaliza cuando alcanza un extremo (mximo o mnimo, depende del


planteamiento)

35
BSQUEDA POR ESCALADA (HILL-CLIMBING) (I)

Obviamente no garantizan encontrar la solucin ptima, la bsqueda se


puede quedar atascada:

en un mximo o mnimo local


en una meseta, en una terraza
en una cresta

Pero es capaz de encontrar soluciones rpidamente


36

18
28/9/17

BSQUEDA POR ESCALADA (HILL-CLIMBING) (II)

8-reinas con bsqueda por escalada:


Cada estado tiene las 8 reinas en el tablero

La funcin sucesor devuelve todos los estados posibles moviendo una reina a otra
posicin de la misma columna

La funcin objetivo es el numero de pares de reinas que se atacan, directa o


indirectamente

h=1
h=17

37
VARIANTES DE HILL-CLIMBING

Escalada estocstica
escoge aleatoriamente entre todos los sucesores con mejor valoracin que el
estado actual
Escalada de primera opcin
generan aleatoriamente sucesores, escogiendo el primero con mejor valoracin
que el estado actual
Escalada con reinicio aleatorio
se repite varias veces la bsqueda, partiendo cada vez de un estado
inicial distinto, generado aleatoriamente
si no te sale a la primera, intntalo otra vez
si la probabilidad de xito de una bsqueda individual es p, entonces
el nmero esperado de reinicios es 1/
38

19

También podría gustarte