Моя реализация обрезки альфа-бета работает слишком медленно.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Моя реализация обрезки альфа-бета работает слишком медленно.

Сообщение Anonymous »

Я работаю над алгоритмом, который оценивает шахматные позиции на C#. К сожалению, реализация идет слишком медленно. Я ждал час, но метод все еще не достиг конца, даже когда значение константы DEPTH равно 5. Он работает с глубиной 1, 2 и 3, но не с 4 или 5.
Это мой рекурсивный метод:

Код: Выделить всё

public double AlfaBeta(int depth, double alpha, double beta, bool maximize, Move move)
{
Chessboard game = (Chessboard)Clone();

if (move != null)
if (move.IsLegal(game))
game.Move(move, false);

try
{
if (depth > DEPTH)
return game.Evaluate();
}
catch
{
return maximize ? double.MinValue : 0;
}

double bestMove;
double value;
List moves;

if (maximize)
{
moves = game.GetTotalLegalMoves('w');

if (moves.Count == 0)
return game.Evaluate();

bestMove = double.MinValue;

foreach (Move cMove in moves)
{
value = game.AlfaBeta(depth + 1, alpha, beta, false, cMove);
bestMove = Math.Max(bestMove, value);
alpha = Math.Max(alpha, bestMove);

if (beta 

Подробнее здесь: [url]https://stackoverflow.com/questions/79149309/my-alpha-beta-pruning-implementation-is-too-slow[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Моя реализация обрезки альфа-бета работает слишком медленно.
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Кэширование с помощью минимаксного алгоритма с альфа/бета-обрезкой
    Anonymous » » в форуме C++
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Почему мой алгоритм альфа-бета-отсечения принимает неправильные решения?
    Anonymous » » в форуме C++
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Negamax с обрезкой альфа-бета в Python
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Минимакс работает нормально, но обрезка альфа-бета - нет.
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»