Comments 42
играл как раз до запрета в штатах, но играл исключительно для удовольствия на 1 стол. при вашем подходе хочется спросить прибыль то есть? :)
+1
Когда писался бот, то уже играя стандартной стратегией коротких стеков выше NL25 делать было нечего, ниже в районе 0, рейкбэк в +, при расширенной стратегии, которая заложилась позже и прикрутился PT3, уже можно было играть и до NL200, но чем выше лимит, тем чаще приходится корректировать игру и более тонко настраивать, но 0.5 — 1.5бб, можно было иметь. Сейчас уже тоже не играю, не ботом не сам, точнее сам иногда раз, другой в месяц чисто для удовольствия, правда и лимиты NL5-10, банкрола нет, да и нервы не те. Сейчас программированием выгоднее заниматься, чем играть.
+1
А можно чуть проще, для тех, кто не в теме — сколько это в $?
+3
1бб — 1 большой блайнд, n бб — надо понимать n больших блайндов на сто рук, большой блайнд завист от лимита, т.е. на NL10 он 0.10уе, на NL100 — 1уе.
0
Ну теперь всё понятно.
+18
А можно еще проще? Сколько $ за 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 уе, а может и больше все зависит от рума и процента рб.
+2
Спасибо! Мой мозг сломался не понял конечных цифр, но понял, что всё зависит от везения и жадности ))
+1
Вы уж, конечно, сорри, но с простотой объяснения тут все плохо.
Пример правильного ответа)
«В день можно поднимать в среднем 40-45 зеленых, если держать на счету баксов 500»
Люди же именно об этом спрашивают, а не о том, как все считается.
Пример правильного ответа)
«В день можно поднимать в среднем 40-45 зеленых, если держать на счету баксов 500»
Люди же именно об этом спрашивают, а не о том, как все считается.
+2
Судя по описанию автора, бот давал выигрыш в 1 большой блайнд на 100 рук. На лимите NL100 (безлимитный холдем, большой блайнд 1$, у каждого игрока обычно 100$), это будет 1$\100рук. Человек может наигрывать примерно 500рук\час (сильно зависит от игрока, от количества одновременно играемых столов, но к примеру), соответственно, это около 5$\час. Дополнительный доход также идет от так называемого рейкбека — казино возвращает вам некоторый процент полученного с вас дохода (зависит от покер-рума, от того, как именно вы регистрировались в нем, как много вы играете и на каких ставках, и так далее). Это даст еще около 5$\час. (независимо от того, проигрываете вы или выигрываете, только от количества сыгранных партий).
+4
Вы, конечно, не обижайтесь, но для непосвященных это звучит как-то вот так:
:)
:)
+4
А, ну да, минусовая карма
lurkmore.ru/images/0/0b/Eve_sharadi.jpg
lurkmore.ru/images/0/0b/Eve_sharadi.jpg
+2
спасибо за критику, по поводу подсветки кода, первая статья, и ошибся тегом, исправил
0
Вот мне кажется, что приверно такой кусок кода явно где-то пропущен
switch(a) {
case 0: return 0;
case 1: return 1;
case 2: return 2;
...
case 255: return 255;
}
+11
к сожалению, а может к счастью, таких кусков кода нет, там где много сравнений, так это в расчете готовности руки (можно было увидеть в статье), там где принимается решение на основе статистики в итоге играет роль готовность руки и процент проверяемого параметра, он же записан в базу(настройки программы) и имеет границы при которых играем, поэтому параметры можно перебрать в цикли по одному, встретив условие что не играем, все останавливаемся и переходим дальше.
На самом деле не все так страшно, если кто-то играл и пользовался трекером, тот знает как примерно выглядит принятие решений, и почему бот с коротким стеком намного проще в реализации чем с полным.
На самом деле не все так страшно, если кто-то играл и пользовался трекером, тот знает как примерно выглядит принятие решений, и почему бот с коротким стеком намного проще в реализации чем с полным.
0
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;}
Это для верности? Вдруг первое условие не сработает, второе то точно должно =)
0
Скорее я бы сказал по не внимательности во время отладки, одно из условий объединилось, и не удалилось, что не приводит к ошибке, но проверяется.
Надо же казаться в глазах рума более медлительным, как бы это был человек, а не бот, вот и сделали задержку в пару тактов.
Надо же казаться в глазах рума более медлительным, как бы это был человек, а не бот, вот и сделали задержку в пару тактов.
+1
return a; получается.:)
Но если это указание на миллион if-ов в коде, Вы несомненно правы.
Но если это указание на миллион if-ов в коде, Вы несомненно правы.
0
В данном случае и этот алгоритм работает очень быстро, чтобы принять решение нужны доли секунды, единственное место где может быть задержка это выборка данных из трекера, в особенности если огромная база.
За ссылку спасибо, пролистал текст и многие моменты смотрю решают похожими методами.
За ссылку спасибо, пролистал текст и многие моменты смотрю решают похожими методами.
0
Судя по коду, в методе Hand учитываются так же неготовые руки (типа стрэйт/флаш дро)… А методы по ссылка подсчитывают веса только для готовых рук…
0
По коду трудно это понять, да и метод возвращает простой int, а как вы будете сравнивать готовую руку и не готовую? Как определить, какая больше? Если та, которая имеет большую вероятность выиграть после сдачи оставшихся карт на стол — то нельзя посчитать эту вероятность на основе одной руки (а в этот метод передается одна рука). Подсчет вероятности выигрыша на основе имеющихся карт и предполагаемых карт противника — совсем другое дело (тут кстати и могут пригодится алгоритмы из статьи выше, самый быстрый из которых делает более 100.000.000 сравнений в секунду).
0
по коду это понять как раз легко:
int Hand(char *MyHand_,char *CardsTable_)
{
int
flush_,flush; //0-ничего 1-флэшь 2-флэшь дро 3-бэедорфлэшьдро 4-флэшь на столе(nothing cards)
во второй строке метода упоминаются дро…
Вообще как его использует автор, это уже личное дело его и его бота =)
Если бот имеет какой-нибудь минимальный винрейт, то имеет право на существование.
int Hand(char *MyHand_,char *CardsTable_)
{
int
flush_,flush; //0-ничего 1-флэшь 2-флэшь дро 3-бэедорфлэшьдро 4-флэшь на столе(nothing cards)
во второй строке метода упоминаются дро…
Вообще как его использует автор, это уже личное дело его и его бота =)
Если бот имеет какой-нибудь минимальный винрейт, то имеет право на существование.
0
у каждой руки, готовой и неготовой есть еще шансы улучшится(так называемые ауты), мы считаем их, и в зависимости от ставок и шансов банка + количество аутов, математически определяем выгодно нам это или нет, плюс ко всему этому добавляем статистику оппонента, благодаря, которой мы можем сузить или расширить его диапазон рук, и не надо производить 100.000.000 сравнений в секунду.
Если вам тема интересна, я бы рекомендовал ознакомится с книгами по покеру, а после с возможностями, к примеру, покер трекера и аналогичных программ, чтобы понять как принимается решение.
Если вам тема интересна, я бы рекомендовал ознакомится с книгами по покеру, а после с возможностями, к примеру, покер трекера и аналогичных программ, чтобы понять как принимается решение.
0
флэшь [x]
0
А такой бот умеет играть только в кэш или в небольшие Sit'n'Go-турнирчики тоже может гонять?
0
Насчет снг сильно сомневаюсь, турнирная стратегия сильно меняется в зависимости от стадии турнира, и в 3-макс у бота начнутся большие проблемы ))
0
3-макс с маленькими стеками, как и бывает в снг 6макс — играется просто как два пальца, особенно для бота. Вообще, написать бота для снг гораздо проще, чем для кэша, но стратегии безусловно разные.
0
Стратегии разные, но, думаю, как раз pushfold играть ему проще. Суть в том, что играется множество турниров, 3я стадия играется строго по ICM-модели, и на дистанции будет плюс.
0
бот на снг не расчитан, на пуш-фолд его заточить можно, но при полном стеке на начальной стадии придется делать простейшие мозги, а на стадии когда стеки велики и не играется пуш-фолд, при малом кол-ве людей боту хана, на это он не расчитан
0
А что вы думаете про т.н. пуш-ботов?
0
Пуш-боты делаются довольно легко, это не вопрос, ICM модель работает как часы. Но как уже правильно заметили выше, в ситуации с глубокими стеками в 4-3макс турнире боту будет очень непросто, потому что пихать — глупо, а рэйз и постфлоп игра ему не по мозгам. Если конечно мы не играем в турбо-снг.
0
Немного пропустил такой момент: а вы учитывали сколько человек сейчас играет за столом и кому розданы карты? Ведь некоторые игроки могут сидеть за столом, но не играть. И в логе этого не видно обычно.
Или вашему алгоритму не особенно важно сколько человек сейчас находится в игре?
Или вашему алгоритму не особенно важно сколько человек сейчас находится в игре?
0
UFO just landed and posted this here
Мне тоже так показалось… были просто похожие habrahabr.ru/search/?q=%D0%B1%D0%BE%D1%82+%D0%BF%D0%BE%D0%BA%D0%B5%D1%80
0
точно не было, максимум могли видеть на моем сайте, но не факт, т.к. посетителей у меня мало, или другой вариант что кто-то у меня ее содрал с сайта(она там весит давно).
0
Sign up to leave a comment.
Написание покерного бота