Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problema con Minimax Alfa-Beta

Estas en el tema de Problema con Minimax Alfa-Beta en el foro de Programación General en Foros del Web. Estoy llevando a cabo el desarrollo de un juego del Othello, implementando el algoritmo Minimax con poda Alfa-Beta. El algoritmo funciona sin ningún tipo de ...
  #1 (permalink)  
Antiguo 19/05/2012, 07:38
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 11 meses
Puntos: 0
Problema con Minimax Alfa-Beta

Estoy llevando a cabo el desarrollo de un juego del Othello, implementando el algoritmo Minimax con poda Alfa-Beta.

El algoritmo funciona sin ningún tipo de problema cuando los turnos son alternos, es decir, cuando va tirando una vez cada jugador. Sin embargo, la máquina ya no rinde igual cuando se encuentra con la posibilidad de jugar 2 turnos consecutivos.

En el Othello, cuando el rival se queda sin poder realizar ningún movimiento, entonces tira dos veces el mismo jugador, con lo cual, en estos casos el algoritmo tendría que tener en cuenta eso, y no minimizar el siguiente turno, sino volverlo a maximizar, porque es turno del mismo jugador.

La cuestión es que creo que no lo estoy haciendo bien. He puesto lo siguiente:

if (count($possibleMoves) > 0)
{
$heirResult = IAController::miniMaxAlphaBeta($board_aux, $prof + 1, $rival, $turn2, -$beta, -$alpha);
}
else
{
$heirResult = IAController::miniMaxAlphaBeta($board_aux, $prof + 1, $color, $turn, -$beta, -$alpha);
}

No sé si en vez de -$beta, -$alpha debería volver a pasar como parámetros $alpha, $beta, o si hay alguna otra opción, porque no está realizando el cálculo correctamente en esos casos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:01.