Pull to refresh

Comments 42

играл как раз до запрета в штатах, но играл исключительно для удовольствия на 1 стол. при вашем подходе хочется спросить прибыль то есть? :)
Когда писался бот, то уже играя стандартной стратегией коротких стеков выше NL25 делать было нечего, ниже в районе 0, рейкбэк в +, при расширенной стратегии, которая заложилась позже и прикрутился PT3, уже можно было играть и до NL200, но чем выше лимит, тем чаще приходится корректировать игру и более тонко настраивать, но 0.5 — 1.5бб, можно было иметь. Сейчас уже тоже не играю, не ботом не сам, точнее сам иногда раз, другой в месяц чисто для удовольствия, правда и лимиты NL5-10, банкрола нет, да и нервы не те. Сейчас программированием выгоднее заниматься, чем играть.
А можно чуть проще, для тех, кто не в теме — сколько это в $?
1бб — 1 большой блайнд, n бб — надо понимать n больших блайндов на сто рук, большой блайнд завист от лимита, т.е. на NL10 он 0.10уе, на NL100 — 1уе.
Ну теперь всё понятно.
А можно еще проще? Сколько $ за 1 день?
Как Вам сказать сколько, можно только в среднем, т.к. это игра и теория вероятности работает на больших выборках данных, в нашем случае рук. К примеру за 4-5 часов бот отыграет 2000-2500 рук на 8 столах, по времени больше играть постоянно за одну сессию не стоит, спалимся. Ну вот и считайте если играем 1бб на NL10, то выходит 2000*0,10/100 * 2 =4, получается 4-5уе, на NL100 — 40-50уе, но не забывайте рум отдает рэйкбэк, и он является достаточно большой статьей доходов, за счет него можно играть в 0 и при этом к примеру на 30000 рук на NL 100 иметь от 500 до 1000 уе, а может и больше все зависит от рума и процента рб.
Спасибо! Мой мозг сломался не понял конечных цифр, но понял, что всё зависит от везения и жадности ))
Вы уж, конечно, сорри, но с простотой объяснения тут все плохо.

Пример правильного ответа)
«В день можно поднимать в среднем 40-45 зеленых, если держать на счету баксов 500»

Люди же именно об этом спрашивают, а не о том, как все считается.
Судя по описанию автора, бот давал выигрыш в 1 большой блайнд на 100 рук. На лимите NL100 (безлимитный холдем, большой блайнд 1$, у каждого игрока обычно 100$), это будет 1$\100рук. Человек может наигрывать примерно 500рук\час (сильно зависит от игрока, от количества одновременно играемых столов, но к примеру), соответственно, это около 5$\час. Дополнительный доход также идет от так называемого рейкбека — казино возвращает вам некоторый процент полученного с вас дохода (зависит от покер-рума, от того, как именно вы регистрировались в нем, как много вы играете и на каких ставках, и так далее). Это даст еще около 5$\час. (независимо от того, проигрываете вы или выигрываете, только от количества сыгранных партий).
Вы, конечно, не обижайтесь, но для непосвященных это звучит как-то вот так:

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

switch(a) {
case 0: return 0;
case 1: return 1;
case 2: return 2;
...
case 255: return 255;
}
к сожалению, а может к счастью, таких кусков кода нет, там где много сравнений, так это в расчете готовности руки (можно было увидеть в статье), там где принимается решение на основе статистики в итоге играет роль готовность руки и процент проверяемого параметра, он же записан в базу(настройки программы) и имеет границы при которых играем, поэтому параметры можно перебрать в цикли по одному, встретив условие что не играем, все останавливаемся и переходим дальше.
На самом деле не все так страшно, если кто-то играл и пользовался трекером, тот знает как примерно выглядит принятие решений, и почему бот с коротким стеком намного проще в реализации чем с полным.
if ((cards[i][1]>=1)&&(cards[i][3]==0)){ top=0;over=0;}
if ((cards[i][1]==1)&&(cards[i][3]==0)){ top=0;over=0;}

Это для верности? Вдруг первое условие не сработает, второе то точно должно =)
Скорее я бы сказал по не внимательности во время отладки, одно из условий объединилось, и не удалилось, что не приводит к ошибке, но проверяется.

Надо же казаться в глазах рума более медлительным, как бы это был человек, а не бот, вот и сделали задержку в пару тактов.
А sleep(1000) не? :)

Или это тонкий сорказъм? :)
return a; получается.:)
Но если это указание на миллион if-ов в коде, Вы несомненно правы.
Вообще-то есть готовые алгоритмы вычисления текущей комбинации (это я про int Hand(...)). Здесь можно найти интересное описание таких алгоритмов. Самый быстрый из них хранит в памяти вспомогательную lookup-таблицу (123мб), но работает очень быстро.
В данном случае и этот алгоритм работает очень быстро, чтобы принять решение нужны доли секунды, единственное место где может быть задержка это выборка данных из трекера, в особенности если огромная база.

За ссылку спасибо, пролистал текст и многие моменты смотрю решают похожими методами.
Судя по коду, в методе Hand учитываются так же неготовые руки (типа стрэйт/флаш дро)… А методы по ссылка подсчитывают веса только для готовых рук…
По коду трудно это понять, да и метод возвращает простой int, а как вы будете сравнивать готовую руку и не готовую? Как определить, какая больше? Если та, которая имеет большую вероятность выиграть после сдачи оставшихся карт на стол — то нельзя посчитать эту вероятность на основе одной руки (а в этот метод передается одна рука). Подсчет вероятности выигрыша на основе имеющихся карт и предполагаемых карт противника — совсем другое дело (тут кстати и могут пригодится алгоритмы из статьи выше, самый быстрый из которых делает более 100.000.000 сравнений в секунду).
по коду это понять как раз легко:
int Hand(char *MyHand_,char *CardsTable_)
{
int
flush_,flush; //0-ничего 1-флэшь 2-флэшь дро 3-бэедорфлэшьдро 4-флэшь на столе(nothing cards)

во второй строке метода упоминаются дро…

Вообще как его использует автор, это уже личное дело его и его бота =)
Если бот имеет какой-нибудь минимальный винрейт, то имеет право на существование.
у каждой руки, готовой и неготовой есть еще шансы улучшится(так называемые ауты), мы считаем их, и в зависимости от ставок и шансов банка + количество аутов, математически определяем выгодно нам это или нет, плюс ко всему этому добавляем статистику оппонента, благодаря, которой мы можем сузить или расширить его диапазон рук, и не надо производить 100.000.000 сравнений в секунду.
Если вам тема интересна, я бы рекомендовал ознакомится с книгами по покеру, а после с возможностями, к примеру, покер трекера и аналогичных программ, чтобы понять как принимается решение.
А такой бот умеет играть только в кэш или в небольшие Sit'n'Go-турнирчики тоже может гонять?
Насчет снг сильно сомневаюсь, турнирная стратегия сильно меняется в зависимости от стадии турнира, и в 3-макс у бота начнутся большие проблемы ))
3-макс с маленькими стеками, как и бывает в снг 6макс — играется просто как два пальца, особенно для бота. Вообще, написать бота для снг гораздо проще, чем для кэша, но стратегии безусловно разные.
Стратегии разные, но, думаю, как раз pushfold играть ему проще. Суть в том, что играется множество турниров, 3я стадия играется строго по ICM-модели, и на дистанции будет плюс.
бот на снг не расчитан, на пуш-фолд его заточить можно, но при полном стеке на начальной стадии придется делать простейшие мозги, а на стадии когда стеки велики и не играется пуш-фолд, при малом кол-ве людей боту хана, на это он не расчитан
А что вы думаете про т.н. пуш-ботов?
Пуш-боты делаются довольно легко, это не вопрос, ICM модель работает как часы. Но как уже правильно заметили выше, в ситуации с глубокими стеками в 4-3макс турнире боту будет очень непросто, потому что пихать — глупо, а рэйз и постфлоп игра ему не по мозгам. Если конечно мы не играем в турбо-снг.
А в денежном выражении какой результат получается, не знаете случайно?
Немного пропустил такой момент: а вы учитывали сколько человек сейчас играет за столом и кому розданы карты? Ведь некоторые игроки могут сидеть за столом, но не играть. И в логе этого не видно обычно.

Или вашему алгоритму не особенно важно сколько человек сейчас находится в игре?
Да учитывается, в логах как раз видно кто играет, а кто нет, есть один момент когда этого мы не видим, так это когда только что сели за стол, но через раздачу, мы уже знаем все.
UFO just landed and posted this here
точно не было, максимум могли видеть на моем сайте, но не факт, т.к. посетителей у меня мало, или другой вариант что кто-то у меня ее содрал с сайта(она там весит давно).
UFO just landed and posted this here
Sign up to leave a comment.

Articles