Это мой проект, и программу на 99% сделал я сам (немного мне помогал ее делать близкий друг).
Скажу несколько слов о себе. Я профессионально играю в покер достаточно давно. В 2008 я осознал, что покер приносит больше денег, чем моя зарплата на работе, и я уволился с должности программиста и начал играть SNG на постоянной основе. Я играл в разные виды турниров: сначала SNG 10 макс в онгейме, SNG 9 макс на FTP, затем 6 max на FTP и абсолюте, на лимитах вплоть до 500$. Для того чтобы достигнуть успеха в SNG необходимо хорошо понимать, что такое ICM, и как оно влияет на решения в турниром покере.
Для этого существуют специальные программы, первой была Sng Power Tools, которая внесла революцию в подход к bubble play и другим острым и сложным моментам турнирного покера. Программа получила широчайшее распространение и быстро стала «настольной» у игроков, желающих подробно изучить ICM. Расчет ICM это нетривиальная и кропотливая задача. Как я могу судить, даже последующим разработчикам новых программ для работы с ICM было трудно проводить расчеты, и они, похоже, приняли результаты SNG PT за «корректные» и по ходу разработки сверяли свои результаты со значениями, полученными для аналогичной ситуации в SNG PT. Следующим серьезным шагом был SngWizard значительно расширивший возможности SNG PT и полностью его затмивший.
В ходе использования SngWizard и SNG Power Tools я обнаружил серьезную ошибку в расчетах. ICMIZER учитывает ее, и производит верные расчеты. Ниже я опишу суть этой ошибки, продемонстрирую ее на реальных примерах, и расскажу об основных возможностях моей программы, ее устранивших, а также упростивших выполнение некоторых других задач.
Сейчас ошибка кажется мне очень заметной, немного удивительно, что более чем за 5 лет ее никто не обнаружил, и я первым исправил ее и создал программу по расчету ICM, которая считает верно, не допуская той древней и грубой ошибки.
Теперь об ошибке – как известно всем любителям турниров – «нам не нужна монетка на bubble». Цена вылета слишком высока, а удвоение количества фишек не очень-то сильно увеличивает EV нашего стека, выраженное в $. Именно поэтому, при уменьшении числа участников, а именно в момент, когда следующий вылетевший становится bubble boy и ничего не получает, а остальные оказываются в призах, ICM рекомендует нам вести себя очень тайтово. И вот тут я должен заметить, что монетка монетке рознь, и именно это не учитывал ни SNG PT, и не учитывает SNG Wizаrd в 2011 году сейчас.
Говоря «монетка» или 50% на 50%, нужно все же понимать, что за исход готовит нам раздача. Так типичной монеткой является пара, против двух оверкарт, особенно одномастных, например 33 vs 45s имеют equity очень близкое к 50%. Вот что говорит про такую ситуацию pokerstove:
Equity win tie pots won pots tied
33: 49.801% 48.36% 01.44% 19874556 591510.00
54s: 50.199% 48.76% 01.44% 20037720 591510.00
И не смотря на то, что equity рук близко, шанс на tie крайне мал. (здесь суммарно 3%) Это означает, что выиграет либо один игрок, либо другой. И именно это нам совершенно не выгодно на бабле в SNG.
Есть, однако, другой тип монетки, гарантирующий обеим сторонам 50% equity. Он происходит, когда у двух игроков одинаковая рука.
Equity win tie pots won pots tied
AA: 50.000% 02.17% 47.83% 223260 4913652.00
AA: 50.000% 02.17% 47.83% 223260 4913652.00
Как видно, equity у игроков ровно по 50%, а суммарный шанс на tie или split более 95%, то есть в такой ситуации игрок 1 програет другому не в 50% случаев, а в лишь 2.17% случаев, то есть редко. В большинстве же случаев игроки поделят между собой имеющийся пот (обычно, BB+SB +ANTE).
Стоит ли говорить, что ситуации совершенно разные, и вероятность ничьи необходимо учитывать, производя ICM расчет. Именно это и не делает ни одна из существующих сейчас в мире ICM программ, кроме программы, которую я вам представляю – ICMIZER.
Ниже я приведу примеры, показывающие то, как считают это другие ( на примерах SNG Wizаrd и одной раздачи SNG PT, так как, похоже, программа более не поддерживается разработчиками).
Начну с наиболее яркого проявления ошибки. Итак, мы считаем, что оппонент получил двух тузов и пошел в аллин на бабле обычного 9 max SNG.
У нас тузы, и вот что предлагает нам SNG PT в такой ситуации, при немаленьких блайндах:
Как видим, шанс выиграть у нас тут 50% ( столбец %Win) и разница между коллом и фолдом по его мнению -5.6%, то есть это фолд тузов всегда.
Однако как я говорил, на деле мы тут проигрываем лишь в 2.17% случаев, и учитывая это, ICMIZER дает следующий результат:
При проведении расчета, и наведении мышкой на значок с буковкой (i) напротив оппонента, можно увидеть данные, полученные при расчете. Как видно, ICMIZER учитывает, что шансы проиграть лишь 2.17%, и на основе этого подсчитывает, что пуш нам выгоднее фолда на 0.4%. По сравнению с результатом SNGPT, разница составляет 0.4% – (-5.6%) = 6% от призового фонда, что в турнире 9 max за 110 $ будет означать примерно 60$ (!) разницы, то есть более половины чистого байина. EDIT: поскольку не все, похоже, до конца понимают эту часть поясню дополнительно. Нам выгодно делать колл в такой ситуации, поскольку в большинстве случаев мы заберем половину блайндов в свой стек, что является очень хорошей прибавкой к нашему Expected Value. В редких случаях мы либо выиграем с вероятностью 2.17%, либо проиграем, но общий вес таких исходов, учитывая их крайнюю редкость, получается пренебрежительно мал, по сравнению с основным вариантом: сплит пот, и мы забираем половину блайндов себе.
ICMIZER является кроссплатформенной программой, доступной пользователям через web здесь:http://www.pokericmcalculator.com/icmizer/. Для его работы вам потребуется установить Microsoft© Silverlight plugin, если у вас он еще не установлен.
Так как ICMIZER – программа доступная из сети интернет, у нее есть преимущества, по сравнению с программами, которые необходимо скачивать, устанавливать, затем обновлять при обнаружении ошибок или каких либо изменениях в формате рук покерных румов. ICMIZER позволяет сохранять все параметры, необходимые для расчета – такие как стеки игроков, структура выплат, размеры блайндов, предполагаемые диапазоны оппонентов. Затем, используя короткую ссылку, можно быстро делиться полученным результатом с другими покерными игроками. Так, для получения результата, аналогичного вышеописанному, достаточно пойти по ссылке http://www.pokericmcalculator.com/icmizer/#wTNw И нажать [Compute AA].
Теперь, та же ошибка в SNG Wizаrd:
Привычный столбец Win% показывает 50% но, где же Tie%? Надо также сказать, что SNG Wizаrd, в отличие от ICMIZER, предоставляет крайне скудные возможности по изменению диапазона оппонента. Так, нет возможности добавлять или убирать из диапазона отдельные руки, задавать диапазоны состоящие из случайных рук, например диапазон 22,AK,89s – не возможно задать в SNG Wizаrd. Выбрать одну руку – практически нельзя, мне удалось сделать это для АА и КК. Кроме того я нахожу slider SNG Wizаrd крайне тормозным и глючным, по сравнению с аналогичным слайдером ICMIZER. Все эти ограничения связаны с попыткой SNG Wizаrd упростить задачу расчета ICM, внося разные допущения и ухищрения, и позволить производить хваленые расчеты для 3 way ситуаций, включающих возможность в том числе и overcall’ов c блайндов в данной ситуации. Стоит ли говорить, что все это приводит к серьезным ошибкам в результатах расчетов.
ICMIZER позволяет вручную задавать оппоненту любой диапазон, хоть одну руку, кроме того для удобства есть slider’ ы, которые можно использовать для быстрого задания диапазона.
Вот расчет данной ситуации ICMIZER: http://www.pokericmcalculator.com/icmizer/#xVRE
Как видно, ошибка SNG Wizаrd составила +0.9% – (-5.4%)= 6.3% призового фонда.
Мне также удалось произвести подобный расчет для королей, в Wizаrde:
В данном случае, мы видим, что Wizаrd не только не верно считает (ведь ситуации совершенно симметричны, когда у нас AA vs AA или KK vs KK ), но и почему-то считает, что наши KK выиграют у KK оппонента в 27% случаев. Данный баг в Wizаrde вызывает у меня большие сомнения насчет точности всех его расчетов, а особенность Wizаrd, запрещающая редактировать диапазон вручную, усложняет поиск ошибок. Ведь когда в диапазоне несколько рук, вручную проверить результат гораздо сложнее, чем когда там 1 рука.
Эта ситуация в ICMIZER: http://www.pokericmcalculator.com/icmizer/#UPEZ полностью аналогична AA vs AA, , ведь шанс поймать флаш к одной карте и выиграть не меняется при смене старшинства пар игроков, а это единственный способ выиграть у такой же пары.
Ну, это были относительно экспериментальные результаты, и хотя ошибка очень велика, в покере мы редко сталкиваемся с ситуацией, когда диапазон оппонента можно сузить до одной комбинации карт. В реальной игре мы назначаем оппоненту предполагаемый диапазон рук, и на основе этого предположения вычисляем наш диапазон колла, пуша или рестила.
Найдя эту ошибку, я не смог сразу оценить ее влияние на результат расчета в типичных ситуациях. Однако теперь, когда ICMIZER готов для стадии Public Beta, я могу сказать, что влияние ошибки весьма существенно и в типичных ситуациях.
Возьмем, к примеру, простую ситуацию: в нас летит достаточно тайтовый аллин на бабле, и у нас AKo. Вот расчет этой ситуации из SNG Wizаrd:
Как видно, Wizаrd предполагает, что разница тут: -0.38%, и это простой фолд для нас.
Таже ситуация в ICMIZER: http://www.pokericmcalculator.com/icmizer/#qHoE
Как видим, ответ уже составляет +0.1%, и для столь простой ситуации мы уже можем, во-первых задуматься над коллом, и, учитывая размер бб, даже решить, что можем сыграть коллом. В любом случае, это уже не столь очевидная ошибка, как -0.38%, рассчитанные в Wizаrd. И я замечу, что разница в расчетах составила для типичной раздачи практически 0.5%, то есть в турнире за 110$ около 5$!
Значение Min Diff% часто рекомендуется ставить в районе 0.1% – 0.3% , и в данном случае ошибка более чем в 2 раза превышает типичное пороговое значение.
Последний пример, если в данной раздаче у нас AJo, то Wizаrd рассчитает ситуацию вот так:
И колл будет ошибкой стоимостью -3.19% призового фонда.
В ICMIZER мы получим следующий результат: http://www.pokericmcalculator.com/icmizer/#hoDf
И ошибка стоит нам здесь уже -2.5% , и по сравнению с -3.19% из Wizаrd это почти 0.7% призового фонда!
Нужно сказать, что пока ICMIZER не умеет производить расчеты для 3х игроков, в отличие от Wizаrd. Это связано с большой сложностью подобных расчетов, они громоздки и, если их производить точно, занимают долгое время. Я просто не считаю, что корректно заявлять, что программа может проводить расчеты для 3х человек, если при этом она в принципе не корректно рассчитывает простейшую ситуацию для двоих, игнорируя вариант tie. Ведь в случае расчета на троих все еще более усложняется. Например, если в аллине 3 игрока, двое могут сделать split между собой, а третий может вылететь. SNG Wizаrd игнорирует такую ситуацию, полностью забывая, что в покере вообще когда либо бывает ничья и split.
Я же, как опытный SNG игрок, не раз вылетал с бабла будучи не последним стеком в тройном аллине против биг стека и коротыша, когда split делали коротыш и биг стек, а я проигрывал им обоим, и вылетал без денег. Подобная ситуация, очевидно, ужасный исход турнира, и не учитывать ее довольно странно.
ICMIZER выходит сейчас в стадию public beta, и я не исключаю, что через некоторое время возможность корректных расчетов 3 way появится.
ICMIZER доступен на русском языке, и вы можете ознакомиться с дополнительными возможностями:
Построением интерактивных графиков для обобщенного анализа ситуации здесь: http://www.pokericmcalculator.com/ru-ru/help/#Charts
Загрузка раздач напрямую из покерных клиентов: http://www.pokericmcalculator.com/ru-ru/help/#HandParsing
Возможность создавать постоянные ссылки, вида http://www.pokericmcalculator.com/icmizer/#PFkk для более удобного общения на форуме: http://www.pokericmcalculator.com/ru-ru/help/#SharingLinks
Кроме того наряду с ICMIZER, доступен обычный ICM Calculator с удобным интерфейсом, найти его можно тут http://www.pokericmcalculator.com/icmizer/#icmcalculator
Я очень надеюсь, что ICMIZER вам понравится. Я потратил много времени и сил на его разработку, и хотел бы продолжить улучшать программу, если к ней будет интерес. Сейчас она выходит в режиме public beta – то есть доступна публично бесплатно для неограниченного использования. Я рекомендую тем, кто заинтересовался программой зарегистрироваться на сайте tenbb.com и залогиниться, в этом случае вы получите дополнительные возможности:
Во-первых, в режиме «гость» использование программы будет ограничено, после нескольких запросов вам может быть отказано в доступе. После прохождения процедуры регистрации, в течение бета теста, вы сможете пользоваться ею практически без ограничений.
Во-вторых, в режиме «зарегистрированный пользователь» вы получаете доступ к настройкам по умолчанию, которые будут отображаться когда вы загружаете ICMIZER( например если вы играете 10max sng вы выберете 10 игроков, соответсвующие стеки и структуры), а если 6 max hyper turbo – то другие.
В-третьих, в режиме доступа «гость» функции [Compute all] и [Compute hand] разделены, а для зарегистрированных пользователей эта функция совмещена в 1 кнопку, и результаты расчета выводятся одновременно.
Часть функционала программы будет бесплатной всегда, поэтому не волнуйтесь, что вскоре за каждый клик придется платить. Перед окончанием фазы beta я хотел бы добавить в ICMIZER множество дополнительных возможностей, о появлении которых я буду говорить по ходу развития проекта.
Q
Qруто :)
Круто всё написал, действительно в визарде нет ничьи, что очень странно. Попробую программу.