Я давно хотел написать статью о моем хобби, https://onlinepokerdomplay.ru/ уже что -то большое для меня. Я окончил факультет математики (ttsu) в 2012 году. Во время обучения я профессионально играл в покер, как live, никогда не онлайн (yura_ $ 198802, основная учетная запись ps). Я не могу отметить, что я был очень успешным, но для студента это довольно частичная работа. С 2011 года я начал свою карьеру в качестве программиста и продолжаю ее по сей день. Это мой основной источник дохода. Но где -то в 2014 году я серьезно решил начать писать покерного бота, среди глобального. На данный момент «я» перевозился в команду энтузиастов, которая продвигает этот рейтинг вперед! Даже в университете он был довольно тесно знаком с байесовским классификатором, а также имел основные представления о нейронных сетях. В настоящее время это «мейнстрим», чтобы поверить, что если вы нашли соответствующую информацию и деликатно обучили сетку (ml, catboost, tensorflow и т. Д.), То вы сделали что -то похожее на «искусственный интеллект» (далее ии). Я решил, что, поскольку я раскрою верхнюю архитектуру вашего проекта, это может удивить кого -то фактом, что ии - это нечто большее. (Почти для профессионалов в этой области и даже в игре, такой как покер, где, по -видимому, не может избежать использования нейронных сет около 2500 дней. Я хочу сразу же указать, что то, как вы знаете всю информацию обо всех участниках и играете с тем же, в том числе с теми, где ей разрешено легко собрать модель, и она не подходит для хорошего покера для хорошего онлайн -покера. Изначально это следует сделать экспертную систему, тогда вы уже можете бесконечно улучшить и преобразовать. /+> Мы назвали наше решение -> monica Monica. Proxy Это основной блок системы. Это в основном прокси -сервер, который обеспечивает взаимодействие клиента и искусственного интеллекта. Обычно весь проект написан на c#, они немного существуют в ядре. Прокси выполняет партнерские отношения со всеми участниками процесса, за исключением покерного сайта (далее pr). Клиент api - в буквальном смысле это система контроллеров, в которую отправляется вход (json или xml) из своего собственного протокола. Мы передаем из клиента имя функции, которая обязана ответить на параметры. Во время обработки запроса, если все успешно произошло, требуется желаемая функция на сервере, и уже есть команда. Говоря проще (rpc). Orm - основная база, которая является всей историей действий клиента, которая была подключена К серверу, использует mysql. Орм девекспресс. Мы используем dto (dal) подход. База с postgresql пополняется третьими сторонними программами, такими как pt4 и holdemanager. От этого мы просто потягиваем наши параметры. В целом, база postgresql становится архаизмом, поскольку изначально бот играл в сеансах, имеющих только столы с кучей, факт не позволил размягчить картину во всех таблицах одновременно. В 21 веке у нас есть отдельный модуль мониторинга, который закроет эту задачу. Модуль обновления - не самая сильная часть проекта, мы все еще не можем перейти в teamcity из -за того, что то же самое работает;) теперь реализовано так. Существует сервер в теории, отличный от этого, в какой момент зарегистрирован прокси), который, в свою очередь, просто в соответствии с запросом клиента (согласно http, используется внутренний протокол), дает из кондиционированной папки в протокол или ftp вся изменяющаяся часть прокси -папки. В процессе обновления сама прокси перезагружается, а клиент и ридер обновляются из прокси во время запуска. Безопасность - у нас мало проверки на экологическое дружелюбие и безопасность, что -то не используется для ненужного, и теперь где -то просто лжет, но у нашей компании есть такие модули. Существует модуль для связывания eds (x509certificat), который подписывает прямой xml (json). Существует модуль с входом в систему и паролем, если группа поступает от клиента, активации, (ключ активации) или хэш -md5 передается на сервер, а соль привязана к серверу с сервером, есть еще перец. В коде. < Существует модуль даже в соответствии с ответами на ресурс. Внимание! Один из первых сайтов, где использовалась нейронная сеть.Первоначально классифицировать сообщения на веб -сайте (мы не наша компания и просто подготовили варианты ответа. Впоследствии они отказались от этого, в дополнение к комментированию окончательного таблицы об отказе от дивизии. В покерных звездах мало кто пишет на сайте, и это лучше отключить сообщения вообще. Клиентский код выходит из принуждения (мы использовали https://www.Eziriz.Com/dotnet_reactor.Htm, это очень дорого, мы обработали пробная версия, есть опыт работы с https://www.Gapotchenko.Com/eazfuscator.Net). Они сжимали все до 1 exe, с различным весом для каждого клиента и разными доменами. Так что клиент получается будьте агентом безопасности, или он решает сотрудничать с ними и отправит нашу exe (потребитель не видит быстрого запрета кодом на соседних машинах. Я немедленно скажу sb и программы в секрете всей земли, только подростки из amaya gaming group (sb pokerstars). Мы также не знакомы с другими;) в общей сложности вся история использования получила 2 банка от pokerstars всей линии ботов (мой основной счет пришел сюда, и актрисы запретили мне играть с их платформой). 1 -й за тот факт, что они начали бесцеремонно принимать ручных файлов, которые создаются pr, второе, когда они хотели значительно ускорить процесс ввода информации и даже забыть о человеческих движениях мыши. Более того, важный момент о вызове программного обеспечения winapi практически не о том, что у них есть крючки, и они, в принципе, блокируют его. Все представлено и перемещено «оборудование». На данный момент существует три года без запрета с выводами и, кроме того, с одной проверкой sb;) Хорошо, и как будто главное в том, что вся архитектура в целом является в тюрьму за безопасное использование клиентов, что теперь у клиента нет никого, точнее, есть одна душа кода solvele, более точно, но минимум для проходов. Покерные школы отделены от сферы, где происходят решения. Если мы сидим на порту windows, по крайней мере, никто не может добраться туда. Но мне нужно только очень благодарен за критические разумные замечания и различные предложения. Покерный ядро - это третий -частичный модуль, взятый у кого -то, кто написал его на c (c#) в 2000 году. Это модуль, который имеет дело с покерными картами в форме 52 . Почти это помещает линию в карту (шестнадцатеричную маску) macs определяет комбинацию, две карты, звание нескольких ваших карт, карточка, которая выиграла комбинацию, сказал pod sadds. И он делает это около 1000 рук за 0,1 секунды, короче говоря, я просто заканчиваю все, в этом месте он написал около 100 тыс. Линий, на каких глубинах основывалась маска, и риск ее проталкивается через них. Модуль переизложен, полностью исправный, в доступе как днем, так и ночью. На основании этого записываются функции, чтобы определить уличные работники, гатроты, координацию бордового, второго, третьего класса и т. Д. Отобразить все прошлые распределения всех, кто играл на этом сервере, и готов смоделировать момент принятия различных решений из любой части соединений и вызовать ии. Он используется только для анализа неправильных распределений. Это просто лежит в проекте, другими словами по решению, поэтому программисты могут использоваться только программистами. Gui - теперь прокси, это так, как бы панель администратора для многих пользователей, которые используют этот сервер, и на графическом интерфейсе нет ничего. Настройки, кнопки перезапуска и окно журнала сервера, в котором есть только официальная информация. Экскурсия в турнирский покер Перед описанием модуля ии я дам приблизительный обзор того, что игра состоит из турнирного покера. Открыть склад - означает, что карты, которые изучали пользователи, не подходят, и вы должны сдаться и ждать следующего распространения. 1vs0 - означает, что вы сделали разрушение или 3 бета, или 4 ставки, или выставленные, или выпавшие. Распределение либо больше не нужна, либо уже закончилось вашей победой или отъездом. Другими словами, вы выполняли действия только перед предварительным. 1vs1 - определяет, что после действия префлопа появился следующий круг операции и открылся флоп, и вы оставались строго наедине с противником. 1vs2 - означает, что после действия префлопа появился следующий эксплуатационный круг и открылся флоп, и каждый остался строго одним с двумя противниками. 1vs3 Эти графики были получены исключительно из нашей статистики, число каждого человека может быть разным, но в случае покера не более беднее или полностью минимальные скорости, тогда тенденции просто таковы. При принятии решений вы сталкиваетесь с приобретением, принимайте участие или нет или играйте 1 на одном. Именно в соответствии с такими правилами я разработал ии, этот максимальный акцент сделан на таких распределениях. Есть еще один важный момент, который делает победу во время турнира. Цифры в рисунках для красоты. Основой победы (измерение в bb) является поиск слабостей противников и использование их в своих собственных преимуществах. Их очень много, и полностью нейронная сеть изначально не формирует вас. Например, их можно отнести к узким диапазонам открытия, чрезмерно широкой, слабой защиты в области балд, сниженными характеристиками в слепая зона, общая попытка продолжать играть на флопе, напротив, частые сдачи на флопе, реакция на оптовые крысы, реакции на миниатюрные скорости, слабость игры став из трех ставок, неактивных, предоставление положительных шансов на банк, оценка динамики роста стека и т. Д. Распределяет их в течение длительного времени. Но для их профессиональной работы необходима соответствующая статистика, и на самом деле очень оперативная классификация противника, точнее, обнаружение слабости. В самом начале турнира, когда есть много слабых игроков, операция используется довольно охотно и эффективна. В конце турнира вы должны играть с очень сильными соперниками, и в этом случае операционная стратегия должна быть максимально значительной. Чаще всего вы должны играть точно на trp, правильно укладывая диапазон (даже противник по умолчанию), тогда баланс блефа и игры на карте принесет успех. Ai Подключен один интерфейс в современном способе поступления, полученный объектом m_hand, который был сформирован на клиенте. В результате один объект m_decision, на самом деле, решение. (Kol, pass, raiz (какой размер), allin). Проект имеет около 130 тыс. Линий. Поддерживаемые способы пулеметов от девяти человек за столом - до hedz apa. Я скажу, что сейчас есть из основного. Решение на префукте: Open push (open rais ранее были также комбинации с титова, агро и фиш. (На уровнях bllines 1,5,1,9, 2,2, 2,5, 2,7, три-4, пять-семь, десять-13, 17, 25, 30, 35, 42, 50). Он используется в соревнованиях, так как уровень baldmen постоянно меняется. И уже здесь внимание - это обычные области, в которых используется нейронная сеть. После тестирования, выбора шага в расчете и перечислении различных брендов противников, он прекрасно установил киску, которая получает характеристики противников, сидящих после вас, данные о призе (для себя что -то вроде icm, но не так. История получения конкретная победа в турнире другого рода в балансе с возможностью отъезда). А что касается этого, выбрано ряд противников, которые предварительно рассчитывали диапазон атак. Это плюс, который почти рассчитывает любые средства для различных типов игроков, чтобы не рассчитать. И наоборот - очень важный момент, что теперь, если в конце вас, игроки x сидят, откуда x [1.8], а статистика существует только на y, откуда y от [1.8], и это часто случается это x> y, то есть статистика не будет на всех. Нейронная сеть достаточно хорошо выбирает диапазон для определенной ситуации. Таким же образом с точки зрения ep, mp, co, btn, sb, bb рассчитывается из 3 бета против одного. Префлоп рассчитывал при защите от 1 противника, если мы находимся в co, sb, btn, bb (на уровнях линий 1,5,1,9, 2,2, 2,5, 2,7, три-4, 5-10, десять-13, 17, 25, 30, 35, 42, 50), из указанных позиций, защита от 4bet от одного. На каждой из других позиций он играет на основе уровня диапазона по умолчанию с логикой по умолчанию. Существует личная обработка против двух, используется stat4 (postgresql). Мы пытались закрепить нейронную сеть здесь, но в дополнение к линейно -зависимому сжатию (3 бета) из элементов статистики одного из противников, а также позиционного холодного кола. В этой борьбе нет ничего более убедительного. Против трех или более игр в соответствии с шансами банка, больше тициана. Также в соответствии с предварительнописанной логикой. Кампании для огромных банков в позициях на среднем диапазоне и т. Д. Решения на флопе, есть несколько стратегий по умолчанию, abc, есть объяснение fisha, играйте против tita hyper, эксплуатируя betsailing полем стратегии не выделяются в специальных, но используются в радио в ситуации за столом и определяя типы противников. Во время изготовления «герой» остается менее 30 bb, и есть строго один на один, есть один на один, выделенная стратегия, решение принимается в соответствии с совершенно разные принципы, без пересечения с дефолтом. Фактические там используются (физически на диске) предварительно рассчитанные деревья (игра trp против данного диапазона), а где-то в префальных и константах! Во время решения я использую piosolver, у него есть процесс, который можно посмотреть на текстовый api, взять с собой результаты деревьев (они создали). Существуют рассчитанные деревья для каждой флейты (конечно, они обнаруживаются по очереди и реке) в наборных спектрах для 15 bb (адаптированы под 0-25 млрд. Дни.). Существуют рассчитанные деревья в грязных спектрах для hedz apa для 20bb (адаптировано 0-25bb). Они используются и зарекомендовали себя оптимально. Существуют рассчитанные деревья для 50 млрд. Вбайм в обычном месте предварительного протока и в племени, тем не менее, на ранних стадиях, которые я признал слабы пользовательский ассортимент для построения 1755 флоры в программе pio solver, человек выполнял эту работу в течение месяца. Я также скажу, что во время решения используются приблизительно 500 гб очень сжатой рассчитанной информации (7020 деревьев), условия принятия решения принимаются в настоящее время (0,03 ° с -0,4c) где -то в рабочем процессе. В течение долгого времени клиент читает вокруг (0,5-2). И на этом основе общий или ограничивать 3 секунды. (Лежать 10 столов, максимум 14, тогда я действительно не хочу запускать, вероятность возникновения ошибок чтения). Функция была добавлена в клиенту клиента, когда приговор вынесен на клиент, для «гуманизации» Ai является слабым при принятии нестандартных решений, например,, например,, например, в различных префлопах в глубоких стеке или на провале против флопа 3x и больше, чем противники из -за того, что ситуации происходят нечасто, и их очень трудно предсказать. Тем не менее, почти в связи со стратегией лагеря в удобных моментах, все играют в позитивном свете. У нас есть, над чем работать. Itm в обычной mtt> 100 человек не турбо) около 27%, образец на различных отчетах более 10 тысяч игровых турниров с последней модифицированной логикой. Каждое серьезное обновление логики, требует максимальных наблюдений за тестированием, часто это часто, по -видимому, улучшает худшую игру из -за большой дисперсии, и ограниченная область улучшения в области тестирования менее быстро мечтает. Мы готовим серьезное обновление с использованием нейронной сети. А именно, можно было автоматизировать просчету растений на piosolver. Теперь цель состоит в том, чтобы рассчитать приблизительно (52650 деревьев) и просто в соответствии с входными данными противника, как будет выбран предварительно разработанный диапазон, начиная с конкретной ситуацией. Полем piosolver создает решение решений в зависимости от диапазонов, которые установлены для игрока без позиции (ооп) и участника игры: в «позиции (ip), а также в соответствии с дополнительными параметрами. Мы говорим о приложении почти специально сделано для использования бота, ребята сделали все только (наша версия edge). Там каждый может построить префлоп или дерево флопа (и вы хотели бы, чтобы передний фронт был раскрыт нескольким флайсам). У них есть api (как уже написано в точке с ии), и с помощью их я могу взять любое дерево решений, добраться до подразделения и добраться до этого узела дерева, который находится на моем столе для курильщиков. Тем не менее, для них все организовано, так что вы можете не только принимать приобретенные решения, но и с их api, даже безнадежно устанавливать и рассчитывать программно. Сегодня есть блок, который запускается от строительства pio exzeshnik, цепляясь за его вывод и посещение, и есть наш api, который снимает правильную информацию от деревьев. На самом деле, все составляет Monica.Client Это на самом деле клиент, он отвечает за формирование информации в радарном режиме из покерных таблиц полем передает информацию на сервер, получает решение и нажимает на оборудование keys. Перед тем, как его запустить, клиент по покерному сайту должен быть соответственно установить вручную! Поддержка трех ромов (888, партия, ps) была выполнена. Он работает только в окнах из 7 и выше). Желательно поставить его на виртуальный автомобиль, это ни в коем случае не необходимо. Двигатель сканирования - блок, который анализирует на экране радара каждые 0,1 секунды. Согласно косвенным знакам, он понимает, когда его решение сравнивает картину в соответствии с предварительными координатами, в алфавитном порядке (который упакован для каждого рома отдельно, человек) определяет имена скорости ставок и всю разбавленную информацию. И дает серверу. Существует хорошо написанная модель для подключения новых покерных комнат! Это делается довольно быстро - чтобы проверить в течение длительного времени. Функционирует как часы. Api api клавиатуры api api - аппаратный эмулятор используется для регистрации данных (есть клавиатура и мышь), он работает через dll (написано на c), имеет строгий api, it работает, работает. Немедленно. На данный момент боты с описанной технологией определенно не созданы, мы продвинулись к новому поколению информации, но старые продолжают работать без банков. Последнее решение позволяет вам никогда не устанавливать какие -либо программы на компьютере, где зарегистрирована в покер. mouse и клавиатура api и клавиатура будет глупо предоставлять программное обеспечение в winapi. (Они не используются нигде, только если я не ошибаюсь. Одна функция присутствует в 888). Monica.Earader Этот графический интерфейс общается с прокси и покупателем. Где вы можете отслеживать все боты, которые относятся к конкретному человеку с нескольких компьютеров. Сегодня мы переносим этот модуль в интернет (pimevue), так что это приятно контролировать любое устройство. Они даже играют в плюсе?! Когда я начал делать первый бот и запустил его с минимальной логикой, он сыграл о roi -50%(roi -это коэффициент, показывающий прибыльность или убыток, принимая во внимание дело средства, заполненные там. Он измеряется в процентах.) В настоящее время существуют версии и без того большого расстояния от roi 20%, но было подавляющее большинство. Есть варианты с нулевыми результатами. Самая прибыльная бизнес -модель - это запуск многих версий на многих ромах и кого -то, кто знает, как играть в финальные части. В то же время, есть куча автоматических видео от pokerstars, и этот момент, когда наркотик поздравляет наших ботов с победой в огромных турнирах. Наш сайт уже давно ждал запрета старой линии, чтобы покинуть эту игру и смеяться над фразами на форумах персонажей, в таких pokerstars, как sb, с анти -ботами, которые вычисляют вас, как только вы подумаете о них. Название указано о боте, который дороже 50 тыс. Долл. Сша, так как я прочитал статью о покерных ботах на habre, и был фильм, такой как «ну, я бы не писал о бутылке из 50 тысяч долларов, но я пишу ;) P.S. Оценка ценообразования - это чисто моя личная, боты не продаются. Публиковать как развлечение. Они благодарны, что читают до конца.