В настоящее время я делаю проект по созданию ИИ для игры Gomoku (это похоже на крестики-нолики, но играется на доске 15 * 15 и требует 5 подряд для победы). Я уже успешно реализовал идеальный искусственный интеллект, используя Q-обучение и сохраняя игровые состояния / действия в таблице, но для доски 15 * 15 возможные игровые состояния слишком велики, чтобы реализовать этот проект.
Мой вопрос, должен ли я использовать нейронные сети или генетические алгоритмы для этой проблемы? А конкретнее, как мне это реализовать?
Ответы:
Гомоку кажется немного излишним использование нейронных сетей или генетического алгоритма, так как и то, и другое занимает много времени и чаще, не делайте так, как вы этого хотите. Дерево игры гомоку довольно большое, но вы можете получить приличный ИИ из минимакса, обрезки дерева игры и хорошей эвристической функции (которая включает в себя подсчет половины и полных 2, 3, 4 и т. Д.), А не отображение. из полного пространства.
Если вы не знакомы с альфа-бета-обрезкой и минимаксом, см. Https://www.cs.cornell.edu/courses/cs312/2002sp/lectures/rec21.htm
Если вы действительно хотите использовать нейронные сети или генетические алгоритмы, вы можете использовать их для обучения. Что касается нейронных сетей, один из способов сделать это заключается в следующем:
Конечно, это только один из способов, и вам сначала нужно найти данные игры.
Дополнительное замечание: применение генетического алгоритма может происходить несколькими способами, такими как оптимизация параметров в нейронной сети, как упомянуто выше, или поиск по игровому дереву, поэтому убедитесь, что вы четко понимаете, как с ним определить постановку задачи! То же самое касается альтернативных способов применения нейронной сети.
Наконец, полезно знать, что гомоку решен. См. Https://stackoverflow.com/questions/6952607/ai-strategy-for-gomoku-a-variation-of-tic-tac-toe для мыслей и идей других людей.
источник