2013-05-16 2 views
0

У меня есть проблема с настольной игрой, которую я создаю. Я планирую создать искусственный игрок для игры, используя MiniMax с призором AlphaBeta, но я не уверен, как оценить, что игрок хорош в игре. Поскольку это новая игра, я не могу получить игрока, который может дать отзыв. Поэтому я хотел бы знать, есть ли какой-либо метод для объективного определения, если искусственный игрок на самом деле хорош. Спасибо заранее.Оценка искусственного игрока

ответ

3

Правильное автоматическое тестирование качества ИИ затруднено, потому что у вас должно быть что-то хорошее или лучше, чем ИИ (по крайней мере, в определенных положениях - как в некоторых случаях - это очевидные глупые движения, что не так сложно сделать вручную), поэтому вам придется писать ИИ, который лучше, чем ваш ИИ, который вам нужно будет испытать, написав лучший ИИ, который вам нужно будет проверить ... Ну, мягко говоря, это явно выиграло «Так хорошо работать.

Варианты для проверки качества ИИ (к моему знанию):

  • вручную - получить хорошее в игре, и спросить себя, чтобы дать обратную связь. Играйте в полные игры и/или начинайте в определенных положениях и следите за тем, чтобы они не делали действительно глупые вещи.

  • Базовая проверка. Протестируйте его против других, более простых, искусственных игроков, чтобы убедиться, что он побеждает практически все время. Для более устоявшихся игр вы сможете найти довольно приличный ИИ, написанный другими.

  • Тест на данные - на самом деле не применим, но может быть применим в играх - найти известные примеры игры, которую играют эксперты, и проверить, что ваш ИИ соответствует множеству ходов, сделанных экспертами для данной позиции ,

  • Brute-force it - проверить все возможности для данного состояния игры (это близко к концу) и объективно определить лучший ход, сравнивая это с тем, что делает ваш ИИ. Кроме того, у вас код должен иметь это в окончательной версии в любом случае, но сначала вы не хотите этого, чтобы вы могли выполнить эту проверку. Это в основном то, что уже делает мини-макс, поэтому это действительно не помогает.

  • AI спешит! - напишите кучу разных ботов ИИ, используя разные подходы и получив гигантский показ.

Таким образом, чтобы подвести итог (для сценария), я хотел бы предложить:

  • Попробуй себя.

  • Напишите несколько действительно искусственных игроков, которые могут даже просто перемещаться в случайном порядке и изучать любую игру, которую ваш AI теряет, чтобы найти какие-либо недостатки.

Специфическая для мини-макс:

Это не собственно AI (по крайней мере, на мой взгляд), вы просто исследуя некоторые состояния и находя лучший друг (так выше по-прежнему применимо, но не в значительной степени).Ваши основные проблемы будут:

(первые 3 являются довольно стандартные проблемы AI)

  • мой код правильно? Вы должны уметь видеть глупые движения от ИИ из небольшого количества игр, если это не так.

  • Является ли моя функция оценки правильной/достаточно хорошей? Это всегда можно настроить, но вы также можете сыграть в несколько игр, чтобы узнать, все ли в порядке.

  • Мой ИИ бесполезен - мой код или моя функция оценки ошибочны? Предполагая достойную реализацию, если она делает плохие движения все время, это, вероятно, ваш код. Если это делает некоторые хорошие и некоторые плохие шаги, это, вероятно, ваша оценочная функция. Но это действительно так. Помните, что функция оценки, вероятно, намного меньше, чем для проверки вашего кода.

  • Это достаточно быстро или я могу исследовать глубже? Проверьте, сколько времени потребуется. Если это раскол секунды, вы, вероятно, можете позволить увеличить глубину изучения на единицу. Если потребуется несколько минут, вы можете уменьшить глубину исследования.

+0

Большое спасибо Dukeling, ваш ответ был очень полезен. – user2389854

+0

Dukeling, я расследую больше на эту тему, так что, пожалуйста, скажите мне несколько ссылок, где вы читаете об этом? Заранее большое спасибо. – user2389854

+0

Выше приведено только из (некоторых) опыта. [Искусственный интеллект: современный подход] (http://aima.cs.berkeley.edu/) Я слышу довольно хорошую книгу или нахожу [бесплатно] (https://www.coursera.org/) [онлайн ] (https://www.udacity.com/) [курс] (https://www.edx.org/) (представлен ведущими преподавателями университетов) по этому вопросу. – Dukeling

Смежные вопросы