7.3.4. Resolución de juegos. Poda alfa-beta.
Implementación recursiva.
MinimaxAB (B: tipo_tablero; valor_padre: real; modo: (MAX, MIN)) : real;
for cada hijo C del tablero B do
valor_act:= max (valor_act, MinimaxAB (C, valor_act, MIN));
{ Poda beta } if valor_act ? valor_padre then
Salir del for, descartando los demás hijos de B;
valor_act:= min (valor_act, MinimaxAB (C, valor_act, MAX));
{ Poda alfa } if valor_act ? valor_padre then
Salir del for, descartando los demás hijos de B;
Llamada inicial: MinimaxAB (TableroInicial, +?, MAX);