Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad...

94
Introducci´ on usqueda sin informaci´ on usqueda heur´ ıstica usqueda con m´ ultiples agentes Inteligencia Artificial Grupo PLG Universidad Carlos III de Madrid IA. 2008 Inteligencia Artificial 1

Transcript of Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad...

Page 1: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Inteligencia Artificial

Grupo PLG

Universidad Carlos III de Madrid

IA. 2008

Inteligencia Artificial 1

Page 2: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 2

Page 3: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 3

Page 4: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 4

Page 5: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 5

Page 6: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 6

Page 7: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Introduccion

Espacio de problemas

Conjunto de estadosConjunto de operadoresEstado(s) inicial(es)Meta(s)

Representable por un grafo

Resolucion de problemas = busqueda en el grafo

Normalmente, la busqueda genera un arbol

Parametros importantes

Factor de ramificacionProfundidad del arbol de busqueda

Diferencia con OR: el grafo en OR es explıcito. En muchosproblemas es imposible

Inteligencia Artificial 7

Page 8: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Introduccion

Espacio de problemas

Conjunto de estadosConjunto de operadoresEstado(s) inicial(es)Meta(s)

Representable por un grafo

Resolucion de problemas = busqueda en el grafo

Normalmente, la busqueda genera un arbol

Parametros importantes

Factor de ramificacionProfundidad del arbol de busqueda

Diferencia con OR: el grafo en OR es explıcito. En muchosproblemas es imposible

Inteligencia Artificial 8

Page 9: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Introduccion

Espacio de problemas

Conjunto de estadosConjunto de operadoresEstado(s) inicial(es)Meta(s)

Representable por un grafo

Resolucion de problemas = busqueda en el grafo

Normalmente, la busqueda genera un arbol

Parametros importantes

Factor de ramificacionProfundidad del arbol de busqueda

Diferencia con OR: el grafo en OR es explıcito. En muchosproblemas es imposible

Inteligencia Artificial 9

Page 10: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Introduccion

Espacio de problemas

Conjunto de estadosConjunto de operadoresEstado(s) inicial(es)Meta(s)

Representable por un grafo

Resolucion de problemas = busqueda en el grafo

Normalmente, la busqueda genera un arbol

Parametros importantes

Factor de ramificacionProfundidad del arbol de busqueda

Diferencia con OR: el grafo en OR es explıcito. En muchosproblemas es imposible

Inteligencia Artificial 10

Page 11: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Introduccion

Espacio de problemas

Conjunto de estadosConjunto de operadoresEstado(s) inicial(es)Meta(s)

Representable por un grafo

Resolucion de problemas = busqueda en el grafo

Normalmente, la busqueda genera un arbol

Parametros importantes

Factor de ramificacionProfundidad del arbol de busqueda

Diferencia con OR: el grafo en OR es explıcito. En muchosproblemas es imposible

Inteligencia Artificial 11

Page 12: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

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

Inteligencia Artificial 12

Page 13: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Ejemplo: Las torres de Hanoi (3,2)

Inteligencia Artificial 13

Page 14: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Ejemplo: Las torres de Hanoi (3,2)

El factor deramificacion(fr = 8

3 ) es unapropiedad del grafode estados

Inteligencia Artificial 14

Page 15: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Ejemplo: Las torres de Hanoi (3,2)

La profundidad(p = 3) es unapropiedad delproblema a resolver

Inteligencia Artificial 15

Page 16: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Ejemplo: Las jarras

Se tienen dos jarras de agua: una de cinco litros de capacidad yotra de tres. Ninguna de ellas tiene marcas de medicion. Se tieneuna bomba que permite llenar las jarras de agua, vaciarlas, ytraspasar contenido de una jarra a otra.¿Como se puede tener exactamente cuatro litros de agua en lajarra de cinco litros de capacidad?

Inteligencia Artificial 16

Page 17: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Ejemplo: Las jarras

Espacio de Estados:

conjunto de pares ordenados de enteros (x , y), de forma quex = 0, . . . , 5, y = 0, . . . , 3x representa el numero de litros de agua que hay en la jarra de5 litros de capacidady representa el numero de litros de agua que hay en la jarra de3 litros de capacidad

Estado inicial: (0, 0)

Estado meta:

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

Inteligencia Artificial 17

Page 18: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Ejemplo: Las jarras

Operadores

Llenar jarra grande : Si (x < 5)→(5, y)Llenar jarra pequena : Si (y < 3)→(x , 3)Vaciar jarra grande : Si (x > 0)→(0, y)Vaciar jarra pequena : Si (y > 0)→(x , 0)Verter en grande : Si (y > 0)→(x + mın{5− x , y}, y − mın{5− x , y})Verter en pequena : Si (x > 0)→(x − mın{x , 3− y}, y + mın{x , 3− y})

Inteligencia Artificial 18

Page 19: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Explosion combinatoria

Dominio Numero 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× 109 anos

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 anos

Inteligencia Artificial 19

Page 20: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 20

Page 21: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

8-Puzzle – Amplitud

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

4

1

2 3

Inteligencia Artificial 21

Page 22: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

8-Puzzle – Amplitud

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

1 2 35 67 84

1 2 35 6

847

5 6

4

1

2 3

x

Inteligencia Artificial 22

Page 23: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

8-Puzzle – Amplitud

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

35 6

4 7 8121 2 3

5 67 84

1 2 35 6

847

2 35 6

4 7 8

1

5 6 7 8

4

1

2 3

xx

Inteligencia Artificial 23

Page 24: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

8-Puzzle – Amplitud

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

1 2 36

4 85 7

35 6

4 7 8121 2 3

5 67 84

1 2 35 6

847

1 36

4 7 85 2

1 2 3

4 7 85 6

2 35 6

4 7 8

1 1 2 36

4 7 85

5 6 7 8 10 11 12

4

1

2

9

3

x x x

Inteligencia Artificial 24

Page 25: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

8-Puzzle – Amplitud

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

1 2 36

4 85 7

35 6

4 7 8121 2 3

5 67 84

1 2 35 6

847

1 36

4 7 85 2

1 2 3

4 7 85 6

2 35 6

4 7 8

1

1 2 368

47 5

1 2 36

4 7 85

1 2 35 64

7 8

1 2 35 67 8

4

5 6 7 8 10 11 12

4

1

2

13 14

9

3

15

x x x

x

Inteligencia Artificial 25

Page 26: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

Busqueda 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 este vacıa O EXITO

Quitar de ABIERTA el primer nodo, NSi N tiene sucesoresEntonces Generar los sucesores de N

Crear punteros desde los sucesores hacia NSi algun sucesor es nodo metaEntonces EXITO=VerdaderoSi no Anadir los sucesores al final de ABIERTA

4 Si EXITOEntonces Solucion=camino desde I a N por los punterosSi no, Solucion=fracaso

Inteligencia Artificial 26

Page 27: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en Amplitud

Caracterısticas

Completo: encuentra solucion si existe y el factor deramificacion es finito en cada nodo

Optimalidad: si todos los operadores tienen el mismo coste,encontrara la solucion optima

Eficiencia: buena si las metas estan cercanas

Problema: consume memoria exponencial

Inteligencia Artificial 27

Page 28: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

8-Puzzle – Profundidad

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

4

1

2 3

Inteligencia Artificial 28

Page 29: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

8-Puzzle – Profundidad

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

1 2 35 67 84

1 2 35 6

847

5 6

4

1

2 3

x

Inteligencia Artificial 29

Page 30: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

8-Puzzle – Profundidad

1 2 35 6

4 7 8

1 2 35 67 8

42 35 6

4 7 81

1 2 36

4 7 85

1 2 35 67 84

1 2 35 6

847

1 2 368

47 5

1 2 35 64

7 8

1 2 35 67 8

4

5 6

4

1

2 3

7 8 9

x

x

Inteligencia Artificial 30

Page 31: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

Busqueda en profundidad

Procedimiento Profundidad (Estado-inicial,Estado-Final,Profundidad-maxima)

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

2 EXITO=Falso

3 Hasta que ABIERTA este vacıa O EXITO

Quitar de ABIERTA el primer nodo.Lo llamaremos N y a su profundidad PSi P < Profundidad-maxima Y N tiene sucesoresEntonces Generar los sucesores de N

Crear punteros desde los sucesores hacia NSi algun sucesor es el Estado-FinalEntonces EXITO=VerdaderoSi no, Anadir los sucesores al principio de ABIERTA

Asignarles profundidad P+1

4 Si EXITOEntonces Solucion=camino desde I a N por los punterosSi no, Solucion=fracaso

Inteligencia Artificial 31

Page 32: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

Caracterısticas

Requiere tecnica de retroceso (“backtracking”)

Razones para retroceso:

Se ha llegado al lımite de profundidadSe han estudiado todos los sucesores de un nodo y no se hallegado a la solucionSe sabe que el estado no conduce a la solucionSe genera un estado repetido

Completitud: no asegura encontrar la solucion

Optimalidad: no asegura encontrar la solucion optima

Eficiencia: bueno cuando metas alejadas de estado inicial, oproblemas de memoria

No es bueno cuando hay ciclos

Inteligencia Artificial 32

Page 33: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

Caracterısticas

Requiere tecnica de retroceso (“backtracking”)

Razones para retroceso:

Se ha llegado al lımite de profundidadSe han estudiado todos los sucesores de un nodo y no se hallegado a la solucionSe sabe que el estado no conduce a la solucionSe genera un estado repetido

Completitud: no asegura encontrar la solucion

Optimalidad: no asegura encontrar la solucion optima

Eficiencia: bueno cuando metas alejadas de estado inicial, oproblemas de memoria

No es bueno cuando hay ciclos

Inteligencia Artificial 33

Page 34: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda en profundidad

Caracterısticas

Requiere tecnica de retroceso (“backtracking”)

Razones para retroceso:

Se ha llegado al lımite de profundidadSe han estudiado todos los sucesores de un nodo y no se hallegado a la solucionSe sabe que el estado no conduce a la solucionSe genera un estado repetido

Completitud: no asegura encontrar la solucion

Optimalidad: no asegura encontrar la solucion optima

Eficiencia: bueno cuando metas alejadas de estado inicial, oproblemas de memoria

No es bueno cuando hay ciclos

Inteligencia Artificial 34

Page 35: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Busqueda con costes no uniformes

Busqueda no informada con costes

Dijkstra: amplitud, pero eligiendo aquel nodo que tengamenor coste desde el nodo raız

Branch and bound, B&B

busqueda (normalmente en profundidad)cuando encuentra una solucion, su coste se convierte en unlımite (superior o inferior) para los siguientes nodossi un nodo posterior tiene un coste desde el nodo raızmayor/menor (o igual) que el lımite, se termina la busquedapor elsi se tiene un lımite inicial, se puede utilizar la misma idea paraamplitud/Dijkstra

Inteligencia Artificial 35

Page 36: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Analisis de complejidad

Analisis de complejidad

Si se dispone de:

factor de ramificacion medio frprofundidad del arbol de busqueda p

¿Cual serıa, en el peor de los casos, el numero de nodos queexaminarıa cada tecnica?

Unidireccional

Pista:

supongase que fr=3, y vaya incrementandose la pcalcular de forma inductiva el numero de nodos

Inteligencia Artificial 36

Page 37: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Analisis de complejidad

Analisis de complejidad

Tecnica de Busqueda Numero maximo de nodos

Unidireccional∑p

i=0 fr i

Inteligencia Artificial 37

Page 38: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Analisis de complejidad

Analisis de complejidad

ComplejidadTecnica de Busqueda Temporal Espacial

Amplitud O(frp) O(frp)Profundidad O(frp) O(p)

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

Inteligencia Artificial 38

Page 39: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 39

Page 40: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Heurıstica

Heurıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto

Si no se tiene conocimiento −→ busqueda sin informacion

En la mayor parte de los problemas que resuelven loshumanos, se esta en posiciones intermedias

Heurıstica: (del griego “heurisko” (ευρισκω): “yoencuentro”) conocimiento parcial sobre un problema/dominioque permite resolver problemas eficientemente en eseproblema/dominio

Representacion de las heurısticas

funciones h(n)metareglas

Las funciones heurısticas se descubren resolviendo modelossimplificados del problema real

Inteligencia Artificial 40

Page 41: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Heurıstica

Heurıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto

Si no se tiene conocimiento −→ busqueda sin informacion

En la mayor parte de los problemas que resuelven loshumanos, se esta en posiciones intermedias

Heurıstica: (del griego “heurisko” (ευρισκω): “yoencuentro”) conocimiento parcial sobre un problema/dominioque permite resolver problemas eficientemente en eseproblema/dominio

Representacion de las heurısticas

funciones h(n)metareglas

Las funciones heurısticas se descubren resolviendo modelossimplificados del problema real

Inteligencia Artificial 41

Page 42: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Heurıstica

Heurıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto

Si no se tiene conocimiento −→ busqueda sin informacion

En la mayor parte de los problemas que resuelven loshumanos, se esta en posiciones intermedias

Heurıstica: (del griego “heurisko” (ευρισκω): “yoencuentro”) conocimiento parcial sobre un problema/dominioque permite resolver problemas eficientemente en eseproblema/dominio

Representacion de las heurısticas

funciones h(n)metareglas

Las funciones heurısticas se descubren resolviendo modelossimplificados del problema real

Inteligencia Artificial 42

Page 43: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Heurıstica

Heurıstica

Si se tiene conocimiento perfecto −→ algoritmo exacto

Si no se tiene conocimiento −→ busqueda sin informacion

En la mayor parte de los problemas que resuelven loshumanos, se esta en posiciones intermedias

Heurıstica: (del griego “heurisko” (ευρισκω): “yoencuentro”) conocimiento parcial sobre un problema/dominioque permite resolver problemas eficientemente en eseproblema/dominio

Representacion de las heurısticas

funciones h(n)metareglas

Las funciones heurısticas se descubren resolviendo modelossimplificados del problema real

Inteligencia Artificial 43

Page 44: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Heurıstica

Problemas relajados. 8-puzzle

Restricciones:

solo se puede mover el blancoel movimiento solo se puede hacer a casillas adyacenteshorizontal o verticalen cada paso, se intercambian los contenidos de dos casillas

Relajaciones:

si quitamos las dos primeras restricciones, generamos laheurıstica de numero de casillas mal colocadassi quitamos la primera restriccion, generamos la heurıstica dela distancia de Manhattan

Inteligencia Artificial 44

Page 45: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Heurıstica

Problemas relajados. 8-puzzle

Restricciones:

solo se puede mover el blancoel movimiento solo se puede hacer a casillas adyacenteshorizontal o verticalen cada paso, se intercambian los contenidos de dos casillas

Relajaciones:

si quitamos las dos primeras restricciones, generamos laheurıstica de numero de casillas mal colocadassi quitamos la primera restriccion, generamos la heurıstica dela distancia de Manhattan

Inteligencia Artificial 45

Page 46: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

Algoritmo de escalada

Procedimiento escalada (Estado-inicial Estado-final)

N=Estado-inicial; EXITO=FalsoHasta que Camino-Sin-Salida(N) O EXITO

Generar los sucesores de NSI algun sucesor es Estado-finalENTONCES EXITO=VerdaderoSI NO, Evaluar cada nodo con la funcion de evaluacion, f (n)

N=mejor sucesorSi EXITOEntonces Solucion=camino desde nodo del Estado-inicial

al nodo N por los punterosSi no, Solucion=fracaso

Inteligencia Artificial 46

Page 47: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

8-Puzzle – Busqueda en escalada

1 2 35 67 8

41 2 3

64 7 85

1 2 35 6

4 7 8

2 35 6

4 7 81

1

2 43

Inteligencia Artificial 47

Page 48: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

8-Puzzle – Busqueda en escalada

1 2 35 67 8

41 2 3

64 7 85

1 2 35 6

4 7 8

2 35 6

4 7 81

1

2 43

5

6 4 4

Inteligencia Artificial 48

Page 49: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

8-Puzzle – Busqueda en escalada

1 2 35 67 84

1 2 35 67 8

41 2 3

64 7 85

1 2 35 6

847

1 2 35 6

4 7 8

2 35 6

4 7 81

1

2 43

5 6

5

6 4 4

7

x

Inteligencia Artificial 49

Page 50: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

8-Puzzle – Busqueda en escalada

1 2 35 6

84

7

1 2 35 64

7 8

1 2 347

685

1 2 35 67 84

1 2 35 67 8

41 2 3

64 7 85

1 2 35 6

847

1 2 35 6

4 7 8

2 35 6

4 7 81

1

2 43

5 6

7 8 9

5

6 4 4

7

6 9 6

x

Inteligencia Artificial 50

Page 51: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

Caracterısticas

Problemas de los metodos avariciosos

Maximos (o mınimos) locales: pico que es mas alto quecada uno de sus estados vecinos, pero mas bajo que el maximoglobalMesetas: zona del espacio de estados con funcion deevaluacion planaCrestas: zona del espacio de estados con varios maximos(mınimos) locales

Funci

ón O

bje

tivo

Estados

Unidimensional

Terraza

MesetaCrestas

Máximo Local

Máximo global

Espacio de

Inteligencia Artificial 51

Page 52: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnica de escalada

Caracterısticas

Soluciones

RetrocesoDar mas de un pasoReinicio aleatorio

Metodo local

Completitud: no tiene porque encontrar la solucionAdmisibilidad: no siendo completo, aun menos sera admisibleEficiencia: rapido y util si la funcion es monotona(de)creciente

Inteligencia Artificial 52

Page 53: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Tecnicas de mejor primero

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

Crear grafo de busqueda G , con el nodo inicial, I (Estado-inicial)ABIERTA=I , CERRADA=Vacıo, EXITO=FalsoHasta que ABIERTA este vacıa O EXITO

Quitar el primer nodo de ABIERTA, N y meterlo en CERRADASI N es Estado-final ENTONCES EXITO=VerdaderoSI NO Expandir N, generando el conjunto S de sucesores de N,

que no son antecesores de N en el grafoGenerar un nodo en G por cada s de SEstablecer un puntero a N desde aquellos s de S que no estuvieran ya en GAnadirlos a ABIERTAPara cada s de S que estuviera ya en ABIERTA o CERRADA

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

decidir si redirigir o no los punteros de los nodos en sus subarbolesReordenar ABIERTA segun f (n)

Si EXITO Entonces Solucion=camino desde I a N a traves de los punteros de GSi no Solucion=Fracaso

Inteligencia Artificial 53

Page 54: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

A∗ (Hart, Nilsson y Rafael, 1968)

Funcion de ordenacion de nodos: f (n) = g(n) + h(n)

f (n): funcion de evaluaciong(n): funcion de coste de ir desde el nodo inicial al nodo nh(n): funcion heurıstica que mide la distancia estimada desden a algun nodo meta

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

Los valores reales solo se pueden conocer al final de labusqueda

f ∗(n): coste real para ir desde el nodo inicial a algun nodometa a traves de ng∗(n): coste real para ir desde el nodo inicial al nodo nh∗(n): coste real para ir desde el nodo n a algun nodo meta

Inteligencia Artificial 54

Page 55: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Definicion de terminos

4

5

2 6

1

k(1,2)=200

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

k(1,4)=40

h(2)=30

h(4)=35

h(6)=40

g(4)=40

Inteligencia Artificial 55

Page 56: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Ejemplo A∗

4

31

5

2 6

10

35

3040

0200

40

50

2005

200150

40

60

30

Inteligencia Artificial 56

Page 57: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Ejemplo A∗

2 43

1

200

4060

200

30230 70 10

60

3575

40

Inteligencia Artificial 57

Page 58: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Ejemplo A∗

2 43

1

5

200

4060

200

150

30230 70 10

60

3575

40

260 0

260

200

Inteligencia Artificial 58

Page 59: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Ejemplo A∗

3

1

5

2 4

4060

200

150

30 10 3575

40

200

0

200

5

225

240240

45

55

195

Inteligencia Artificial 59

Page 60: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Ejemplo A∗

3

1

5

4

6

2

4060

200

150

30 10 3575

40

200

0

200

5

225

45

55

195

40

225

30

40275225

235

Inteligencia Artificial 60

Page 61: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Caracterısticas

Completitud: si existe solucion, la encuentra

Admisibilidad: si hay una solucion optima, la encuentra si

el numero de sucesores es finito para cada nodo,k(ni , nj) > ε > 0 en cada arco, yLa funcion h(n) es admisible: h(n) ≤ h∗(n) ∀n

Inteligencia Artificial 61

Page 62: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Consideraciones sobre la heurıstica

Si h1(n) <= h2(n)∀n, h2(n) esta mas informada que h1(n) yservira para expandir menos nodos

Ejemplo: distancia de Manhattan esta mas informada quenumero de casillas mal colocadas (problema de Manhattan esmenos relajado que el del numero de casillas)

Extremos

h(n) = 0 para cada nodo: no se tiene informacion (Dijkstra)h(n) = h∗(n) para cada nodo: se tiene informacion perfecta

No tiene sentido dedicar mas coste computacional a calcularuna buena h(n) que a realizar la busqueda equivalente:equilibrio

Inteligencia Artificial 62

Page 63: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Tecnicas mejor-primero

No informadas:

Busqueda 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 admisibleLa solucion optima tiene un coste menor o igual que (1 + ω)veces la generada

Inteligencia Artificial 63

Page 64: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

IDA∗ (Korf, 1985)

Procedimiento IDA∗ (Estado-inicial Estado-final)

EXITO=Falsoη = h(s)Mientras que EXITO=Falso

EXITO=Profundidad (Estado-inicial,η)η = mın

i=1,n{f (i)} = mın

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

Solucion=camino desde nodo del Estado-inicialal Estado-final por los punteros

Profundidad (Estado-inicial,η)Expande todos los nodos cuyo coste f (n) no excede η

Inteligencia Artificial 64

Page 65: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Tecnicas de mejor-primero

Caracterısticas

Completitud: es completo

Admisibilidad: es admisible

Eficiencia: la complejidad de tiempo es exponencial, pero lacomplejidad de espacio es lineal en la profundidad del arbol debusqueda

Aunque pudiera parecer lo contrario, el numero dere-expansiones es solo mayor en un pequeno factor que elnumero de expansiones de los algoritmos de el mejor primero

Fue el primer algoritmo que resolvio optimamente 100 casosgenerados aleatoriamente en el 15–Puzzle

Inteligencia Artificial 65

Page 66: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Indice1 Introduccion2 Busqueda sin informacion

Busqueda en AmplitudBusqueda en profundidadBusqueda hacia atrasBusqueda bidireccionalBusqueda con costes no uniformesOtros algoritmos de busquedaAnalisis de complejidad

3 Busqueda heurısticaHeurısticaTecnica de escaladaTecnicas de mejor-primeroOtros algoritmos

4 Busqueda con multiples agentesAlgoritmo MinimaxPoda Alfa-beta

Inteligencia Artificial 66

Page 67: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Caracterısticas de los problemas

Suma nula: lo que gana uno, lo pierde el otro

Dos agentes (se puede generalizar, Maxn)

Informacion completa: se conoce en cada momento elestado completo del juego

Deterministas o de informacion perfecta: no entra en juegoel azar (se puede generalizar)

Alternados: las decisiones de cada agente se toman de formaalternada

Inteligencia Artificial 67

Page 68: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Funcion de evaluacion perfecta

2 7 8f*(n)=

Problema: no se conoce dicha funcion

Inteligencia Artificial 68

Page 69: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Funcion de evaluacion perfecta

2 7 8f*(n)=

Problema: no se conoce dicha funcion

Inteligencia Artificial 69

Page 70: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Busqueda completa

0 m M

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

Problema: es intratable; no se puede realizar en un tiemporazonable

Inteligencia Artificial 70

Page 71: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Busqueda completa

0 m M

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

Problema: es intratable; no se puede realizar en un tiemporazonable

Inteligencia Artificial 71

Page 72: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Mp =3

max

10 12 3m43f(n)= -3 5 20 -4 -2

4 10 12 -3 20 -2MAX

4 -3 -2MIN

4

Inteligencia Artificial 72

Page 73: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Mp =3

max10 12 3m43f(n)= -3 5 20 -4 -2

4 10 12 -3 20 -2MAX

4 -3 -2MIN

4

Inteligencia Artificial 73

Page 74: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Mp =3

max10 12 3m43f(n)= -3 5 20 -4 -2

4 10 12 -3 20 -2MAX

4 -3 -2MIN

4

Inteligencia Artificial 74

Page 75: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Mp =3

max10 12 3m43f(n)= -3 5 20 -4 -2

4 10 12 -3 20 -2MAX

4 -3 -2MIN

4

Inteligencia Artificial 75

Page 76: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Algoritmo Minimax

Mp =3

max10 12 3m43f(n)= -3 5 20 -4 -2

4 10 12 -3 20 -2MAX

4 -3 -2MIN

4

Inteligencia Artificial 76

Page 77: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Procedimiento Minimax

Procedimiento Minimax (Situacion Profundidad)SI Profundidad = pmax

ENTONCES devolver evaluacion (Situacion)SI NO SI ganadora (Situacion)

ENTONCES devolver + ∞SI NO SI perdedora (Situacion)

ENTONCES devolver - ∞SI NO SI empate (Situacion)

ENTONCES devolver 0SI NO

S = sucesores (Situacion)L = lista de llamadas al MINIMAX (Si ∈ S, Profundidad + 1)SI nivel-max (Profundidad)ENTONCES devolver max (L)SI NO devolver min (L)

Inteligencia Artificial 77

Page 78: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Calculo del valor de cada nodo

f (n) =

8>>>>>><>>>>>>:

+∞ si n es una situacion ganadora para computadora−∞ si n es una situacion perdedora para computadora0 si n es una situacion de empatefev(n) si p = Profundidad maximamaxSi∈S(n) f (Si ) si n es nodo max y p < pmax

mınSi∈S(n) f (Si ) si n es nodo min y p < pmax

Negamax

f (n) =

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

Inteligencia Artificial 78

Page 79: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Ejemplo en el tic-tac-toe

X

XX XX

XX

XX

XX

XX

XX

XX

XX

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

1

Inteligencia Artificial 79

Page 80: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Ejemplo en el tic-tac-toe

XX

X

XX XX

XX XX XX XX XX XX

1 0

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

Inteligencia Artificial 80

Page 81: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Algoritmo Minimax

Ejemplo en el tic-tac-toe

X

XX

XX XX

XX

XX

XX

XX

XX

XX

1 0 1

4−2=2 4−2=2 4−2=2 3−2=14−2=2 4−2=2

Inteligencia Artificial 81

Page 82: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda Alfa-beta

Nodos max: se utiliza el parametro α para guardar el valormaximo de los sucesores encontrado hasta el momento.α0 = −∞Nodos min: se utiliza el parametro β para guardar el valormı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

Inteligencia Artificial 82

Page 83: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda en los nodos MIN

MIN 6

4α=MAX

MAX

β=

3

/ 3 padreαhijo <=β

<=3

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

Inteligencia Artificial 83

Page 84: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda en los nodos MIN

MIN 6

4α=MAX

MAX

β=

3

/ 3 padreαhijo <=β

<=3

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

Inteligencia Artificial 84

Page 85: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda en los nodos MIN

MIN 6

4α=MAX

MAX

β=

3

/ 3 padreαhijo <=β

<=3

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

Inteligencia Artificial 85

Page 86: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda en los nodos MIN

MIN 6

4α=MAX

MAX

β=

3

/ 3 padreαhijo <=β

<=3

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

Inteligencia Artificial 86

Page 87: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda en los nodos MIN

MIN 6

4α=MAX

MAX

β=

3

/ 3 padreαhijo <=β

<=3

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

Inteligencia Artificial 87

Page 88: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Poda en los nodos MIN

MIN 6

4α=MAX

MAX

β=

3

/ 3 padreαhijo <=β

<=3

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

Inteligencia Artificial 88

Page 89: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Algoritmo Alfa-beta

Procedimiento Alfa-Beta (Situacion Alfa Beta Profundidad)SI Situacion esta considerada como empate, Devolver 0SI Situacion es ganadora, Devolver mayor-numeroSI Situacion es perdedora, Devolver menor-numeroSI Profundidad = Profundidad-maxima, Devolver evaluacion (Situacion)SI nivel-max-p

para todo si sucesor de Situacion y Alfa < BetaAlfa-beta = ALFA-BETA(si ,Alfa,Beta,Profundidad+1)Alfa = max(Alfa,Alfa-beta)

Devolver AlfaSI NO

para todo si sucesor de Situacion y Beta > AlfaAlfa-beta = ALFA-BETA(si ,Alfa,Beta,Profundidad+1)Beta = min(Beta,Alfa-beta)

Devolver Beta

Inteligencia Artificial 89

Page 90: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

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

Inteligencia Artificial 90

Page 91: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Ejemplo del alfa-beta

a=b=

m5

a=b=

a=b=

a=b=

mM

a=b=M

m / 3 / 5a=b=

mM

a=b=

mM

a=b=

mM / 5

a=b=

a=b=

a=b=

mM

a=b=1

2 3 4

5

13 Podaa >= b6

15141253 4 6

MM

3 5

6

6m5

m / 6

m / 5M

4

5

5

6

23 5

5

Inteligencia Artificial 91

Page 92: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Ejemplo del alfa-beta

7 8a=b=

57

a=b=

a=b=M

5

a=b=M

5 a=b=

a=b=

57

a=b=

a=b=M

5

a=b=

mM

a=b=M

m / 51

2 3

1

2 3 44

1918

b <= a3 1Poda

5 / 6 / 7M

6 7

17

6 7M6

4

4

5

M / 7 / 55

5 5

7

Inteligencia Artificial 92

Page 93: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Ejemplo del alfa-beta

10 11

a=b=M

5

a=b=M

5 a=b=

a=b=

a=b=

58

a=b=

58

a=b=

a=b=M

5 a=b=

a=b=a=

b=mM

1

2 3

1

2 3 44

1

2 3 4

24 25 26

8

8

5 / 8M

8M

5 10a >= b11 4

10

5 / 108

8

85M / 8

m / 5 / 8M

5

5

10

5

Inteligencia Artificial 93

Page 94: Inteligencia Arti cial - UC3Mocw.uc3m.es/.../material-de-clase-2/busqueda-ocw.pdf · Universidad Carlos III de Madrid IA. 2008 ... Profundidad del arbol de busqueda Diferencia con

Introduccion Busqueda sin informacion Busqueda heurıstica Busqueda con multiples agentes

Poda Alfa-beta

Estado de la cuestion 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

Inteligencia Artificial 94