/ / Tic Tac Toe implementuje metódu min - max s alfa - beta prerezávaním Existuje nejaké lepšie riešenie? - algoritmus, umelá inteligencia, tic-tac-toe, minimax, alfa-beta-prerezávanie

Tic Tac Toe implementuje metódu min - max s alfa - beta prerezávaním Existuje nejaké lepšie riešenie? - algoritmus, umelá inteligencia, tic-tac-toe, minimax, alfa-beta-prerezávanie

K dispozícii je funkcia kódu, ktorá priradí každému stavu hodnotu (obe časti metódy min-max)

Procedure TGraph.Rate(const AState: TState);
Var
i: integer;
Begin //hodnotí stav
if AState.Children.Count > 0 then begin //není list
if AState.Owner = CComputerPlayer then begin
// max level
AState.Rating := AState.Children.Worst.Rating;
end else begin
// min level
AState.Rating := AState.Children.Best.Rating;
end;
end else begin
AState.Rating := 0;
for i := 0 to AState.Fields.Count - 1 do
begin
AState.Rating := AState.Rating +
AState.Fields.FieldsI[i].Rating[AState.Owner];
end;
if (AState.Owner = CHumanPlayer) then begin
AState.Rating := -AState.Rating;
end;
end;
End;

odpovede:

1 pre odpoveď č. 1

Tic Tac Toe má konečný a pomerne malý priestormožné pozície. Za to nestojí za to, že by sa na ňu použilo prerezávanie alfa-beta. Veľmi jednoduchý min-max bude fungovať veľmi rýchlo. Majte tiež na pamäti, že ak potrebujete spustiť algoritmus viackrát, môžete spustiť min-max iba raz a uložiť vypočítané výsledky.