El algoritmo alfa beta es una técnica de búsqueda que reduce el número de nodos evaluados en un árbol de juego
por el algoritmo Minimax
. Se trata de una técnica muy utilizada en programas de juegos entre adversarios como el ajedrez
, el tres en raya
o el Go.
de cierta forma este algoritmo trata de premeditar por medio de probabilidad y estadística la siguiente jugada del adversario, acá les dejo el seudo-código para que lo puedan construir en su lenguaje de programación de preferencia:
función alfabeta(nodo //en nuestro caso el tablero, profundidad, α, β, jugador)
si nodo es un nodo terminal o profundidad = 8
devolver el valor heurístico del nodo
si jugador
para cada hijo de nodo
α := max(α, alfabeta(hijo, profundidad+1, α, β, jugador))
si β≤α
break (* poda β *)
devolver α
si no
para cada hijo de nodo
β := min(β, alfabeta(hijo, profundidad+1, α, β, jugador))
si β≤α
break (* poda α *)
devolver β
(* Llamada inicial *)
alfabeta(origen, profundidad, -infinito, +infinito, jugador_deseado)
No hay comentarios:
Publicar un comentario