domingo, 4 de septiembre de 2016

ALGORITMO DE MINIMAX ALPHA-BETA

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