Представление и эвристика игры Connect6 в Прологе - PullRequest
4 голосов
/ 20 апреля 2011

Я хочу представить игру connect6 wiki (может быть, предикатный камень (P, X, Y), где P - игрок, X, Y - координаты по хорошему).Также я хочу использовать любую хорошую эвристику, чтобы решить проблему (сделать оппонента).Можете ли вы дать мне подсказку к какой-либо статье об игровом AI в Прологе?Спасибо

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

Если вы реализуете Connect6 на конечной плате, то возможным представлением для этой игры будет список списков переменных, изначально не связанных.Вы бы «поместили камень», объединив переменную с одним из атомов black или white.Затем вы можете проверить, пуста ли позиция P с помощью var(P).Это представление должно работать намного быстрее, чем список stone/3 терминов.Это работает, потому что в Connect6 вы никогда не сможете удалить камень.

Я предполагаю, что под эвристическим вы подразумеваете функцию оценки, подходящую для поиска минимаксного значения, negamax или альфа-бета.Принимая во внимание правила игры, я бы посоветовал каждому игроку подсчитать количество рядов длины пять и забить те 5, забить те, что длины четыре 4 и т. Д. Это даст вам два результата S 1 и S 2 .Вычитание S 2 из S 1 дает относительное преимущество для игрока 1. Затем найдите способ нормализовать их в диапазоне [-1,1] или оцените ситуацию, когда играза бесконечность минус бесконечность.(Как представить все, что в Прологе оставлено в качестве упражнения.)

2 голосов
/ 21 апреля 2011

Вы, вероятно, хотите посмотреть http://en.wikipedia.org/wiki/Minimax игровых деревьев. Чтобы оптимизировать поиск, вы, вероятно, не хотите рассматривать все возможные ходы. Может быть, просто ходы, которые соответствуют существующей фигуре и 6 или менее пробелов от нее.

Тогда вам нужно http://en.wikipedia.org/wiki/Evaluation_function. Возможно, что-то вроде присвоения оценки «насколько я близок к завершению линии» по всем незавершенным линиям.

Создание и оптимизация игрового дерева - это скорее механический процесс. Создание функции оценки - это забавная часть, которая придаст вашему искусственному противнику уникальный вкус.

Поиск в Google по запросу "Пролог минимаксного игрового дерева" привел к хорошему впечатлению: http://staff.science.uva.nl/~arnoud/education/ZSB/2009/

...