/ / Tic Tac Toe изпълнява с мин-макс метод с алфа-бета резитба Има ли по-добро решение? - алгоритъм, изкуствен интелект, tic-tac-toe, минимакс, алфа-бета-резитба

Tic Tac Toe изпълнява метода "мин-макс" с алфа-бета резитба Има ли по-добро решение? - алгоритъм, изкуствен интелект, tic-tac-toe, минимакс, алфа-бета-резитба

Има функция за изпълнение на код, която присвоява на всяко състояние стойност (и двете части на метода мин-макс)

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;

Отговори:

1 за отговор № 1

Tic Tac Toe има ограничено и доста малко пространствовъзможни позиции. Не си струва да се използва алфа-бета резитба за него. Много проста мин-макс ще работи много бързо. Също така имайте предвид, че ако трябва да изпълнявате алгоритъма няколко пъти, можете да пускате min-max само веднъж и да съхранявате изчислените резултати.