Негамакс замерзает
В игре, которую я создал, Negamax хорошо работает для поиска на малой глубине, но большее увеличение глубины приводит к его зависанию. Я думал об изменении глубины для типа "long" вместо "integer", но не уверен, что еще я могу сделать. Я знаю, что вычисления займут больше времени, поэтому возможно, что они подсчитываются за кулисами, и я интерпретирую их как заморозку. Любой совет будет принят во внимание. В игре игрок может сделать только 1 из 3 возможных ходов в позиции, и это не похоже на шахматы, когда в любой позиции возможно большое количество ходов, а конечная позиция труднодостижима.
Спасибо
Daz
1 ответ
Что считается большей глубиной? Помните, что эти деревья растут в геометрической прогрессии, поэтому, если у вас есть 3 варианта на первый выбор, у вас есть 9, когда вы 2 глубины, 59049 вариантов, чтобы проверить, когда вы 10 глубины, и так далее. Другая возможная причина для резкого замедления работы - это если вы начинаете использовать файл подкачки; то есть, если вы храните все свое дерево и внезапно исчерпываете Рама, как только вы достигаете "большей" глубины. Возможно, вы можете услышать это или увидеть мигающий индикатор жесткого диска, если это способствует.
Лучше всего получить обратную связь; заставьте его печатать новое число каждые x тысяч проверяемых им опций, чтобы вы могли узнать, не догадываясь, пытается ли он по-прежнему и как далеко он должен пройти. Как только вы поймете, что он делает, и предположите, что он только что проглотил, посмотрите на что-то вроде альфа-бета-обрезки, чтобы дерево не росло так быстро.