Это зависит от того, насколько амбициозны вы хотите получить, но для начала вам нужен быстрый движок для симуляции игры.
Тогда вам нужен быстрый и, следовательно, простой, модельный плеер.
У этой модели игрока не будет времени для расчета форварда. Он может реагировать только на предварительно определенное состояние. Итак, ваш первый шаг - построить достаточно хорошее игровое состояние. Состояние игры должно включать вашу руку и некоторую статистику истории того, какие карты были сброшены, и, возможно, как игроки сыграли свои руки.
Далее вы строите модель игрока, который действует на государство. Или
A)
напишите один от руки, который играет согласно некоторой эвристике, которую вы определяете. Но запомните - пока нет тяжелых расчетов!
В)
написать общий проигрыватель, но не указывать константы и предельные значения. Используйте свой механизм моделирования и генетические алгоритмы с выбором турнира, чтобы получить хорошие параметры для указанных значений. Для получения бонусных баллов развивайте своих игроков по две команды, чтобы они хорошо дополняли друг друга.
С)
используйте еще больше искусственного интеллекта и позвольте системе генетического программирования (есть несколько зрелых. Найдите такую, которая может проводить турниры. Вы даже можете реализовать ее самостоятельно, но давайте не будем увлекаться :) напишите для вас весь плеер, используя ваше состояние в качестве ввода.
Следующий шаг:
Либо у вас уже есть отличный игрок, и вы можете считать себя готовым, либо вы хотите улучшить его. Если ты хочешь сделать это лучше, удачи тебе!
Используйте симуляцию Монте-Карло, чтобы разыграть большое количество рук, причем каждый из ваших выборов находится в определенной ситуации (если я правильно понимаю, всегда есть три варианта). Пусть ваш модельный игрок принимает решения каждый раз, когда у вас есть выбор, и пусть ваш симулятор Монте-Карло случайным образом перетасовывает колоду каждый раз, когда вы играете в симуляцию.
Теперь у вас должен быть отличный карточный игрок!