poker-probability-for-beginners-a-complete-guide

احتمالات البوكر للمبتدئين: دليل كامل

إذا كنت تجيد العد، يمكنك تعلم التفكير كلاعب بوكر. قد يبدو البوكر وكأنه ضربة حظ في المدى القصير، لكن وراء كل قرار تكمن حسابات منطقية، واحتمالات، وقيمة متوقعة. في هذا الدليل، ستتعلم الأساسيات: كيفية حساب احتمالات كل يد مكونة من خمس بطاقات، وكيف تؤثر المعلومات المشروطة على الاحتمالات في لعبة تكساس هولدم، وكيفية محاكاة سيناريوهات باستخدام Python للتحقق من صحة حدسك. الهدف ليس وعدك بالربح، بل مساعدتك على اتخاذ قرارات مدروسة ، وفهم التباين، وتقدير جمال التفكير الإحصائي على طاولة اللعب.

ملاحظة تعليمية: هذا المحتوى مخصص لتعلم الإحصاء واتخاذ القرارات. وهو لا يضمن تحقيق الأرباح ولا يشجع على المقامرة.


ما سوف تتعلمه (ملخص)

  • كيف تترجم مجموعة أوراق اللعب القياسية المكونة من 52 بطاقة إلى عد تركيبي.
  • الاحتمالات الدقيقة للأيدي الكلاسيكية المكونة من 5 بطاقات.
  • كيف تقوم الاحتمالات الشرطية والبطاقات الجديدة (flop/turn/river) بتحديث فرصك.
  • معنى احتمالات الرهان، والاحتمالات الضمنية، والقيمة المتوقعة.
  • كيفية تشغيل محاكاة مونت كارلو في بايثون لتقدير معدلات الفوز.

1) المجموعة، والتركيبات، ولغة الاحتمالات

تحتوي مجموعة البطاقات القياسية على 52 بطاقة: 13 رتبة (A، 2،…، K) × 4 مجموعات (♠♥♦♣). في بوكر الخمس بطاقات، كل يد مميزة هي مزيج من خمس بطاقات بدون ترتيب:

\text{Total 5-card hands}=\binom{52}{5}=\dfrac{52!}{5!,47!}=2{,}598{,}960

هذا الرقم هو المقام لجميع احتمالات توزيع البطاقات الخمس بدقة. في لعبة تكساس هولدم، حيث تحصل على بطاقتين مخفيتين وتجمعهما مع خمس بطاقات مشتركة، نلجأ غالبًا إلى العد الشرطي أو المحاكاة لأن تسلسل توزيع البطاقات وتفاعلات اللاعبين يجعل العمليات الجبرية معقدة.


2) الاحتمالات الدقيقة لأيدي البوكر المكونة من 5 بطاقات

فيما يلي إحصاءات واحتمالات قياسية لأيدي سحب خمس بطاقات. يمكنك إعادة حساب كل منها باستخدام التركيبات؛ سأعرض أحد هذه الاحتمالات، ثم أقدم الجدول.

مثال على الاشتقاق: زوج واحد

  • اختر رتبة الزوج: \binom{13}{1}.
  • اختر البدلتين المناسبتين لهذه الرتبة: \binom{4}{2}.
  • اختر 3 خامد الرتب (وليس رتبة الزوج) من الـ 12 المتبقية: \binom{12}{3}.
  • لكل من هذه الرتب الثلاث، اختر بدلة واحدة من بين 4: 4^{3}.
N_{\text{one pair}}=\binom{13}{1},\binom{4}{2},\binom{12}{3},4^{3}=1{,}098{,}240 P(\text{زوج واحد})=\dfrac{N_{\text{زوج واحد}}}{\binom{52}{5}}\approx 0.4226؛ (42.26%)

احتمالات اليد القياسية المكونة من 5 بطاقات

نوع اليد العد التركيبي احتمال
رويال فلوش40.000154%
ستريت فلاش (رويال سابقًا)360.001385%
أربعة من نفس النوع6240.0240%
كامل البيت3,7440.1441%
تدفق (تدفق مستقيم سابقًا)5,1080.1965%
مستقيم (مستقيم سابق)10,2000.3925%
ثلاثة من نفس النوع54,9122.1128%
اثنين من زوج123,5524.7539%
زوج واحد1,098,24042.2569%
بطاقة عالية (لا يوجد زوج، لا يوجد مستقيم/فلوش)1,302,54050.1177%

3) من العد إلى اتخاذ القرار: احتمالات الرهان والقيمة المتوقعة

يُعدّ العدّ أساسًا؛ وتعتمد القرارات على القيمة المتوقعة (EV). إذا أسفر فعل ما عن نتائج x_i باحتمالات p_i، فإن:

القيمة المتوقعة = مجموع i p_i، x_i

في لعبة البوكر، يُمثل x_i قيمة مالية: الرقائق التي تربحها (+) أو تخسرها (-). يُعتبر اتصل مربحًا إذا \mathrm{EV} > 0. عند محاولة تحسين اليد، غالبًا ما نقارن pot odds باحتمالات تحسين اليد.

  • احتمالات القدر (كنسبة) = \dfrac{\text{المبلغ المطلوب استدعاؤه}}{\text{القدر بعد الاستدعاء}}.
  • احتمالية التعادل ص^{\است} مطلوب الاتصال ب:
p^{\ast}=\dfrac{\text{المبلغ المراد استدعاؤه}}{\text{المبلغ المراد استدعاؤه}+\text{القدر}}

مثال: الرهان ٩٠ دولارًا، والخصم يراهن بـ ١٠ دولارات، ويجب عليك المراهنة بـ ١٠ دولارات لرؤية البطاقة التالية. يصبح الرهان بعد المراهنة ١١٠ دولارات.
التعادل p^{\ast} = \dfrac{10}{110} \approx 9.09%.
إذا كانت فرصتك في التحسن (والفوز) تتجاوز 9.09%، اتصل له إيجابيات رقاقة كهربائية- تجاهل الرهانات المستقبلية (هذا احتمالات ضمنية).


4) قواعد المخرجات والتقريب على الطاولة

An out هي بطاقة غير مرئية تُحسّن يدك إلى أفضل وضعية ممكنة. مع بقاء بطاقة واحدة (في النهر)، فإن احتمال الحصول على واحدة على الأقل من بطاقاتك الرابحة k من البطاقات المتبقية غير المرئية يُقارب ما يلي:

P(\text{ضربة على النهر})\approx \dfrac{k}{46}

مع ورقتين قادمتين (الدور و نهر)، تقدير مفيد هو Rule of 4 and 2:

  • بعد الفلوب (هناك بطاقتان قادمتان)، فرصة تقديرية حوالي 4k%.
  • بعد الدور (بطاقة واحدة قادمة)، فرصة مقدرة حوالي 2k%.

المخرجات المشتركة

  • سحب مستقيم مفتوح النهاية: ك = 8 → ~32% بالنهر (قاعدة 4).
  • سحب الفلاش (بعد الفلوب): ك = 9 → ~36% بالنهر.
  • زوج البطاقة العلوية (بطاقتان علويتان): تقريبا ك = 6 → ~24% بالنهر.

5) الاحتمال الشرطي في لعبة تكساس هولدم

تصل المعلومات على مراحل (ما قبل الفلوب ← الفلوب ← التيرن ← الريفر). كل كشف يُحدد احتمالية حدوث الاحتمالية. إذا كان A هو الحدث "أحصل على فلوش في الريفر" و B هو الحدث "يظهر في الفلوب ورقتان من نفس النوع"، فإن:

P(A\mid B)=\dfrac{P(A\cap B)}{P(B)}

بدلاً من العمل من خلال عمليات تعداد معقدة في كل مرة، يستخدم اللاعبون outs والتقريب - أو يقومون بالمحاكاة.

مثال: فلوش عند النهر مع وجود 4 فلوش بعد الفلوب
أنت تحمل قلبين؛ يظهر الفلوب قلبين، مما يمنحك قلوب 4 مجتمعة و 9 عموميات (١٣ قلبًا - ٤ مرئية). حساب تكميلي دقيق لـ "إضاعة كلٍّ من الدور والنهر":

P(\text{لا يوجد قلب في المنعطف والنهر})=\dfrac{39}{47}\cdot\dfrac{38}{46}\approx 0.676

وبالتالي،

P(\text{جعل التدفق عن طريق النهر})\تقريبًا 1-0.676=0.324

وهو ما يتوافق مع حدس قاعدة الأربعة عندما تكون قيمة ك = 9 بعد الفلوب.


6) بايثون: العد، وجداول الاحتمالات، ومحاكي صغير

لا تحتاج إلى برنامج حل لتتعلم. ابدأ بثلاثة نصوص مفيدة.

6.1 احسب احتمالات اليد المكونة من 5 بطاقات بدقة

import math

def nCk(n, k):
    return math.comb(n, k)

total = nCk(52, 5)

counts = {
    "royal_flush": 4,
    "straight_flush_ex_royal": 36,
    "four_of_a_kind": 624,
    "full_house": 3744,
    "flush_ex_straight_flush": 5108,
    "straight_ex_straight_flush": 10200,
    "three_of_a_kind": 54912,
    "two_pair": 123552,
    "one_pair": 1098240,
    "high_card": 1302540
}

for hand, c in counts.items():
    p = c / total
    print(hand, c, f"{100*p:.6f}%")

6.2 Outs، Pot Odds، وEV Helper

def break_even_prob_to_call(amount_to_call, pot_before_call):
    pot_after_call = pot_before_call + amount_to_call
    return amount_to_call / pot_after_call

def approx_hit_prob(outs, cards_to_come=1):
    # Rule of 2 and 4
    if cards_to_come == 1:
        return min(1.0, outs * 2 / 100)
    elif cards_to_come == 2:
        return min(1.0, outs * 4 / 100)
    else:
        raise ValueError("cards_to_come must be 1 or 2")

def call_chip_ev(amount_to_call, pot_before_call, win_prob):
    pot_after_call = pot_before_call + amount_to_call
    # EV = win_prob * pot_after_call - (1 - win_prob) * amount_to_call
    return win_prob * pot_after_call - (1 - win_prob) * amount_to_call

# Example:
to_call = 10
pot = 90
p_be = break_even_prob_to_call(to_call, pot)
p_approx = approx_hit_prob(outs=9, cards_to_come=2)  # flush draw after flop
ev = call_chip_ev(to_call, pot, p_approx)
print("Break-even prob:", round(p_be, 4))
print("Approx win prob:", round(p_approx, 4))
print("Chip EV of call:", round(ev, 2))

6.3 ميني مونتي كارلو للعبة Heads-Up Hold'em (مبسطة للغاية)

import random
from collections import Counter
from itertools import combinations

ranks = "23456789TJQKA"
suits = "CDHS"
deck = [r+s for r in ranks for s in suits]

def hand_rank_5(cards5):
    rs = sorted([c[0] for c in cards5], key=ranks.index)
    ss = [c[1] for c in cards5]
    is_flush = len(set(ss)) == 1
    vals = sorted([ranks.index(r) for r in rs])
    is_straight = all(vals[i]+1 == vals[i+1] for i in range(4)) or vals == [0,1,2,3,12]
    cnt = Counter(rs).most_common()
    counts = sorted([c for _, c in cnt], reverse=True)
    if is_straight and is_flush: cat = 8
    elif counts == [4,1]:        cat = 7
    elif counts == [3,2]:        cat = 6
    elif is_flush:               cat = 5
    elif is_straight:            cat = 4
    elif counts == [3,1,1]:      cat = 3
    elif counts == [2,2,1]:      cat = 2
    elif counts == [2,1,1,1]:    cat = 1
    else:                        cat = 0
    order = []
    for r,c in sorted(cnt, key=lambda x:(x[1], ranks.index(x[0])), reverse=True):
        order += [r]*c
    key = tuple(sorted([ranks.index(r) for r in order], reverse=True))
    return (cat, key)

def best_5_from_7(cards7):
    best = None
    for comb in combinations(cards7, 5):
        rank = hand_rank_5(comb)
        if best is None or rank > best:
            best = rank
    return best

def simulate_heads_up(hole_hero, iters=20000):
    wins = ties = 0
    for _ in range(iters):
        d = deck.copy()
        for c in hole_hero:
            d.remove(c)
        random.shuffle(d)
        villain = d[:2]
        board = d[2:7]
        hero_best = best_5_from_7(hole_hero + board)
        vill_best = best_5_from_7(villain + board)
        if hero_best > vill_best: wins += 1
        elif hero_best == vill_best: ties += 1
    return (wins + 0.5*ties) / iters

# Example: simulate A♠K♠
hero = ["AS", "KS"]
wr = simulate_heads_up(hero, iters=5000)
print("Estimated win rate for AK suited (heads-up):", round(100*wr, 2), "%")

7) نظرية بايز: تحديث المعتقدات من خلال أفعال الخصوم

لعبة البوكر ليست مجرد أوراق لعب؛ إنها استدلال حول نطاقات الأوراق. تُضفي نظرية بايز طابعًا رسميًا على كيفية تحديث الأدلة الجديدة (رهان الخصم أو تمريره أو رفعه) لمعتقدك حول أوراقه.

P(H\mid E)=\dfrac{P(E\mid H),P(H)}{P(E)}
  • H: فرضية (الخصم لديه يد قوية).
  • E: الدليل (الخصم يضع 3 رهانات قبل الدخول في الرهان).
  • ف(ح): قبل- كم مرة يكون هذا اللاعب قويًا قبل رؤية الحدث.
  • P(E\mid H): أرجحية- ما مدى احتمالية الحصول على يد قوية في الرهان الثلاثي هنا.
  • P(H\mid E): خلفي- تم تحديث الاحتمالية بعد ملاحظة الرهان الثلاثي.

في الممارسة العملية، نقوم بتقريب التوقعات المسبقة من اتجاهات السكان (على سبيل المثال، لاعب متماسك يراهن بثلاثة أضعاف ~3-5% من الأيدي)، ثم نقوم بالتحسين باستخدام عينة الأيدي التي رأيناها.


8) التباين مقابل المهارة: لماذا تفوز الرياضيات على المدى الطويل

النتائج قصيرة الأجل غير دقيقة. حتى مع استراتيجية ذات قيمة متوقعة إيجابية، ستواجه فترات من الخسائر. على مدار جولات عديدة، يُشير قانون الأعداد الكبيرة إلى أن متوسطات العينات تقترب من المتوسطات الحقيقية. إذا كانت قراراتك ذات قيمة متوقعة أكبر \mathrm{EV} > 0بشكل منهجي ، فإن ربحك المتوقع على المدى الطويل سيكون إيجابيًا، على الرغم من أن فرق (التقلبات) قد يكون كبيرًا.

إحدى الطرق البسيطة لتصور ذلك هي محاكاة عملة متحيزة (القيمة المتوقعة > 0) والنظر إلى مسارات الربح التراكمي - ستكون العديد من المسارات سلبية على المدى القصير، لكن الاتجاه العام تصاعدي مع ازدياد عدد المحاولات. وينطبق الأمر نفسه على لعبة البوكر: تتضح حقيقة القيمة المتوقعة مع زيادة حجم التداول والانضباط.


9) اللعب الأخلاقي: إدارة رأس المال وضبط النفس

تساعدك الرياضيات على تجنب خداع الذات:

  • بكج قواعد رأس المال (على سبيل المثال، رسوم الاشتراك ≤ 5% من رأس المال لألعاب الكاش؛ ≥ 100 رسوم اشتراك للبطولات هي قاعدة عامة متحفظة).
  • الاحترام إيقاف الخسارة و إيقاف-فوز حدود لتقليل الميل.
  • تذكر أن اللعب المستنير لا يزال ينطوي على مخاطر. الهدف هو اتخاذ قرارات أفضل، وليس اليقين.

10) تجميعها: خطة دراسة للمبتدئين

  1. حفظ جدول احتمالات البطاقات الخمس وفهم التركيبات.
  2. ممارسة outs and the Rule of 4 and 2 حتى تتمكن من حسابها على الفور.
  3. استخدم احتمالات الرهان ومساعدات القيمة الكهربائية للتحقق من الأيدي الحقيقية التي لعبتها.
  4. يجري Monte Carlo في سيناريوهات محددة (بطاقتيك المخفيتين مقابل مجموعة الخصم المتوقعة).
  5. إضافة التفكير بايزي: قم بتحديث نموذج الخصم الخاص بك استنادًا إلى الإجراءات التي تم رصدها.
  6. حافظ على دفتر اليد: القرارات، الحسابات، النتائج. سترى أنماطًا وأخطاءً.

خاتمة

البوكر مختبرٌ غنيٌّ للاحتمالات والإحصاء واتخاذ القرارات العقلانية. يُظهر علم التوافقيات مدى ندرة كل يد. يشرح الاحتمال الشرطي ونظرية بايز كيف تُعيد المعلومات الجديدة تشكيل معتقداتك. تُحوّل القيمة المتوقعة (EV) واحتمالات الرهان (Pot) المعتقدات إلى خيارات. تُثبت المحاكاة صحة النظرية وتُدرّب الحدس. لن تُزيل الشك، لكنك ستستبدل التخمين بالهيكلة والنزاهة والانضباط.


الروابط الداخلية المقترحة

  • القيمة المتوقعة (EV) في البوكر: من احتمالات الرهان إلى الربح
  • محاكاة مونت كارلو لأيدي البوكر باستخدام بايثون
  • التفكير البايزي على الطاولة: النطاقات والاحتمالات والتحديثات

المشاركات مماثلة