• No se han encontrado resultados

Inteligencia Artificial

N/A
N/A
Protected

Academic year: 2022

Share "Inteligencia Artificial"

Copied!
94
0
0

Texto completo

(1)

Inteligencia Artificial

Grupo PLG

Universidad Carlos III de Madrid

IA. 2008

(2)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes Algoritmo Minimax

(3)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes

(4)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes Algoritmo Minimax

(5)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes

(6)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes Algoritmo Minimax

(7)

Introducci´ on

Espacio de problemas Conjunto de estados Conjunto de operadores Estado(s) inicial(es) Meta(s)

Representable por un grafo

Resoluci´on de problemas = b´usqueda en el grafo Normalmente, la b´usqueda genera un ´arbol Par´ametros importantes

Factor de ramificaci´on

Profundidad del ´arbol de b´usqueda

Diferencia con OR: el grafo en OR es expl´ıcito. En muchos problemas

(8)

Introducci´ on

Espacio de problemas Conjunto de estados Conjunto de operadores Estado(s) inicial(es) Meta(s)

Representable por un grafo

Resoluci´on de problemas = b´usqueda en el grafo Normalmente, la b´usqueda genera un ´arbol Par´ametros importantes

Factor de ramificaci´on

Profundidad del ´arbol de b´usqueda

Diferencia con OR: el grafo en OR es expl´ıcito. En muchos problemas es imposible

(9)

Introducci´ on

Espacio de problemas Conjunto de estados Conjunto de operadores Estado(s) inicial(es) Meta(s)

Representable por un grafo

Resoluci´on de problemas = b´usqueda en el grafo Normalmente, la b´usqueda genera un ´arbol Par´ametros importantes

Factor de ramificaci´on

Profundidad del ´arbol de b´usqueda

Diferencia con OR: el grafo en OR es expl´ıcito. En muchos problemas

(10)

Introducci´ on

Espacio de problemas Conjunto de estados Conjunto de operadores Estado(s) inicial(es) Meta(s)

Representable por un grafo

Resoluci´on de problemas = b´usqueda en el grafo Normalmente, la b´usqueda genera un ´arbol Par´ametros importantes

Factor de ramificaci´on

Profundidad del ´arbol de b´usqueda

Diferencia con OR: el grafo en OR es expl´ıcito. En muchos problemas es imposible

(11)

Introducci´ on

Espacio de problemas Conjunto de estados Conjunto de operadores Estado(s) inicial(es) Meta(s)

Representable por un grafo

Resoluci´on de problemas = b´usqueda en el grafo Normalmente, la b´usqueda genera un ´arbol Par´ametros importantes

Factor de ramificaci´on

Profundidad del ´arbol de b´usqueda

Diferencia con OR: el grafo en OR es expl´ıcito. En muchos problemas

(12)

Ejemplo: 8-Puzzle

1 2 3

5 6

4 7 8

1 2 3

6

4 7 8

5

1 2 3

5 6 7 8 4

2 3 5 6

4 7 8

1

3 5 6

4 7 8

1 2

1 2 3

5 6 8 4 7 Estados

Operadores

(13)

Ejemplo: Las torres de Hanoi (3,2)

(14)

Ejemplo: Las torres de Hanoi (3,2)

El factor de

ramificaci´on (fr = 83) es una propiedad del grafo de estados

(15)

Ejemplo: Las torres de Hanoi (3,2)

La profundidad (p = 3) es una propiedad del problema a resolver

(16)

Ejemplo: Las jarras

Se tienen dos jarras de agua: una de cinco litros de capacidad y otra de tres. Ninguna de ellas tiene marcas de medici´on. Se tiene una bomba que permite llenar las jarras de agua, vaciarlas, y traspasar contenido de una jarra a otra.

¿C´omo se puede tener exactamente cuatro litros de agua en la jarra de cinco litros de capacidad?

(17)

Ejemplo: Las jarras

Espacio de Estados:

conjunto de pares ordenados de enteros (x , y ), de forma que x = 0, . . . , 5, y = 0, . . . , 3

x representa el n´umero de litros de agua que hay en la jarra de 5 litros de capacidad

y representa el n´umero de litros de agua que hay en la jarra de 3 litros de capacidad

Estado inicial: (0, 0) Estado meta:

Descripci´on impl´ıcita: (4, n), donde n = 0, . . . , 3 Descripci´on expl´ıcita: (4, 0), (4, 1), (4, 2), (4, 3)

(18)

Ejemplo: Las jarras

Operadores

Llenar jarra grande : Si (x < 5)→(5, y ) Llenar jarra peque˜na : Si (y < 3)→(x , 3) Vaciar jarra grande : Si (x > 0)→(0, y ) Vaciar jarra peque˜na : Si (y > 0)→(x , 0)

Verter en grande : Si (y > 0)→(x + min{5 − x , y }, y − min{5 − x , y }) Verter en peque˜na : Si (x > 0)→(x − min{x , 3 − y }, y + min{x , 3 − y })

(19)

Explosi´ on combinatoria

Dominio umero de estados Tiempo (107 nodos/s)

8-puzzle

N2! 2

”˛

˛

˛N=3

= 181.440 0.01 segundos

15-puzzle

N2! 2

”˛

˛

˛N=4= 1013 11,5 d´ıas

24-puzzle

N2! 2

”˛

˛

˛N=5

= 1025 31, 7 × 109nos

Hanoi (3,2) (3n)|n=2= 9 9 × 10−7 segundos

Hanoi (3,4) (3n)|n=4= 81 8, 1 × 10−6 segundos Hanoi (3,8) (3n)|n=8= 6561 6, 5 × 10−4 segundos Hanoi (3,16) (3n)|n=16= 4, 3 × 107 4,3 segundos Hanoi (3,24) (3n)|n=24= 2, 824 × 1011 0,32 d´ıas

Cubo de Rubik 2 × 2 × 2 106 0,1 segundos

Cubo de Rubik 3 × 3 × 3 4, 32 × 1019 31.000 a˜nos

(20)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes Algoritmo Minimax

(21)

8-Puzzle – Amplitud

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

4 1

2 3

(22)

8-Puzzle – Amplitud

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

1 2 3 5 6 7 8 4

1 2 3 5 6 8 4 7

5 6

4 1

2 3

x

(23)

8-Puzzle – Amplitud

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

3 5 6 4 7 8 1 1 2 3 2

5 6 7 8 4

1 2 3 5 6 8 4 7

2 3 5 6 4 7 8 1

5 6 7 8

4 1

2 3

x x

(24)

8-Puzzle – Amplitud

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

1 2 3 6

4 8

5 7 3

5 6 4 7 8 1 1 2 3 2

5 6 7 8 4

1 2 3 5 6 8 4 7

1 3

6 4 7 8 5 2

1 2 3 4 7 8 5 6 2 3

5 6 4 7 8

1 1 2 3

6 4 7 8 5

5 6 7 8 10 11 12

4 1

2

9 3

x x x

(25)

8-Puzzle – Amplitud

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

1 2 3 6

4 8

5 7 3

5 6 4 7 8 1 1 2 3 2

5 6 7 8 4

1 2 3 5 6 8 4 7

1 3

6 4 7 8 5 2

1 2 3 4 7 8 5 6 2 3

5 6 4 7 8 1

1 2 3 6 8 4 7 5

1 2 3 6 4 7 8 5

1 2 3 4 5 6 7 8

1 2 3 5 6 7 8 4

5 6 7 8 10 11 12

4 1

2

13 14

9 3

15

x x x

x

(26)

B´ usqueda en amplitud

Procedimiento Amplitud (Estado-inicial Estado-Final)

1 Crear lista ABIERTA con el nodo inicial, I, (estado-inicial)

2 EXITO=Falso

3 Hasta que ABIERTA est´e vac´ıa O EXITO Quitar de ABIERTA el primer nodo, N Si N tiene sucesores

Entonces Generar los sucesores de N

Crear punteros desde los sucesores hacia N Si alg´un sucesor es nodo meta

Entonces EXITO=Verdadero

Si no A˜nadir los sucesores al final de ABIERTA

4 Si EXITO

Entonces Soluci´on=camino desde I a N por los punteros Si no, Soluci´on=fracaso

(27)

Caracter´ısticas

Completo: encuentra soluci´on si existe y el factor de ramificaci´on es finito en cada nodo

Optimalidad: si todos los operadores tienen el mismo coste, encontrar´a la soluci´on ´optima

Eficiencia: buena si las metas est´an cercanas Problema: consume memoria exponencial

(28)

8-Puzzle – Profundidad

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

4 1

2 3

(29)

8-Puzzle – Profundidad

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

1 2 3 5 6 7 8 4

1 2 3 5 6 8 4 7

5 6

4 1

2 3

x

(30)

8-Puzzle – Profundidad

1 2 3 5 6 4 7 8

1 2 3 5 6 7 8 4

2 3 5 6 4 7 8 1

1 2 3 6 4 7 8 5

1 2 3 5 6 7 8 4

1 2 3 5 6 8 4 7

1 2 3 6 8 4 7 5

1 2 3 4 5 6 7 8

1 2 3 5 6 7 8 4

5 6

4 1

2 3

7 8 9

x

x

(31)

B´ usqueda en profundidad

Procedimiento Profundidad (Estado-inicial,Estado-Final,Profundidad-m´axima)

1 Crear lista ABIERTA con el nodo inicial, I, y su profundidad=0

2 EXITO=Falso

3 Hasta que ABIERTA est´e vac´ıa O EXITO Quitar de ABIERTA el primer nodo.

Lo llamaremos N y a su profundidad P

Si P < Profundidad-m´axima Y N tiene sucesores Entonces Generar los sucesores de N

Crear punteros desde los sucesores hacia N Si alg´un sucesor es el Estado-Final Entonces EXITO=Verdadero

Si no, A˜nadir los sucesores al principio de ABIERTA Asignarles profundidad P+1

4 Si EXITO

Entonces Soluci´on=camino desde I a N por los punteros

(32)

Caracter´ısticas

Requiere t´ecnica de retroceso (“backtracking”) Razones para retroceso:

Se ha llegado al l´ımite de profundidad

Se han estudiado todos los sucesores de un nodo y no se ha llegado a la soluci´on

Se sabe que el estado no conduce a la soluci´on Se genera un estado repetido

Completitud: no asegura encontrar la soluci´on

Optimalidad: no asegura encontrar la soluci´on ´optima Eficiencia: bueno cuando metas alejadas de estado inicial, o problemas de memoria

No es bueno cuando hay ciclos

(33)

Caracter´ısticas

Requiere t´ecnica de retroceso (“backtracking”) Razones para retroceso:

Se ha llegado al l´ımite de profundidad

Se han estudiado todos los sucesores de un nodo y no se ha llegado a la soluci´on

Se sabe que el estado no conduce a la soluci´on Se genera un estado repetido

Completitud: no asegura encontrar la soluci´on

Optimalidad: no asegura encontrar la soluci´on ´optima Eficiencia: bueno cuando metas alejadas de estado inicial, o problemas de memoria

No es bueno cuando hay ciclos

(34)

Caracter´ısticas

Requiere t´ecnica de retroceso (“backtracking”) Razones para retroceso:

Se ha llegado al l´ımite de profundidad

Se han estudiado todos los sucesores de un nodo y no se ha llegado a la soluci´on

Se sabe que el estado no conduce a la soluci´on Se genera un estado repetido

Completitud: no asegura encontrar la soluci´on

Optimalidad: no asegura encontrar la soluci´on ´optima Eficiencia: bueno cuando metas alejadas de estado inicial, o problemas de memoria

No es bueno cuando hay ciclos

(35)

B´ usqueda no informada con costes

Dijkstra: amplitud, pero eligiendo aquel nodo que tenga menor coste desde el nodo ra´ız

Branch and bound, B&B

usqueda (normalmente en profundidad)

cuando encuentra una soluci´on, su coste se convierte en un l´ımite (superior o inferior) para los siguientes nodos

si un nodo posterior tiene un coste desde el nodo ra´ız mayor/menor (o igual) que el l´ımite, se termina la b´usqueda por ´el

si se tiene un l´ımite inicial, se puede utilizar la misma idea para amplitud/Dijkstra

(36)

An´ alisis de complejidad

Si se dispone de:

factor de ramificaci´on medio fr profundidad del ´arbol de b´usqueda p

¿Cu´al ser´ıa, en el peor de los casos, el n´umero de nodos que examinar´ıa cada t´ecnica?

Unidireccional Pista:

sup´ongase que fr=3, y vaya increment´andose la p calcular de forma inductiva el n´umero de nodos

(37)

An´ alisis de complejidad

T´ecnica de B´usqueda N´umero m´aximo de nodos Unidireccional Pp

i =0fri

(38)

An´ alisis de complejidad

Complejidad T´ecnica de B´usqueda Temporal Espacial

Amplitud O(frp) O(frp)

Profundidad O(frp) O(p)

Cuando complejidad en tiempo es igual a la de espacio, se agota la memoria antes que el tiempo

(39)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes

(40)

Heur´ıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto Si no se tiene conocimiento −→ b´usqueda sin informaci´on

En la mayor parte de los problemas que resuelven los humanos, se est´a en posiciones intermedias

Heur´ıstica: (del griego “heurisko” (ε´υρισκω): “yo encuentro”) conocimiento parcial sobre un problema/dominio que permite resolver problemas eficientemente en ese problema/dominio

Representaci´on de las heur´ısticas funciones h(n)

metareglas

Las funciones heur´ısticas se descubren resolviendo modelos simplificados del problema real

(41)

Heur´ıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto Si no se tiene conocimiento −→ b´usqueda sin informaci´on

En la mayor parte de los problemas que resuelven los humanos, se est´a en posiciones intermedias

Heur´ıstica: (del griego “heurisko” (ε´υρισκω): “yo encuentro”) conocimiento parcial sobre un problema/dominio que permite resolver problemas eficientemente en ese problema/dominio

Representaci´on de las heur´ısticas funciones h(n)

metareglas

Las funciones heur´ısticas se descubren resolviendo modelos simplificados del problema real

(42)

Heur´ıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto Si no se tiene conocimiento −→ b´usqueda sin informaci´on

En la mayor parte de los problemas que resuelven los humanos, se est´a en posiciones intermedias

Heur´ıstica: (del griego “heurisko” (ε´υρισκω): “yo encuentro”) conocimiento parcial sobre un problema/dominio que permite resolver problemas eficientemente en ese problema/dominio

Representaci´on de las heur´ısticas funciones h(n)

metareglas

Las funciones heur´ısticas se descubren resolviendo modelos simplificados del problema real

(43)

Heur´ıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto Si no se tiene conocimiento −→ b´usqueda sin informaci´on

En la mayor parte de los problemas que resuelven los humanos, se est´a en posiciones intermedias

Heur´ıstica: (del griego “heurisko” (ε´υρισκω): “yo encuentro”) conocimiento parcial sobre un problema/dominio que permite resolver problemas eficientemente en ese problema/dominio

Representaci´on de las heur´ısticas funciones h(n)

metareglas

Las funciones heur´ısticas se descubren resolviendo modelos simplificados del problema real

(44)

Problemas relajados. 8-puzzle

Restricciones:

olo se puede mover el blanco

el movimiento s´olo se puede hacer a casillas adyacentes horizontal o vertical

en cada paso, se intercambian los contenidos de dos casillas Relajaciones:

si quitamos las dos primeras restricciones, generamos la heur´ıstica de umero de casillas mal colocadas

si quitamos la primera restricci´on, generamos la heur´ıstica de la distancia de Manhattan

(45)

Problemas relajados. 8-puzzle

Restricciones:

olo se puede mover el blanco

el movimiento s´olo se puede hacer a casillas adyacentes horizontal o vertical

en cada paso, se intercambian los contenidos de dos casillas Relajaciones:

si quitamos las dos primeras restricciones, generamos la heur´ıstica de umero de casillas mal colocadas

si quitamos la primera restricci´on, generamos la heur´ıstica de la distancia de Manhattan

(46)

Algoritmo de escalada

Procedimiento escalada (Estado-inicial Estado-final) N=Estado-inicial; EXITO=Falso

Hasta que Camino-Sin-Salida(N) O EXITO Generar los sucesores de N

SI alg´un sucesor es Estado-final ENTONCES EXITO=Verdadero

SI NO, Evaluar cada nodo con la funci´on de evaluaci´on, f (n) N=mejor sucesor

Si EXITO

Entonces Soluci´on=camino desde nodo del Estado-inicial al nodo N por los punteros

Si no, Soluci´on=fracaso

(47)

8-Puzzle – B´ usqueda en escalada

1 2 3 5 6 7 8 4

1 2 3 6 4 7 8 5 1 2 3

5 6 4 7 8

2 3 5 6 4 7 8 1 1

2 3 4

(48)

8-Puzzle – B´ usqueda en escalada

1 2 3 5 6 7 8 4

1 2 3 6 4 7 8 5 1 2 3

5 6 4 7 8

2 3 5 6 4 7 8 1 1

2 3 4

5

6 4 4

(49)

8-Puzzle – B´ usqueda en escalada

1 2 3 5 6 7 8 4

1 2 3 5 6 7 8 4

1 2 3 6 4 7 8 5

1 2 3 5 6 8 4 7 1 2 3

5 6 4 7 8

2 3 5 6 4 7 8 1 1

2 3 4

5 6

5

6 4 4

7

x

(50)

8-Puzzle – B´ usqueda en escalada

1 2 3 5 6 8 4

7 1 2 3

4 5 6 7 8 1 2 3 4 7

6 8 5 1 2 3

5 6 7 8 4

1 2 3 5 6 7 8 4

1 2 3 6 4 7 8 5

1 2 3 5 6 8 4 7 1 2 3

5 6 4 7 8

2 3 5 6 4 7 8 1 1

2 3 4

5 6

7 8 9

5

6 4 4

7

6 9 6

x

(51)

Caracter´ısticas

Problemas de los m´etodos avariciosos

aximos (o m´ınimos) locales: pico que es m´as alto que cada uno de sus estados vecinos, pero m´as bajo que el m´aximo global

Mesetas: zona del espacio de estados con funci´on de evaluaci´on plana Crestas: zona del espacio de estados con varios m´aximos (m´ınimos) locales

Función Objetivo

Estados Unidimensional Terraza

Meseta Crestas Máximo Local Máximo global

Espacio de

(52)

Caracter´ısticas

Soluciones Retroceso

Dar m´as de un paso Reinicio aleatorio M´etodo local

Completitud: no tiene porqu´e encontrar la soluci´on

Admisibilidad: no siendo completo, a´un menos ser´a admisible Eficiencia: r´apido y ´util si la funci´on es mon´otona (de)creciente

(53)

T´ ecnicas de mejor primero

Procedimiento Mejor-primero (Estado-inicial Estado-final)

Crear grafo de b´usqueda G , con el nodo inicial, I (Estado-inicial) ABIERTA=I , CERRADA=Vac´ıo, EXITO=Falso

Hasta que ABIERTA est´e vac´ıa O EXITO

Quitar el primer nodo de ABIERTA, N y meterlo en CERRADA SI N es Estado-final ENTONCES EXITO=Verdadero

SI NO Expandir N, generando el conjunto S de sucesores de N, que no son antecesores de N en el grafo Generar un nodo en G por cada s de S

Establecer un puntero a N desde aquellos s de S que no estuvieran ya en G nadirlos a ABIERTA

Para cada s de S que estuviera ya en ABIERTA o CERRADA decidir si redirigir o no sus punteros hacia N Para cada s de S que estuviera ya en CERRADA

decidir si redirigir o no los punteros de los nodos en sus sub´arboles Reordenar ABIERTA seg´un f (n)

Si EXITO Entonces Soluci´on=camino desde I a N a trav´es de los punteros de G Si no Soluci´on=Fracaso

(54)

A

(Hart, Nilsson y Rafael, 1968)

Funci´on de ordenaci´on de nodos: f (n) = g (n) + h(n) f (n): funci´on de evaluaci´on

g (n): funci´on de coste de ir desde el nodo inicial al nodo n

h(n): funci´on heur´ıstica que mide la distancia estimada desde n a alg´un nodo meta

g (n) se calcula como la suma de los costes de los arcos recorridos, k(ni, nj)

Los valores reales s´olo se pueden conocer al final de la b´usqueda f(n): coste real para ir desde el nodo inicial a alg´un nodo meta a trav´es de n

g(n): coste real para ir desde el nodo inicial al nodo n h(n): coste real para ir desde el nodo n a alg´un nodo meta

(55)

Definici´ on de t´ erminos

4

5

2 6

1 k(1,2)=200

g(2)=200 k(2,6)=40 g(6)=200+40=240

k(1,4)=40

h(2)=30

h(4)=35

h(6)=40

g(4)=40

(56)

Ejemplo A

4 3 1

5

2 6

10

35

30 40

200 0 40

50

200 5

200 150

40 60

30

(57)

Ejemplo A

2 3 4

1

200

40 200 60

30

230 70 10

60

35 75

40

(58)

Ejemplo A

2 3 4

1

5 200

40 200 60

150 30

230 70 10

60

35 75

40

260 0 260 200

(59)

Ejemplo A

3 1

5

2 4

40 200 60

150

30 10 75 35

40

200

0

200 5 225

240 240 45 55 195

(60)

Ejemplo A

3 1

5

4

6 2

40 200 60

150

30 10 75 35

40

200

0

200 5 225

45 55 195

40

225 30

40

275 225

235

(61)

Caracter´ısticas

Completitud: si existe soluci´on, la encuentra

Admisibilidad: si hay una soluci´on ´optima, la encuentra si el n´umero de sucesores es finito para cada nodo,

k(ni, nj) >  > 0 en cada arco, y

La funci´on h(n) es admisible: h(n) ≤ h(n) ∀n

(62)

Consideraciones sobre la heur´ıstica

Si h1(n) <= h2(n)∀n, h2(n) est´a m´as informada que h1(n) y servir´a para expandir menos nodos

Ejemplo: distancia de Manhattan est´a m´as informada que n´umero de casillas mal colocadas (problema de Manhattan es menos relajado que el del n´umero de casillas)

Extremos

h(n) = 0 para cada nodo: no se tiene informaci´on (Dijkstra) h(n) = h(n) para cada nodo: se tiene informaci´on perfecta No tiene sentido dedicar m´as coste computacional a calcular una buena h(n) que a realizar la b´usqueda equivalente: equilibrio

(63)

T´ ecnicas mejor-primero

No informadas:

usqueda en amplitud: f (n) = profundidad(n) Dijkstra: f (n) = g (n)

Informadas (heur´ısticas):

A, A, IDA, . . . : f (n) = g (n) + h(n) Ponderadas: f (n) = g (n) + ωh(n), ω > 1

Es completo, pero no es admisible

La soluci´on ´optima tiene un coste menor o igual que (1 + ω) veces la generada

(64)

IDA

(Korf, 1985)

Procedimiento IDA (Estado-inicial Estado-final) EXITO=Falso

η = h(s)

Mientras que EXITO=Falso

EXITO=Profundidad (Estado-inicial,η) η = min

i =1,n{f (i )} = min

i =1,n{g (i ) + h(i )}

Soluci´on=camino desde nodo del Estado-inicial al Estado-final por los punteros Profundidad (Estado-inicial,η)

Expande todos los nodos cuyo coste f (n) no excede η

(65)

Caracter´ısticas

Completitud: es completo Admisibilidad: es admisible

Eficiencia: la complejidad de tiempo es exponencial, pero la complejidad de espacio es lineal en la profundidad del ´arbol de b´usqueda

Aunque pudiera parecer lo contrario, el n´umero de re-expansiones es s´olo mayor en un peque˜no factor que el n´umero de expansiones de los algoritmos de el mejor primero

Fue el primer algoritmo que resolvi´o ´optimamente 100 casos generados aleatoriamente en el 15–Puzzle

(66)

Indice

1 Introducci´on

2 B´usqueda sin informaci´on B´usqueda en Amplitud B´usqueda en profundidad B´usqueda hacia atr´as B´usqueda bidireccional

B´usqueda con costes no uniformes Otros algoritmos de b´usqueda An´alisis de complejidad

3 B´usqueda heur´ıstica Heur´ıstica

T´ecnica de escalada T´ecnicas de mejor-primero Otros algoritmos

4 B´usqueda con m´ultiples agentes Algoritmo Minimax

(67)

Caracter´ısticas de los problemas

Suma nula: lo que gana uno, lo pierde el otro Dos agentes (se puede generalizar, Maxn)

Informaci´on completa: se conoce en cada momento el estado completo del juego

Deterministas o de informaci´on perfecta: no entra en juego el azar (se puede generalizar)

Alternados: las decisiones de cada agente se toman de forma alternada

(68)

Algoritmo Minimax

Funci´on de evaluaci´on perfecta

2 7 8

f*(n)=

Problema: no se conoce dicha funci´on

(69)

Algoritmo Minimax

Funci´on de evaluaci´on perfecta

2 7 8

f*(n)=

Problema: no se conoce dicha funci´on

(70)

Algoritmo Minimax

B´usqueda completa

0 m M

Nodos hojas: ganamos (M=∞), perdemos (m=−∞) o empatamos (0)

Problema: es intratable; no se puede realizar en un tiempo razonable

(71)

Algoritmo Minimax

B´usqueda completa

0 m M

Nodos hojas: ganamos (M=∞), perdemos (m=−∞) o empatamos (0)

(72)

Algoritmo Minimax

M

pmax=3

10 12 3 m

4

f(n)= 3 -3 5 20 -4 -2

4 10 12 -3 20 -2

MAX

4 -3 -2

MIN

4

(73)

Algoritmo Minimax

M

pmax=3 10 12 3

m 4

f(n)= 3 -3 5 20 -4 -2

4 10 12 -3 20 -2

MAX

4 -3 -2

MIN

4

(74)

Algoritmo Minimax

M

pmax=3 10 12 3

m 4

f(n)= 3 -3 5 20 -4 -2

4 10 12 -3 20 -2

MAX

4 -3 -2

MIN

4

(75)

Algoritmo Minimax

M

pmax=3 10 12 3

m 4

f(n)= 3 -3 5 20 -4 -2

4 10 12 -3 20 -2

MAX

4 -3 -2

MIN

4

(76)

Algoritmo Minimax

M

pmax=3 10 12 3

m 4

f(n)= 3 -3 5 20 -4 -2

4 10 12 -3 20 -2

MAX

4 -3 -2

MIN

4

(77)

Procedimiento Minimax

Procedimiento Minimax (Situaci´on Profundidad) SI Profundidad = pmax

ENTONCES devolver evaluaci´on (Situaci´on) SI NO SI ganadora (Situaci´on)

ENTONCES devolver + ∞ SI NO SI perdedora (Situaci´on)

ENTONCES devolver - ∞ SI NO SI empate (Situaci´on)

ENTONCES devolver 0 SI NO

S = sucesores (Situaci´on)

L = lista de llamadas al MINIMAX (Si ∈ S, Profundidad + 1) SI nivel-max (Profundidad)

ENTONCES devolver max (L) SI NO devolver min (L)

(78)

C´ alculo del valor de cada nodo

f (n) = 8

>>

>>

>>

<

>>

>>

>>

:

+∞ si n es una situaci´on ganadora para computadora

−∞ si n es una situaci´on perdedora para computadora 0 si n es una situaci´on de empate

fev(n) si p = Profundidad m´axima maxSi∈S(n)f (Si) si n es nodo max y p < pmax

minSi∈S(n)f (Si) si n es nodo min y p < pmax

Negamax

f (n) =

fev(n) si d = 0

max(−f (S1), ..., −f (Sd)) si d > 0

(79)

Ejemplo en el tic-tac-toe

X

X X X

X X

X

X X

X X

X X

X X

X X

X X

4−2=2 4−2=2 4−2=2 3−2=1 5−2=3 3−2=1

1

(80)

Ejemplo en el tic-tac-toe

X X

X

X X X

X

X X X X X X X X X X X X

1 0

4−3=1 4−3=1 4−3=1 3−3=0 4−3=1 3−3=0

(81)

Ejemplo en el tic-tac-toe

X

X X

X X X

X

X X

X X

X X

X X

X X

X X

1 0 1

4−2=2 4−2=2 4−2=2 4−2=2 4−2=2 3−2=1

(82)

Poda Alfa-beta

Nodos max: se utiliza el par´ametro α para guardar el valor m´aximo de los sucesores encontrado hasta el momento. α0= −∞

Nodos min: se utiliza el par´ametro β para guardar el valor m´ınimo de los sucesores encontrado hasta el momento. β0 = +∞

Poda en los nodos MAX:

αp ≥ βp−1 Poda en los nodos MIN:

βp≤ αp−1

(83)

Poda en los nodos MIN

MIN 6

4 MAX α=

MAX

β=

3

/ 3 βhijo<=αpadre

<=3

max{4,<=3}=4 α=

(84)

Poda en los nodos MIN

MIN 6

4 MAX α=

MAX

β=

3

/ 3 βhijo<=αpadre

<=3

max{4,<=3}=4 α=

(85)

Poda en los nodos MIN

MIN 6

4 MAX α=

MAX

β=

3

/ 3 αpadre

hijo<=

β

<=3

max{4,<=3}=4 α=

(86)

Poda en los nodos MIN

MIN 6

4 MAX α=

MAX

β=

3

/ 3 αpadre

hijo<=

β

<=3

max{4,<=3}=4 α=

(87)

Poda en los nodos MIN

MIN 6

4 MAX α=

MAX

β=

3

/ 3 αpadre

hijo<=

β

<=3

max{4,<=3}=4 α=

(88)

Poda en los nodos MIN

MIN 6

4 MAX α=

MAX

β=

3

/ 3 αpadre

hijo<=

β

<=3

max{4,<=3}=4 α=

(89)

Algoritmo Alfa-beta

Procedimiento Alfa-Beta (Situaci´on Alfa Beta Profundidad) SI Situaci´on est´a considerada como empate, Devolver 0 SI Situaci´on es ganadora, Devolver mayor-numero SI Situaci´on es perdedora, Devolver menor-numero

SI Profundidad = Profundidad-maxima, Devolver evaluacion (Situaci´on) SI nivel-max-p

para todo si sucesor de Situaci´on y Alfa < Beta

Alfa-beta = ALFA-BETA(si,Alfa,Beta,Profundidad+1) Alfa = max(Alfa,Alfa-beta)

Devolver Alfa SI NO

para todo si sucesor de Situaci´on y Beta > Alfa

Alfa-beta = ALFA-BETA(si,Alfa,Beta,Profundidad+1) Beta = min(Beta,Alfa-beta)

Devolver Beta

(90)

Ejemplo del alfa-beta

3 5 4 6 9 6 7 4 20 1 −3 10 8 5 10 1 −5

1

2 3 4

5 7 8 9 10 11

12 14 15 16 17 19 20 21 22 23 24 25 26 28 6

13 18 27

(91)

Ejemplo del alfa-beta

a=b=m a= 5

a= b=

a= b=

b=m M

a=b=Mm / 3 / 5 a=b=m

M a=b=m

M a=

b=m M / 5

a=b= a=

b=

a=b=m

M a=

1 b=

2 3 4

5

13 a >= bPoda6

15 14

12 M M

3 5

6

m 6

5 m / 6

m / 5 M

4 5

5

6

3 5 2

5

(92)

Ejemplo del alfa-beta

7 a= 8

b=

5 7 a=

b=

a=

b=M 5

a=

b=M

5 a=

b=

a=

b=

5 7

a=

b=

a=

b=M 5 a=

b=

m M

a=

b=M m / 5 1

2 3

1

2 3 44

19 18

b <= a3 1 Poda 5 / 6 / 7

M

6 7

17

6 7

M 6

4 4

5

M / 7 / 5 5

5 5

7

(93)

Ejemplo del alfa-beta

10 11

a=

b=M 5

a=

b=M

5 a=

b=

a=

b= a=

b=

5 8 a=

b=

5

8 a=

b=

a=

b=M

5 a=

b=

a=

a= b=

b=

m M

1

2 3

1

2 3 44

1

2 3 4

24 25 26

8

5 / 8 M

8

M a >= b

10

5 / 10 8 8

8

5 M / 8 m / 5 / 8

M 5

5

10 5

(94)

Estado de la cuesti´ on en juegos de dos jugadores

Ajedrez: HiTech, Deep Thought-Blue, Fritz Backgammon: NeuroGammon

Damas: Chinook Othello: Logistello

Juegos resueltos: Tic-Tac-Toe, Cuatro en Raya, Qubic, Go-Moku, Damas (oficialmente desde 2007), . . .

IA en juegos actuales: estrategia

Referencias

Documento similar

Este nuevo patr´ on se crea con la regla de transfor- maci´ on AnswerPattern por lo que toma de nombre “patronRes- pE0 glicosidos”, y se crea un nuevo elemento de la clase

Figura 5.9 Comparaci´ on del ranking la mejor soluci´ on encontrada hasta cada iteraci´ on, entre el algoritmo de b´ usqueda y su respectiva b´ usqueda aleatoria, para cada funci´

Dicho plan supone un trabajo de planificación y de análisis definitivo para potenciar las bibliotecas castellano-manchegas, que vienen ya trabajando con iniciativas modernas

So- me of these problems may be related to the elevated ho- mocysteine concentrations associated to vitamin B 6 defi- ciency, but there is also evidence for other mechanisms

B´ usqueda de Comunidades (3): Llegados a este punto con los datos ya procesados, se aplican diferentes algoritmos de b´ usqueda de comunidades (para comparar los

A pesar de que todas tienen la misma disposición radial, las correas, que funcionan como tal en la estructura de la pasarela, se transforman en vigas de borde en los

c) Teníem ganes de fer un disc nou que anara més enllà del format habitual. I sí, el procés ha sigut molt complicat, però també molt emocionant... RESPOSTES.. d) I tant! En

Licenciado en Letras Españolas Licenciado en Lengua Inglesa Total Títulos Profesionales:. GRADOS