¿De qué sirven los valores mínimos en los árboles minimax?

8

Considere un árbol minimax para un problema de búsqueda adversarial. Por ejemplo, en esta imagen (poda alfa-beta):

ingrese la descripción de la imagen aquí

Al marcar el árbol con los valores abajo hacia arriba, primero atravesamos el nodo 3 y asignamos B. \ max = 3 . Luego atravesamos 12 y 8 en este orden, se asegurará de que B.max = 3 .[min,max]3B.max=3128B.max=3

Pero, ¿por qué B.min=3 ? ¿De qué sirve ese valor?

sam
fuente
¿De dónde es la foto? ¿Es un ejemplo artificial?
uli
Sí, es solo un ejemplo de caso especial, también edito la imagen para agregar el texto de min y max. Si aparece algún error, no dude en decirlo. Gracias ~
sam
1
Según el (horrible) artículo de Wikipedia, el árbol que das no parece ser un árbol min-max. En particular, debería ser ; , por otro lado, parece completamente correcto. Entonces, ¿cuál es la pregunta aquí, realmente? ¿Te confunde el ejemplo o quieres aplicaciones de árboles min-max? En cualquier caso, incluya una definición precisa (!) De árboles min-max y / o una referencia a uno. B.max12B.min
Raphael
1
Por favor incluya una referencia para la imagen; Tengo razones para creer que no lo creaste. Las diapositivas vinculadas también pueden responder algunas preguntas suyas; Parecen usar diferentes árboles que tú.
Raphael
1
La imagen parece engañosa ..
Strin

Respuestas:

7

Esta figura (que de hecho es correcta) se utiliza en la explicación del algoritmo de poda alfa-beta en un árbol minimax. La poda alfa-beta es un método utilizado para podar partes del árbol minimax en un problema de búsqueda adversarial. En el contexto de un juego de tic-tac-toe, los árboles minimax están destinados a permitir que la computadora busque a través del espacio de todos los tableros de juego posibles (configuraciones de x's y o's) suponiendo que los movimientos del jugador sean óptimos. Esto permite que la computadora presente un movimiento que proporcione el mejor resultado (¡esta es la razón por la cual el juego de conectar cuatro en su computadora es tan increíblemente difícil de superar!). Para una descripción más completa, sugiero "AI a Modern Approach" de Stuart y Norvig (pág. 162-170 ish en la 2ª ed.).

Ahora que hemos aclarado alguna confusión sobre el algoritmo. La poda alfa-beta intenta evitar expandir los subárboles en función de cómo funciona el algoritmo minimax. Sabemos que el nodo máximo en el nivel superior tomará el mayor valor de todos sus hijos. Entonces, el nodo encuentra el valor , y hasta ahora, este es el valor máximo que está dispuesto a pasar a su padre, por lo que coloca este valor en la ranura MAX. Luego encuentra . Recuerde que es un nodo MIN, por lo que quiere minimizar el valor que pasa a su padre, por lo tanto, mantiene el valor en la ranura MAX. De nuevo por . Cuando ha buscado en todos sus elementos secundarios, conoce el límite inferior máximo (B312B38Bα) y la solución de límite superior mínimo ( ) de su subárbol y mantiene esos valores en MIN ( ) y MAX ( ) (como [3, 3]).βαβ

Nota: ¡min y max etiquetados en la figura NO son los valores mínimos y máximos del subárbol! Son (etiquetados de manera bastante confusa) los límites alfa-beta de las soluciones del subárbol (recuerde que este es un problema de búsqueda contradictorio).

A continuación se mueven al nodo . Aquí nos encontramos con un en la primera posición. El nodo , que desea seleccionar el valor más bajo de su subárbol, ahora SABE que su padre no elegirá su valor ya que el nodo encontró un valor mayor. Por lo tanto, podemos podar el resto del subárbol y continuar hasta .C2CBD

Finalmente, para responder la pregunta específica: ¿Por qué .min = 3? Un valor para (el límite inferior máximo de soluciones en este nodo) y (el límite superior mínimo de soluciones en este nodo) se mantiene en cada nodo para realizar la poda. Estos valores limitan los casos posibles en los que el valor de un nodo (o su subárbol) puede ser parte de la solución.Bαβ

En este ejemplo, no parece jugar un papel, sin embargo, intente mirar ejemplos más complicados (es decir, árboles con una altura> 3) como este y ver si puede darle sentido.

No puedo hacer justicia a la poda minimax o alfa-beta aquí (principalmente porque no los he usado en años), así que si realmente desea entender esto, consulte un libro sobre IA como el de Stuart y Norvig (el la página de wikipedia sorprendentemente tampoco tiene visualización).

Mella
fuente
Sí, como dijiste, creo que estás totalmente de acuerdo con la corrección de la imagen, ¿verdad? Gracias por compartir el proceso tan detallado de AlphaBeta prunning, y mi pregunta es ¿de qué sirve el valor mínimo? ¿Los valores mínimos siempre son iguales a los valores máximos? En este caso son los primeros 3 de [3,3].
sam
@ Sam, sí, la imagen es definitivamente correcta. He editado mi respuesta para responder (parcialmente) a su pregunta específica. Espero que esto ayude.
Nick
"Cuando B ha buscado en todos sus elementos secundarios, conoce los valores mínimos y máximos de su subárbol y mantiene esos valores en MIN y MAX (como [3, 3])", pero eso obviamente no es lo que sucede (debería ser , entonces). Su explicación más tarde tiene más sentido. [3,12]
Raphael
@Raphael, debería haber sido más claro. Estos no son los valores mínimo y máximo del subárbol, son el límite inferior máximo y el límite superior mínimo que el nodo puede propagar a su padre.
Nick
@ Nick: Así es como entendí minimax también. Como el OP confundió minimax y min-max inicialmente, tal vez debería dejarlo muy claro en su respuesta e incluir ejemplos no triviales (que no sean vinculados).
Raphael