Блъфове от гледна точка на игровата теория
Въведение
В тази статия
- Математическите основи
- Оптимални стратегии
- Равновесието на Наш
Блъфовете са важна част от играта на покер и всеки добър играч би трябвало да ги има в репертоара си. Играчите правят огромна грешка, ако никога не блъфират, но също така и когато блъфират твърде много. Как да намериш правилния баланс? Как можеш да кажеш кога е добра идея да се блъфира, как да знаеш кога и колко често би трябвало да блъфираш срещу дадени играчи, за да играеш печелившо срещу тях?
Тази статия се занимава с математическите основи на блъфовете и използва теоретичен подход към играта, за да илюстрира възможни стратегии.
Трябва ли да блъфирам?
Намираш се на ривъра. Бордът е ![]()
![]()
![]()
![]()
.
До голяма степен си сигурен, че опонентът има готова ръка. Действията му те карат да мислиш, че е възможно да има AA, KK или AK. Ти държиш ![]()
.
Незавършен дроу. Потът е $100 и всеки от вас има по $100. Ти действаш пръв. Ако чекнеш, губиш. (Или опонентът чеква бихайнд и печели на шоудауна, или залага, и ти вече нямаш достатъчно пари, за да опиташ да го изгониш с блъф.)
Нека предположим, че опонентът правилно е познал ръката ти и преди ривър картата те е поставил на дроу. Нека за по-просто също така предположим, че той смята, че вероятността да имаш пропуснал флъш дроу (или гътшот) е 80%, а в 20% от случаите има вероятност да държиш 87 и ривър картата да ти е дала стрейт.
Ако имаше стрейт с 87, би заложил за стойност. Но за нещастие, този път си пропуснал. Имаш две възможности: предаваш се и чекваш или опитваш да купиш пота с блъф. Нека предположим, че когато блъфираш, влизаш ол-ин със своите $100, което е залог с размера на пота. Колко често би трябвало да блъфираш?
Как бихме могли да отговорим на въпроса?
За целта се нуждаем от малко математика. Но не се притеснявай, няма да е твърде сложна. Просто малко алгебра от началното училище и малко логично мислене и почти забравих – игрова теория, но това ще го сместим в частта `логично мислене `.
Преобразуване на въпроса в математически
Ще се нуждаем от малко означения. P ще означава размер на пота, докато B е размерЪТ на залога ти. Нека означим вероятността (видяна от опонента) да имаш печеливша ръка с q. И така, в нашия пример P = $100, B = $100 и q = 0.20. Ако не ти допада нашето предположение от 20%, можеш да промениш това число, изчислението остава същото, само резултатът се променя. По същия начин можеш да промениш размера на пота и размера на залога си. Следователно, нашите означения също така ще обобщят проблема.
Нужно е по някакъв начин да означим честотата, с която блъфираме и честотата, с която опонентът колва, когато заложим. Нека първото бъде x, а второто y. Следователно, x означава вероятността да блъфираме. Ако например блъфираме с 30% вероятност (x = 0.3), честотата на блъфиране в дългосрочен план ще бъде 30%. Аналогично, y означава вероятността опонентът ни да колне залога ни.
И така, първоначалният ни въпрос се свежда просто до това каква е оптималната стойност на х.
Очакваната печалба и съвършената стратегия
Като начало, нека се върнем в началото. Каква е целта ни в покера? Да печелим пари. И по точно, да печелим колкото се може повече пари. Когато и да взимаме решение, ние се питаме (или поне би трябвало да се питаме) кое действие има най-голяма очаквана печалба.
В нашия пример, ако имаше най-добрата ръка, щеше да заложиш за стойност. Когато заложиш, опонентът или колва залога ти (случаите y), или фолдва ръката си (случаите 1 – y). Когато колне, печелиш текущия пот и парите, с които опонентът ти е колнал залога ти: P + B. Когато фолдне, печелиш единствено текущия пот: P. (`Текущият пот` винаги се отнася за първоначалния размер на пота, този преди залога ти.) Следователно, ако си имал печеливша ръка, очакваната ти печалба Ew (w означава `печеливш`) би била
Ew = y(P + B) + (1 – y)P.
За губещата ръка (пропусналия дроу) нещата стават малко по-сложни. Тук или блъфираш (случаите x), или се отказваш от ръката и чекваш (случаите 1 – x).
Ако блъфираш, опонентът или колва залога ти (случаите y), или фолдва ръката си (случаите 1 – y). Когато колне, губиш залога си, следователно, крайната ти очаквана печалба е отрицателна: – B. Когато той фолдне, печелиш текущия пот: P. Следователно, когато блъфираш, очакваната ти печалба се формира от тези два случая, и тя е
(1 – y)P – yB.
Ако чекнеш (просто се предадеш), не печелиш нищо, следователно, очакваната ти печалба е нула. Тук очакваната ти печалба El (l означава `губещ`) с губещата ръка е
El = (1 – x)0 + x[(1 – y)P – yB]
(просто свържи горните случаи със съответните вероятности).
Разбира се, първата част е нула и можем да я отстраним, което ни дава
El = x[(1 – y)P – yB].
Ако знаеш, че опонентът ти никога не колва (y = 0) – ако например загуби връзка – очакваната ти печалба би била просто:
El, y=0 = xP
За да увеличиш максимално очакваната си печалба, трябва да избереш x = 1, което означава, че би трябвало винаги да блъфираш.
От друга страна, ако знаеш, че опонентът ти винаги колва (y = 1), очакваната ти печалба става
El, y=1 = – xB
За да извлечеш максималното тук, трябва да избереш x = 0, което означава, че не трябва да блъфираш. (Просто помни правилото `Никога не блъфирай колинг стейшън!`)
Казано на езика на игровата теория, току-що изчислихме най-добрата ти реакция, знаейки стратегията на опонентите ти в два конкретни случая. Но това бяха крайности, така наречените съвършени стратегии. В реалността опонентите ти ще са по-непредвидими. Той ще колва залога ти с определена вероятност (не 0 или 1). От гледна точка на игровата теория, казваме, че той има балансирана стратегия.
Оптимални стратегии
Интересно е, че опонентът ти може да избере честота за кол y, когато очакваната ти печалба е една и съща, без значение от стратегията (произволна стойност на x), която си избрал. Нека означим тази честота за кол с yopt (в смисъл на оптимална стойност на y).
Стойността на yopt може да се изчисли доста лесно. Ако се интересуваш от детайли, ще ги откриеш в приложението. Ето крайния резултат
yopt = P/(P + B).
В нашия пример, P = B = $100, така че yopt = 1/2. Ако опонентът ти колва в точно половината от случаите, не можеш да го надхитриш. Когато опонентът ти играе по стратегията y = yopt, очакваната ти печалба ще бъде
El,y=yopt = x[PB/(P + B) – PB/(P + B)] = 0.
(Просто постави каквото получихме за yopt в основната формула, която получихме за El). Тъй като x не присъства в това изчисление (всъщност нищо не присъства, просто нула), каквато и стратегия (какъвто и x) да избереш, не можеш да увеличиш или намалиш очакваната си печалба.
Интересното е, че yopt зависи единствено от размерите на пота и на залога. Не зависи от q например. Това показва, че yopt не е оптималната стойност на y в общия смисъл на думата. Ако например q = 1, тоест опонентът ти е сигурен, че имаш най-добрата ръка, той няма да те колва в половината случаи – всъщност изобщо няма да те колва. Тогава той би избрал стратегия, отговаряща на y = 0. По-късно ще видим в какъв точно смисъл yopt е оптимална.
Аналогично можеш да избереш х по същия начин, тоест каквато и стратегия (каквото и y) да избере опонентът, очакваната ми печалба да остава непроменена. Както и преди, ще означим тази специална стойност на x с xopt. Намирането на стойността на xopt обаче е малко по-сложна. Като изключим детайлите, получаваме
xopt = qB/[(1 – q)(P + B)].
(Ако се интересуваш от детайлите по изчислението на горния израз, първо трябва да се сдобиеш с очакваната печалба от гледна точка на опонента ти (виж приложението). С това получаването на стойността на xopt (виж приложението) е лесно. Ако блъфираш толкова често с губещите си ръце, очакваната печалба от гледна точка на опонента ти (виж приложението) ще бъде
Eop = (1 – q)P – qPB/(P + B).
Тъй като няма y в тази формула, той просто не може да промени очакваната си печалба.
В нашия пример P = B = $100 и q = 0.2, следователно xopt = 1/8. Ако блъфираш в 1/8 от случаите, опонентът ти не може да те надхитри, дори да е много наблюдателен и да знае стратегията ти (тоест да знае, че x = xopt). Ако блъфираш по-често или по-рядко, наблюдателният опонент може да експлоатира стратегията ти и да намери най-доброто противодействие. Следователно, ако си изправен срещу много добър опонент, xopt осигурява оптималната стратегия за теб.
Колко често един толкова добър играч ще колва залога ти? Това се определя от yopt. Ако играеш спрямо стратегията x = xopt, то той всъщност може да избере каквато стратегия пожелае. Видяхме, че той не може да увеличи (или намали) очакваната си печалба. Но когато той не използва стратегията y = yopt, ти, в ролята си на наблюдателен играч, би могъл да се възползваш от грешките му, избирайки оптималното противодействие на стратегията му. Единственият случай, когато не можеш да се възползваш от стратегията му, е, когато използва y = yopt – сега каквато и стратегия да използваш, очакваната ти печалба ще остане същата. Но бъди внимателен - ако избереш стратегия различна от xopt, опонентът ти би могъл да експлоатира играта ти, като пригоди своята стратегия.
Сега вече виждаме в какъв смисъл xopt и yopt са оптимални: те предоставят стратегии, които не могат да бъдат експлоатирани. В игровата теория такива двойки стратегии (xopt, yopt ) биват наричани Равновесие на Наш. Това е много важна концепция в игровата теория и икономиката (да, това е същият Наш от филма `Красив ум`, носител на нобелова награда за икономика през 1994!). Сега виждаме, че това има основна роля и в теорията на покера.
Очаквана печалба в някои специални случаи
Нека завършим с две таблици, показващи ти очакваната печалба в някои специални случаи. Първата таблица ти показва очакваната печалба на незавършения ти дроу (губеща ръка), изчислена за дадения пример:
| Твоята стратегия | Стратегията на опонента | Очакваната печалба (El) | Забележки |
| x = 0 | y = 0 | $0 | Назад си. Ако не блъфираш, не можеш да спечелиш. |
| y = 1 | $0 | ||
| y = yopt | $0 | ||
| x = 1 | y = 0 | $100 | Блъфирай скалите! |
| y = 1 | - $100 | Никога не блъфирай ATM! | |
| y = yopt | $0 | ||
| x = xopt | y = 0 | $12.5 | xopt не е `универсалният оптимум`. Ако знаеш, че ще те колнат, не блъфирай! |
| y = 1 | – $12.5 | ||
| y = yopt | $0 |
Очакваната печалба на опонента ти е просто негативната стойност на твоята, плюс $100, които вече са в пота. (Той получава нетната ти загуба в рунда плюс текущия пот. Разбира се, когато спечелиш пота, нетната ти загуба е – $100 и той не взима нищо. Или избери най-простият случай: когато очакваната ти печалба е нула, стакът ти остава непокътнат – същият, както в момента, в който ривър картата се е открила. Следователно, потът не може да бъде твой, но някой трябва да го вземе – така че ще бъде за опонента ти. На езика на игровата теория може да се каже, че примерната ни игра – тъй като вече сме на ривъра – не е нулева игра.)
Докато ти знаеш кога да блъфираш и кога да залагаш за стойност, опонентът ти не знае. За него (а вероятно и за теб), следващата таблица е по-скоро образователна. Тя ти дава очакваната печалба за смес от печеливши и губещи ръце. В подобни ситуации ще си напред в 20% от случаите и назад в 80% от случаите. Следователно, средната ти очаквана печалба е qEw + (1 – q)El. (Отново, негативната стойност на това, плюс $100, които вече са в текущия пот, дават очакваната печалба на опонента ти, Eop.)
| Твоята стратегия | Стратегията на опонента | Очакваната печалба | Забележки |
| x = 0 | y = 0 | $20 | Поради това обичаме колинг стейшъните! |
| y = 1 | $40 | ||
| y = yopt | $30 | ||
| x = 1 | y = 0 | $100 | Блъфирай скалите! |
| y = 1 | - $40 | Никога не блъфирай ATM! | |
| y = yopt | $30 | ||
| x = xopt | y = 0 | $30 | xopt е оптимално в смисъл на това, че опонентът ти не може да те надхитри. |
| y = 1 | $30 | ||
| y = yopt | $30 |
Заключение
Когато се изправяш срещу добър опонент, най-добрият ти избор е да използваш стратегията на Равновесието на Наш: xopt. В този случай опонентът ти ще играе спрямо стратегията на yopt. Ако не го прави, то той бърка (и не е чак толкова добър играч) и можеш да експлоатираш грешките му, като намериш най-доброто противодействие на стратегията му. Ако той е склонен да колва по-често, блъфирай по-рядко. Ако колва твърде рядко, блъфирай повече. Ако можеш да предположиш точната честота, с която той колва, можеш да изчислиш колко по-малко (или колко повече) би трябвало да блъфираш, за да увеличиш очакваната си печалба, както направихме това по-горе.
Приложение
Ако y = yopt, очакваната ти печалба ще бъде една и съща за всички стойности на x. Нека първо вземем x = 0. Тук не можеш да спечелиш нищо, което се отразява във формулата:
El, x=0 = 0.
Сега нека x = 1. Тогава уравнението ни за El дава
El, x=1 = (1 – yopt)P – yoptB.
Тъй като El, x=0 трябва да бъде същото като El, x=1, получаваме
(1 – yopt)P – yoptB = 0,
което ни дава
(1 – yopt)P = yoptB,
P – yoptP = yoptB,
P = yopt(P + B),
и накрая
yopt = P/(P + B).
Сега нека разгледаме ръката през погледа на опонента ти. Първо записваме очакваната му печалба, Eop. За разлика от теб – той не знае дали е напред, или е назад, очакваната му печалба ще зависи също и от q, така че е малко по-сложно:
Eop = – qyB + q(1 – y)0 + (1 – q)[xy(P + B) + x(1 – y)0 + (1 – x)P].
Първата част се отнася за случая, в който ти имаш печелившата ръка, залагаш и той колва, губейки залога си. Втората част се отнася за случая, в който ти имаш печелившата ръка и той фолдва, печелейки (и губейки) нищо. Останалото отговаря за случая, в който той е напред. Първата част, в квадратните скоби, се отнася за случая, в който ти блъфираш и той колва, печелейки текущия пот и залога ти. Средната част се отнася за случая, в която блъфираш и той фолдва, печелейки/губейки нищо, докато последната част отговаря за случая, в който ти се предаваш и той печели (или с чек след теб, или като заложи, принуждавайки те да фолднеш).
Изключвайки частите, които са равни на нула, получаваме
Eop = (1 – q)[xy(P + B) + (1 – x)P] – qyB.
Ако опонентът ти знаеше, че ти никога не блъфираш (x = 0), какъв би бил отговорът му? Никога не би те колнал, разбира се. Това може да бъде видяно от горното уравнение, ако напишем 0 на мястото на x.
Eop x=0 = (1 – q)P– qyB.
За да получим най-високата стойност за това, трябва да изберем y = 0 (без кол).
От друга страна, ако опонентът ти знаеше, че ти никога не блъфираш (x = 1), най-добрата реакция не е толкова очевидна. За x = 1 получаваме
Eop x=1 = (1 – q)y(P + B) – qyB = y[(1 – q)(P + B) – qB].
Ако
(1 – q)(P + B) – qB > 0,
y = 1 (винаги кол) ще направи най-голяма очакваната печалба на опонента.
Ако
(1 – q)(P + B) – qB < 0,
той би трябвало да избере y = 0 (да не колва).
(1 – q)(P + B) – qB < 0,
което означава
(1 – q)(P + B) < qB,
P + B – qP – qB < qB,
P + B < q(P + 2B),
накрая получаваме
q > (P + B)/(P + 2B).
В нашия пример, когато P = B = $100, ако q > 2/3, опонентът би трябвало да не колва залога ти (дори да знае, че ти винаги залагаш; следователно, в такива случаи би трябвало винаги да блъфираш), докато ако q < 2/3, той би трябвало да колва винаги (ако знае, че винаги блъфираш). Забележи, че тази специална стойност на q зависи единствено от размера на пота и размера на залога.
Ако x = xopt, очакваната печалба на опонента ще бъде една и съща за всички стойности на y. Както и преди, нека първо вземем y = 0. Уравнението ни за Eop дава
Eop y=0 = (1 – q)(1 – xopt)P.
Сега да вземем y = 1. Този път получаваме
Eop y=1 = (1 – q)[ xopt (P + B) + (1 – xopt)P] – qB.
Тъй като Eop y=0 трябва да бъде същото като Eop y=1, получаваме
(1 – q)(1 – xopt)P = (1 – q)[ xopt (P + B) + (1 – xopt)P] – qB,
което ни дава
qB = (1 – q) xopt (P + B)
((1 – q)(1 – xopt)P се появява и от двете страни, следователно се унищожава) и накрая получаваме
xopt = qB/[(1 – q)(P + B)].
| Означение | Значение | Стойност в нашия пример |
| P ($) | Размерът на пота | 100 |
| B ($) | Размерът на залога | 100 |
| q | Вероятността да имаш печелившата ръка (от гледна точка на опонента) |
0,2 |
| x | Честотата, с която блъфираш | (променлива) |
| y | Честотата, с която опонентът колва | (променлива) |
| xopt | ‘Оптималната’ честота, с която блъфираш | 0,125 |
| yopt | ‘Оптималната’ честота за кол | 0,5 |
| Ew ($) | Очакваната печалба, когато имаш печелившата ръка | 100 (1 + y) |
| El ($) | Очакваната печалба, когато имаш губещата ръка |
100x (1 – 2y) |
| Eop ($) | Очакваната печалба на опонента | 80[2xy + 1 – x] – 20y |
Когато работим с вероятности, обикновено пишем 0.2 вместо 20%, 0.5 вместо 50% и тн. В този ред на мисли, вероятността на невъзможното е 0 (0%), докато `сигурното нещо` има вероятност 1 (100%). Вероятността за всичко останало трябва да бъде между 0 и 1.