174
FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos reservados

FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

Embed Size (px)

Citation preview

Page 1: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

FIA-3

3. Búsqueda y

Planificación

Jorge Cabrera GámezDepartamento de Informática y Sistemas

Universidad de Las Palmas de Gran Canaria© Todos los derechos reservados

Page 2: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

2

Contenidos3. Búsqueda y Planificación. (10 horas)

3.1 El agente que planifica. 3.2 Técnicas de búsqueda no informada.

3.3 Técnicas de búsqueda informada.

3.4 Técnicas de búsqueda con adversario.

3.5 Planificación, acción y aprendizaje.

3.6 Bibliografía básica.

Page 3: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

3

Objetivos:

• Un agente capaz necesita explorar.

• Igual Problema <--> Idéntica Solución o el porqué

de una representación formal basada en estados y

operadores.

• Conocer los métodos de exploración más comunes.

• La heurística permite una búsqueda más efectiva.

• Procedimientos de búsqueda para juegos.

• La actividad de un agente real es algo más que

exploración: el ciclo percibir-planificar-actuar.

Page 4: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

4

El Agente que Planifica

El agente reactivo tiene sus posibles acciones “compiladas” en memoria.

Esto supone que deben haberse anticipado todas y cada una de las posibles situaciones a dilucidar por el agente.

En caso de que esto fuese posible fuera de entornos muyrestrictivos, la memoria necesaria podría llegar a ser inmensa.

¿Es este enfoque suficiente para un agente que debe evolucionar en un entorno real?.

Page 5: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

5

El Agente que Planifica

Frente al agente reactivo, puede promocionarse otro tipo de agente capaz de “calcular” qué acciones son adecuadas a cada situación.

Este agente es en principio mucho más fácil de mantener o modificar. Además es posible que sea capaz de extrapolar su comportamiento a situaciones inicialmente no previstas por el diseñador.

Debe ser capaz de predecir las consecuencias de sus acciones, para lo que se requiere un modelo del mundo en el que evoluciona.

Page 6: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

6

A B C((A)(B)(C))

AB C

((AB)(C))

AB C

((B)(AC))

BA C

((BA)(C))

BA C

((A)(BC))

CA B

((CA)(B))

CA B

((A)(CB))

mue

ve(A

,B)

mue

ve(A

,C)

mueve

(B,A

)m

ueve

(B,C

)m

ueve(C,A)

mueve(C,B)

Page 7: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

7

mueve(A, m

esa)

mueve(A, mesa)

mue

ve(A

, C)

mueve(C, mesa)

mue

ve(C

, mes

a) mueve(C,B)

mue

ve(B

,A) m

ueve(B

,C)

mueve(B,C)

AB C

((AB)(C))

AB C

((B)(AC))

AC B

((CA)(B))

CA B

((A)(CB))CA B

((A)(B)(C))

BA C

((A)(BC))

BA C

((AB)(C))

mueve(B,mesa)

AB

C

((BAC))

mueve(C,mesa)AC

B

((CAB))m

ueve

(C,B

)

BC

A

((CAB))

BA

C

((ABC))

mueve(A

,B)

CB

A

((BCA))mueve(B,mesa)

CA

B

((ACB))

mueve(A,mesa)

Page 8: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

8

Sistemas de resolución de problemas

• Datos o representación: describen las situaciones posibles* Situación inicial* Situación final u objetivo* Situaciones intermedias

ESTADOS

• Operadores: transforman una situación del problema en otra* cambiando/transformando la situación actual* generando subproblemas más simples

• Estrategia de control: qué operadores escoger en función de la situación actual

Page 9: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

9

estado1

estado2

estado5

estado3

estado4OP_A

OP_B

OP_C

OP_A

OP_D

OP_E

Solución al problema:

Encontrar la secuencia correcta de operadores quepermite alcanzar el estado objetivo desde el estado inicial.

Page 10: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

10

Dos formulaciones:

A. Espacio de Estados B. Reducción de Problemas

Problema inicial

SubProblema #1 SubProblema #2

Primitiva A Primitiva B Primitiva C

And

Or

OP_A

OP_C OP_B

Page 11: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

11

p q

pq

r

Un ejemplo:

Sean p,q,r,s,t,y u proposiciones lógicas relacionadas según:

r s pt u qr ur

El problema:demostrar el teorema

q p

r s

s

r

t u

tu

?

Page 12: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

12

Ejemplo.

El problema de las jarras de agua. Nos dan dos jarras con una capacidad de 4 y 3 litros respectivamente. Ninguna tiene marca alguna de medida. El problema consiste en obtener exactamente 2 litros de agua en la jarra de 4 litros. Se supone que podemos obtener toda el agua que sea necesaria de un depósito en el que también podemos verter agua si esto fuese necesario.

Page 13: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

13

El problema de las jarras de agua:

El espacio de estados:

El conjunto de pares ordenados (x,y), tal quex = 0,1,2,3,4 e y = 0,1,2,3, donde x e y representan respectivamente el volumen de agua contenido en la jarra de 4 y de 3 litros.

Estado inicial: (0,0)

Estado final: (2, n), para cualquier valor posible de n.

Page 14: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

14

1. (x,y), si x < 4 (4,y) ; Llena la jarra de 4 litros2. (x,y), si y < 3 (x,3) ; Llena la jarra de 3 litros3. (x,y), si x > 0 (0,y) ; Vacía la jarra de 4 litros4. (x,y), si y > 0 (x,0) ; Vacía la jarra de 3 litros5. (x,y), si (x+y) 4 e y > 0 (4,y-(4-x)) ; Llena la jarra de 4 litros con el contenido de la jarra de 3 litros 6. (x,y), si (x+y) 3 e y > 0 (x-(3-y),3) ; Llena la jarra de 3 litros con el contenido de la jarra de 4 litros 7. (x,y), si (x+y) 4 e y > 0 (x+y,0) ; Vacía el contenido de la jarra de 3 litros en la de 4 litros8. (x,y), si (x+y) 3 e x > 0 (0,x+y) ; Vacía el contenido de la jarra de 4 litros en la de 3 litros

El conjunto de operadores:

Page 15: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

15

Una solución al problema:

Agua en la jarra de 4 litros

Agua en la jarra de 3 litros

Operador

0 0 Llena la de 3

0 3 Vacía la de 3 en la de 4

3 0 Llena la de 3

3 3 Llena la de 4 con parte la de 3

4 2 Vacía la de 4

0 2 Vacía la de 3 en la de 4

2 0 Estado objetivo

Page 16: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

16

El problema de los misioneros y los caníbales.

En el problema de los misioneros y los caníbales se tienen 3 misioneros en una orilla de un río y 3 caníbales en la orilla opuesta. Para cruzar el río se dispone de un bote que puede transportar a la otra orilla a una o dos personas. El objetivo es encontrar la sucesión de cruces que logre llevar a todos a la otra orilla. El problema radica en que si en algún instante los misioneros quedan en inferioridad numérica en cualquier orilla serán devorados por los caníbales.

Page 17: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

17

La explosión combinatoria

Principal problema en la resolución de problemas por exploración de alternativas

Complejidad: recursos en tiempo y memoria de una máquina

Nº de estados en el ajedrez ~ 10120

Edad del Universo ~ 1017 segundos

Máquina con velocidad de exploración de 1 estado/picosegundo,

es decir, 1012 estados/sg

Desde el comienzo del Universo habría explorado sólo 1029 estados

Page 18: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

18

Explosión combinatoria

Exploración ordenada

Exploración con poda

Ordenar la exploración de los estados por expectativas de éxito

Se eliminan las ramas del árbolque no se consideran adecuadas

Factor de Ramificación(exploración en árboles)

Conocimiento específico al problema (Heurística)

Page 19: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

19

La exploración en árboles

Procedimiento de búsqueda no informados

Procedimiento de búsqueda informados

Procedimiento de búsqueda con adversario

Page 20: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

20

S

A

D E F

G

B C

Ejemplo que se empleará para ilustrar los diferentesmétodos de exploración no informados e informados.

Page 21: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

21

S

A

D E F

G

B C

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

CEl árbol expandido del grafo anterior

(evitando la repetición de nodos

en un camino)

Page 22: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

22

Esqueleto de función que es capaz de recoger numerosas estrategias de exploración

function GENERAL-SEARCH(problema, estrategia) {"Devuelve una solución o fallo"

Inicializar el árbol de búsqueda usando el estado inicial de “problema”

loop do

if no hay nodos para expandir then return fallo elegir un nodo-hoja para expandir de acuerdo con “estrategia” if el nodo contiene el nodo meta then return la solución expandir el nodo y añadir los nodos resultantes al árbol

end

}

Page 23: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

23

Estructura de datos y funciones asociadas para exploración en árboles.

En lo que sigue asumiremos que un nodo se definirá como una estructura de datos con los siguientes componentes:

• El estado en el espacio de estados al que este nodo representa. • El nodo que lo generó o nodo padre de este nodo. • El operador que se aplicó para generar este nodo. • El número de nodos desde este nodo al nodo raiz, v.g la profundidad del nodo. • El coste acumulado en el trayecto desde el nodo raiz a este nodo.

Page 24: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

24

Es importante destacar aquí la diferencia entre nodos y estados.

Un nodo es simplemente una estructura de datos auxiliar que resulta adecuada para representar el proceso de búsqueda en un determinado problema y en un instante dado, de acuerdo con un cierto procedimiento de búsqueda.

Un estado representa por contra una cierta configuración del mundo o entorno donde se desarrolla el problema. Así los nodos tienen antecesores o nodos-padre, profundidad, etc, mientras los estados no.

La diferencia entre nodos y estados

Page 25: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

25

Esqueleto de función que es capaz de recoger numerosas estrategias de exploración

function GENERAL-SEARCH(problem, QUEUING-FN) {"Devuelve una solución o fallo"

nodes <-- MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop do

if EMPTY?(nodes) then return failure node <-- REMOVE-FRONT(nodes) if GOAL-TEST(problem, state(node)) then return node nodes <-- QUEUING-FN(nodes, EXPAND(node,problem))

end

}

Page 26: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

26

Representación de la colección de nodos susceptibles de expansión en el proceso de exploración.

Asumiremos que esta colección de nodos se implementará como una cola, con los siguientes métodos u operadores:

MAKE-QUEUE(Elements) crea una cola con los elementos dados. EMPTY?(Queue) devuelve true sólo si la cola no contiene elementos. REMOVE-FRONT(Queue) extrae el elemento situado en la cabeza de la cola y lo devuelve. QUEUING-FN(Elements,Queue) define la función que se emplea para insertar los elementos en la cola. Veremos que diferentes métodos de búsqueda sólo difieren en la definición de esta función.

Page 27: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

27

Esqueleto de función que es capaz de recoger numerosas estrategias de exploración

function GENERAL-SEARCH(problem, QUEUING-FN) {"Devuelve una solución o fallo"

nodes <-- MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop do

if EMPTY?(nodes) then return failure node <-- REMOVE-FRONT(nodes) if GOAL-TEST(problem, state(node)) then return node nodes <-- QUEUING-FN(nodes, EXPAND(node,problem))

end

}

Page 28: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

28

Métodos de búsqueda no informados

• Búsqueda en amplitud

• Búsqueda en profundidad

• Búsqueda limitada en profundidad

• Búsqueda progresiva en profundidad

Page 29: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

29

Búsqueda en amplitud(Breadth-First search)

Page 30: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

30

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda en amplitud

F

E

D

G

S

Page 31: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

31

Búsqueda en amplitud

• La estrategia de control: --> visitar todos los nodos de un nivel antes de explorar los nodos hijos (siguiente nivel)

• Los últimos nodos expandidos se insertan en el final de la cola

function BREADTH-FIRST-SEARCH(problem) { return GENERAL-SEARCH(problem, ENQUEUE-AT-END) }

Page 32: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

32

Búsqueda en amplitud

Propiedades

Completitud

Optimalidad

Garantiza el encontrar una solución si existe;y si existen varias devuelve la de menor profundidad

El método de exploración es óptimo: Devuelve la solución de menor coste siempre que el coste no sea una función decreciente con la profundidad

Page 33: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

33

Búsqueda en amplitud

PropiedadesComplejidad

Supongamos un árbol cuya solución se encuentra a profundidad d y cuyo factor de ramificación es b.

Entonces el nº de nodos a expandir antes de alcanzar la solución será:

1+b+b2+b3+ ... +bd

Dado que es necesario expandir cada uno de los nodos (en el peor de los casos) y, además, conservarlos en memoria, los requerimientos en tiempo y en espacio (memoria) son ambos O(bd).

Page 34: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

34

Búsqueda en amplitud

PropiedadesEjemplo

Supongamos una máquina capaz de explorar 1000 nodos/sg y que cada nodo requiere 100 bytes de memoria, si el factor de ramificación es 10:

Profundidad Nodos Tiempo Memoria

0 1 1 msg 100 bytes2 111 0,1 sg 11 Kb4 11.111 11 sg 1 Mb6 106 18 minutos 111 Mb8 108 31 horas 11 Gb10 1010 128 días 1 Terabyte12 1012 35 años 111 Tb14 1014 3500 años 11.111 Tb

Page 35: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

35

Búsqueda en profundidad

(Depth-First search)

Page 36: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

36

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda en profundidad

F

E

B

G

A

S

Page 37: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

37

Búsqueda en profundidad

• La estrategia de control: --> visitar primeramente los nodos hijos hacia los niveles de mayor profundidad

• Los últimos nodos expandidos se insertan por la cabeza de la cola

function DEPTH-FIRST-SEARCH(problem) { return GENERAL-SEARCH(problem, ENQUEUE-AT-FRONT) }

Page 38: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

38

Búsqueda en profundidad

Propiedades

Completitud

Optimalidad

Garantiza el encontrar una solución si existe y el árboles finito;

El método de exploración no es óptimo: No garantiza la solución de menor coste

Page 39: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

39

Búsqueda en profundidad

PropiedadesComplejidad

Los requerimientos en memoria son muy modestos, sólo es necesario guardar una única trayectoria desde el nodo raiz. Así para un árbol con profundidad máxima m y factor de ramificación b, sólo es necesario almacenar b*m nodos.

Los requerimientos en tiempo son O(bm).

Page 40: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

40

Búsqueda en profundidad

Propiedades

Suele funcionar mejor que el de búsqueda en amplitud en problemas con muchas soluciones, siempre que no se requiera la optimalidad de la solución, pues encuentar la solución tras explorar sólo una pequeña porción del árbol.

Debe evtarse en árboles infinitos o de gran profundidad.

Page 41: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

41

Búsqueda limitada en profundidad

(Depth-limited search)

Page 42: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

42

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda limitada en profundidad

F

E

D

G

S

Page 43: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

43

Búsqueda limitada en profundidad

• La estrategia de control: --> visitar primeramente los nodos hijos hacia los niveles de mayor profundidad hasta una profundidad máxima preestablecida.

• Los últimos nodos expandidos se insertan por la cabeza de la cola

function DEPTH-LIMITED-SEARCH(problem, depth) { return GENERAL-SEARCH(problem,

ENQUEUE-AT-FRONT depth)

}

Page 44: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

44

Esqueleto de función que es capaz de recoger numerosas estrategias de exploración

function GENERAL-SEARCH(problem, QUEUING-FN,[depth]) {"Devuelve una solución o fallo"

nodes <-- MAKE-QUEUE(MAKE-NODE(INITIAL-STATE[problem])) loop do

if EMPTY?(nodes) then return failure node <-- REMOVE-FRONT(nodes) if GOAL-TEST(problem, state(node)) then return node nodes <-- QUEUING-FN(nodes, EXPAND(node,problem,[depth]))

end

}

Page 45: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

45

Búsqueda limitada en profundidad

Propiedades

Al fijar un límite en la profundidad de búsqueda se pueden controlar las dos características más problemáticas de la búsqueda en profundidad:

las soluciones que se puedan encontrar nunca estarán más allá de la profundidad límite y se evita el que la búsqueda pueda quedar “atrapada” en una rama si el árbol es infinito o muy profundo.

Page 46: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

46

Búsqueda progresiva en profundidad

(Iterative Deepening search)

Page 47: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

47

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda progresiva en profundidad (profundidad = 1)

Page 48: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

48

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda progresiva en profundidad (profundidad = 2)

Page 49: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

49

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda progresiva en profundidad (profundidad = 3)

Page 50: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

50

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

F

E

D

G

S

Búsqueda progresiva en profundidad (profundidad = 4)

Page 51: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

51

Búsqueda progresiva en profundidad

• La estrategia de control: --> realizar una exploración limitada en profundidad donde el límite se va incrementando si la búsqueda con el límite anterior no tiene éxito.

function ITERATIVE-DEEPENING-SEARCH(problem) { for depth <-- 0 to infinity do if DEPTH-LIMITED-SEARCH(problem,depth)succeeds

then return its results end return failure}

Page 52: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

52

Búsqueda progresiva en profundidad

Propiedades

Completitud

Optimalidad

Garantiza el encontrar una solución si existe, sea o no el árbol finito.

El método de exploración es óptimo: garantiza la solución de menor coste.

Page 53: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

53

Búsqueda progresiva en profundidad

PropiedadesComplejidad

La gran ventaja de este método frente a los vistos hasta ahora es que combina los mejores ventajas de la búsqueda en amplitud: es óptimo y completo;y la búsqueda en profundidad: los requerimientos en memoria son muy modestos, sólo es necesario guardar una única trayectoria desde el nodo raiz. Así para un árbol con profundidad máxima m y factor de ramificación b, sólo es necesario almacenar b*m nodos.

Los requerimientos en tiempo son O(bm).

Page 54: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

54

Métodos de búsqueda informados

• Búsqueda en escalada

• Búsqueda por haces

• Búsqueda “el mejor primero”

• A*

Page 55: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

55

S

A

D E F

G

B C

Ejemplo que se empleará para ilustrar los diferentesmétodos de exploración informados.

3

3

4

4

4

4

5

2

5

Page 56: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

56

Búsqueda en Escalada(Hill-Climbing search)

Page 57: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

57

Búsqueda en Escalada

La eficacia de la exploración en profundidad puede aumentarse si se dispone de alguna medida que nos permita ordenar los nodos hijos, de tal forma que se exploren primero aquellos que presenten una mayor expectativa de éxito.

La selección ordenada de los nodos puede realizarse en función de algún parámetro que resulte de un conocimiento específico del problema

Page 58: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

58

S

A

D E F

G

B C

Ejemplo que se empleará para ilustrar los diferentesmétodos de exploración informados.

3

3

4

4

4

4

5

2

5

h(A,G) = 10.4 h(D,G) = 8.9h(E,G) = 6.9 h(B,G) = 6.7h(C,G) = 4.0 h(F,G) = 3.0

“Cuanto mayor más alejado”

Page 59: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

59

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

F

E

D

G

S

Búsqueda en escalada

10.4 8.9

6.910.4

6.73.0

h(A,G) = 10.4 h(D,G) = 8.9h(E,G) = 6.9 h(B,G) = 6.7h(C,G) = 4.0 h(F,G) = 3.0

Page 60: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

60

Búsqueda en Escalada

• La estrategia de control: --> realizar una exploración en profundidad donde los sucesores se van insertando

ordenadamente (por la cabeza) en la cola.

function HILL-CLIMBING-SEARCH(problem) { return GENERAL-SEARCH(Problem,

ENQUEUE-AT-FRONT-SORTED)}

Page 61: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

61

Búsqueda en Escalada

Este procedimiento es equivalente a realizar un movimiento en el espacio de la medida heurística que guía la búsqueda.

Se trata de tomar en cada paso la dirección de máxima pendiente los que asegura que se asciende lo más rápidamente posible y que se alcanza la cima o meta en el menor tiempo posible.

Propiedades

Page 62: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

62

Búsqueda en Escalada

Problemas

1. Existencia de máximos locales. Sólo se asegura una optimización local y no global.

2. La existencia de “mesetas” o zonas planas, en las que la búsqueda procede a “ciegas”.

3. Existencia de aristas o discontinuidades en la pendiente, que limitan la optimización a una de tipo local.

Page 63: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

63

Búsqueda por Haces(Beam search)

Page 64: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

64

Búsqueda por Haces

Se trata de una variante del método de exploración en amplitud. No se desciende por todas las ramas, sino por un conjunto seleccionado o “haz”, ignorándose el resto.

La selección de las ramas adecuadas se realiza en base a criterios heurísticos específicos al problema. Las ramas no seleccionadas simplemente no se exploran, produciéndose una “poda” de las ramas menos prometedoras.

Criterios de poda • Por umbral en el número de ramas• Por umbral del trayecto acumulado según una cierta función heurística

Page 65: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

65

Ejemplo que se empleará para ilustrar los diferentesmétodos de exploración informados.

S

A

D E F

G

B C3

3

4

4

4

4

5

2

5

Page 66: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

66

S

AB D

A

E

EC F

G

B

D

F

E

D

G

S

Búsqueda por haceslimitando a 2 el nº de ramas que no se

podan

10.4 8.9

6.910.4

6.73.0

h(A,G) = 10.4 h(D,G) = 8.9h(E,G) = 6.9 h(B,G) = 6.7h(C,G) = 4.0 h(F,G) = 3.0

6.7 8.9

4.0 6.9

XX

XX XX

XX

Page 67: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

67

Búsqueda por Haces

• La estrategia de control: --> realizar una exploración en amplitud donde los sucesores se van insertando ordenadamente (por el final) en la cola que se poda.

function BEAM-SEARCH(problem) { return GENERAL-SEARCH(Problem,

ENQUEUE-AT-END-PRUNNING)}

Este procedimiento no garantiza el encontrar la solución (no es completo).

Page 68: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

68

Búsqueda “el mejor primero”(Best-First search)

Page 69: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

69

Búsqueda “el mejor primero”

En cada ciclo se selecciona para expansión el nodo más prometedor de todos los generados hasta ese momento.

En la práctica es una mezcla de búsqueda en profundidad y, eventualmente, en amplitud debido a un cambio de rama. Por este motivo a esta técnica de búsqueda se la denomina también de “ramificación y salto” (Branch-and-bound).

Supongamos que tomamos como nodo más prometedor aquel de menor coste acumulado en la trayectoria. Con esta elección de la función de coste a este método se le denomina también de “coste uniforme”.

Page 70: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

70

Ejemplo que se empleará para ilustrar los diferentesmétodos de exploración informados.

S

A

D E F

G

B C3

3

4

4

4

4

5

2

5

Page 71: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

71

S

D

AB D

A

E

EC F

G

B

CA

D

F

G

B

EC

F

G

E

F

G

B

C

Búsqueda “el mejor primero”

F

E

D

G

S

3

7

11

8

12 10

4

9 6

13 11 10

14 18 1415 15 15 13

Page 72: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

72

• La estrategia de control: --> realizar una exploración donde los sucesores se van insertando ordenadamente (de mejor a peor) por la cabeza de la cola.

function BEST-FIRST-SEARCH(problem, EVAL-FN) { QUEUEING-FN a function that orders nodes by EVAL-FN return GENERAL-SEARCH(Problem, QUEUEING-FN )}

Búsqueda “el mejor primero”

Page 73: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

73

Propiedades

Completitud y Optimalidad

El método de búsqueda es óptimo y completo

Puede demostrarse que la complejidad espacial y temporal de este método de búsqueda son ambas O(bd), siendo b el factor de ramificación y d la profundidad máxima del árbol.

Búsqueda “el mejor primero”

Complejidad

Page 74: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

74

Los métodos de búsqueda que utilizan una función de coste pueden mejorarse de forma notable utilizando una estimación del coste o distancia total al nodo objetivo en la trayectoria en estudio.Así para un cierto nodo n, el coste total puede formularse de la siguiente forma:

f*(n) = g(n) + h*(n)donde,g(n): coste acumulado (conocido) a lo largo de la trayectoria hasta el nodo n.h*(n): estimación del coste restante desde el nodo n hasta el nodo objetivo.f*(n): estimación del coste total (desde el nodo inicial al nodo objetivo).

IDEA

Page 75: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

75

Si se le asigna a un nodo un coste estimado, h*(n), superior al que realmente, puede ocurrir que la búsqueda no se realice en el orden correcto y la trayectoria resultante no sea óptima.

Se puede demostrar que si h*(n) es una subestimación del coste restante, entonces la obtención de la trayectoria óptima está garantizada.

Page 76: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

76

1

8

3 7

2 6 5

4

1

8

2 3

7 6 5

4 1

Heurísticas

• Nº de piezas mal colocadas (1,2,3,7): 4

• Distancia Manhattan= (|xia-xio|+|yia-yio|)

Distancia Manhattan: 2(1)+3(2)+1(3)+4(7) = 10

(xia, yia)(xio, yio)

Estado objetivo Estado actual

8-Puzzle

Page 77: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

77

S

AB D

A

E

F

G

B

D

F

E

D

G

S

Búsqueda “el mejor primero” (con subestimación del coste total)

13.4 12.9

12.919.4

17.7 13.0

S

A

D E F

G

B C3

3

4

44

4

5

2

513.0

h(A,G) = 10.4 h(D,G) = 8.9h(E,G) = 6.9 h(B,G) = 6.7h(C,G) = 4.0 h(F,G) = 3.0

f*(n) = g(n) + h*(n)

Page 78: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

78

Búsqueda A*

Page 79: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

79

A*

Este procedimiento es una combinación de la estrategia “el mejor primero” empleando una función de coste con subestimación y la idea que se presenta en la siguiente diapositiva.

Está especialmente diseñado para la búsqueda en grafos, es decir, controla que no se exploren trayectorias duplicadas.

Veremos que garantiza el encontrar la trayectoria (solución) óptima si esta existe.

Page 80: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

80

B

D

A CS G

IDEA

Si en la lista de trayecorias recorridas existen varias trayectorias “similares”, es decir, que terminan en el mismo nodo final, sólo la óptima (la de menor coste) podrá formar parte de la trayectoria óptima.

Este procedimiento de “poda” no compromete la completitud.

IDEA

Si la trayectoria óptima entre A y G es S-A-B-C-G, y en la lista de trayectorias recorridas existen varias trayectorias “similares”, es decir, que terminan en el mismo nodo final, sólo la óptima (la de menor coste) podrá formar parte de la trayectoria óptima, pudiéndose eliminar las otras.

Este procedimiento de “poda” no compromete la completitud.

Page 81: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

81

Algoritmo del procedimiento A*

Page 82: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

82

1. Formar una lista de trayectorias parciales, ABIERTA con una trayectoria inicial que comienza en el nodo raiz. Formar otra lista, CERRADA, que contendrá las trayectorias desechadas mínimas, e iniciarlizarla a vacía.2. Hasta que ABIERTA esté vacía o se encuentre el objetivo,

2.1 Analizar la primera trayectoria de ABIERTA.2.2 Si la trayectoria termina en el nodo objetivo, terminar.2.3 En otro caso:

2.3.1 Eliminar la primera trayectoria de ABIERTA, incluyéndola en CERRADA. Si es de coste menor que otra similar, ya contenida en CERRADA, se elimina esta última.2.3.2 Formar nuevas trayectorias a partir de la trayectoria extraída de ABIERTA mediante la expansión del último nodo de la misma.2.3.3 Añadir nuevas trayectorias a ABIERTA, si existen.2.3.4 Ordenar ABIERTA de menor a mayor coste.2.3.5 Si dos o más trayectorias de ABIERTA terminan en un nodo común, eliminarlas excepto la de mínimo coste. Eliminar esta última también si existe otra similar con menor coste en CERRADA. Las trayectorias eliminadas de ABIERTA deben insertarse en CERRADA salvo que ésta ya contenga trayectorias similares de menor coste.

3. Si se alcanza el nodo objetivo, el problema tiene solución y se determina la trayectoria óptima, en caso contrario no tiene solución.

Page 83: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

83

Este método emplea una función de coste total estimado f*(n). Así para un cierto nodo n, el coste total estimado puede formularse de la siguiente forma:

f*(n) = g(n) + h*(n)donde,g(n): coste acumulado (conocido) a lo largo de la trayectoria hasta el nodo n.h*(n): estimación del coste restante h(n) desde el nodo n hasta el nodo objetivo.f*(n): estimación del coste total (desde el nodo inicial al nodo objetivo).

La función de coste estimado

Page 84: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

84

La función de coste estimado

La función h*(n) está ligada a un conocimiento heurístico del problema y debe ser positiva y representar una subestimación del coste restante h(n).

0 h*(n) h(n)

Se dice que la búsqueda es más informada cuanto mayor sea el valor de h*(n), siempre que h*(n) h(n).

Page 85: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

85

Propiedad de Admisibilidad

Si en un procedimiento A* todos los costes son positivos y h*(n) es una subestimación de h(n), entonces se garantiza el encontrar la trayectoria de mínimo coste, si existe, y el procedimiento se dice admisible.

Propiedad de Optimalidad

Si el procedimiento A1 (con heurística h1*(n)) está

más informado que otro A2 (con heurística h2*(n)) y

siendo ambos admisibles (esto es h(n) h1*(n)

h2*(n) 0) entonces A1 nunca expande un nodo que

no haya sido expandido por A2 (A1 expande menos nodos que A2)

Page 86: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

86

1

8

3 7

2 6 5

4

1

8

2 3

7 6 5

4 1

Heurísticas

• Nº de piezas mal colocadas (1,2,3,7): 4

• Distancia Manhattan= (|xia-xio|+|yia-yio|)

Distancia Manhattan: 2(1)+3(2)+1(3)+4(7) = 10

(xia, yia)(xio, yio)

Estado objetivo Estado actual

8-Puzzle

¿Son admisibles?

¿Cuál es más informada?

Page 87: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

87

IDS

10112680

638447127

3644043473941

-----

A*(h1)

613203993

227539

130130567276

1809439135

A*(h2)

61218253973

113211363676

12191641

IDS

2.452.872.732.802.792.782.83

-----

A*(h1)

1.791.481.341.331.381.421.441.451.461.471.481.48

A*(h2)

1.791.451.301.241.221.241.231.251.261.271.281.28

D

24681012141618202224

Nº de nodos expandidos Factor de ramificación efectivo

Datos promedios para 100 casos del 8-puzzle, comparativa entre búsqueda progresiva en profundidad y el A* con h1 = nº de piezas mal colocadas y h2 distancia Manhattan.

Page 88: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

88

Factor de ramificación efectivo

Si el número de nodos expandidos por el procedimiento A* es N para un cierto problema y dicho problema se encuentra a profundidad d, entonces el factor de ramificación efectivo b* sería el factor de ramificación de un árbol uniforme de profundidad d que contuviera un número N de nodos.

Esto es,

N = 1 + b* + (b*)2 + (b*)3 + ... + (b*)d

¿Cuál sería el factor de ramificación efectivo si h* h?

Page 89: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

89

Prueba de la optimalidad del procedimiento A*

Sea G la trayectoria óptima al estado objetivo de coste f* y sea G2 otra trayectoria subóptima al mismo objetivo, de coste g(G2) > f*.

Supongamos que A* ha seleccionado G2 antes que G, por lo que la búsqueda terminaría con una solución subóptima.

* * *Vamos a demostrar que esta situación es imposible.

Page 90: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

90

Sea n un nodo hoja para una cierta etapa de la exploración en una trayectoria óptima hacia el estado objetivo. Dado que la heurística h se considera admisible, tenemos que:

Más aún, si n no fue elegido para expansión frente a G2 fue porque:

Combinando estas dos desigualdades :

Pero G2 termina en el estado objetivo, por lo que:

de lo cual se deduce que f(G2) = g(G2) de lo que resultaría que:

resultado que contradice la suposición inicial de suboptimalidad para G2.

Prueba de la optimalidad del procedimiento A*

f* f(n)

f(n) f(G2)

f* f(G2)

h(G2) = 0

f* g(G2)

Page 91: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

91

Sobre la completitud del procedimiento A*

Dado que el procedimiento A* expande nodos en orden creciente de f, debe eventualmente expandir el nodo que le permita alcanzar el nodo objetivo.

Esto será cierto a menos que existan infinitos nodos con f(n) < f*. Esta circunstancia sólo puede darse cuando algún nodo tenga un factor de ramificación infinito o una trayectoria de coste finito incluya un número infinito de nodos.

Es decir, el A* es completo en grafos (árboles) localmente finitos siempre que el coste de transitar entre dos nodos cualesquiera sea , siendo una constante positiva.

Page 92: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

92

Complejidad del procedimiento A*

Puede demostrarse que para la mayoría de los problemas, el número de nodos contenidos en la trayectoria óptima sigue siendo exponencial, A MENOS QUE:

el error en la función heurística no crezca más rápidamente que el logaritmo del coste del camino actual.

|h(n) -h*(n)| O(log h*(n))

En la mayoría de los casos el error es al menos proporcional al coste de la trayectoria restante, por lo que el coste temporal del algoritmo es típicamente exponencial. Debido a que deben conservarse los nodos expandidos en memoria, la complejidad espacial es también exponencial.

Page 93: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

93

2

1

8 3

7 5

4

1

8

2 3

7 6 5

4

6

(xia, yia)

(xio, yio)

Estado objetivo

Estado actual

Ejemplo del A*: 8-Puzzle

Heurística: número de piezas mal colocadas

Page 94: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

94

1. Formar una lista de trayectorias parciales, ABIERTA con una trayectoria inicial que comienza en el nodo raiz. Formar otra lista, CERRADA, que contendrá las trayectorias desechadas mínimas, e iniciarlizarla a vacía.2. Hasta que ABIERTA esté vacía o se encuentre el objetivo,

2.1 Analizar la primera trayectoria de ABIERTA.2.2 Si la trayectoria termina en el nodo objetivo, terminar.2.3 En otro caso:

2.3.1 Eliminar la primera trayectoria de ABIERTA, incluyéndola en CERRADA. Si es de coste menor que otra similar, ya contenida en CERRADA, se elimina esta última.2.3.2 Formar nuevas trayectorias a partir de la trayectoria extraída de ABIERTA mediante la expansión del último nodo de la misma.2.3.3 Añadir nuevas trayectorias a ABIERTA, si existen.2.3.4 Ordenar ABIERTA de menor a mayor coste.2.3.5 Si dos o más trayectorias de ABIERTA terminan en un nodo común, eliminarlas excepto la de mínimo coste. Eliminar esta última también si existe otra similar con menor coste en CERRADA. Las trayectorias eliminadas de ABIERTA deben insertarse en CERRADA salvo que ésta ya contenga trayectorias similares de menor coste.

3. Si se alcanza el nodo objetivo, el problema tiene solución y se determina la trayectoria óptima, en caso contrario no tiene solución.

Page 95: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

95

2 8 3

1 6 4

7 5

Ag = 0h*= 4

2 8 3

1 6 4

7 5

Bg = 1h*= 5

2 8 3

1 4

7 6 5

Cg = 1h*= 3

2 8 3

1 6 4

7 5

Dg = 1h*= 5

2 8 3

1 4

7 6 5

Eg = 2h*= 3

2 3

1 8 4

7 6 5

Fg = 2h*= 3

2 8 3

1 4

7 6 5

Gg = 2h*= 4

8 3

2 1 4

7 6 5

Hg = 3h*= 3

2 8 3

7 1 4

6 5

Ig = 3h*= 4

2 3

1 8 4

7 6 5

Jg = 3h*= 2

2 3

1 8 4

7 6 5

Kg = 3h*= 4

1 2 3

8 4

7 6 5

Lg = 4h*= 1

1 2 3

7 8 4

6 5

Ng = 5h*= 2

1 2 3

8 4

7 6 5

Mg = 5h*= 0

LA = {A}LC = { }LA = {C, B, D}LC = {A}LA = {E, F, B, D, G}LC = {A, C}LA = {F, B, D, G, H, I}LC = {A, C, E}LA = {J, B, D, G, H, I, K}LC = {A, C, E, F}LA = {L, B, D, G, H, I, K}LC = {A, C, E, F, J}LA = {M, B, D, G, H, I, K, N}LC = {A, C, E, F, J, L}

Page 96: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

96

Búsqueda por satisfacción de restricciones

Constraint satisfaction Search (CSP)

Page 97: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

97

Búsqueda por satisfacción de restricciones

En un problema de satisfacción de restricciones (CSP) los estados posibles están definidos por los valores asignados al conjunto de variables que especifican el problema.

La solución a un problema de este tipo se alcanza cuando un estado dado (estado objetivo) verifica un conjunto de restricciones, expresadas sobre el conjunto de variables.

Page 98: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

98

Ejemplo 1: Puzzles criptoaritméticos

SEND MOREMONEY

FORTY TEN TENSIXTY+

+El objetivo: asignar a cada letra un dígito de manera que se verifiquen el conjunto de restricciones contenidas en la operación de adición.

• Dos letras no pueden tomar el mismo valor

Page 99: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

99

Q

Q

Q

Q

Q

Q

Q

Q

Ejemplo 2: Las n-Reinas

¿De qué forma se pueden disponer n reinas sobre un tablero de nxn de manera que no se amenacen entre ellas?

Page 100: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

100

Una solución a un CSP especifica los valores de todas y cada una de las variables de manera que el conjunto de restricciones se verifica.

Muchos problemas de planificación y de asignación de recursos se pueden expresar como CSP’s por lo que este tipo de problemas conforma un grupo importante de problemas de exploración.

Búsqueda por satisfacción de restricciones

Page 101: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

101

Tipos de restricciones

Unarias: condición sobre el valor de una única variable. P.e. El primer dígito por la izda de cualquier fila en el problema criptoaritmético no puede tomar el valor 0.

Binarias: condiciones sobre pares de variables, como en

el problema de las n-reinas.

De orden superior: sobre 3 o más variables.

Page 102: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

102

Cada variable Vi de un CSP tiene un dominio Di, que contiene el conjunto de posibles valores que la variable puede tomar. Este dominio puede ser continuo o discreto.

P.e. En el problema de las 8-reinas, si Vi es la fila que ocupa la reina de la i-ésima columna, el dominio de Vi es

{1,2,3,4,5,6,7,8}

La restricción de no-ataque entre las reinas determina el subespacio permitido para las soluciones en el producto cartesiano de los dominios. Así el conjunto de pares de soluciones para las reinas de las dos primeras columnas sería:

{<1,3>,<1,4>,<1,5>, ..., <2,4>,<2,5>, ...}

Page 103: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

103

Elementos básicos para diseñar un método de exploración para CSPs

Estado inicial: Todas las variables sin asignar.

Operadores: Transforma un estado en otro mediante la asignación de un valor permitido a UNA variable.

Estado objetivo: Todas las variables tienen asignados valores compatibles con las restricciones del problema.

Page 104: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

104

Debe notarse que:

Los operadores pueden seleccionar los valores a asignar de manera “ciega”, lo que resulta en un método de búsqueda ineficiente, o por el contrario, pueden verificar en cada asignación la no violación de ninguna restricción.

Todas las soluciones se encontrará a la misma profundidad n, igual al nº de variables. Por tanto, se puede emplear con seguridad un método de exploración en profundidad.

Page 105: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

105

Otro refinamiento es permitir la modificación de los dominios de asignación a medida que se profundiza en el árbol de exploración. Los dominios se modificarían para eliminar aquellos valores que violarían restricciones teniendo en cuenta los valores ya asignados a las variables

Debe notarse que:

Grandes mejoras en la eficiencia de este tipo de métodos de exploración pueden obtenerse mediante el uso mediante el uso inteligente de conocimiento específico al problema, que expresado en forma de heurística puede - por ejemplo - determinar qué variable es más conveniente asignar en cada momento y con qué valor.

Page 106: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

106

Supongamos un cierto estado en el problema de las 8-Reinas.Q

Q

Q

Q

Q

Q

Q

Q

Reparación heurística.

2

2

2

2

1

1

3

Heurística para orientar la exploración:

Para una columna dada, contabilizar el número de conflictos de cada casilla

Seleccionamos la casilla de menor índice(los empates se resuelven al aleatoriamente)

Page 107: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

107

Se selecciona la columna donde se encuentra el origen del conflicto.

Q

Q

Q

Q

Q

Q

Q

Q

Reparación heurística.

3

3

2

3

2

3

0 Q

Page 108: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

108

smallsudoku(L) :-L = [C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16],domain(L, 1,4),C2 #= 1, C4 #= 2, C5 #= 2, C11 #= 1, C16 #= 3,all_different([C1,C2,C3,C4]),all_different([C5,C6,C7,C8]),all_different([C9,C10,C11,C12]),all_different([C13,C14,C15,C16]),all_different([C1,C5,C9,C13]),all_different([C2,C6,C10,C14]),all_different([C3,C7,C11,C15]),all_different([C4,C8,C12,C16]).

C1 1 C3 2

2 C6 C7 C8

C9 C10

1 C12

C13

C14

C15

3

Ejemplo: Sudoku

Page 109: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

109

Algoritmos genéticos

Page 110: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

110

Algoritmos genéticos

Idea: Buscar (optimizar) simulando los mecanismos naturales que articulan la evolución de las especies

• Los individuos de una especie compiten por reproducirse. Tienen más oportunidades los mejor adaptados.

• Se crean nuevos individuos mediante el intercambio genético de sus progenitores.

• Ocasionalmente, se introducen nuevos individuos mediante mutaciones.

Page 111: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

111

Un poco de terminología

Generación: Cromosomas:Genotipo:

Adaptación:

Reproducción:Cruzamiento:Mutación:

El conjunto de individuos que conforman la población de una especie para un instante dado.La información genética de la especie se codifica en cromosomas.

El código genético de un individuo concreto es su genotipo.

Page 112: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

112

Un poco de terminología

Generación: Cromosomas:Genotipo:

Adaptación:

Reproducción:Cruzamiento:Mutación:

Una medida de la idoneidad del diseño de un individuo a su entorno vital.

Page 113: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

113

Un poco de terminología

Generación: Cromosomas:Genotipo:

Adaptación:

Reproducción:Cruzamiento:Mutación:

Algunos individuos de una generación son seleccionados para la siguiente generación.Nuevos individuos aparecen por el intercambio de partes del código genético de sus progenitores.

A veces el genotipo de un individuo cambia debido a una mutación.

Page 114: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

114

Un ejemplo:

En la siguiente diapositiva se representan las tres operaciones básicas que intervienen en la creación de la siguiente generación.

• Las líneas en rojo indican copia del genotipo.• Las líneas moradas denotan las partes del genotipo que intercambian los progenitores en una operación de cruzamiento.• Las líneas en rojo discontinuas alertan de una mutación.

• Los números encerrados en círculos indican la adaptación de cada individuo.

Page 115: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

115

1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1

1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 1

1 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1

1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1

11 13 2 9

15 8 1 13

Generación n-ésima

reproducción

cruzamiento

mutación

Generación n+1

Page 116: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

116

Técnicas de búsqueda con adversario

Page 117: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

117

Características del problema tipo.

• Dos adversarios.

• Total conocimiento del estado del problema para ambos contricantes. Esto es:

- no existe impredeciblidad (azar).- no hay variables ocultas.

• Movimientos alternativos

• ¿Estrategia ganadora?

• Ajedrez, damas, cuatro-en-raya, ...

Page 118: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

118

(7, B)

(6, 1, A) (5, 2, A) (4, 3, A)

(5, 1, 1, B) (4, 2, 1, B) (3, 2, 2, B) (3, 3, 1, B)

(4, 1, 1, 1, A) (3, 2, 1, 1, A) (2, 2, 2, 1, A)

(3, 1, 1, 1, 1, B)

(2, 1, 1, 1, 1, 1, A)

(2, 2, 1, 1, 1, B)

Juego de Grundy

Page 119: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

119

(7, B)

(6, 1, A) (5, 2, A) (4, 3, A)

(5, 1, 1, B) (4, 2, 1, B) (3, 2, 2, B) (3, 3, 1, B)

(4, 1, 1, 1, A) (3, 2, 1, 1, A) (2, 2, 2, 1, A)

(3, 1, 1, 1, 1, B)

(2, 1, 1, 1, 1, 1, A)

(2, 2, 1, 1, 1, B)

Juego de Grundy

Page 120: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

120

IDEAS:

1. En este tipo de problemas, la representación mediante estados sigue siendo válida.

2. El estado recoge una descripción completa del juego en un instante dado (p.e. la disposición de las piezas sobre el tablero y a qué jugador toca mover)

3. La evolución del juego es equivalente al recorrido de un árbol.

4. Debido al movimiento alternativo, la decisión de qué rama escoger en cada momento se alterna entre los jugadores.

Page 121: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

121

1

74 6

2

9

3

5 8

Juega A

Juega B

Juega A

g g p g p p t t g t p t

g = gana A

p = pierde A (gana B)

t = tablas

Ejemplo

El problema:

¿Qué movimiento debería escoger el agente A?

Page 122: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

122

1

74 6

2

9

3

5 8

Juega A

Juega B

Juega A

g g p g p p t t g t p t

g = gana A

p = pierde A (gana B)

t = tablas

Ejemplo

Si A escoge 2, B escogerá 6 y A perderá

Si A escoge 3, B elegirá 9 y A podrá hacer tablas

Page 123: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

123

Dificultades con este tipo de problemas de exploración

Esencialmente la explosión combinatoria.

Normalmente es impracticable una exploración exhaustiva.

Ajedrez ~ 10120 estadosDamas ~ 1040 estados

Además, en muchos juegos el tiempo disponible para realizar un movimiento, o el total de ellos, está limitado.

• Estrategia Minimax• Poda Alfa-beta

Page 124: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

124

Estrategia Minimax

Ideas básicas:

A. Se explora hasta un límite de profundidad.B. Se emplea una evaluación estática de las expectativas futuras de éxito en el límite de profundidad de la búsqueda.C. Operativamente, se realiza una simulación del juego empleando un modelo de adversario que jugase de forma que:- Sigue la misma estrategia que el jugador problema, intentando maximizar sus expectativas de victoria.- Posee la misma función de evaluación estática que el jugador problema.

Page 125: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

125

Función de Evaluación.

Para los nodos en el límite, se define una función de evaluación que en general será del tipo:

e(n) = f1(n) - f2(n)

donde f1(n) y f2(n) son funcionalmente idénticas y representan, respectivamente, las expectativas de éxito del jugador problema y de su adversario.

Page 126: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

126

Algoritmo Minimax

Denominaremos jugador MAX al jugador problema y también a los nodos en los que el decide.

Recíprocamente, llamaremos jugador MIN al adversario y también denominaremos como nodos MIN a los nodos en los que este jugador decide.

V(n): valor devuelto por la función MINIMAX para un nodo n con N sucesores.

Vp: representa un valor intermedio.

Page 127: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

127

Algoritmo Minimax (definición recursiva)

Function Minimax(n, prof, prof_limite) {

1. Si se alcanza el límite de exploración, V(n) = e(n)

En otro caso {

2. Para los descendientes de n, i= 1, 2, ..., N {

2.a Generar el nodo ni, descendiente de n

2.b V(ni) = Minimax(ni, prof+1, prof_limite)

2.c Si i = 1, hacer Vp = V(n1)

En otro caso {

2.c.1 Si n es MAX: Vp = max(Vp, V(ni))

En otro caso: Vp = min(Vp, V(ni))

}

}

3. Devolver V(n) = Vp

}

}

Page 128: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

128

1

74 6

2

9

3

5 8

Juega A

Juega B

Juega A

3 4 -5 2 -3 -2 0 0 1 0 -3 0

Ejemplo

4 2 -2

-2

0 1 0

0

0

max

max

min

max

min

Page 129: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

129

Observaciones

La calidad de la decisión proporcionado por la estrategia MINIMAX dependerá:

• de la profundidad alcanzada en la exploración

• de la calidad de la función de evaluación estática

El proceso de evaluación del MINIMAX es similar a un recorrido en profundidad.

Page 130: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

130

x

o

g(A) = nº de filas, columnas y diagonales todavía abiertas para el jugador A

e(n) = g(MAX) - g(MIN)

e(n) = 6 - 4 = 2

Una función de evaluación para el juego del tres en raya

Page 131: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

131

Nodo inicial

6 - 4 = 2

5 - 4 = 1

x

x

xo

x

o

x

o

o

x

x

o

o

x

x

o x

4 - 6 = - 2

6 - 6 = 0

5 - 6 = -1

5 - 5 = 0

5 - 6 = -1

o

o

x

x

o

ox

x

ox

4 - 5 = - 1

5 - 5 = 0

6 - 5 = 1

5 - 5 = 0 6 - 5 = 1

1

-2

-1

1

Page 132: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

132

xo

xo

xo

xo

xo

x

x

x

x

x x 3 - 3 = 0

4 - 3 = 1

o

o

o

o

x xo 4 - 3 = 1

xo

x

x

0

Page 133: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

133

x 4 - 2 = 2o

x

o

x 4 - 2 = 2o

x

o

x 3 - 2 = 1o

x

o

x 5 - 2 = 3o

x

o

x 4 - 2 = 2o

xo

x 4 - 2 = 2o

xo

xo

xo

xo

xo

xo

x

x

x

x

0

1

Page 134: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

134

x 4 - 3 = 1o

x

o

x 4 - 3 = 1o

x

o

x 3 - 3 = 0o

x

o

x 5 - 3 = 2o

x

o

x 3 - 3 = 0o

x o

x 4 - 3 = 1o

xo

xo

xo

xo

xo

xo

x

x

x

x

0

1

0

Page 135: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

135

x 3 - 2 = 1o

x

o

x 4 - 2 = 2o

x

o

x 3 - 2 = 1o

x

o

x 5 - 2 = 3o

x

o

x 3 - 2 = 1o

x o

x 4 - 2 = 2o

ox

xo

xo

xo

xo

xo

x

x

x

x

0

1

0

1

1

Page 136: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

136

xo

x

o

xo

x

o x

xo

x

o x

xo

x

o

x

xo

x

o

x

xo

x

o

x

xo

x

o x

xo

x

o x

xo

x

o x

xo

x

o x

o

o

o

o

2 - 1 = 1

2 - 1 = 1

2 - 1 = 1

-

-

Page 137: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

137

xo

x

o

xo

x

o x

xo

x

o x

xo

x

o

x

xo

x

o

x

xo

x

o

x

xo

x

o o

xo

x

o x

xo

x

o x

xo

x

o x

x

o

o

o

3 - 1 = 2

3 - 1 = 2

2 - 1 = 1

-

-

-

Page 138: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

138

xo

x

o

xo

x

o x

xo

x

o x

xo

x

o

x

xo

x

o

x

xo

x

o

x

xo

x

o o

xo

x

o o

xo

x

o

x

xo

x

o

x

x

x

o

3 - 2 = 1

2 - 2 = 0

2 - 2 = 0

-

-

-

-

o

Page 139: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

139

xo

x

o

xo

x

o x

xo

x

o x

xo

x

o

x

xo

x

o

x

xo

x

o

x

xo

x

o o

xo

x

o o

xo

x

o

x

xo

x

o

x

x

x

o

3 - 2 = 1

2 - 2 = 0

3 - 2 = 1

-

-

-

-

-

o

Page 140: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

140

xo

x

o

xo

x

o x

xo

x

o x

xo

x

o

x

xo

x

o

x

xo

x

o

x

xo

x

o o

xo

x

o o

xo

x

o

x

xo

x

o

o

x

x

x

3 - 1 = 2

2 - 1 = 1

3 - 1 = 2

2 - 1 = 1

-

-

-

-

o

1

1

Page 141: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

141

Estrategia ALFA-BETA.

Supongamos una versión de la estrategia MINIMAX para jugar al ajedrez, operando sobre una máquina capaz de explorar 1000 posiciones/sg.

¿Cuál sería el nivel de juego de este programa?

En torneo se dispone aproximadamente de 150 sg por movimiento, lo que implica que se podrían explorar unas 150.000 posiciones. PERO si el factor de ramificación del ajedrez es 35, SÓLO habremos podido explorar 3 0 4 niveles y nuestro programa sería un PERFECTO NOVATO,ya que el jugador promedio es capaz de planificar con antelación entre 6 y 8 movimientos.

Page 142: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

142

Estrategia ALFA-BETA.

La solución a este problema es intentar modificar el procedimiento MINIMAX al objeto de reducir el coste de la exploración, evitando la exploración de ciertos nodos cuando se sabe que no podrán ofrecer un máximo o un mínimo (esto dependiendo de si el nivel en cuestión es MAX o MIN)

Page 143: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

143

1

4

2

6

3

5

Juega A

Juega B

Juega A

Ejemplo

7

3

<= 3

7

max

max

min

x x

Poda alfa (max)

max(a, min(b, x))

el resultado no depende de x si a>b

Page 144: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

144

1

4

2

6

3

5

Juega A

Juega B

Juega A

Ejemplo

-3

7

>= 7

-3

min

min

max

x x

Poda beta (min)

min(a, max(b, x))

el resultado no depende de x si a<b

Page 145: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

145

Algoritmo Alfa-Beta (definición recursiva)

Function AB(n; , , prof, prof_limite) {

1. Si se alcanza el límite de exploración, V(n) = e(n)

En otro caso {

2. Si el nivel es MAX {

2.a Para los descendientes de n, i= 1, 2, ..., N {

2.a.1 Generar el nodo ni, descendiente de n

2.a.2 = max(, AB(ni; , , prof+1, prof_limite)

2.a.3 Si , devolver

}

2.b return

}

3. Si el nivel es MIN { (Siguiente página) }

}

Valores iniciales = - = +

Page 146: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

146

Algoritmo Alfa-Beta (continuación)

Function AB(n; , , prof, prof_limite) {

1. Si se alcanza el límite de exploración, V(n) = e(n)

En otro caso {

2. Si el nivel es MAX { ... }

3. En otro caso (el nivel es MIN) {

3.a Para los descendientes de n, i= 1, 2, ..., N {

3.a.1 Generar el nodo ni, descendiente de n

3.a.2 = min(, AB(ni; , , prof+1, prof_limite)

3.a.3 Si , devolver

}

3.b return

}

}

Page 147: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

147

2

3

L2

M3

N8

O5

P7

Q6

R0

S1

T5

U2

V8

W4

X10

Y2

E F G H I J K

B C D

A

3 8 7 0 5 8 10

3 1 8

8

3 1

1

Page 148: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

148

L2

M3

N8

O5

P7

Q6

R0

S1

T5

U2

V8

W4

X10

Y2

E F G H I J K

B C D

A=-=

=-=

=-=

=-=3

=-=3

=2=

=8=3

=3=

=-=3

=-=3=7=3

=-=3

=3=

=3=

=3==3==3=

=3=3

=3=

=3=

=3==8==8=

=3=8

=3=8=10=8

=3=8

=8=

3 8 7 1 5 8 10

3 1 8

8

Page 149: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

149

Efectividad de la poda Alfa-Beta

La efectividad de la poda depende del orden en el que se examinan los nodos descendientes. Así en cada nivel la mejor estrategia consiste en examinar primero aquellos descendientes que ofrezcan las mejores expectativas.

El coste de la exploración es inferior al del MINIMAX, pero aún así es proporcional al anterior, por lo que si el coste del MINIMAX es exponencial, el coste del ALFA-BETA tendrá un comportamiento similar.

Nd = 2bd/2 - 1 si d es parNd = b(d+1)/2 + b(d-1)/2 - 1 si d es

imparEn el mejor caso, el mismo número de nodos terminales que si se emplease la estrategia MINIMAX con profundidad d/2

Formas de ordenar los nodos

• Aplicar el criterio de evaluación a todos los nodos y ordenar la expansión de mejor a peor evaluación• Búsqueda progresiva en profundidad

Page 150: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

150

L2

M3

N8

O5

P7

Q6

R0

S1

T5

U2

V8

W4

X10

Y2

E F G H IJ K

B CD

A=-=

3 8 7 1 58 10

3 18

8

=-=

=-==8=

=-= 8

=-= 8=10= 8

=8=

=8=

=8=

=8=8

=8=

=8=

=8=8

Page 151: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

151

Problemas con MINIMAX y ALFA-BETA

Juegos con tiempo límite por turno o por partida.La solución: Profundización iterativa

Situaciones quiescentes o como evitar el terminar la búsqueda justo antes de la detección de una situación importante que puede provocar un “vuelco” en la partida.

La solución: la evaluación no debe cambiar de manera importante si se mira uno o dos movimientos adelante. No se busca a la misma profundidad en todas las ramas.

MINIMAX y ALFA-BETA son estrategias que asumen que el oponente juega sin cometer errores.

Page 152: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

152

P

R

PP

R

P P

PP

T

P

El problema del “horizonte”:Las negras tiene un ligera ventaja material

Una serie de “jaques” mueve el movimiento del peón que promociona a reina más allá del horizonte de búsqueda

Las negras pueden interpretar esta situación como ventajosa cuando realmente es inevitable su derrota

Page 153: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

153

La función de evaluación

La calidad del juego depende de manera muy importante de la función de evaluación que se emplee.

Una función de evaluación lineal:

gi : características wi: pesos o importancia relativa de la característica gi

f(n) = wi * gi(n)

Existen procedimientos automáticos para obtener la mejor combinación de pesos wi (Ver el libro de Nilsson).

PROBLEMA: Qué características seleccionar

Page 154: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

154

Refinamientos

No es necesario realizar operaciones MAX y MIN, tan sólo MAX, si la función de evaluación es simétrica para los dos jugadores.

Cada juego puede añadir heurísticas que permitan añadir otros criterios de poda.

La forma de jugar cuando se detecta una situación irremisible, tanto de victoria como de derrota.

Page 155: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

155

Ejemplo: Suma 100

9

6

3

3

7

5

1

3

3

4

8

4

9

5

2

8

6

2

3

1

7

2

1

1

3

4

5

A

3

5

2

3

1

3

3

3

2

B

4

6

6

9

3

1

7

2

8

1

6

2

3

1

7

8

1

2

3

4

5

6

3

5

2

3

Se juega por movimientos alternativos a las casillas4-conectadas

Cuando un jugador se traslada a una celda sumaacumula la puntuación de la celda a su puntuación

Gana el primer jugador que consiga sumar 100puntos

Page 156: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

156

Algoritmo Total de Nodos generados durante la búsqueda

Nodos examinadosa la máximaprofundidad

Minimax 1.628.692 1.411.345Alfa-beta 45.963 34.010Alfa-betaiterativo 6.278 4.416Alfa-betaiterativo & NSFP 2.278 916

Page 157: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

157

1

85 7

2 4

6 9

Juega A

Juega C

Ejemplo del Maxn3,2,3

Juega B3

10 11 12 13 14 15 16 17 19 2018 Juega A

3,2,3 2,4,3 1,3,1

0,1,2 3,2,3 3,1,3 2,4,3 1,3,1

110

012

323

222

313

231

132

010

243

131

210

Page 158: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

158

Planificación, acción y aprendizaje

Los procesos perceptivos no siempre proveen la información necesaria acerca del estado del entorno (Aliasing perceptual).

Las acciones no siempre surten el efecto esperado.

Pueden existir otros procesos o actores en el mundo, de forma que en gran medida la evolución del entorno puede no ajustarse a lo esperado por el agente.

Mientras el agente elabora un plan, el mundo puede cambiar. Nuestro agente debe planificar rápidamente. Incluso el agente puede verse forzado a actuar incluso antes de haber completado la búsqueda.

Por otra parte, incluso disponiendo del tiempo necesario, puede ser computacionalmente intratable que nuestro agente realice una búsqueda completa.

El mundo real

Page 159: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

159

Dos aproximaciones para tratar estos problemas

Métodos probabilísticos: Se modelan las incertidumbres de los sensores, actuadores y procesos activos en el entorno

Adaptar los procesos de búsqueda y toma de decisiones con el ciclo básico del agente, es decir, Percibir/Planificar/Actuar. La idea es que si bien el agente puede cometer errores, al recibir una realimentación constante del mundo el agente puede “reaccionar” ante lo inesperado y buscar una nueva solución.

Page 160: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

160

Métodos de búsqueda aproximados

Los métodos de búsqueda de un agente reactivo deben:

• responder en un tiempo mínimo conocido

• el proceso de búsqueda podrá ser interrumpido en cualquier momento, pero el agente deberá en cualquier caso responder con una solución. La solución puede ser mejorada si el agente dispone de más tiempo

• posiblemente relajar los requisitos de optimalidad

Page 161: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

161

Algoritmos Anytime

Búsqueda estructurada

Búsqueda Localizada (Island-Driven Search)

Búsqueda jerárquica

Métodos “Aproximados” de resolución de problemas

Page 162: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

162

Una realimentación frecuente desde el entorno, es una manera de reducir incertidumbres y compensar la falta de conocimiento del agente acerca del mundo y de los efectos de sus acciones.

Otra forma de aumentar las capacidades del agente es extraer información relevante del propio proceso de busqueda. Mediante esta información el agente puede aprender a planificar y actuar de forma más efectiva.

Page 163: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

163

Aprendizaje de funciones heurísticasSupongamos un problema genérico en el que el agente carece de una heurística que oriente la búsqueda.

Consideraremos primero el caso más sencillo: aquel en el que es posible almacenar en una tabla todos los posibles nodos (estados) que pueden presentarse durante la búsqueda.

Asumimos también que el agente dispone de un buen modelo de los efectos de sus acciones y conoce el coste de desplazarse de un nodo a cualquiera de sus descendientes.

Inicializamos la función heurística h* a cero en todos los nodos e iniciamos una búsqueda A*. Tras expandir el nodo ni para producir sus sucesores S(ni), modificamos h*(ni) como sigue:

Page 164: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

164

),()(*)(

)(*jnincjnh

inSjnmininh

Inicializamos la función heurística h* a cero en todos los nodos e iniciamos una búsqueda A*. Tras expandir el nodo ni para producir sus sucesores S(ni), modificamos h*(ni) como sigue:

Donde c(ni,nj) es el coste de alcanzar nj desde ni. Los valores de h* se guardan en una tabla para ser actualizados en sucesivas búsquedas. Se asume también que podemos “reconocer” el nodo objetivo ng, de manera que siempre tendremos h*(ng)=0.

En la primera iteración, la búsqueda será equivalente a una búsqueda de coste uniforme, pero la estimación de h* irá mejorando gradualmente haciendo la búsqueda cada vez más informada.

Page 165: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

165

),()(*)(*

jnincjnhinh

Si el agente no dispone de un modelo acerca de las consecuencias de sus acciones, puede aprenderlo al tiempo que configura una estimación de h*. Asumimos que el agente puede distinguir entre dos estados diferentes y que puede nombrarlos a medida que los va descubriendo. Asumimos también que el agente no conoce el coste de sus acciones y, por tanto, necesita descubrirlo a medida que las ejecuta en el mundo real.

El proceso comienza con un único nodo conocido y eligiendo una acción, posiblemente al azar, y transitando a un nuevo estado. Así a medida que se visitan estados se descubre el coste de la transición, se nombra el nuevo estado y se le asocia un valor h*:

Donde ni es el nodo desde el que se ejecuta la acción, nj es el nodo resultante, c(ni,nj) es el coste de alcanzar nj desde ni. h*(nj) será nulo si el nodo nj no ha sido visitado nunca.

Page 166: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

166

)),(,(),((*argmin anincanh

aa

Siempre que el agente debe elegir una acción en un nodo dado n que tiene nodos sucesores almacenados en la tabla, elegirá la acción que resulte de:

Donde (n,a) es la descripción del estado alcanzable desde el nodo ni después de ejecutarse la acción a.

Este proceso de aprendizaje comienza con una búsqueda errática, al azar, del estado objetivo. Si eventualmente se tropieza con él, el agente podrá mejorar progresivamente sus capacidades a lo largo de sucesivos intentos. Evidentemente , esta técnica no garantiza la optimalidad de las soluciones que se puedan ir descubriendo.

A medida que se dispone de un modelo más completo, es posible combinar el “aprendizaje en el mundo” con el “aprendizaje y planificación en el modelo”.

Page 167: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

167

Consideremos ahora el caso en el que no es factible el conservar una tabla con todos los estados (nodos) posibles y sus transiciones. La aproximación es entonces intentar construir una función heurística que pueda ser aplicada a todos los nodos. Podría, por ejemplo, construirse como una combinación lineal de subfunciones que pensamos pueden ser buenos estimadores en ciertas ocasiones:

)(2

)(1

)(* nPWnWwinhPara ajustar los pesos caben varias aproximaciones:

A. Asignamos inicialmente a los pesos los valores inciales que consideramos más aproximados a los valores “reales” y realizamos una búsqueda con esos valores. Cuando alcanzamos un nodo objetivo, ng, empleamos el valor final conocido, h*(ng)=0, para propagar los valores de h* a todos los nodos de la trayectoria. Empleando estos valores como “muestras” se ajustan los valores de los pesos de forma que se minimice el error cuadrático entre las muestras y la función h* resultante de la combinación de pesos.

Page 168: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

168

Para ajustar los pesos caben varias aproximaciones:

B. También puede emplearse un método similar al anterior, ajustando h* en cada expansión de nodo. Así después de expandir el nodo ni para producir los sucesores S(ni), se ajustan los pesos de manera que:

)(*),()(*

)()(*)(*

inh

jninc

jnhmin

inS

jninhinh

),()(*

)()(*)1()(*

jninc

jnhmin

inS

jninhinh

Donde 0<<1 es el parámetro de aprendizaje. Valores pequeños de provocan un ritmo de aprendizaje muy lento; valores grandes ocasionan un aprendizaje errático y no-convergente.

Page 169: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

169

Aprendizaje por refuerzo: Iteración de valores

Existen problemas en los que es posible “aconsejar” a un agente a medida que desarrolla su actividad, premiándole si progresa en su misión y castigándole en otro caso.

En este tipo de entornos, el objetivo es lograr una estrategia de acción que maximice el refuerzo positivo (premio) alcanzado por el agente.

La dificultad esencial está en que es necesario premiar al agente a medida que este desarrolla la tarea y no sólo al final, por lo que el gran problema reside está en trasladar a cada acción parte del premio que podría obtenerse en el futuro al alcanzar el objetivo.

Page 170: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

170

Sea n un nodo en el grafo de espacio de estado del agente, y sea una estrategia de acción que para cada nodo indica la acción más conveniente. Sea también, r(ni, a) el premio que el agente recibe cuando desde el nodo ni se ejecuta la acción a. Si esta acción conduce al agente al nodo nj, entonces normalmente r(ni, a) = - c(ni, nj) + (nj), donde (nj) es el valor del premio obtenido al alcanzar el nodo nj.

El objetivo es lograr una estrategia óptima * que traslade a cada nodo la máxima porción posible del premio que se pueda obtener en el futuro. Supongamos que aplicando un cierta estrategia o política, , podemos asignar a cada nodo n en el espacio de estados un valor V(n) que corresponde con la parte de premio que el agente recibiría por comenzar en el nodo n y seguir la estrategia .

Supongamos que en el nodo ni se elige la acción prescrita por (ni) que resulta en el nodo nj

)(πVγ)(,)(πV jnininrin

Page 171: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

171

Donde 0<<1 es el factor de descuento empleado para calcular el valor en el instante ti de un posible premio que se alcanzaría en ti+1. Para una estrategia óptima * :

)(*

Vγ,)(*

Vjna

inrmax

ain

El valor de ni es la cantidad que es el agente recibe por seleccionar en ni aquella acción que maximiza la suma del premio inmediato, r(ni,a), más la parte descontada del premio que se obtendría en nj siguiendo una estrategia óptima.

Si se dispusiese de los valores de los nodos para una estrategia óptima (valores óptimos) la estrategia óptima podría escribirse como:

)(*

Vγ,argmax)(*jna

inr

ain

Page 172: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

172

)(*γ,)(*)1()(*

jnVa

inrinVinV

El problema es que normalmente no conocemos estos valores. Sin embargo existe un procedimiento de aprendizaje denominado “Iteración de valores” que bajo determinadas condiciones converge a los valores óptimos.

Iteración de valores:1. Asignar valores V*(n) a cada nodo. P.e. V*(n) = 0 para todo n.2. En algún momento del proceso y para algún nodo ni, el valor estimado del nodo es V*(ni). Se selecciona entonces la acción ‘a’ que maximiza la suma del premio inmediato más el valor estimado del nodo sucesor nj y se actualiza el valor del nodo ni como sigue

Este ajuste aproxima el valor de V*(ni) a [r(ni,a)+ V*(nj) ], en la medida en que V*(nj) sea una buena estimación de V*(nj), este ajuste hará que V*(ni) sea una mejor aproximación a V*(ni).

Page 173: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

173

Sumario.

• La representación en el espacio de estados es una

metodología potente de resolución de problemas

• Los métodos de búsqueda se pueden caracterizar por

su complejidad, y propiedades de optimalidad y

completitud.

• Los métodos de búsqueda informada son más eficaces,

pero requieren de funciones heurísticas (subestimación).

• En búsqueda con adversario, el procedimiento alfa-beta

es preferible al procedimiento minimax.

• En la mayoría de los juegos es vital disponer de una

buena función de evaluación.

• Existen técnicas para “aprender” heurísticas.

Page 174: FIA-3 3. Búsqueda y Planificación Jorge Cabrera Gámez Departamento de Informática y Sistemas Universidad de Las Palmas de Gran Canaria © Todos los derechos

174

Bibliografía.

[Mend-92] J. MéndezApuntes del Curso de I.A.U.L.P.G.C.

[Russ-95] S. Russel, P. NorvigArtificial Intelligence: A Modern ApproachPrentice-Hall, 1995.

[Nils-98 ] N. J. NilssonArtificial IntelligenceMorgan Kaufmann, 1998.