Общий алгоритм принятия решений, Игра на префлопе - Разработка покерного робота
В данной главе будет рассказано об основных подходах, которые были применены для разработки стратегии покерного агента.
Игра на префлопе
Для игры на префлопе, был использован метод, предложенный Биллом Ченом [4], в котором описывался алгоритм для подсчета силы карманных карт игрока. Суть метода, состоит в подсчете количества баллов, для карманных карт игрока и оценке их силы. Алгоритм имеет следующие шаги:
- 1. Находим среди двух карт старшую, и добавляем 10 баллов если это туз, 8 - если король, 7 - если дама, 6 - если валет. Если старшая карта имеет достоинство <= 10, то добавляем половину от ее достоинства (например если 8, то добавляем 4, если 5 - то 2,5). 2. если карманные карты образуют пару, то умножаем текущее количество баллов на 2 (например если 77, то в итоге получается 7 баллов, если кк - то 16). при этом пара двоек оценивается в 5 баллов. 3. если обе карты одной масти, то добавляем еще 2 балла. 4. если между картами есть разрыв отнимаем баллы:
- - 0 баллов, если нет разрыва; - 1 балл, если разрыв в одну карту; - 2 балла, если разрыв в две карты; - 4 балла, если разрыв в три карты; - 5 баллов, если разрыв в 4 карты и более (для таких карманных карт как туз-два, туз-три и т. д. отнимать 5 баллов).
Таким образом, на основе полученного значения, система принимает решение при игре на префлопе.
Рассмотрим несколько примеров, для наглядной демонстрации работы этого алгоритма.
Рис.4. Количество комбинаций различной силы на префлопе
Ситуация 1. Предположим карманные карты - одномастные туз и король.
- 1. Старшая карта туз: +10 баллов; 2. Одномастные: +2 балла.
Итого: 12 баллов
Ситуация 2. Предположим карманные карты - одномастные 5 и 7.
- 1. Старшая карта 7: +3,5 балла; 2. Одномастные: +2 балла; 3. Разрыв в одну карту: -1 балл; 4. Разрыв в одну карту, причем обе достоинством ниже дамы: +1 балл.
Итого: 6 баллов (5,5 округляется до 6).
Ситуация 3. Предположим карманные карты - 2 и 7 разномастные.
- 1. Старшая карта 7: +3,5 балла; 2. Разрыв в четыре карты и более: -5 баллов.
Итого -1 балла (-1,5 округляется до -1).
Также, путем перебора всех карт, было обнаружено, что сила всех карманных комбинаций лежат в интервале от -1 до + 20 баллов. График распределения количества комбинаций различной силы представлен ниже.
Также было посчитано и среднее значение силы руки = 4,01. Это значение также будет необходимо для работы алгоритма, по принятию решения.
Похожие статьи
-
Обзор имеющихся аналогов - Разработка покерного робота
В наши дни тема большое число людей всерьез занимаются разработкой покерных роботов, но каждый это делает для своих собственных целей. Однако разработка...
-
GS1 - Разработка покерного робота
GS1 агент использует теорию игр для игры в хедз-апХедз-ап - является способом игры в покер, когда за столом играет только два человека. Кроме того,...
-
Программный алгоритм визуальный гаусс В программу включены следующие процедуры: "gauss1", "gaussj", "New1Click", "Button1Click", "Button2Click",...
-
Принятие решений - Разработка объектов Хранилища
Как уже было сказано выше, процесс принятия решений в данной сфере является более чем актуальным. Рынок достаточно насыщен конкурентами, для того, чтобы...
-
SARTRE - Разработка покерного робота
SARTRE агент основан на использовании памяти для принятия решений в хедз-ап играх [3]. Этот робот использует историю рук, сыгранных предыдущими игроками...
-
Описание алгоритмов Рассмотрим один из основных алгоритмов, задействованных в программе, - алгоритм передвижения мяча. Блок-схема алгоритма изображена на...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Необходимо отметить специальный класс приложений - систем поддержки принятия решений, позволяющие моделировать правила и стратегии бизнеса и иметь...
-
Правила Техасского холдема Блайнды. В Техасском холдеме баттоном (от англ. "button" - "кнопка") отмечается номинальный дилер раздачи. Перед началом...
-
Введение - Разработка покерного робота
Сегодня автоматизированные системы применяются практических во всех сферах нашей жизни. В связи с этим в качестве темы выпускной квалификационной работы...
-
С целью более удобного проектирования, настройки, и разделения отдельных исполняемых операций, программа построена на классах, которые взаимодействуют...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
Входная информация разделяется на условно-постоянную и оперативно-учетную информацию. - Условно-постоянная информация включает в себя справочные данные о...
-
Работа с программой будет начинаться с отображения главного меню программы и дисков компьютера в дереве папок. Далее мы сможем выбрать на какой диск...
-
Для ускорения процесса конструирования регулятора в пространстве состояний в Matlab была разработана функция, которая, при должной настройке, позволяет...
-
Библиотека MSHTML MSHTML (так же известен как Trident) - браузерный движок для Microsoft Internet Explorer. Впервые Trident был реализован в четвертой...
-
Алгоритм для определения силы комбинации - Программа построения равновесных стратегий для игры
В играх типа Omaha для определения силы комбинации необходимо учитывать 9 карт: 4 стартовых карты игрока и 5 общих карт. По стандартным правилам покера...
-
При заполнения каждой ячейки таблицы распределения исходов сравнения двух рук нам необходимо перебрать все возможные варианты общих карт. Таким образом...
-
Для тестирования процесса расчета оценок будет специально создан учебный курс с двумя модулями, один из которых будет включать экзамен, а другой - нет. В...
-
Разработаем алгоритм одного из основных методов, используемого в данной программе. Private void pictureBox1_MouseDown(objects sender, MouseEventArgs e)...
-
Описание предметной области Предметная область данного проекта - игра "Морской бой". Она реализуется с помощью нажатий на клавиши мыши (размещение...
-
Для запуска кластеризации пользователю нужно ввести 4 параметра: А) Название ODBC драйвера с созданным подключением. Как создать Такое подключение,...
-
Введение - Программа построения равновесных стратегий для игры
Игра стратегия математический С появлением компьютеров широкое развитие получила тема искусственного интеллекта. Одним из направлений искусственного...
-
Встроенный оптимизатор запросов в Teradata может значительно ускорить запрос по сравнению тем, как если бы команды выполнялись ровно так, как подает...
-
Последовательность действий при принятии решения о внедрении корпоративной информационной системы С чего начать разработку решения? Любая промышленная...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Постановка задачи Необходимо разработать программу для поиска автобусных маршрутов. В качестве среды разработки должна использоваться Delphi 7. В...
-
Для того чтобы оценить экономическую выгоду от внедрения АИС необходимо вычислить трудозатраты компании направленные непосредственно на реализацию...
-
Разработка аппаратно-программной инфраструктуры - Выбор оптимального решения для виртуализации
Для обслуживания 575 рабочих мест понадобится: - 250 тонких клиента Wyse T10 и 15 тонких клиента для аварийного запаса; - 325 тонких клиента Wyse Z90D7 и...
-
Разработка системных требований к рабочим местам - Выбор оптимального решения для виртуализации
Системные требования для первого типа тонкого клиента За место персонального компьютера, на рабочее место будет установлен тонкий клиент. Тонкий клиент...
-
В данном разделе выпускной квалификационной работы описывается процесс разработки программы извлечения КП текста, а также производится оценка качества ее...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
Тестирование, Анализ работы - Разработка программы на языке C++, реализующей игру "Морской бой"
Чтобы проверить корректность работы программы нужно провести тестирование. Бой с противником продолжается до полной победы, т. е. пока не будут...
-
Исходные данные к курсовому проектированию Количество информационных символов k0 = 2 двоичных символа. Количество входов пороговых элементов - 2. Расчет...
-
Согласно нормативным документам, суммарные отчисления в пенсионный фонд, фонд социального страхования и фонды обязательного медицинского страхования...
-
Для оценки возможности выполнения проекта имеющимся в распоряжении разработчика штатным составом исполнителей, нужно рассчитать их среднее количество,...
-
Допустим, что MinSupi = и * |Ci|. Поддержка данного предмета в Ci характеризует число транзакций в этом кластере, которые содержат этот предмет. Поэтому...
-
Обобщенный алгоритм решения задачи Необходимо рассчитать сумму налога на дарение, воспользовавшись налоговой шкалой. Если сумма подарка менее 80, то она...
-
Коллекция транзакций хранится в файле на диске. Алгоритм читает каждую транзакцию t последовательно и присоединяет t к существующему кластеру, или...
-
Кластеризация (или кластерный анализ) -- это задача разбиения множества объектов на группы, называемые кластерами. Внутри каждой группы должны оказаться...
Общий алгоритм принятия решений, Игра на префлопе - Разработка покерного робота