Sto esplorando come un algoritmo Minimax può essere utilizzato in un gioco Connect quattro. Stavo guardando un programma e ho trovato questa funzione di valutazione.
private static int[][] evaluationTable = {{3, 4, 5, 7, 5, 4, 3},
{4, 6, 8, 10, 8, 6, 4},
{5, 8, 11, 13, 11, 8, 5},
{5, 8, 11, 13, 11, 8, 5},
{4, 6, 8, 10, 8, 6, 4},
{3, 4, 5, 7, 5, 4, 3}};
//here is where the evaluation table is called
public int evaluateContent() {
int utility = 128;
int sum = 0;
for (int i = 0; i < rows; i++)
for (int j = 0; j <columns; j++)
if (board[i][j] == 'O')
sum += evaluationTable[i][j];
else if (board[i][j] == 'X')
sum -= evaluationTable[i][j];
return utility + sum;
}
E poi un MiniMax algo viene utilizzato per valutare le possibili soluzioni.
Non sono sicuro di come / perché funzioni. Qualcuno sarebbe in grado di spiegare?