22
!"#$%#$! $ Curso 2012-2013 José Ángel Bañares 17/10/2013. Dpto. Informática e Ingeniería de Sistemas. Inteligencia Artificial (30223) Problemas resueltos Índice ! Problema del laberinto ! Puzzle de dos dimensiones ! Misioneros y caníbales ! A* en grafo ! Minimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada puede resolver este laberinto, encontrando un camino desde la localización inicial hasta la final. Las posibles acciones son: arriba, abajo, izquierda, derecha, que son sólo válidas si hay una línea de puntos entre las celdas del laberinto. Considerar que la heurística utilizada es la distancia en línea recta entre la posición actual y la final del laberinto. 1. La heurística propuesta ¿es admisible?¿es consistente?, y ¿La distancia al cuadrado? 2. Muestra que la búsqueda en escalada (ascenso de la colina) no podrá encontrar una solución óptima con la heurística de la distancia en línea recta. 3. ¿Qué algoritmo de búsqueda garantizaría encontrar una solución óptima con estas heurísticas heurísticas (distancia y cuadrado distancia)? 4. Indica los cuadrados buscados en el laberinto utilizando A * con la heurística dada y un coste unitario por cada movimiento.

Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$&

Curso 2012-2013 José Ángel Bañares 17/10/2013. Dpto. Informática e Ingeniería de Sistemas.

Inteligencia Artificial (30223) Problemas resueltos

Índice !  Problema del laberinto

!  Puzzle de dos dimensiones

! Misioneros y caníbales

! A* en grafo

! Minimax y poda alfa-beta

Problema del laberinto principio fin

Una búsqueda informada puede resolver este laberinto, encontrando un

camino desde la localización inicial hasta la final. Las posibles acciones son: arriba, abajo, izquierda, derecha, que son sólo válidas si hay una línea de puntos entre las celdas del laberinto. Considerar que la heurística utilizada es la distancia en línea recta entre la posición actual y la final del laberinto. 1.  La heurística propuesta ¿es admisible?¿es consistente?, y ¿La distancia al

cuadrado? 2.  Muestra que la búsqueda en escalada (ascenso de la colina) no podrá

encontrar una solución óptima con la heurística de la distancia en línea recta.

3.  ¿Qué algoritmo de búsqueda garantizaría encontrar una solución óptima con estas heurísticas heurísticas (distancia y cuadrado distancia)?

4.  Indica los cuadrados buscados en el laberinto utilizando A* con la heurística dada y un coste unitario por cada movimiento.

Page 2: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

!&

Problema del laberinto (heurística)

y

6 7,62 6,71 5,83 5 4,24 3,61 3,16

5 7,28 6,32 5,39 4,47 3,61 2,83 2,24

4 7,07 6,08 5,1 4,12 3,16 2,24 1,41

3 ini 7 6 5 4 3 2 1 fin

2 7,07 6,08 5,1 4,12 3,16 2,24 1,41

1 7,28 6,32 5,39 4,47 3,61 2,83 2,24

1 2 3 4 5 6 7 8 9 x

22 )()(),( objobj yyxxyxh !+!="

!  heurística: distancia en línea recta hasta el objetivo.

Es admisible (subestima) y consistente (por la desigualdad triangular)

Problema del laberinto (heurística)

y

6 7,62 6,71 5,83 5 4,24 3,61 3,16

5 7,28 6,32 5,39 4,47 3,61 2,83 2,24

4 7,07 6,08 5,1 4,12 3,16 2,24 1,41

3 ini 7 6 5 4 3 2 1 fin

2 7,07 6,08 5,1 4,12 3,16 2,24 1,41

1 7,28 6,32 5,39 4,47 3,61 2,83 2,24

1 2 3 4 5 6 7 8 9 x

22 )()(),( objobj yyxxyxh !+!="

!  heurística: distancia en línea recta hasta el objetivo.

Es admisible (subestima) y consistente (por la desigualdad triangular)

1,41

6,08 7 <= 1,41+6,08

Problema del laberinto (heurística)

y

6 58 45 34 25 18 13 10

5 53 40 29 20 13 8 5

4 50 37 26 17 10 5 2

3 ini 49 36 25 16 9 4 1 fin

2 50 37 26 17 10 5 2

1 53 40 29 20 13 8 5

1 2 3 4 5 6 7 8 9 x

22 )()(),( objobj yyxxyxh !+!="

!  heurística: cuadrado de la distancia en línea recta hasta el objetivo.

Ni admisible (sobreestima) ni consistente

Page 3: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

"&

Problema del laberinto (escalada)

y

6 58 45 34 25 18 13 10

5 53 40 29 20 13 8 5

4 50 37 26 17 10 5 2

3 ini 49 36 25 16 9 4 1 fin

2 50 37 26 17 10 5 2

1 53 40 29 20 13 8 5

1 2 3 4 5 6 7 8 9 x

22 )()(),( objobj yyxxyxh !+!="

!  heurística: cuadrado de la distancia en línea recta hasta el objetivo.

Ni admisible (sobreestima) ni consistente

2 37 ¡49 > 2 + 37!

Problema del laberinto (escalada)

y

6 7,62 6,71 5,83 5 4,24 3,61 3,16

5 7,28 6,32 5,39 4,47 3,61 2,83 2,24

4 7,07 6,08 5,1 4,12 3,16 2,24 1,41

3 ini 7 6 5 4 3 2 1 fin

2 7,07 6,08 5,1 4,12 3,16 2,24 1,41

1 7,28 6,32 5,39 4,47 3,61 2,83 2,24

1 2 3 4 5 6 7 8 9 x

22 )()(),( objobj yyxxyxh !+!="

!  heurística: distancia en línea recta hasta el objetivo. El laberinto tiene dos soluciones.

f (estado) = h(estado)

1 2 3

4

5 6

7

8

9

10 11

12

13

14

15 16

17

18

19

20 21

22

23 24 1

3

4 5 6 7 8 9 10

11

12

13

2

Problema laberinto (A*)

Laberinto con dos soluciones

y

6 4 5 6 7 8 9 10

5 3 4 5 6 15 16 11

4 2 3 4 7 14 17 12

3 ini 1 2 3 8 13 18 13 fin

2 12 11 10 9 12 19 22

1 13 12 11 10 11 20 21

1 2 3 4 5 6 7 8 9 x

Coste del camino óptimo desde el estado inicial ( g )

Algoritmo A* ( f = g + h )

22 )()(),( objobj yyxxyxh !+!="22 )()(),( objobj yyxxyxh !+!="

¡ENCUENTRA EL ÓPTIMO! No encuentra el óptimo

y

6 62 50 40 32 26 22 20

5 56 44 34 26 28 24 16

y 52 40 30 24 24 22 14

3 ini 50 38 28 24 22 22 14 fin

2 62 48 36 26 22 24 24

1 66 52 40 30 24 28 26

1 2 3 4 5 6 7 8 9 x

y

6 11,6 11,7 11,8 12 12,2 12,6 13,2

5 10,3 10,3 10,4 10,5 18,6 18,8 13,2

4 9,07 9,08 9,1 11,1 17,2 19,2 13,4

3 ini 8 8 8 12 16 20 14 fin

2 19,1 17,1 15,1 13,1 15,2 21,2 23,4

1 20,3 18,3 16,4 14,5 14,6 22,8 23,2

1 2 3 4 5 6 7 8 9 x

Page 4: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

'&

Puzzle de dos dimensiones

!  Las figuras a) y b) muestran los estados inicial y final respectivamente de un puzzle de dos dimensiones con tres piezas (A, B y C) que pueden moverse en las cuatro direcciones, siempre y cuando los límites del tablero, las casillas negras (obstáculos que no se mueven) y las otras dos piezas no se lo impidan.

!  Se pide: 1.  Establecer las acciones y encontrar una heurística admisible

2.  Dibujar el espacio de estados que se genera al aplicar el algoritmo A*

explorando en un grafo. Póngase especial interés en indicar claramente los distintos valores que forman la información que permite valorar cada nodo.

Estado Inicial

Estado Objetivo

C

AB

0

C

AB

5: f'=10, g=1, h'=9

C

AB

4: f'=8, g=1, h'=7

C

A

B

3: f'=8, g=1, h'=7

CA

B

2: f'=10, g=1, h'=9

C

A B

1: f'=9, g=1, h'=8 1

C

A B

8: f'=10, g=2, h'=8

C

A B

7: f'=8, g=2, h'=6

C

AB

6: f'=8, g=2, h'=6 2

C

AB

12: f'=10, g=3, h'=7

C

AB

11: f'=8, g=3, h'=5

C

AB

10: f'=8, g=3, h'=5

C

AB

9: f'=10, g=3, h'=7 3

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

0: f’ =8 , g=0, h=8

1: f’ =8 , g=1, h=7

C

AB

0

C

AB

5: f'=10, g=1, h'=9

C

AB

4: f'=8, g=1, h'=7

C

A

B

3: f'=8, g=1, h'=7

CA

B

2: f'=10, g=1, h'=9

C

A B

1: f'=9, g=1, h'=8 1

C

A B

8: f'=10, g=2, h'=8

C

A B

7: f'=8, g=2, h'=6

C

AB

6: f'=8, g=2, h'=6 2

C

AB

12: f'=10, g=3, h'=7

C

AB

11: f'=8, g=3, h'=5

C

AB

10: f'=8, g=3, h'=5

C

AB

9: f'=10, g=3, h'=7 3

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

C

AB

0

C

AB

5: f'=10, g=1, h'=9

C

AB

4: f'=8, g=1, h'=7

C

A

B

3: f'=8, g=1, h'=7

CA

B

2: f'=10, g=1, h'=9

C

A B

1: f'=9, g=1, h'=8 1

C

A B

8: f'=10, g=2, h'=8

C

A B

7: f'=8, g=2, h'=6

C

AB

6: f'=8, g=2, h'=6 2

C

AB

12: f'=10, g=3, h'=7

C

AB

11: f'=8, g=3, h'=5

C

AB

10: f'=8, g=3, h'=5

C

AB

9: f'=10, g=3, h'=7 3

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

8 10 8 8 10

8

8 8 10

10 8 8 10

10 8 10

Page 5: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

(&

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

C

AB

18: f'=8, g=5, h'=3

C

AB

17: f'=8, g=5, h'=3

C

A

B

16: f'=10, g=5, h'=5 5

C

AB

22: f'=8, g=6, h'=2

CA

B

21: f'=8, g=6, h'=2

C

AB

20: f'=10, g=6, h'=4

CA

B

19: f'=10, g=6, h'=4 6

CA

B

24: f'=8, g=7, h'=1

CA

B

23: f'=10, g=7, h'=3 7

CAB

27: f'=8, g=8, h'=0

CA

B

26: f'=10, g=8, h'=2

CA

B

25: f'=10, g=8, h'=2 8

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

C

AB

18: f'=8, g=5, h'=3

C

AB

17: f'=8, g=5, h'=3

C

A

B

16: f'=10, g=5, h'=5 5

C

AB

22: f'=8, g=6, h'=2

CA

B

21: f'=8, g=6, h'=2

C

AB

20: f'=10, g=6, h'=4

CA

B

19: f'=10, g=6, h'=4 6

CA

B

24: f'=8, g=7, h'=1

CA

B

23: f'=10, g=7, h'=3 7

CAB

27: f'=8, g=8, h'=0

CA

B

26: f'=10, g=8, h'=2

CA

B

25: f'=10, g=8, h'=2 8

8 10 8 8 10

8

8 8 10

10 8 8 10

10 8 10

C

AB

0

C

AB

5: f'=10, g=1, h'=9

C

AB

4: f'=8, g=1, h'=7

C

A

B

3: f'=8, g=1, h'=7

CA

B

2: f'=10, g=1, h'=9

C

A B

1: f'=9, g=1, h'=8 1

C

A B

8: f'=10, g=2, h'=8

C

A B

7: f'=8, g=2, h'=6

C

AB

6: f'=8, g=2, h'=6 2

C

AB

12: f'=10, g=3, h'=7

C

AB

11: f'=8, g=3, h'=5

C

AB

10: f'=8, g=3, h'=5

C

AB

9: f'=10, g=3, h'=7 3

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

10 8 8

10 10 8 8

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

C

AB

18: f'=8, g=5, h'=3

C

AB

17: f'=8, g=5, h'=3

C

A

B

16: f'=10, g=5, h'=5 5

C

AB

22: f'=8, g=6, h'=2

CA

B

21: f'=8, g=6, h'=2

C

AB

20: f'=10, g=6, h'=4

CA

B

19: f'=10, g=6, h'=4 6

CA

B

24: f'=8, g=7, h'=1

CA

B

23: f'=10, g=7, h'=3 7

CAB

27: f'=8, g=8, h'=0

CA

B

26: f'=10, g=8, h'=2

CA

B

25: f'=10, g=8, h'=2 8

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

C

AB

18: f'=8, g=5, h'=3

C

AB

17: f'=8, g=5, h'=3

C

A

B

16: f'=10, g=5, h'=5 5

C

AB

22: f'=8, g=6, h'=2

CA

B

21: f'=8, g=6, h'=2

C

AB

20: f'=10, g=6, h'=4

CA

B

19: f'=10, g=6, h'=4 6

CA

B

24: f'=8, g=7, h'=1

CA

B

23: f'=10, g=7, h'=3 7

CAB

27: f'=8, g=8, h'=0

CA

B

26: f'=10, g=8, h'=2

CA

B

25: f'=10, g=8, h'=2 8

8 10 8 8 10

8

8 8 10

10 8 8 10

10 8 10

C

AB

0

C

AB

5: f'=10, g=1, h'=9

C

AB

4: f'=8, g=1, h'=7

C

A

B

3: f'=8, g=1, h'=7

CA

B

2: f'=10, g=1, h'=9

C

A B

1: f'=9, g=1, h'=8 1

C

A B

8: f'=10, g=2, h'=8

C

A B

7: f'=8, g=2, h'=6

C

AB

6: f'=8, g=2, h'=6 2

C

AB

12: f'=10, g=3, h'=7

C

AB

11: f'=8, g=3, h'=5

C

AB

10: f'=8, g=3, h'=5

C

AB

9: f'=10, g=3, h'=7 3

C

AB

15: f'=10, g=4, h'=6

C

AB

14: f'=8, g=4, h'=4

C

A

B

13: f'=10, g=4, h'=6 4

10 8 8

10 10 8 8

10 8

10 10 8

Problema misionero y caníbales

!  En la orilla de un río hay 3 misioneros y 3 caníbales y todos ellos pretenden cruzar al otro lado. La barca que se utiliza para cruzarlo solo tiene capacidad para dos personas, con lo que alguien ha de estar volviendo siempre a la orilla inicial mientras quede gente sin cruzar. Además, si en alguna ocasión y en cualquiera de las orillas se encuentran un número mayor de caníbales que de misioneros, los primeros se comerán a los segundos.

1.  ¿Cómo representarías los estados?

2.  ¿Cuáles serian los operadores?

3.  ¿Qué heurísticas existen para este problema? ¿Son admisibles?

Page 6: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

)&

Problema misioneros - ESTADO !  ESTADO: Se podría indicar la posición de la barca, junto con el

número de misioneros y caníbales que hay en cada lado. !  Se podría pensar que, dado que el número de personas en el extremo final

puede calcularse a partir de los que hay en el inicial, basta con indicar la posición de la barca y los misioneros y caníbales que quedan en el extremo inicial. Sin embargo, la primera aproximación permite describir más fácilmente las precondiciones y efectos de los operadores, por lo que mantenemos la representación inicial. Además, el espacio de estados tiene el mismo tamaño e idéntica semántica con ambas representaciones.

!  Formalmente, un estado será representado por una terna (Mi, Ci, B, Mf ,Cf ) en la que: !  B ∈ [i, f] indica la posición de la barca, por lo que toma el valor i si está

en el extremo inicial, o f si está en el final !  Mi, Ci, Mf, Cf ∈ [0,..., 3] indican el número de misioneros y caníbales que

quedan en el extremo inicial y final del río, respectivamente

!  De esta manera, el estado inicial se representa como (3, 3, i, 0, 0) y el estado final como (0, 0, f, 3, 3)

Problema misioneros - ACCIONES !  Se dispone de 5 acciones que transportan personas de la orilla

x a la orilla y:

!  Mover1C(x, y) transporta 1 caníbal desde la orilla x hasta la orilla y

!  Mover2C(x, y) transporta 2 caníbales desde la orilla x hasta la orilla y

!  Mover1M(x,y) transporta 1 misionero desde la orilla x hasta la orilla y

!  Mover2M(x,y) transporta 2 misioneros desde la orilla x hasta la orilla y

!  Mover1M1C(x,y) transporta 1 misionero y un cabinal desde x hasta y

!  El modelo de transiciones debe representar las precondiciones de cada acción y sus efectos.

Modelo transiciones

La persona debe estar en la orilla para moverse

La barca debe estar en la orilla

Evitamos movimientos que llevan a que haya Mas caníbales que misioneros en una orilla.

1 2

3

3 grupos de precondiciones

Page 7: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

*&

Misioneros y caníbales (heurísticas) !  Vamos a obtener las heurísticas por relajación del problema original.

Para dicha relajación, partimos de las precondiciones expuestas. !  Eliminar primer grupo de precondiciones. Si eliminamos ese primer grupo de

condiciones, se obtiene un problema relajado que no parece ser mucho más fácil de resolver que el problema original, por lo que no tiene mucho sentido.

!  Eliminar segundo grupo de precondiciones. Se puede asumir que hay infinitas barcas tanto en un lado como en otro. Este problema tiene una solución muy sencilla, que es asumir que siempre viajan un caníbal y un misionero juntos, con la acción Mover1M1C(i,f). Por tanto, la heurística resultante de este problema relajado es:

asumiendo que en el estado n se cumplen los requisitos definidos por el grupo de precondiciones 3.

?

h1(n) =Ci +Mi

2

Misioneros y caníbales (heurísticas) !  Vamos a obtener las heurísticas por relajación del problema original. Para

dicha relajación, partimos de las precondiciones expuestas.

!  Al eliminar el tercer grupo de condiciones, obtenemos un problema relajado en el que los caníbales nunca se comen a los misioneros. Entonces, en cada viaje de ida y vuelta, podemos transportar a una persona (dado que la otra tendrá que

volver para llevar la barca). Por tanto, la heurística resultante es:

!

donde orilla(n) = 1 si en el estado n la barca está en la orilla i (B = i), y orilla(n) = 0 si la barca la orilla final (B = f).

!  Si eliminamos el grupo de precondiciones 2 y 3 a la vez es equivalente a eliminar solo la precondición 2.

h2 (n) = 2(Ci +Mi )!orilla(n)

Misioneros y caníbales (heurísticas) !  Las dos heurísticas son admisibles, puesto que son resultado de

relajar el problema original.

!  Para decidir qué heurística elegir, h1 o h2, estudiamos cuál es la más informada, puesto que será la que, siendo admisible, tendrá un valor más cercano a h . Se observa fácilmente que la más informada es h2, puesto que h1(n) ! h2(n), sea cual sea el valor de Ci y de Mi para el estado n. Por tanto, elegimos h2(n).

h1(n) =Ci +Mi

2

h2 (n) = 2(Ci +Mi )!orilla(n)

Page 8: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

+&

Misioneros y caníbales (exploración) ! Aplicar el algoritmo de búsqueda A* sobre la representación

del problema de los misioneros y los caníbales. Especifica cuándo un nodo del árbol de búsqueda es expandido y cuándo es sólo generado. Utiliza la heurística resultante de relajar el tercer grupo de precondiciones.

A* en grafo !  A p l i c a r e l a l g o r i t m o d e

búsqueda A* en grafo al siguiente grafo de estados. El nodo inicial es A y hay un solo nodo objetivo, que en este caso es Z. A cada arco se le ha asociado un coste y a cada nodo la estimación de la menor distancia de ese nodo al nodo objetivo (hay que asumir que se t r a t a d e u n a h e u r í s t i c a admisible). Se pide el orden en que los nodos son expandidos y el orden de la solución. Justifica tu solución dibujando en la siguiente página el árbol que se g e n e r a e n l a b ú s q u e d a indicando: f’, g y h’, así como el nº de orden en que los nodos son visitados

80 A

27 B 60 C 70 E 65 D

50 F

50 H 50 G

0 Z

15 10 10

5 3

30

4

30

35

2

5 10

80 A

27 B 60 C 70 E 65 D

50 F

50 H 50 G

0 Z

15 10 10

5 3

30

4

30

35

2

5 10

A 80 0

80 1

B 27 4

31 2

C 60 10

70 4

D 65 10

75 5

E 70 15

85 6

F 50 9

59 3

G 50 44

94

F 50 15

65 F 50

20

70 F 50

18

68 H 50

45

95

H 50 39

89 7

Z 0 41

41 8

Sería correcto si añadiéramos la restricción de que sólo Se pueden aplicar acciones para ir hacia abajo y no volver Hacia arriba.

Page 9: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

,&

80 A

27 B 60 C 70 E 65 D

50 F

50 H 50 G

0 Z

15 10 10

5 3

30

4

30

35

2

5 10

A 80 0

80 1

B 27 4

31 2

C 60 10

70 4

D 65 10

75 5

E 70 15

85

F 50 9

59 3

G 50 44

94

F 50 15

65 F 50

20

70

F* 50 15

65 H 50 42

92

H 50 39

89 7

Z 0 41

41 8

A* 80 8

88 A* 80

10

98

A* 80 20

100

B* 27 14

41 C 60 14

74

D 60 19

84

E 70 12

82 6

A* 80 30

100

F* 50 69

119

*Nodos expandidos previamente, no haría falta calcular coste

Minimax / Poda alfa-beta

873 8410 572

max

min

873 8410 572

max

min

Búsqueda en juegos [7 mi] Considerar el árbol de juego mostrado abajo. Asumir que el nodo de arriba es un nodo max. Las etiquetas de los arcos son los movimientos. Los números en el nivel de abajo son los valores heurísticos de esas posiciones. •  Completa el árbol de juego utilizando una búsqueda mini-max •  Indica las ramas podadas con una poda alfa-beta con una búsqueda de izquierda a

derecha. Indica los valores que van tomando alfa y beta en cada nodo •  Reordena las hojas de los nodos de forma que resultara en el máximo número de nodos

podados en una poda alfa-beta de izquierda a derecha (indica también las ramas podadas). Reordena los hijos pero preserva las relaciones padre-hijo.

Minimax /Poda Alfa-beta

8 7 3 8 4 10 5 7 2

max

min

4

8 7 3

<=2 4 3

8 4 10 5 7 2

max

min

4

8 4 10

<=2 <=3 4

8 7 3 5 7 2

max

min

4

8 7 3

2 4 3

8 4 10 5 7 2

max

min

Page 10: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$%&

Minimax y Poda alfa-beta ! Dado el árbol de la figura

1.  Señala las estrategia ganadoras, si las hubiera, para un jugador MAX y para un jugador MIN. Se considera que un nodo terminal es ganador para MAX si su valor es superior o igual a 6. Contrariamente, es ganador para MIN si es inferior a 6.

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

Minimax y Poda alfa-beta ! Dado el árbol de la figura

!  Señala las estrategia ganadora, si las hubiera, para un jugador MAX y para un jugador MIN. Se considera que un nodo terminal es ganador para MAX si su valor es superior o igual a 6. Contrariamente, es ganador para MIN si es inferior a 6.

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 6 4

6

6

8 1

8

7 8

7

8 4

4

7 MAX tiene dos estrategias ganadoras => MIN no.

Minimax y Poda alfa-beta ! Dado el árbol de la figura

!  Señala las estrategia ganadora, si el nodo inicial fuera MIN. Se considera que un nodo terminal es ganador para MAX si su valor es superior o igual a 6. Contrariamente, es ganador para MIN si es inferior a 6.

MIN

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MAX

MIN

MAX

MAX

MIN 6 7 9 5

6 5

6 6 8 4

6 8 6

6 MIN no tiene estrategia ganadora

Page 11: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$$&

Minimax y Poda alfa-beta ! Dado el árbol de la figura

2.  Recorre el árbol de izquierda a derecha, siguiendo el método de poda alfa-beta, indicando claramente (tachando con una x) los nodo en que se produce poda. Encuadra /marca los nodos terminales que no ha sido necesario recorrer. Señala el valor de la decisión más acertada para MAX.

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

Marcado de una Poda alfa-beta !  Datos a marcar

!  Los valores de alfa y beta con los que se hace cada llamada recursiva desde cada nodo. Convenio

!  Si las llamadas se hacen desde un nodo MAX, alfa (a) será un valor que puede ir aumentando, hasta igualar o superar a beta (b), en cuyo caso se producirá una poda alfa. Estas llamadas las marcaremos con (a=valor1, valor2), para reslatar que es el cambio de a el que determina el que haya poda o no.

!  Si las llamadas se hacen desde un nodo MIN, beta(b) será un valor que puede ir disminuyendo, hasta igualar o quedar por debajo de alfa (a), en cuyo caso se producirá una poda beta. Estas llamadas las marcaremos con (valor1, b=valor2).

!  EL segundo dato relacionado con el nodo a marcar, es el resultado que se devuelve al nodo padre.

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-", b= ")

Page 12: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$!&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4 6

(-", b= ")

(-",b= 4)

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4 6

(-", b= ")

(-",b= 4)

4

(a=4, ")

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4 6

(-", b= ")

(-",b= 4)

4

(a=4, ")

(4, b=")

7

Page 13: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$"&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4 6

(-", b= ")

(-",b= 4)

4

(a=4, ")

(4, b=")

7 6

(4, b=7)

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

Page 14: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$'&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

Page 15: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$(&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

Page 16: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$)&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

Page 17: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$*&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x

Page 18: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$+&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

Page 19: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

$,&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

8

8

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

8

8

(7,b= 8)

(a=7, 8)

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

8

8

(7,b= 8)

(a=7, 8) 4

Page 20: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

!%&

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

8

8

(7,b= 8)

(a=7, 8) 4

7

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

8

8

(7,b= 8)

(a=7, 8) 4

7

7 7

7

Marcado de una Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MIN

MAX 4

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

(a=-", ")

(-",b= ")

(a=-", ")

4

(-",b= 4)

6

(a=4, ")

(4, b=")

7

(4, b=7)

6

(-", b= ")

6

6

(-", b= 6)

(a=-", 6)

(-", b=6)

8

(-", b=6)

9

6

x Poda

a: a(=6)=6

6

6 (a=6, ")

(6, b=")

(a=6, ")

6

(a=6, ")

7

7

(6, b=7)

(a=6, 7)

8

Poda a:

a(=8)>7 x 7

7

(a=7, ")

(7,b= ")

(a=7, ")

8

8

(7,b= 8)

(a=7, 8) 4

7

7 7

7 ¡Cuidado!

Page 21: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

!$&

Valor con Poda alfa-beta

MAX

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MIN

MAX

MIN

MAX

!  (a=valor1, valor2) , alfa puede crecer y marca poda cuando se cruza con b

!  (valor1, b=valor2) , beta puede decrecer y marca poda cuando se cruza con a

x Poda

a: a(=6)=6 Poda

a: a(=8)>7 x

7 ¡Cuidado!

MIN 4

6 8

6 8

6

7 8

7

8 4

4

Marcado de una Poda alfa-beta !  Poda del árbol comenzando por MIN

MIN

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MAX

MIN

MAX

MAX

MIN

Marcado de una Poda alfa-beta

MIN

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MAX

MIN

MAX

MAX

MIN 6

!  Poda del árbol comenzando por MIN

(-",b= ")

(a=-", ")

(-", b= ")

4

(a=4,b= ")

6

(-", b=6)

(a=-", 6)

7

(a=-", ")

6

6

(a=6, ")

(6,b= ")

(a=6,")

8

(a=8,")

9

9

6

6 (-",b= 6)

(a=-", 6)

(a=6, 9)

6

(-", b=6)

7

6

(-", b=6)

Poda a: a(=6)=6

6

(-",b= 6)

(a=-",6)

8

6

6 7

7

Poda a: a(=7)>6

x (6,b= 9)

(a=6, 9)

5 1

6 (-",b= 6)

Poda a: a(=6)=6

x x

Page 22: Inteligencia Artificial (30223)webdiis.unizar.es/~jangelb/IA-30223/4.ProblemasResueltosImp.pdfMinimax y poda alfa-beta Problema del laberinto principio fin Una búsqueda informada

!"#$%#$!&

!!&

Valor con Poda alfa-beta

MIN

4 6 7 6 8 9 5 1 6 7 8 6 8 4

MAX

MIN

MAX

MAX

MIN

!  Poda del árbol comenzando por MIN

Poda a: a(=6)=6

Poda a: a(=7)>6

x

Poda a: a(=6)=6

x x

6 7

6

9 5

5

6

6

6

8

8

6

Inteligencia Artificial

(30223) Grado en Ingeniería Informática

.