История и социальные устои наших электронных повелителей
Люди – зверьки стайные. Даже выдающиеся злодеи имеют обычай видеться с другими людьми, которых позиционируют как своих друзей. И операторы покер ботов (которых теперь будем называть боттеры), тоже не отличаются от нормальных людей. Они так же собираются в социальные группы, чтобы обсуждать стратегии игры в покер, техники строения искусственного интеллекта, методы сокрытия ботов, системы безопасности покер сайтов или даже футбол. На своих форумах боттеры сбиваются в группы, чтобы организовывать акты боттинговых вторжений совместно. В каком-то смысле, эти злодеи ведут себя на удивление по-человечески.
Большинство форумных сообществ боттеров – доступны широкой публике. Поэтому мы обратимся к ним непосредственно, дабы посмотреть, что именно нам удастся выяснить о середнячке-боттере, который посещает специализированные форумы. Но поскольку подавляющая часть мира ботостроительства покрыта мраком – подобного рода взгляд не сможет обрисовать полную его картину. И хоть на выходе мы получим только общее представление, этого, на мой взгляд, будет вполне достаточно.
В случае, если вы пропустили первую часть этой серии, я настоятельно рекомендую вам ознакомиться с её содержанием. Кроме того, что с этого момента я начну пользоваться ранее введённой терминологией – первая часть серии поможет вам развеять и некоторые ошибочные представления о боттинге.
Дисклеймер
Несмотря на то, что я пребываю в мире покера уже какое-то время, я всё ещё достаточно молод. Я оказался увлечён игрой лишь в 2005 году, поэтому некоторую часть разработок искусственного интеллекта я неизбежно упустил. По этой причине я не испытал на личном опыте всех тех вещей, о которых буду писать в первой половине поста и поэтому не исключено, что я могу немного ошибаться. В любом случае, сомневаюсь, что тонкости сыграют решающую роль, да и бывалые читатели могут без стеснений поправить меня, если в этом будет необходимость.
:: :: :: :: :: :: ::
Обратно в 90-ые
Первые игры в онлайн покер были реализованы в начале девяностых. В то время ещё не существовало красивых покер клиентов, которые мы можем использовать сегодня, и покер девяностых выглядел вот так:
На всякий случай, если вы не узнали данное за окно, то это IRC: сервисная система, при помощи которой можно общаться/чатиться через сеть Интернет. Завсегдатаи всемирной паутины получили в своё распоряжение IRC в далёком 1988 году, когда и происходили первые интернет чаты. IRC базируется на специальных серверах, которые разделены на тематические каналы:
То есть интернет пользователи, по выбору, подключаются к одному или нескольким серверам, каждый из которых осуществляет поддержку определённого канала. После подключения к серверу, пользователь может сменить или добавить канал, будучи способным общаться с людьми, так же подсоединившимся к какому-то из серверов. С популяризацией IRC, этот протокол стал использоваться для совершенно различных целей, вроде вареза (распространения нелегальных данных) или организации игр, одной из которых и стал покер.
Как только люди получили возможность играть в покер при использовании чата, им понадобилась и исполнительная программа, которая бы сдавала карты и брала на себя другие обязательства дилера. Создание такой программы не заставило себя ждать и полученный продукт назвали «poker bot». Таким образом всех участников покер игр в IRC не являющихся людьми – стали называть ботами. Одним из первых представителей своего класса стал PBot. Просто, для внесения ясности: боты, которые играли в покер тогда это совершенно другие программы, в сравнении с ботами сегодняшними.
Так или иначе, IRC (и весь интернет в целом, в девяностых) использовался только продвинутыми пользователями. Поэтому нет ничего удивительного в том, что каждый отдельно взятый человек захотел написать собственного IRC бота для игры в покер. В итоге свет увидело самое первое сообщество, в рамках которого начали обсуждать архитектуру покер ботов. Но в виду того, что мотивация первых создателей искусственного интеллекта не была подкреплена реальными деньгами, то и прогресс в направлении совершенствования покер бот технологий был куда менее явным, чем сегодняшний.
К сожалению, о тех славных временах написано не так много историй, а моё собственное сознание ещё не окрепло достаточно, к тому моменту. Так или иначе, действительностью является факт – онлайн покер, ровно как и покер боттинг, были созданы именно во времена расцвета чат протокола IRC.
Бум покера
Когда современные покер сайты получили своё развитие и наступила новая эра интернет игр – существенно возросла и популярность создания покер ботов. Тому были очевидные причины: игроки получили возможность зарабатывать сотни тысяч долларов в день (во времена покер бума), что означало – если вы являетесь обладателем покер бота, вы можете позволить себе то же самое. Вы могли бы пойти спать, оставив бота трудиться, чтобы проснуться уже миллионером. А что, если играть сразу с нескольких учётных записей? В итоге разработкой покер ботов стали заниматься очень многие люди. К большой удаче любителей покер из плоти и крови – создать мощный исполнительный блок искусственного интеллекта далеко непросто. В противном случае онлайн покер был бы мёртв уже очень давно.
WinHoldem
В 2004-ом году релизом отметилась программируемая среда под названием WinHoldem. С помощью этой программы люди могли легко создавать и использовать своих собственных ботов.
Интеллект своего бота пользователь составлял при помощи специальных формул, странноватого языка программирования WinHoldem. Для формул существовал специальный редактор:
Формула, определяющая требования к рейзу с префлопа выглядит примерно вот так:
0
//Always Raise Pre Flop
|| [ br==1 && { $aa || $kk } ]
//Usually Raise Pre Flop
|| [ br==1 && { $qq || $aks || $ak } && { dealposition/nplayersdealt > .499 } ]
//…
В данном случае, значение «0» определяет действие по умолчанию, то есть фолд. Символы «||» означают логическое «или», а переменная «br==1» означает первый круг торгов (betround), или перфлоп. Получается, что выполняя команду, описанную в представленной формуле, бот будет играть рейзом с префлопа, имея карманных тузов или королей, или открывать рейзом с дамами или AK, если в этот момент бот находится в поздней позиции.
Поскольку вы уже читали мой первый пост о ботах, вы, возможно, уже определили, о каком именно боте мы говорим прямо сейчас; разумеется о боте, основанном на правилах. В общем, даже при том, что WinHoldem сделал ботостроительство намного более доступным для широкой общественности, в своей сущности он не подразумевал слишком большой опасности для онлайн покера. Кроме того, покер сайты уже тогда активно боролись против боттеров, сканируя операционные системы своих игроков на наличие установленного приложения WinHoldem, обладатели которого незамедлительно получали бан в руме.
Однако несмотря ни на что, WinHoldem стал привлекать очень много пользователей, которые, в конечном итоге, создали целый форум, посвящённый этой боттерской программе. Тут обсуждались стратегии игры, технические детали и многие другие темы. В какой-то момент времени общение вылилось в создание различных лабораторий: объединённых групп, состоящих из нескольких представителей форума, целью которых было совместная работа над определённым типом искусственного интеллекта. Некоторые лаборатории погибли, другим повезло оказаться более успешными и написать плюсового бота, третьи выбрасывали свои наработки на общественное обозрение.
Великий раскол
Часть представителей форумов WinHoldem больше не была удовлетворена как самой устаревающей программой, так и сообществом и его создателями, поэтому их решением был уход с последующей сменой мест дислокации. Благодаря этому появился новый программный продукт для создания ботов: OpenHoldem – клон WinHoldem с открытым исходным кодом. Его авторы также создали и новое сообщество, домашним форумом которого стал сайт maxinmontreal.com. Однако, в свете нового уровня приватности форума для разработчиков OpenHoldem – создаваемый или обсуждаемый там контент становился достоянием лишь немногих, избранных боттеров. Разработки на базе OpenHoldem активно ведутся и по сегодняшний день. Лично я подозреваю, что большинство боттеров последнего из указанных сообществ работают над встраиваемым блоком для скрэппинга, а в то время как сами боты создаются на сторонних языках программирования.
Академический интерес
На протяжении многих лет усилению развития искусственного интеллекта также способствовал академический интерес. В настоящее время об этом явлении пишут многие информационные издания, а первый шаг в данном направлении был проделан членами Университета Альберты, в стенах которого, действиями специальной группы разработчиков, были проведены первые глубокие исследования ботов для игры в покер (публикации об их успешных попытках создания ботов появились в 1997-ом). Члены CPRG, кроме прочего, стали авторами ежегодного соревнования среди ботов, в рамках которого академические (и не очень академические) модели искусственного интеллекта блефовали и баррелили за первое место.
На своём счету CPRG имеют и другой, коммерческий проект Poker Academy Pro – свободно распространяемую программу, эмулирующую ботов, созданных в Университете Альберты, сыграть против которых предлагалось человеку. Разработка была представлена как инструмент для тренировки игроков, которые могут подтянуть свой уровень карточной подготовки. Более поздняя версия программы предполагала наличие компонента, благодаря которому игроки могли связываться по сети, чтобы играть друг против друга на фантики, а также против самого сильного бота CPRG — Polaris. Домашний сайт программы, к сожалению, больше не работает www.poker-academy.com.
Указанный вебсайт содержал форум, малочисленные члены которого, в основном, предпринимали попытки написать собственного бота с характеристиками аналогичными ботам Университета Альберты (используя технику вроде контрафактической минимизации, базис, на котором основывался сильнейший бот CPRG). Все эти форумы ныне бездействуют.
Высший пилотаж: PokerAI.org
На сегодняшний день самое влиятельное сообщество боттеров располагается на страницах форума PokerAI.org, который подразделяется на несколько ведущих блоков:
• Общие форумы, где ведётся обсуждение на темы связанные с созданием покер ботов;
• Труды о покере, где публикуются последние научные обзоры, связанные с созданием покер ботов;
• Интернет боттинг, где обсуждаются покер сайты и системы их безопасности;
• Форумы с ограниченным доступом, попасть на которые вы можете, только если заслужите определённое уважение в сообществе. Лично у меня доступа к этому разделу нет, но я слышал, что там нет ничего запредельно захватывающего.
Пользователи этих форумов открыто обсуждают варианты обхода систем безопасности румов или помогают друг другу в решении задач, связанных с конструированием ботов, и так далее. Я советую каждому игроку в покер посвятить этому форуму какое-то время, просто, чтобы ощутить размах.
Остальные
Понятное дело, существуют и другие подразделения по разработке искусственного интеллекта, деятельность которых не была затронута в этом разговоре. Некоторые из «остальных», например, промышляют продажей готовых к использованию. Один из таких продавцов – Shanky Technologies. Их продукт представляет собой бота с уже предписанными стратегиями и как бот, созданный на базе аналогичной WinHoldem – предполагает перепрограммирование добавлением дополнительных правил. У этих людей тоже есть своё сообщество, члены которого тоже обсуждают различные вопросы мира боттинга на своих форумах.
Наблюдения
Присматривая за активностью сообществ боттеров многие годы, я могу сделать несколько выводов. Первым является тот факт, что 99% людей, которые предпринимают попытки написать покер бота – терпят неудачу. Большинство из них проваливаются даже не начав: они могут приобрести WinHoldem (который можно использовать для создания стратегических блоков бота) и решить, что теперь они могут делать деньги одним кликом мыши. Другие хотят взяться за создание бота на каких-то языках программирования, прежде даже не написав своё первое «Hello world» [одна из наиболее типичных задач низшего уровня программирования, заключающаяся в создании кода, готовый файл которого, например html страница, позволил бы отобразить надпись «Hello world»]. Есть также и подкованные в программировании, но не смыслящие в покере люди, которые пробуют создать бота, основанного на правилах, но все мы помним, что такой тип ботов никогда не сможет играть лучше своего создателя.
Единственными, кто достигает успеха в создании ботов, это умудрённые опытом программирования и имеющие академический интерес в развитии искусственного интеллекта люди, кому под силу понять смысл научных трудов на заданную тему. Эти люди способны перенимать техники программирования, описанные в таких научных трудах, применять их и заставлять работать на себя. Всё это занимает гигантские объёмы времени и даже с учётом активного участия в этом многочисленных пользователей – скорость прогресса достаточно скромна. Тем не менее, если кто-то предпринял попытку создания собственного бота, но так и не смог дойти до этапа запуска рабочей модели, эту попытку я бы не стал называть неудачей. Ведь этот человек извлёк из предмета ботостроительства определённый опыт из областей искусственного интеллекта, математики и информатики (а мир покера оказался спасён от очередного бота!).
:: :: :: :: :: :: ::
А что будет дальше?
Я всё ещё не конкретизировал для себя детали будущих выпусков этой серии блогов. Но, как прежде, в следующий раз я планирую рассказать, по меньшей мере, о следующих явлениях:
• Текущий статус боттинга и контрмеры, предпринимаемые румами сегодня;
• Подробное описание различных типов ботов;
• Подробный статистический анализ некоторых сдач, сыгранных ботами.
Обсудить на форуме
Источник: http://www.pokeroff.ru
Комментарии