Введение - Разработка покерного робота
Сегодня автоматизированные системы применяются практических во всех сферах нашей жизни. В связи с этим в качестве темы выпускной квалификационной работы была выбрана именно разработка одной из таких систем, а именно - разработка покерного робота. Покерный робот - это компьютерная программа, принимающая решения для одного из игроков при игре в каком-либо покер руме Покер рум - проект, предоставляющий возможность игры в онлайн покер с людьми со всего мира. Покер рум по своей сути является виртуальным аналогом покерных клубов, только с большим количеством игровых столов и виртуальными дилерами [1]. онлайн. Обычно подобные системы состоят из следующих частей:
- 1. Модуль, получающий необходимую информацию из покерного клиента; 2. Модуль, принимающий решения.
Данный тип систем является крайне интересным для разработки в связи с тем, что он не обладает полной информацией о ситуации для принятия единственного верного решения. Таким образом, данные системы должны анализировать все возможные варианты развития ситуации, и исходя из дополнительно полученных данных, пытаться решить поставленную задачу с наибольшей выгодой для пользователя.
Первые покерные роботы появились в 80-х годах прошлого века. В 1984 году, известный покерный игрок Майк Каро Майк Каро. Родился 16 мая 1944 года. Специалист по стратегии, психологии и статистике. Так же известен как специалист по азартным играм. Автор и соавтор множества книг. Работал как консультант или менеджер во многих казино и покерных онлайн комнатах[1]. разработал первую подобную систему под названием "Орак". Данная программа в 1985 году показала достаточно хорошие результаты при игре с одними из лучших игроков того времени. Покерные роботы стали достаточно популярны в связи с огромным число людей, начавших играть в покер в интернете. Однако не стоит забывать об одной очень примечательной вещи - покер является игрой с неполной информацией. Вы не знаете карты противника, противник не знает ваших карт. Кроме того, никто не знает какие карты выйдут следующими на стол, поскольку они достаются из колоды случайным образом. Более того, покер является игрой, с огромным числом возможных состояний, который не то что человеку, а компьютеру обработать достаточно непросто.
В наши дни, данная тема стала крайне интересной и обсуждаемой в достаточно широких кругах. Игроки говорят о том, что покерные роботы никогда не смогут переиграть настоящего профессионала, поскольку они не обладают живым разумом, а могут лишь подчиняться некоторым правилам. "Бизнесмены", которые хотят заработать на интернет покере, ищут программистов и математиков для написания подобных ботов, способных обыгрывать людей. Есть также и третья категория заинтересованных в данной теме лиц - это те люди, которые пытаются исследовать данную проблему с научной точки зрения, а именно изучить различные подходы к ведению игры и оценке их эффективности. Именно к третей категории и относится данная работа.
В последние годы все больше людей интересуется возможностью научить компьютер играть в покер наравне с живыми игроками. Это и является основной целью данной работы. Если быть более конкретным, то планируется применить некоторые подходы к игре в такую разновидность покера, как Техасский холдем, основанные на теории вероятностей. Следует отметить, что данная цель не может быть достигнута путем реализации только лишь системы, обрабатывающей необходимые данные; для достижения цели необходимо разработать целостную систему, получающую информацию из покерного клиента, интерпретирующую ее и принимающую решение.
В связи с этим разработка данной системы предполагает выполнение следующих задач:
- 1. Поиск покер рума, из клиента которого возможно получить нужную информацию. Сегодня существует несколько крупных покерных компаний предоставляющих своим игрокам возможность играть онлайн при помощи клиента. Проблема состоит в том, что большинство из них имеет достаточно серьезную систему безопасности, которая следит за пользователем и в случае появления подозрений блокирует его аккаунт без каких-либо разбирательств. 2. Получение данных из покерного клиента. Извлечение информации является также достаточно непростой задачей. Для получения информации о текущей раздаче, положении за столом и карт можно использовать сканирование картинки. Однако данный способ является достаточно неустойчивым, поскольку при малейших изменениях в интерфейсе клиента или каких-либо отдельных элементов стола этот метод будет предоставлять не совсем корректную информацию. Второй способ заключается в извлечении информации непосредственно из процесса клиента запущенного в системе. Данный подход позволяет получать наиболее точную информацию. 3. Интерпретация данных. После получения данных из клиента "в сыром виде" необходимо их каким-то образом преобразовать, для того чтобы дальше их можно было анализировать и работать с ними. Данная задача является одной из ключевых, поскольку точность полученных данных напрямую влияет на точность принимаемых решений, и даже малейшая ошибка, может привести к неправильной работе всей системы. 4. Произведение необходимых вычислений для дальнейшего принятия решений. Этот пункт является основной научной составляющей данной работы. Сегодня существует несколько подходов и способов к оценке шансов игрока и силы комбинации. В данной работе планируется объединить некоторые из этих подходов и оценить их эффективность при игре с реальными игроками онлайн. 5. Принятие решения на основе полученных данных. Принятие решений системой будет осуществляться на основе данных полученных с игрового стола и конкретными значениями, необходимыми для принятия решения. 6. Оценка и анализ результатов работы. Чтобы оценить эффективность применения искусственного интеллекта для принятия решений в играх с неполной информацией, необходимо каким-то образом проанализировать и оценить полученные результаты игры. Предполагается оценка результатов игры без использования данной системы (мной и возможно еще кем-то), и с использованием данной системы и сравнение полученных результатов.
В основной части будет представлен обзор по уже существующим исследованиям принятия решений в покере. Затем предполагается подробный рассказ о каждой задаче, о методах и подходах к решению и нюансах. После этого планируется немного описать архитектуру данной программы, ее основные модули и их особенности. Затем будет приведено более развернутое пояснение к принципам работы каждого модуля, типу входных и выходных данных, взаимодействию между различными модулями. После проведения достаточного количества опытов для сбора статистики, она будет представлена и проанализирована на диаграммах и графиках. В заключение будут сделаны вывода по полученным результатам и указаны дальнейшие направления развития данной темы.
Похожие статьи
-
Введение - Разработка объектов Хранилища
Ни для кого не секрет, что проблема хранения и обработки информации является одной из самых важных на данный момент во всем мире. Особенно актуальной эта...
-
Введение - Разработка программы для реализации редактора временных графов синхронизации
Математическое моделирование дискретно-событийных динамических систем является относительно молодым направлением науки теории управления. Разработка...
-
Предметная область IoT (Интернет вещей) - это сеть физических объектов - устройств, транспортных средств, зданий и других вещей со встроенной...
-
Введение - Методика моделирования основных процессов разработки программного обеспечения
В последнее время во многих предприятиях происходит внедрение новых моделей управления и различных информационных систем, обеспечивающих увеличение...
-
Введение - Разработка информационно-справочной системы "Аптека"
Для большинства средних и мелких российских предприятий информационные системы с использованием сетей персональных компьютеров являются фактическим...
-
Введение - Разработка информационной системы "Гостиница"
В настоящее время среди разработчиков базы данных большой популярностью пользуется реляционная система управления базами данных Access, входящая в состав...
-
Введение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
Тема разработки автоматизированной системы контроля успеваемости и вычисления оценок слабо освещена в научной литературе со стороны вычислительной части...
-
ВВЕДЕНИЕ - Разработка проекта информационной системы "Учет оборудования"
На сегодняшний день нет единого понятия информационной системы и информационных технологий. Тем не менее, во множестве источников информационная система...
-
Прогноз погоды - научно обоснованное предположение о будущем состоянии погоды в определенном пункте или регионе на определенный период. Составляется...
-
В наше время все большее количество компаний, стремясь к повышению эффективности и прибыльности бизнеса пользуются цифровыми (автоматизированными)...
-
Введение - Разработка корпоративной сети на основе технологий xDSL
Корпоративный сеть интерфейс Любая организация - это совокупность взаимодействующих структурных элементов (подразделений), каждый из которых может иметь...
-
Введение - Разработка справочной информационной системы "Рецепты"
Задание курсовой работы. Разработать и отладить информационную справочную систему "Рецепты", которая будет позволять хранить, выводить на экран,...
-
Считается, что правильно организованный документооборот и электронный архив документов становятся необходимыми условиями эффективной работы современного...
-
Программный алгоритм визуальный гаусс В программу включены следующие процедуры: "gauss1", "gaussj", "New1Click", "Button1Click", "Button2Click",...
-
ВВЕДЕНИЕ - Разработка базы данных "Гостиничное хозяйство"
Базы данных (БД) и использование в информационных системах (ИС) составляют в настоящее время основу компьютерного обеспечения информационных процессов,...
-
Введение - Разработка программного средства, позволяющего оптимизировать SQL-скрипты
Актуальность. В настоящее время трудно найти фирму, которая не использовала бы базы данных в той или иной форме - учет сотрудников, клиентов, продаж....
-
ВВЕДЕНИЕ - Разработка сайта для компании
ООО "ИнтехПБ" - компания по продаже лицензий промышленной безопастности, работающая с 2013 года в Челябинской, Свердловской и Курганской областях....
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Введение, Этапы разработки программы - Разработка программы "Будильник"
Внедрение электронно-вычислительных машин, современных средств переработки и передачи информации послужило началом нового процесса, называемым...
-
Введение В настоящем дипломном проекте исследуются вопросы, связанные с генерацией искусственных биометрических образов. Рассматриваются различные...
-
XXI век - эра компьютерных технологий, время автоматизации процессов. Компьютеры стали неотъемлемой частью нашей жизни, они окружают нас повсеместно....
-
Бизнес - планирование, являясь нормой любой предпринимательской деятельности, необходимо для предвидения будущей ситуации, стратегических решений и для...
-
Введение - Разработка автоматизированной системы расписания занятий учебного заведения
Одной из важнейших проблем качественной организации учебного процесса в высшем учебном заведении является задача создания автоматизированного учебного...
-
ВВЕДЕНИЕ - Разработка программы на языке C++, реализующей игру "Морской бой"
Данная курсовая работа направлена на изучение принципов объектно-ориентированного программирования. Разработать программу на языке C++, реализующую игру...
-
Введение - Разработка прототипа веб-приложения "Репозиторий электронных ресурсов"
Большое количество информации, а именно библиографические ресурсы, доступные в электронном варианте, включающие в себя учебно-методические пособия,...
-
ВВЕДЕНИЕ - Разработка системы регистрации новых пользователей
В связи с развитием рыночных отношений в России и необходимостью сокращения разрыва в технологическом отставании России от западных стран, актуальным...
-
Введение - Разработка и администрирование баз данных
Современное человечество включилось в общеисторический процесс, называемый информатизацией. Этот процесс включает в себя доступность любого гражданина к...
-
Дипломная работа посвящена проектированию базы данных (БД), а также разработке интерфейса к ней на примере потребностей охранного предприятия ООО...
-
Введение - Проектирование и разработка базы данных "Прокат автомобилей"
В настоящее время большинство организаций используют различные базы данных для автоматизации процессов обработки информации, удобства ее эксплуатации,...
-
Актуальность исследования. Компьютерный эксперимент - это исследование математической модели объекта изучения на ЭВМ, состоящее в том, что, по известным...
-
В данной выпускной квалификационной работе разработан прототип умного почтового ящика, удаленного сетевого устройства для контроля почтовой...
-
Введение - Разработка интернет-магазина компьютерной техники
Сайт (веб-сайт англ. website, от web -- паутина, "веб" и site -- "место") - это место во всемирной сети (интернете), которое имеет свой адрес,...
-
Введение - Разработка видеолекций по программированию С++
Видео обучение является одной из форм дистанционного обучения, представляющая собой набор систематически подобранных видеолекций по заданной теме,...
-
Введение - Разработка проекта автоматизации системы водоснабжения
Ускорение научно-технического прогресса и интенсификация производства невозможны без применения средств автоматизации. Характерной особенностью...
-
ВВЕДЕНИЕ - Разработка сайта для сельскохозяйственного предприятия
В настоящие время во всем мире широкое развитие получили информационно-коммуникационные технологии. Практически все крупные и средние компании в...
-
Введение в экспертные системы. Определение и структура - Разработка интеллектуальных подсистем САПР
В качестве рабочего определения экспертной системы примем следующее. Экспертные Системы это сложные программные комплексы, аккумулирующие знания...
-
Введение - Разработка системы автоматизации учета кадров для малых фирм на этапе стартапа
Актуальность выбранной темы. В повседневной жизни люди все чаще нуждаются в ЭВМ, с каждым днем потребность в электронных устройства возрастает и это...
-
Введение - Разработка системы управления базой данных "Судоходство"
Любому предприятию, фирме, организации в процессе экономической деятельности приходится постоянно сталкиваться с большими информационными потоками:...
-
Практика проходилась в НИИ "Центрпрограммсистем" в течении 5 недель. ЗАО НИИ ЦПС - крупная научная организация, насчитывающая более 550 специалистов, в...
-
Введение - Технология разработки программного обеспечения систем управления
С++ является языком объектно-ориентированного программирования (ООП). Объект - абстрактная сущность, наделенная характеристиками объектов реального мира....
Введение - Разработка покерного робота