Победа над покерным ботом



есть новый покер бот с открытым исходным кодом под названием PokerPirate. Меня интересуют любые творческие способы, с помощью которых веб-приложение может обнаружить/помешать/победить покерного бота. (Это чисто академическая дискуссия, в том же духе, что и PokerPirate был написан.)

1477   12  

12 ответов:

победить бота с точки зрения сервера

  1. многие сайты онлайн-покера используют всплывающее окно капчу входы, которые вызваны подозрительная деятельность.

  2. некоторые покерные сайты контролируют игру времена и модели (т. е., худший случай сценарий-это игрок, который играет 24х7 и 16 таблиц непрерывно, там крошечный крошечный шанс это реально человеческий. (Однако некоторые игроки есть возможность играть очень большие объемы рук который неопытному глазу покажется ботом)

  3. бросьте его глюки. Если вы подозреваете, игрок является ботом, меняйте все свои игральные карты позиции от нескольких пиксели на экране, сделайте их различные цвета / конструкции / картины для 1/100 руки и посмотреть, если он бросает их. Если он не может экран захватить его будет тайм-аут на все ее решения и это довольно убедительный бот доказательства.

  4. время говорит, Если компьютер игрок реагирует на параметры в миллисекундах на время без паузы для размышлений на крупных решениях, это может быть подозрительно

  5. самоконтроль. Покерный сайт pokertableratings.com данные шахт много на больших площадках. Оно имеет был встречен смешанным приемом, некоторые любят прозрачность, другие ненавижу его. Однако выгода, , это были случаи где подозрительный игрок статистика (проценты VPIP, ПФР проценты несколько из большого количество поддающихся количественной оценке статистических данных что можно записать) имеют привести к выводы об обмане

  6. искусственным интеллектом классификация сетей может мониторинг количественной статистики для классифицировать изгоев обман или роботизированная игроки.

  7. назад, когда онлайн-покер был довольно новое существо, ходили слухи и говорить ограниченные доказательства того, что какой-то покерный клиент программное обеспечение скриншоты подозрительных игроков рабочие столы, чтобы увидеть, если они были запущены программы, которые им помогают. Однако (даже если бы это было правдой) запуск двух компьютеров для выполнения двух задач независимо друг от друга обошел бы это.

  8. обмен информацией между повторяться преступники на нескольких сайтах было бы полезно для отрасли, если бы только они были честными и управляемый компетентных, ответственных люди

  9. некоторые боты, вероятно, будет довольно простой по дизайну, если бы вы могли обнаружить их стиль игры и посмотреть, как они действуют в идентичных ситуациях (обратите внимание на это возможно только с неискушенные боты играют очень основная стратегия) вы можете обнаружить им достаточно быстро.

  10. непоследовательное использование программы особенности наклонялась к игрок является подлинным. Принимать пример многих покерных сайтов в игре есть ' складка, когда это моя очередь кнопка. Если вы получаете дело плохо руки так и ждут другого игроку решать, что делать, очень много игроки будут проверять эту кнопку. Бот может использовать эти кнопки. Этот разница в том, что бот был бы на крайних частотах использования, они, вероятно, либо использовали бы их все время, либо вообще не использовали. Где игрок обычно может нажать "автофолд", но иногда они будут нажмите сложить в любом случае, даже в самых выгодные условия. Например, настоящий игрок обычно нажимает автоматическая складка, но на этот раз они этого не делают. Он сложен вокруг них без каких-либо другой игрок действует, теперь у них были представлены самые благоприятное состояние возможно. Сейчас если они нажмут сложить, они будут иметь был сильно склонен нажимать автофолд с самого начала. Это несогласованный / неоптимизированный / случайный поведение, совместимая с человеческий. Время говорит о том, когда эти функции нажаты другие индикаторы. Важно признать, что это все показатели и не убедительное доказательство. Все эти поведенческие индикаторы можно легко смоделировать.

победить бота с точки зрения игроков

  1. пытаюсь войти и собрать как можно больше данных с помощью программного обеспечения, как PokerTracker

  2. попытка определить закономерности в его стиль игры

  3. попытка найти отношения между размером ставки пропорционально горшок/# игроки и сила рук

  4. попробуйте вычислить его рукой. Бот с низкими ставками, вероятно, не будет блефовать достаточно часто, чтобы иметь какую-либо значительную стратегическую проблему, поэтому построение высокоточных диапазонов рук для него не должно быть слишком сложным.

  5. попытка найти утечки в его игра через анализ данных и пробную версию и ошибка как только утечки / картины имеют была найдена, попытка повторения эксплуатировать их и избежать каких-либо других положения.

где человек способен адаптация, боты, вероятно, меньше, и где люди взвешены цепями угол наклона,результаты ориентированное мышление и разочарование, боты не. Вы можете использовать это в своих интересах.

таким образом, по сути, вы ничего не можете сделать, чтобы остановить его, если робот достаточно умен, чтобы имитировать реальные временные задержки во время решения, а также создавать разумные и реалистичные игровые шаблоны. Бросьте в некоторых случайных условиях и простой бэк-чат (игроки в покер лексикон как правило, довольно ограниченный) и у вас есть сам игрок AI, который будет довольно трудно обнаружить.

что боты могут сделать, чтобы избежать обнаружения

ключ, чтобы избежать обнаружения будет думать о проблеме со всех возможных углов зрения. Вы пытаетесь моделируйте разумное поведение человека в очень маленьком и ограниченном мире. Большинство поведенческих симуляций, которые вы можете запустить, довольно очевидны, но чем более непоследователен и непредсказуем ваш бот, тем меньше вероятность его обнаружения.

  1. создание реалистичных графиков игры (т. е. 3-5 раз в неделю по 4 часа в день сессии с лишним недели здесь в течение года).

  2. запуск программ для принятия решений отдельный компьютер, управление зомби компьютер в случае каких-либо сайтах снимок экрана.

  3. Рандомизируйте тайминги действий (не действуйте немедленно, подождать 0.5–2 секунды действие)

  4. время вниз на большие решения. Если решение является пограничным, рассчитать тогда решение подождать некоторое время, чтобы имитация мысли.

  5. случайное использование функций клиентского программного обеспечения. Имитировать туалет перерывы, нажав кнопку кнопка "deal me out" на всех таблиц и 5 минутный перерыв каждый сейчас и потом.

  6. имитация чат, покер чат часто очень простой один лайнеры, никогда обычно обсуждение или дебаты. Сказать такие вещи, как" невезучий "или" stfu " в соответствующие обнаруживаемые моменты. Или даже у кодера есть мониторинг его бот и участие в чате во время исполнение.

  7. убедитесь, что движения мыши реалистичный. Если таблицы есть плиточным не принимайте решение о верхняя левая таблица после этого немедленно делает на дне правый столик. Большинство сайтов программного обеспечения в настоящее время предлагают сочетания клавиш, они могут быть предпочтительнее использовать как предполагается mousemovement.

  8. делать то, что довольно просто AI классификаторы не будут ожидать. Для например, раз в год звоните им с помощью простого несложного запроса ("помочь я не могу войдите сегодня!"или "Интернет не работает!") Вряд ли будет иметь большое значение, но если человек, работающий на покерную компанию, достаточно умен, они могли бы признать его реальным указатель.

  9. спорадические проигрышные сессии. Наклон может смоделируйте и бот может играть плохо и потерять немного денег каждый сейчас и. все наклоны в какой-то точка.

проблема также в том, что покерные сайты не особенно заботятся о том, работают ли боты в своих сетях, каждый игрок стоит большой суммы в рейке и теоретически с чисто циничной точки зрения бизнеса единственным недостатком будет плохая пресса, если это было обнаружено.

даже когда были обнаружены вопиющие подвиги, (поиск в google для сеть Cereus скандалы или Абсолютный Покерный Скандал, это довольно шокирует) бизнес, похоже, выживает и остается здоровым, только теряя хорошо образованных и выигрывающих игроков (которых не так много). Это увеличивает долю менее квалифицированных игроков в сети, что в свою очередь привлекает хороших игроков обратно. Это хороший старомодный улов 22. Отличный аргумент для правильного регулирования рынка.

важно отметить, что для каждой игры Нэш существует равновесие. У онлайн-покера есть временная шкала к нему так, как он работает сейчас, ему придется перейти во что-то более социальное (веб-камера/voip) для тех, кто доверяет ему в будущем (если люди доверяют ему), поскольку боты в конечном итоге возьмут верх как математически превосходящий и психологически иммунный. Покерное сообщество AI-это очень активный, работающих академией и / или капитальной выгодой.

более простые версии покера, такие как limit poker были почти решена в небольших пространствах поиска. Это только вопрос времени до более сложных версий игры (без ограничений вариаций/ Pot Limit Omaha etc) стать beatable для искусственных игроков.

вывод

сложные боты просто не могут быть обнаружены, пока индустрия не перейдет к более социальным онлайн-играм установочный. Это не решит проблему, но, безусловно, затруднит победу ботов на более низких уровнях. Мы уже видели небольшой сдвиг с выпуском PKR,3D и более интерактивными, меньше рук в час версия других сайтов, где multitabling довольно сложно выполнить для игрока.

проблема также страдает от характера отрасли, еще одна причина придерживаться более крупных более авторитетных веб-сайтов, где репутация становится все более интегрированной в их бизнес-модель. Отсутствие прозрачности и наигранным transarancy не поможет делу.

реальная проблема в настоящее время для разработчиков бота написать выигрышный алгоритм, это не так тривиально, как кажется. Каждый, кто играет в покер считает себя хорошим, выигрышным или безубыточным игроком, что просто не соответствует действительности. Вот почему люди продолжают играть, даже когда они теряют деньги, так как они находятся под иллюзия им просто не повезло, или их стиль игры неправильно понят. Это высокомерие и слабость в человеческой психологии стоили проигравшим игрокам много денег и является основной причиной того, что покер все еще может быть прибыльным.

покер-это чрезвычайно сложная игра, которая занимает годы, чтобы стать хорошей (старая пословица остается верной: "десять минут, чтобы учиться, всю жизнь, чтобы овладеть"). Элемент удачи крайне ограничен в долгосрочной перспективе.

Как и любая другая профессия, чтобы получить хорошо, вам нужно учиться сотни и сотни часов, и играть в течение многих тысяч. Вы поймете то, что менее опытные игроки не поймут, заметите то, что менее опытные не заметят. Обучение продолжается очень, очень долго, возможно, дольше, чем мы когда-либо сможем прожить. Это сложная игра.

Как часто вы видели игру с высокими ставками по телевизору и слышали, как кто-то кричал на нее: "это легкий вызов!"таким образом, доказывая, что любители действительно не делают поймите или признайте сложность в игре, и действительно верьте, что игра на этом уровне все еще в конечном счете проста. Это не так. Тех игроков высоких лимитов (большую часть времени) есть на телевидении, потому что они действительно действительнодействительно хорошо. Существует также, вероятно, сложная мета-игра, которую наш амауэр не может распознать существование. Аматор не стал бы стоять над шахматным мастером и кричать им, чтобы они двигали своего коня, пока из-за того, что динамика покера является несовершенной информацией, их психология заставляет их действительно верить в то, что они говорят. Как и в шахматах, решения могут быть сложными, чувствительными и чрезвычайно важными для общей игры. По мере усложнения игры, тривиальные решения уже не так тривиальны, потому что ваш противник ожидает их.

Как только вы переместите своего бота или свою игру вверх по уровням, вы неизбежно столкнетесь с большим количеством более опытных игроков. Затем, сложность вашей стратегии будет заключаться в том, чтобы перейти на следующий уровень, учитывая изображения,балансировка диапазона, сложный и интеллектуальный блеф (т. е. не просто блеф в слабости, блеф в диапазонах и блеф на изображении и т. д.), с более детальным анализом диапазона рук. Это действительно другая игра, как вы двигаться вверх.

после того, как выигрышный бот был написан, без сомнения, у кодера будет достаточно навыков, знаний и здравого смысла чтобы применить бота в необнаружимой форме. Для них это тривиально.

Так что вы действительно ничего не можете сделать. Если вы хотите играть онлайн, понимайте риски. Никогда не рискуйте больше денег, чем вы можете себе позволить, и старайтесь вести точный учет расходов, чтобы у вас не было ошибочной, нереалистичной и в конечном итоге вредной оценки ваших собственных способностей. Есть стоп-лоссы, и выйти из таблицы, если у вас нет края, или если вы не уверены, если у вас есть край! Конечно, если все делали то, что никто не выиграет, вот хищническая и эксплуататорская природа игры, вот откуда берется конкуренция и вот что делает ее веселой.

есть три отдельные области для рассмотрения. Бот должен выяснить состояние таблицы, принять решение и отправить решение обратно к хозяину.

выяснить состояние таблицы намного проще, если она передается по проводу в какой-то узнаваемой форме или отображается пользователю в виде стандартного текста. Во-первых, сделать распознавание изображений единственным вариантом, а затем сделать это как можно сложнее. Отображение карт в 3D и медленно изменить ориентацию и положение карт. Анимируйте маленькие мерцания или фейерверки перед картами, поэтому любой снимок экрана может быть неразборчивым, но даже для этого требуется время.

с принятием решения ничего не поделаешь. Попытка решить, было ли решение принято человеком или нет, похожа на тест Тьюринга почти без информации.

отправка решения обратно может быть затруднена с помощью 3D снова. Затрудняйте отправку пакетов напрямую или иным образом отправляйте решение любыми другими способами чем нажатие кнопки с помощью мыши. Слегка перемещайте кнопки при каждом действии или медленно перемещайте их по игровой площадке в ожидании решения. Отключите все функции специальных возможностей, которые позволяют находить кнопки или управлять ими.

PokerPirate, как и почти каждый покер бот когда-либо написанный, работает путем выскабливания экрана и имитации щелчков мыши в приложении для покера Windows. Поэтому Линч-пин для системы - это ее способность распознавать объекты в игре и совершать действия в окне. Как бы умно это ни было в покере, у него, вероятно, все еще есть проблемы с этими основными операциями.

поэтому очевидные способы помешать этому боту будут включать:

  1. реализовать капчу, либо перед игра, или когда другие факторы предполагают, что игрок может быть ботом.
  2. сделать таблицу графики более сложной, или изменить тему на протяжении всей игры.
  3. обнаружение необычно быстрых и / или роботизированных движений мыши и щелчков (человек никогда не будет перемещать мышь в математически совершенной линии).

В идеале единственным допустимым решением является создание логики honeypot, которая заманивает занятого бота, обеспечивая соблазн более благоприятного логического условия, которое благоприятствует самым идеальным поведенческим реакциям бота. После того, как бот занимается honeypot, вы должны постоянно кормить условия бота, которые он предпочитает, предполагая, что бот не имеет установленного таймаута. Затем бот может быть измерен, зарегистрирован и изучен. В дополнение к боту у вас также будут сетевые и сессионные данные изолированный для изучения при условии, что бот не подключается через TOR.

в этой ситуации детерминированные соображения, подходящие для дифференциации бота от человека, менее серьезны, однако детерминированные соображения при идентификации поведения бота становятся более серьезными. К сожалению, владелец бота может внести изменения в бота, чтобы предотвратить такую идентификацию, если этот владелец знает о состоянии honeypot или его логическом рассмотрении.

поражение покерных ботов может принимать две формы: вы можете попытаться идентифицировать их и запретить их из системы, или вы можете просто победить их в покере. Обыграть их в покер - более интересный академический вопрос. : -)

смотрите здесь некоторые статьи об избиении покерных ботов:http://www.cs.cmu.edu / ~sganzfri/

смотреть на этот пост

этот пост также есть несколько хороших советов о том, как им помешать.

еще одна мысль о возиться с экраном, чтобы сделать его трудно сканировать:

сделать карту из целого ряда различных цветов-близко в человеческих глазах термины, но не то же самое. Это затруднило бы выбор материала для чтения. С другой стороны, положите поддельные записи на карту в цветах, которые человеческий глаз не будет отделять от фона.

проблема с ботами заключается в том, что они играют лучше, чем приличные человеческие игроки, или что они могут ждать вокруг 24/7 для плохих игроков, чтобы появиться, а затем попытаться доить их?

Я не уверен, как можно утверждать, что пространство решений для limit poker "решается", когда оптимальная стратегия для игрока будет быть под влиянием того, что известно о сопернике. Как может любая попытка анализа игроков претендовать на то, что она настолько совершенна, что ее нельзя улучшить?

Если у вас есть доступ к большому количеству игр, вы можете воспользоваться интеллектуального анализа данных. Игровая сила ИИ должна быть довольно последовательной, в то время как для людей, вероятно, существуют простые шаблоны - более слабые в первых нескольких раундах разминки, а сила ухудшается после игры в течение длительного времени. Кроме того, человеческие времена принятия решений, вероятно, растут, когда на кону больше денег.

Если у вас есть доступ к движениям мыши (или, по крайней мере, нажмите места, что верно даже для веб-приложений), он должен быть довольно простым в распознавании ботов, за исключением самых сложных из них. Люди не перемещают мышь по точной прямой линии, у них есть периоды ускорения и замедления, статистически описываемые распределения местоположения щелчка и т. д.

посмотреть Ajax Control Toolkit NoBot:

NoBot использует несколько различных методов борьбы с ботом:

* Forcing the client's browser to perform a configurable JavaScript calculation and verifying the result as part of the postback. (Ex: the calculation may be a simple numeric one, or may also involve the DOM for added assurance that a browser is involved)

* Enforcing a configurable delay between when a form is requested and when it can be posted back. (Ex: a human is unlikely to complete a form in less than two seconds)

* Enforcing a configurable limit to the number of acceptable requests per IP address per unit of time. (Ex: a human is unlikely to submit the same form more than five times in one minute)

100% решение невозможно, то, что я намереваюсь это решение, которое позволит сэкономить деньги, используя ИИ против себя. Есть экземпляр AI PokerPirate работает на стороне сервера и играет в качестве невидимого игрока в каждой игре. Если какой-либо игрок выполняет слишком много одинаковых действий, то они, вероятно, запускают экземпляр PokerPirate. Это своего рода Honeypot или ловушка, в которую может попасть злоумышленник. Злоумышленник может защититься от этого приманки, делая их бот менее успешным. Таким образом, это создает пришел из "кошки-мышки", в котором злоумышленник всегда может украсть некоторые деньги, и защитник всегда можете сохранить некоторые деньги.

есть гораздо более простые способы. да. многие предложения верны и необходимы. но около 90% мошенничеств выявляются слишком простым способом.

Если кто-то позволит боту работать на него, через некоторое время он захочет, чтобы на него работал второй бот. (другая машина или что-то еще) но: он будет использовать тот же пароль, что и трудно запомнить 2 (

что осталось: проверьте учетные записи с одинаковым поведением игры и тем же паролем хэш.

Comments

    Ничего не найдено.