Введение 3
Постановка задачи 4
Глава 1. Подготовительная информация 5
1.1 Покер 5
1.2 Техасский холдем 6
1.3 Сила карты 8
1.4 Ежегодный чемпионат по компьютерному покеру 9
Глава 2. Обзор существующих решений 10
2.1 Экспертные системы 10
2.2 Теоретико-игровой подход CFR 13
2.3 Нейронные сети 13
Глава 3. Теория 14
3.1 Постановка задачи машинного обучения 14
3.2 Нейронная сеть 14
3.3 Метод обратного распространения ошибки 15
3.4 Метод наименьших квадратов 16
3.5 Применение теории в покере 17
Глава 4. Реализация 24
4.1 Общая структура программы 24
4.2 Нейронная сеть 24
4.3 База данных 26
Глава 5. Результаты 28
Глава 6. Выводы 33
Список литературы 34
Игры всегда мотивировали ученых на открытия в искусственном интеллекте. В ходе создания компьютерных программ для игр возникают различные методики, которые находят применение и для других задач искусственного интеллекта. В то время как уже достаточно давно созданы компьютерные программы, играющие в игры с полной информацией (шахматы, шашки и го) на профессиональном уровне, программы играющие в игры с неполной информацией (покер) недавно начали показывать достойные результаты. Одной из самых значимых проблем, возникающих на пути исследователей, является огромное поле возможных состояний : при игре в техасский холдем один на один возникает 3.16 * 1017 возможных состояний. Другим фактором, не позволяющим качественно моделировать игру в покер на компьютере, является неполная информация : карты оппонента, не открытые еще карты на столе. В данной работе для обхода указанных сложностей при игре в техасский холдем c фиксированным лимитом один на один применяются методы машинного обучения.
В данной работе были выполнены все поставленные задачи. Была создана компьютерная программа-агент, способная играть в техасский холдем один на один с фиксированным лимитом в специальной компьютерной среде ACPC - Annual Computer Poker Competition. Далее были выбраны два метода машинного обучения: нейронная сеть прямого распространения и метод наименьших квадратов. После этого было произведено сравнение агентов, использующих эти два метода для игры в техасский холдем один на один с фиксированным лимитом, с уже существующими игроками в среде ACPC. Всего противников оказалось трое:
• Example player - стандартный игрок, встроенный в среду ACPC
• OpenPureCFR - игрок, основанный на открытой реализации метода CFR
• Caller - игрок, который всегда делает уравнять/чек
Большой блайнд был равен 10 фишек, малый блайнд - 5 фишек. Для сравнения, игрок, который будет сразу сбрасывать карты в пас, будет проигрывать в среднем 7.5 фишек за руку. Результаты для агента, использующего нейронную сеть, показаны в таблице 12
Таблица 12: Результаты агента, использующего нейронную сеть
Пусто | OpenPureCFR | Example | Caller
Средний выигрыш за руку | -7.6773 | -1.6369 | 1.0201
Количество сыгранных партий | 90000 | 90000 | 90000
Конец таблицы 12.
Результаты для агента, использующего метод наименьших квадратов в сочетании с алгоримом силы карты (HS), показаны в таблице 13:
Таблица 13: Результаты для агента, использующего метод наименьших квадратов, в сочетании с алгоримом силы карты (HS).
Пусто | OpenPureCFR | Example | Caller
Средний выигрыш за руку | 12.8370 | 17.5110 | 9.1750
Количество сыгранных партий | 10000 | 10000 | 10000
Конец таблицы 13.
Агент, основанный на нейронной сети, смог переиграть лишь одного игрока из трех. Однако если усилить получившегося агента с помощью алгоритма силы карты (HS) и метода наименьших квадратов, то он значительно переигрывает всех трех соперников.
[1] D. Billings, D. Papp, J. Schaeffer, D. Szafron. Opponent modeling in poker. In Proceedings of the fifteenth national/tenth conference on Artificial intelligence/Innovative applications of artificial intelligence (AAAI ’98/IAAI ’98). American Association for Artificial Intelligence, Menlo Park, CA, USA, 1998, pp. 493-499.
[2] M. Bowling, N. Burch, M. Johanson, O. Tammelin. Heads-up Limit Hold’em Poker is Solved, Science, 2015, 145-149p
[3] T. Tjebbe. Computer Poker with Neural Networks. Bachelor thesis, University of Amsterdam. https://esc.fnwi.uva.nl/thesis/centraal/files/f331635744.pdf, 2012
[4] N. Yakovenko, L. Cao, C. Raffel, J. Fan. Poker-CNN: a pattern learning strategy for making draws and bets in poker games using convolutional networks. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence (AAAI’16). AAAI Press 2016, pp. 360-367
[5] Воронцов К.В. Математические методы обучения по прецедентам (теория обучения машин). Москва, 2013.
[6] Хайкин С. Нейронные сети: полный курс, 2-е издание, 2008