Описание тега negamax

Вариант минимаксного поиска, основанный на свойстве игры с нулевой суммой для двух игроков. Цель состоит в том, чтобы найти лучший ход для игрока, играющего в корневом узле.
0 ответов

Как конвертировать это Java-приложение MInimax в Negamax?

У меня есть другие занятия помимо этого. Я покажу вам только то, где я применил минимаксный алгоритм. import java.util.Random; import java.util.Scanner; public class TicTacToe { public static final Random RANDOM = new Random(); public static void ma…
10 мар '18 в 10:33
0 ответов

Как реализовать функцию makemove в Negamax

В настоящее время я работаю над игрой в шашки в unity3d. Я уже некоторое время пытаюсь реализовать один игрок против ИИ, используя алгоритм negamax. Код Negamax работает хорошо, но функция, которая делает временный ход на клонированной доске, - вот …
11 сен '17 в 07:38
1 ответ

Негамакс замерзает

В игре, которую я создал, Negamax хорошо работает для поиска на малой глубине, но большее увеличение глубины приводит к его зависанию. Я думал об изменении глубины для типа "long" вместо "integer", но не уверен, что еще я могу сделать. Я знаю, что в…
14 дек '13 в 22:19
2 ответа

C++ Negamax альфа-бета неправильная отсечка?

Я использую Negamax, чтобы играть соединить четыре. Что я заметил, так это то, что если я добавляю альфа-бета-версию, она иногда дает "неправильные" результаты, так как, делая неудачный ход, я не верю, что он должен делать с той глубиной, на которой…
0 ответов

Реализация Negamax для шашек / шашек

Я пытался реализовать хороший ИИ для игры в шашки, созданной в Unity3D, и, выполнив поиск в Интернете, я нашел лучший выбор - MiniMax/Negamax, поэтому я создал этот класс: public static class NegaMax { public static IMiniMaxNode FindBestChoice(IEnum…
04 июн '18 в 09:13
1 ответ

Реализация Negamax C++ дает неверный результат

ПРИМЕЧАНИЕ. Пожалуйста, прокомментируйте, если вы считаете, что в этом посте нет достаточных деталей, например, кодов, результатов и прочего; Я буду редактировать пост соответственно. ПРИМЕЧАНИЕ 2: Я написал эту программу вручную. У меня есть реализ…
01 май '16 в 21:13
1 ответ

Алгоритм Java Connect 4 MinMax

РЕДАКТИРОВАТЬ: я не знаю, почему кто-то связывает меня TicTacToe как дубликат для моего вопроса, в нем даже нет MinMax-алгоритм. В настоящее время я работаю над игрой Connect4 против компьютера, который должен использовать алгоритм MinMax. До этого …
21 июн '16 в 08:22
0 ответов

Ленивый SMP: сколько нужно изменить параметры потока помощника

У меня есть AI для настольной игры, в котором используется Negamax с отсечками альфа / бета и таблица транспозиции. Я начал внедрять Lazy SMP, чтобы использовать преимущества нескольких ядер, и могу без проблем запускать и останавливать вспомогатель…
10 фев '18 в 21:28
1 ответ

Беда с Negamax игрой Нима

Я беру свой первый AI-класс и пытаюсь внедрить алгоритм NegaMax в мой код на c. Я использую этот алгоритм, чтобы играть в простую игру Nim, где каждый игрок удаляет 1-3 матча в свой ход. Компьютер играет против себя здесь. Однако у меня возникли про…
15 май '16 в 12:09
0 ответов

Ошибка в алгоритме Negamax, связанная с оценочной функцией? Работает несколько раз, а не другие

Я пытаюсь разработать игру Tic-Tac-Toe с непревзойденным ИИ, и я нахожусь в точке, где моя функция negamax большую часть времени возвращает правильный результат. Однако иногда при определенных предсказуемых условиях компьютер выбирает движение доски…
15 авг '16 в 22:45
1 ответ

Добавив альфа-бета к Negamax

Я реализую версию Negamax для игры "Цепная реакция". Здесь есть версия алгоритма, которая работает хорошо: public int[] think(Field field, int profondita, int alpha, int beta, int color) { // TODO Auto-generated method stub if (profondita == 0 || sc…
14 янв '18 в 15:30
1 ответ

Что-то не так с моим поиском покоя?

Я продолжаю странно себя вести в своем AI на основе Negamax, когда пытаюсь реализовать QuiesenceSearch. Я основал это на псевдокоде отсюда: int Quiesce( int alpha, int beta ) { int stand_pat = Evaluate(); if( stand_pat >= beta ) return beta; if( …
17 фев '18 в 22:42
2 ответа

Негамакс отрицание

Извините, если это глупый вопрос, но я в замешательстве. Negamax в самом начале проверяет, достигнуто ли конечное состояние или максимальная глубина. Затем вы вставляете функцию оценки, которая возвращает отрицательный или положительный балл за сост…
10 ноя '13 в 12:25
1 ответ

Крестики-нолики, реализованные с помощью lisp, заканчивают игру, а не делают один ход

Я делаю простую игру в крестики-нолики с ИИ, в которой используется алгоритм negamax с отсечкой альфа-бета с использованием LISP, и у меня возникают проблемы с тем, как ИИ делает свой ход. Вместо того, чтобы делать единственный ход, который он долже…
22 апр '16 в 19:31
1 ответ

Шахматный алгоритм Negamax: как использовать финальный возврат?

Я сделал алгоритм Negamax для шахматоподобной игры, и я хочу знать, как использовать итоговый результат на доске. Я понимаю, что окончательный результат алгоритма negamax показывает, какое значение получит доска после того, как игрок сделает свой лу…
02 сен '14 в 03:14
1 ответ

Негамакс не работает за пределами глубины 1

Я делаю шахматный движок на C++, и с помощью этого алгоритма я получаю ожидаемую игру с максимальной глубиной, установленной на 1. Однако, помимо этого, он игнорирует фигуры, которые находятся в опасности, и, кажется, даже охотно подвергает себя опа…
26 мар '14 в 20:01
2 ответа

Как распараллелить алгоритм Negamax?

Есть ли способ распараллелить следующий алгоритм Negamax? 01 function negamax(node, depth, color) 02 if depth = 0 or node is a terminal node 03 return color * the heuristic value of node 04 bestValue := −∞ 05 foreach child of node 06 v := −negamax(c…
0 ответов

Передача возвращаемого значения из моего метода negmax

Я работал над этим, по крайней мере, несколько дней. Тестирование показывает, что возвращается правильное значение. Моя проблема в том, чтобы взять best_move значение и распечатать его. Я настроил suggested_move метод и попробуйте использовать retur…
07 сен '17 в 20:18
1 ответ

Реализация Tic Tac Toe Negamax.

Я пытаюсь реализовать функцию поиска negamax для приложения в крестики-нолики, но она не возвращает оптимальных значений, а, кажется, угадывает почти случайно. Вот соответствующая часть моего кода: public int negamax(Result result, Token token) { if…
12 май '15 в 22:31
0 ответов

Многопоточная оценка с использованием Negamax + альфа-бета-обрезка с таблицами транспозиции

Я только что реализовал хорошо работающую функцию оценки для шашек. Текущая реализация использует потоки и отдельные таблицы транспонирования для каждого. Я порождаю поток для каждого хода, который доступен в корневом узле (начальная позиция доски),…
30 янв '19 в 14:38