मुख्य सामग्री पर जाएं

Python के साथ पोकर हैंड्स का विश्लेषण

Python के साथ पोकर हैंड्स का विश्लेषण करें और संयोजन, क्रमचय, (अ)निर्भर घटनाएँ और अपेक्षित मान जैसे सांख्यिकीय सिद्धांतों को आसानी से लागू करें।
अपडेट किया गया 25 सित॰ 2026  · 15 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

इस ट्यूटोरियल के पहले भाग में, आपने कई अवधारणाओं के बारे में सीखा था, जिनमें स्वतंत्र और निर्भर घटनाएँ, क्रमचय और संयोजन, एकाधिक घटनाएँ, अपेक्षित मान, तथा इन्हें कैसे गणना करें, शामिल हैं। अब आप इन अवधारणाओं को मेरे करियर के दौरान खेले गए वास्तविक पोकर हाथों पर लागू करेंगे। इस दौरान, आप अपेक्षित मान (Expected Value) की अवधारणा को और गहराई से समझेंगे और जानेंगे कि सर्वोत्तम निर्णय लेने के लिए इसका उपयोग कैसे करें।

  • सबसे पहले, आप No Limit Texas Hold’em का एक संक्षिप्त परिचय देखेंगे ताकि इस ट्यूटोरियल को पूरा करने के लिए आवश्यक डोमेन ज्ञान आपके पास हो;
  • इसके बाद, आपको कुछ ऐसे टूल्स से भी परिचित कराया जाएगा जिनका उपयोग पोकर हैंड्स के केस स्टडीज़ में होगा।
  • इन दो प्रारंभिक अनुभागों के बाद, आप उस अवधारणा पर करीब से नज़र डालेंगे जिसे आपने पहले ट्यूटोरियल में देखा था: अपेक्षित मान (Expected Value)।
  • अंत में, आप इन पोकर हाथों से गुजरेंगे: पॉकेट 10s बनाम प्री-फ्लॉप रेज़, पॉकेट 8s बनाम प्री-फ्लॉप रेज़, और फ्लॉप चेक-रेज़ सेमी-ब्लफ़।

cards

No Limit Texas Hold’em का परिचय

शुरू करने से पहले, थोड़ा पृष्ठभूमि ज्ञान ज़रूरी है। इस लेख के केस स्टडीज़ में जिस खेल को कवर किया जाएगा, वह No Limit Texas Hold’em है। 52 पत्तों की मानक डेक के साथ खेला जाने वाला Texas Hold’em सभी पोकर वेरिएशनों में सबसे लोकप्रिय है। प्रत्येक खिलाड़ी अपनी दो कार्डों को, हाथ के दौरान बांटे गए पाँच सामुदायिक कार्डों के साथ मिलाकर, संभवतः सबसे अच्छा पाँच-कार्ड वाला हाथ बनाने की कोशिश करता है।

डीलर बटन के बाएँ बैठा खिलाड़ी कार्रवाई शुरू करता है और खेल घड़ी की दिशा में टेबल के चारों ओर आगे बढ़ता है। आमतौर पर बेटिंग तब शुरू होती है जब डीलर बटन के बाएँ वाला खिलाड़ी स्मॉल ब्लाइंड पोस्ट करता है, और उसके बाएँ अगला खिलाड़ी बिग ब्लाइंड पोस्ट करता है। बेटिंग कई स्ट्रीट्स पर होती है: प्री-फ्लॉप, फ्लॉप, टर्न, और रिवर।

यहाँ कुछ शब्द हैं जिन्हें आपको समझना चाहिए:

  • बटन (Button) - बटन एक गोल डिस्क होती है जो हर हाथ के बाद घड़ी की दिशा में टेबल पर घूमती रहती है। होम गेम में जिसके पास बटन होता है वही डील करता है और पहला पत्ता अपने बाएँ वाले खिलाड़ी को देता है। कसीनो में बटन यह बताता है कि डीलर कौन होना चाहिए, लेकिन वास्तविक डीलर कसीनो द्वारा प्रदान किया जाता है।
  • ब्लाइंड्स (The Blinds) - ब्लाइंड्स, बटन के बाएँ बैठे दो खिलाड़ियों द्वारा की गई बाध्यकारी बेट्स होती हैं। इन्हें “ब्लाइंड्स” कहा जाता है क्योंकि इन दो खिलाड़ियों को अपने कार्ड देखने से पहले ही बेट लगानी पड़ती है।
  • स्ट्रीट्स (Streets) - हर वह राउंड जिसमें कार्ड बांटे जाते हैं, एक स्ट्रीट कहलाता है।
  • प्री-फ्लॉप (Pre-Flop) - यह पहला बेटिंग राउंड है। प्रत्येक खिलाड़ी को दो कार्ड दिए जाते हैं और ब्लाइंड्स बेटिंग शुरू करते हैं। अभी तक कोई सामुदायिक कार्ड नहीं बांटा गया होता।
  • फ्लॉप (Flop) - यह दूसरा बेटिंग राउंड है। इस राउंड में, टेबल के बीचोंबीच तीन सामुदायिक कार्ड फेस-अप बांटे जाते हैं, और फिर एक बेटिंग राउंड होता है।
  • टर्न (Turn) - इस राउंड में केवल एक सामुदायिक कार्ड बांटा जाता है, जिसके बाद तीसरा बेटिंग राउंड होता है।
  • रिवर (The River) - अंतिम सामुदायिक कार्ड बांटा जाता है, जिसके बाद आखिरी बेटिंग राउंड होता है।
  • शोडाउन (Showdown) - रिवर बांटे जाने और सारी बेटिंग के बाद, बचे हुए खिलाड़ी अपने कार्ड दिखाते हैं ताकि पता चल सके कि सबसे अच्छा हाथ किसके पास है।
  • चेक (Check) - यदि किसी खिलाड़ी की कार्रवाई की बारी है और उस बेटिंग राउंड में अब तक कोई बेट नहीं हुई है, तो खिलाड़ी चेक कर सकता है, यानी बेट न करने का चुनाव कर सकता है और अगला खिलाड़ी अपनी बारी ले सकता है।
  • बेट या रेज़ (Bet or Raise) - बेट करना या रेज़ करना, बेटिंग राउंड के दौरान दाँव की राशि बढ़ाना है। हर राउंड में जो खिलाड़ी सबसे पहले पॉट में पैसा डालता है, वह बेट कर रहा होता है। यदि कोई दूसरा खिलाड़ी उसी राउंड में दाँव का आकार बढ़ा दे, तो वह रेज़ कर रहा होता है।
  • कॉल (Call) - यदि किसी खिलाड़ी की बारी है और उस राउंड में पहले से बेट हो चुकी है, तो खिलाड़ी पिछली बेट के बराबर रकम लगाकर कॉल कर सकता है।
  • फोल्ड (Fold) - यदि किसी खिलाड़ी की बारी है और उस राउंड में पहले से बेट हो चुकी है, तो खिलाड़ी हार मानकर अपना हाथ फोल्ड कर सकता है। यह खिलाड़ी अब इस हाथ में शामिल नहीं रहता और पॉट में डाली गई कोई भी राशि खो देता है।

यदि आपने कभी नहीं खेला है या पोकर शब्दावली से अपरिचित हैं, तो एक संक्षिप्त परंतु विस्तृत व्याख्या के लिए आप यहाँ क्लिक करें।

पोकर प्रायिकता टूल्स

जब भी खेलते समय मैं किसी भ्रमित करने वाली स्थिति में पड़ता, तो मैं उस हाथ को बाद में समीक्षा के लिए चिह्नित कर देता। अपने पोकर सत्र के बाद, मैं वापस जाकर उन हाथों की समीक्षा करता जिन्हें मैंने मार्क किया होता। मैं उन्हें गणितीय रूप से तोड़ता ताकि भविष्य में समान स्थितियों में क्या करना है, इसका बेहतर अंदाजा हो।

इस ट्यूटोरियल में उपयोग किए गए हाथों को Hold’em Manager द्वारा डाउनलोड करके PostgreSQL डेटाबेस में संग्रहीत किया गया था, जिसका उल्लेख भाग I में किया गया था। Hold’em Manager आपके द्वारा खेले जाने वाले हर प्रतिद्वंद्वी के लिए इन हैंड हिस्ट्रीज़ से आँकड़े निकालता है। आप जैसे-जैसे खेलते हैं, डेटा वास्तविक समय में अपडेट होकर दिखता है।

मैंने अपने पोकर करियर से तीन हाथ चुने हैं। आप उस समय उपलब्ध मेरे प्रतिद्वंद्वियों के आँकड़ों, तर्कसंगत निष्कर्ष, और इक्विटी कैलकुलेटर नामक एक टूल की मदद से, प्रत्येक व्यावहारिक विकल्प के लिए हाथ जीतने की प्रायिकता के बारे में मान्यताएँ बनाएँगे।

नोट: इक्विटी कैलकुलेटर का उपयोग किसी निर्दिष्ट स्थिति के आधार पर हाथ जीतने की प्रायिकता तय करने के लिए किया जाता है। आप अपने कार्ड, सामुदायिक कार्ड (यदि हों), और वह रेंज दर्ज करते हैं जिसे आप मानते हैं कि आपका प्रतिद्वंदी पकड़े हुए है। यदि शेष कार्ड बांटे जाएँ, तो कैलकुलेटर हाथ जीतने की प्रायिकता देता है।

अपेक्षित मान: एक नज़दीकी नज़र

पहले हाथ के विश्लेषण में जाने से पहले, आपको अपेक्षित मान की बेहतर समझ चाहिए। भाग I में, आपने 75% जीत की संभावना के साथ \$100 के पॉट को जीतने के अपने अपेक्षित मान की गणना करना सीखा। वहाँ केवल दो संभावनाएँ थीं:

  • \$100 जीतें
  • \$0 जीतें

ExpectedValue=TotalValue×Probability फ़ॉर्मूला की मदद से, आपने गणना की कि अपेक्षित मान \$100 * .75 या \$75 होगा।

हालाँकि, कई बार आपके पास इतनी सीधी-सादी गणना नहीं होगी और दो से अधिक संभावित परिणाम होंगे। अपेक्षित मान निकालने के लिए, आपको प्रत्येक संभावित परिणाम का भारित औसत निकालना होगा, जहाँ प्रत्येक परिणाम को उसकी संबंधित प्रायिकता से वेट किया जाता है।

इसीलिए, ऊपर दिए गए समीकरण को इस तरह बेहतर ढंग से दर्शाया जा सकता है:

$Expected Value = (100 * .75) + (0 * .25)$
$Expected Value = \$75$

और यदि ऊपर दी स्थिति के लिए तीसरा संभावित परिणाम भी हो तो?

निम्नलिखित स्थिति पर नज़र डालें, जहाँ आपके पास \$100 जीतने की 50% संभावना है, \$25 जीतने की 25% संभावना है और बिल्कुल कुछ भी न जीतने की 25% संभावना है:

  • \$100 जीतें (50%)
  • \$25 जीतें (25%)
  • \$0 जीतें (25%)

तब, आपके अपेक्षित मान की गणना इस प्रकार होगी:

$Expected Value = (100 * .50) + (25 * .25) + (0 * .25)$
$Expected Value = \$56.25$

अब समय है कि आपने जो सीखा है उसे उन कुछ परिदृश्यों पर लागू करें, जिनसे मैं पोकर टेबल पर गुजरा।

पॉकेट 10s बनाम प्री-फ्लॉप रेज़

नोट: पोकर हाथों की समीक्षा करते समय, अपने प्रतिद्वंदी को Villain और जिसकी समीक्षा हो रही है उसे Hero कहा जाता है। जिस खिलाड़ी की आप समीक्षा करेंगे वह ‘GamingFoSho’ है, जो उन पोकर साइट्स पर मेरा यूज़रनेम था जिन पर मैं खेलता था।

हैंड 1 का अवलोकन

Hand 1 Overview

Hero (GamingFoSho) के पास 10s की जोड़ी है और उसने \$0.85 बेट किया है। उसके पास \$20.95 शेष हैं। Opponent या Villain \$2.50 तक रेज़ करता है और उसके पास \$30.35 शेष हैं।

पोकर शब्दावली में, इसे 3bet कहते हैं। स्मॉल ब्लाइंड और बिग ब्लाइंड पहली बेट लगाते हैं, और Hero ने उन्हें रेज़ करके दूसरी बेट की। वर्तमान में पॉट में कुल \$3.70 हैं। कॉल करना अच्छा विकल्प नहीं है, जिन कारणों का विस्तार से वर्णन इस ब्लॉग पोस्ट के दायरे से बाहर है।

नोट: सामान्यतः, निष्क्रिय तरीके से पोकर खेलना लाभदायक नहीं होता और आक्रामक तरीके से खेलना लाभदायक होता है। कॉल करना निष्क्रिय है और बेट या रेज़ करना आक्रामक। पोकर रणनीति से जुड़े अन्य कारक भी हैं जैसे खिलाड़ी की पोज़िशन, जो दर्शाते हैं कि कॉल करना बुरा विकल्प है, पर उनका विस्तृत स्पष्टीकरण आवश्यक होगा।

Hero को यह तय करना है कि रेज़ करके ऑल-इन जाने और शेष सभी चिप्स लगाने की योजना बनाई जाए, या फिर फोल्ड किया जाए। फोल्ड करने की कोई लागत नहीं, इसलिए आप ऑल-इन जाने के अपेक्षित मान का विश्लेषण करेंगे। इस स्थिति में, मैं छोटा रेज़ करूँगा ताकि Villain ऑल-इन ब्लफ़ करे, लेकिन गणना ऐसे करनी होगी मानो मैं ऑल-इन जा रहा हूँ क्योंकि यही योजना है।

यदि ऑल-इन जाकर हारते हैं तो Hero \$20.95 का जोखिम उठाता है। ‘ऑल-इन’ का मतलब है अपनी सारी रकम पॉट में लगाना। Hero के पास \$20.95 शेष हैं, इसलिए ऑल-इन का जोखिम \$20.95 है। यदि ऑल-इन जाकर जीतते हैं तो Hero \$23 जीतता है। फिलहाल पॉट में \$3.70 हैं। Hero ने \$0.85 बेट किया और Villain ने \$2.50 तक रेज़ किया। Villain की रेज़ से मेल खाने के लिए Hero को शेष \$20.95 में से \$1.65 और लगाने होंगे, जिससे Hero के पास \$19.30 बचेंगे। इसका मतलब Hero, पॉट में पहले से मौजूद \$3.70 के ऊपर अतिरिक्त \$19.30 जीत सकता है, कुल \$23.00 के लिए। चूँकि फिलहाल पॉट में कुल \$3.70 हैं, यदि Villain फोल्ड करता है तो Hero \$3.70 जीतता है।

Hand1_AllIn_Loses = -20.95
Hand1_AllIn_Winnings = 23
Hand1_Fold_Winnings = 3.7

हैंड 1 के प्रासंगिक आँकड़े

पोकर अधूरी जानकारी पर आधारित तर्कसंगत निष्कर्ष का खेल है। Hold’em Manager में, मैं पहले खेले गए हाथों की समीक्षा कर सकता हूँ और वह आँकड़े देख सकता हूँ जो हाथ खेले जाने के समय उपलब्ध थे। नीचे उन आँकड़ों के स्क्रीनशॉट हैं जो इस प्रतिद्वंदी पर इस हाथ के समय मेरे पास थे।

ये संख्याएँ एक विशिष्ट स्थिति का प्रतिनिधित्व करती हैं, जैसे बटन से प्री-फ्लॉप बेट करना। अधिकतर समय दो संख्याएँ दी होती हैं। बाईं संख्या दर्शाती है कि किसी विशिष्ट स्थिति में Villain ने कितने प्रतिशत मौकों पर कोई विशेष चाल चली। दाईं ओर कोष्ठक में दी संख्या 99 परीक्षणों तक की ट्रायल गिनती दर्शाती है। यदि कोष्ठक में कोई संख्या नहीं है, तो ट्रायल की संख्या 100 या अधिक है।

मैंने इस प्रतिद्वंदी के खिलाफ 392 हाथ खेले थे और मैंने उन आँकड़ों को हाइलाइट किया है जो इस हाथ के लिए प्रासंगिक हैं:

Stats1

Stats2

  1. Villain बटन पोज़िशन में है जो स्मॉल और बिग ब्लाइंड के दाहिने पहली पोज़िशन है। कुल मिलाकर, इस पोज़िशन से Villain 7.4% (27 ट्रायल) समय 3bet करता है;
  2. Hero कट-ऑफ पोज़िशन में है, जो बटन के दाहिने पहली पोज़िशन है। कुल मिलाकर, कट-ऑफ के विरुद्ध Villain 12.5% (16 ट्रायल) समय 3bet करता है;
  3. जब Villain बटन पर है और कट-ऑफ से प्री-फ्लॉप रेज़ का सामना करता है, तो Villain 25% (4 ट्रायल) समय 3bet करता है;
  4. जब Villain प्री-फ्लॉप 3bet करता है और रेज़ का सामना करता है, तो वह 50% समय (2 ट्रायल) फोल्ड करता है।

नोट: मैंने ये 4 बिंदु महत्वपूर्ण कैसे तय किए? Hero कट-ऑफ पोज़िशन में था और Villain ने बटन से 3bet किया। मैं ऐसे आँकड़े चाहता हूँ जो दिखाएँ कि Villain ने इससे मिलती-जुलती स्थितियों में पहले क्या किया है। Villain बटन पोज़िशन से या कट-ऑफ में बैठे खिलाड़ी के विरुद्ध कितनी बार 3bet करता है? Villain 3bet पर रेज़ का सामना करने पर कितनी बार फोल्ड करता है? ऊपर चुने गए आँकड़े उन्हीं प्रश्नों के सर्वोत्तम उत्तर देते थे।

हैंड 1 की मान्यताएँ

ऊपर दिए गए आँकड़ों के आधार पर, मैं निम्न मान्यताएँ (सूझबूझ पर आधारित अनुमान) कर रहा हूँ;

  1. Villain लगभग (~) 13–15% शुरुआती हाथों की रेंज के साथ 2.50 तक रेज़ करता है;
  2. Villain ~25% समय री-रेज़ पर फोल्ड करता है और ~75% समय ‘ऑल-इन’ जाता है;
  3. Villain ~10% रेंज के साथ ‘ऑल-इन’ री-रेज़ करता है, जिसे नीचे की छवि में दर्शाया गया है।
  4. पीली हाइलाइट की गई हाथ Villain की मान्य रेंज को दर्शाते हैं, जो 128 संयोजनों (नमूने का 9.7%) से मिलकर बनी है।
  5. यदि आप सोच रहे हैं कि A5s और A2s रेंज में क्यों हैं, तो वे Villain के ब्लफ़ हाथों का प्रतिनिधित्व करते हैं।

नोट: नीचे की छवि Texas Hold’em में सभी संभावित शुरुआती हाथ संयोजनों के नमूना आकार का प्रतिनिधित्व करती है, जो 1326 संयोजन हैं, जैसा कि आपने इस ट्यूटोरियल श्रृंखला के पहले भाग में देखा था।

Hand 1 Assumptions

  • AA = Ace Ace, KK = King King, आदि।
  • AKo = Ace King ऑफसूट, ATo = Ace Ten ऑफसूट, आदि।
  • AKs = Ace King सूटेड, ATs = Ace Ten सूटेड, J8s = Jack Eight सूटेड, आदि।

हैंड 1 का विश्लेषण

अब जब आपके पास Villain की रेंज है, तो आपको यह निर्धारित करना है कि यदि दोनों ऑल-इन जाते हैं तो Villain की मान्य रेंज के विरुद्ध Hero का हाथ जीतने की प्रायिकता कितनी है। आप Hero का हाथ (10h10s) और Villain की रेंज को इक्विटी कैलकुलेटर में प्लग कर सकते हैं ताकि Hero के जीतने की प्रायिकता निर्धारित हो सके। इक्विटी कैलकुलेटर 10h10s को Villain की मान्य रेंज के विरुद्ध हज़ारों बार सिमुलेट करता है और निर्धारित करता है कि Hero लगभग 53.77% समय जीतता है।

अब आप EstFoldPercent और Equity के लिए वेरिएबल बना सकते हैं, और फिर अपना AllinExpectedValue() फ़ंक्शन बना सकते हैं।

Hand1_Fold_Percent = .25
Hand1_Equity = .538

अब यह एक सरल गणना है। आपको एक फ़ंक्शन बनाना है जो निम्नलिखित समीकरण को दर्शाए:

    $FoldEV = (FoldPercent * FoldWinnings)$
    $AllinEV = (1 - FoldPercent) * ((AllInWinnings * Equity) + (AllInLoses * (1 - Equity)))$
    $AllinExpectedValue = FoldEV + AllinEV$
def AllinExpectedValue(AllIn_Loses, AllIn_Winnings, Fold_Winnings, Fold_Percent, Equity):
    FoldEV = (Fold_Percent * Fold_Winnings)
    AllinEV = (1 - Fold_Percent) * ((AllIn_Winnings * Equity) + (AllIn_Loses * (1 - Equity)))
    AllinExpectedValue = FoldEV + AllinEV
    if AllinExpectedValue > 0:
        return 'Raise!', AllinExpectedValue
    else:
        return 'Fold!', AllinExpectedValue

अब हैंड 1 के वेरिएबल्स को AllinExpectedValue फ़ंक्शन में प्लग करें और परिणाम प्रिंट करें:

Hand1_Decision, Hand1_EV = AllinExpectedValue(Hand1_AllIn_Loses, Hand1_AllIn_Winnings, Hand1_Fold_Winnings, Hand1_Fold_Percent, Hand1_Equity)
print(Hand1_Decision)
print(Hand1_EV)
Raise!
2.9463250000000016

हैंड 1 के परिणाम

Hand 1 Results Image here

Hero तीन एक जैसे (सेट) टेन्स के साथ हाथ जीतता है और किंग्स की जोड़ी को हराता है।

पॉकेट 8s बनाम प्री-फ्लॉप रेज़

हैंड 2 का अवलोकन

Hand2 Overview

इस स्थिति में, Hero (GamingFoSho) ने \$1.10 बेट किया है और उसके पास \$28.58 शेष हैं। दूसरी ओर, Villain \$3.80 तक रेज़ करता है और उसके पास \$10.66 शेष हैं। फिलहाल पॉट में \$5.40 हैं। यह पिछली हाथ जैसी ही स्थिति है। फिर से, कॉल करना अच्छा विकल्प नहीं है। फोल्ड करने की कोई लागत नहीं है, इसलिए आपको यह निर्धारित करना है कि ऑल-इन रेज़ का अपेक्षित मान सकारात्मक है या नहीं।

यदि Hero ऑल-इन जाता है, तो वह \$13.36 का जोखिम उठाता है क्योंकि Villain के पास \$10.66 शेष हैं, और उसने \$2.70 तक रेज़ किया है। यदि Hero ऑल-इन जाकर हाथ जीतता है तो वह \$16.06 जीतता है (Villain के पास \$10.66 शेष हैं, और फिलहाल पॉट में \$5.40 हैं) और यदि ऑल-इन के बाद Villain फोल्ड करता है तो \$5.40 जीतता है।

Hand2_AllIn_Loses = -13.36
Hand2_AllIn_Winnings = 16.06
Hand2_Fold_Winnings = 5.40

हैंड 2 के प्रासंगिक आँकड़े

Hand2 Stats3 Hand2 Stats1 Hand2 Stats2

  1. Villain स्मॉल-ब्लाइंड पोज़िशन में है। इस पोज़िशन से Villain 7.2% (100+ ट्रायल) समय 3bet करता है;
  2. Hero कट-ऑफ पोज़िशन में है, और कट-ऑफ के विरुद्ध Villain 7.9% (89 ट्रायल) समय 3bet करता है;
  3. Villain 4bet पर 25% (8 ट्रायल) फोल्ड करता है;
  4. Villain कुल मिलाकर 4% (100+ ट्रायल) 3bet करता है, लेकिन Hero के विरुद्ध केवल 1% (98 ट्रायल)। यह बड़ा चेतावनी संकेत है और दर्शाता है कि Villain के पास बहुत मजबूत हाथ है;
  5. Villain कट-ऑफ के विरुद्ध आउट ऑफ पोज़िशन 9.8% (51 ट्रायल) 3bet करता है। आउट ऑफ पोज़िशन का मतलब है कि बाद के बेटिंग राउंड्स में Villain पहले कार्रवाई करेगा और Hero बाद में।
  6. Villain आउट ऑफ पोज़िशन में 4bet पर 0% (5 ट्रायल) फोल्ड करता है। एक और बड़ा चेतावनी संकेत।

हैंड 2 की मान्यताएँ

ऊपर दिए आँकड़ों के आधार पर, मैं निम्न मान्यताएँ कर रहा हूँ;

  1. अधिकांश प्रतिद्वंद्वियों की तुलना में, Villain ~8–10% समय 3bet करता है, पर Hero के अलावा अन्य प्रतिद्वंद्वियों के विरुद्ध 4 गुना अधिक 3bet करता दिखता है। यह Villain की रेंज को ~3% पर रखता है।
  2. इस स्थिति में Villain ने अब तक 4bet पर फोल्ड नहीं किया है, तो अधिकतम 10% समय फोल्ड कर रहा होगा।
  3. Villain ~2.7% रेंज के साथ कॉल करता है, जिसे नीचे की छवि में दर्शाया गया है।
  4. पीले रंग के हाथ Villain की मान्य रेंज को दर्शाते हैं, जो 1326 संभावित शुरुआती हाथ संयोजनों में से 34 (2.6%) से बनी है।

Hand2 Range

हैंड 2 का विश्लेषण

एक बार फिर, मैं इक्विटी कैलकुलेटर का उपयोग करके Hero की इक्विटी निर्धारित करूँगा। इस मामले में, Villain की रेंज के विरुद्ध Hero के हाथ की इक्विटी 35.84% है।

अब आप EstFoldPercent और Equity के लिए वेरिएबल बना सकते हैं।

Hand2_Fold_Percent = .10
Hand2_Equity = .3584

अब इस हाथ के वेरिएबल्स को AllinExpectedValue फ़ंक्शन में प्लग करें, और परिणाम प्रिंट करें।

Hand2_Decision, Hand2_EV = AllinExpectedValue(Hand2_AllIn_Loses, Hand2_AllIn_Winnings, Hand2_Fold_Winnings, Hand2_Fold_Percent, Hand2_Equity)
print(Hand2_Decision)
print(Hand2_EV)
Fold!
-1.994284799999999

हैंड 2 के परिणाम

Hand2 Results

Hero एट्स के सेट के साथ Aces और Kings की दो जोड़ी के विरुद्ध हाथ जीतता है। यह एक भाग्यशाली परिणाम है उस निर्णय से, जो लंबे समय में पैसा गंवाएगा। यहाँ इष्टतम चाल फोल्ड करना ही है।

फ्लॉप चेक-रेज़ सेमी-ब्लफ़

हैंड 3 का अवलोकन

Hand3 Overview

यह हाथ फ्लॉप पर है और Hero (GamingFoSho) पहले कार्रवाई करता है और चेक करता है। उसके पास \$25.08 हैं। Villain \$1.06 बेट करता है और उसके पास \$25.37 शेष हैं। फिलहाल पॉट में \$2.66 हैं।

एक बार फिर, कॉल करना अच्छा विकल्प नहीं है, और फोल्ड करने की कोई लागत नहीं है। Hero को तय करना है कि इस स्थिति में रेज़ करना, जिसे सेमी-ब्लफ़ कहा जाता है, का अपेक्षित मान सकारात्मक है या नहीं। सेमी-ब्लफ़ तब होता है जब आप ड्रॉइंग हैंड के साथ रेज़ करते हैं, इस मामले में फ्लश ड्रॉ।
Hero के पास अभी बना-बनाया हाथ नहीं है, क्योंकि उसके पास फिलहाल केवल Ace हाई है, लेकिन उसके पास चार हर्ट्स हैं और फ्लश के लिए सिर्फ एक और हर्ट चाहिए, जो एक मजबूत हाथ है। ठीक पहले हाथ की तरह, यहाँ रेज़ करते समय सबसे अच्छा तरीका छोटा रेज़ करना और Villain को ब्लफ़ करने का मौका देना है। यदि Hero सीधे ऑल-इन चला जाए, तो Villain संभवतः King of Hearts/Jack of Hearts जैसे हाथ फोल्ड कर देगा।

यदि ऑल-इन जाता है तो Hero \$25.08 का जोखिम उठाता है। यदि ऑल-इन जाकर हाथ जीतता है तो Hero \$26.68 जीतता है। Villain ने \$1.06 बेट किया है, इसलिए Hero को शेष \$25.08 में से उतनी राशि मिलानी होगी, जिससे Hero के पास \$24.02 बचेंगे। इसका मतलब, Hero पॉट में पहले से मौजूद \$2.66 के ऊपर अतिरिक्त \$24.02 जीत सकता है, कुल \$26.68 के लिए। यदि Villain फोल्ड करता है तो Hero \$2.66 जीतता है।

Hand3_AllIn_Loses = -25.08
Hand3_AllIn_Winnings = 26.68
Hand3_Fold_Winnings = 2.66

हैंड 3 के प्रासंगिक आँकड़े

Hand3Stats1 Hand3Stats2 Hand3Stats3

  1. प्री-फ्लॉप, Villain ने रेज़ किया और मिडिल पोज़िशन से Villain 9% (100+ ट्रायल) समय रेज़ करता है;
  2. फ्लॉप पर Hero चेक करता है, और Villain (जिसने प्री-फ्लॉप रेज़ किया था) फिर से बेट करता है। इसे कंटिन्यूएशन बेट (Cbet) कहते हैं। Villain 100% (12 ट्रायल) Cbet करता है;
  3. Hero, Villain पर चेक-रेज़ कर रहा है और चेक-रेज़ का सामना करने पर Villain 67% (3 ट्रायल) फोल्ड करता है;

हैंड 3 की मान्यताएँ

  • प्रतिद्वंदी की प्री-फ्लॉप रेंज ~9–10% है, जो इस प्रकार दिखती है:

Hand3 PreFlop Range

  • पीले रंग से हाइलाइटेड हाथ Villain की रेंज दर्शाते हैं, जो 1326 संभावित शुरुआती हाथ संयोजनों में से 128 (9.7%) से बनी है;
  • 100% समय Cbet करने के बाद, Hero के चेक-रेज़ पर Villain ~67% समय फोल्ड करता है, जिससे Villain की रेंज में ~35–45 संयोजन बचते हैं। Villain की रेंज इस प्रकार दिखती है:

Hand3 Flop Range

  • यह रेंज 35 संयोजनों से बनी है और Villain की प्री-फ्लॉप रेंज के सबसे मजबूत हाथों को शामिल करती है।
  • कुछ हाथ अलग-अलग शेड के पीले रंग में हैं। इसके दो कारण हैं;

    1. कार्ड रिमूवल - पॉकेट Aces (AA) सामान्यतः छह संयोजन होते हैं (Diamonds/Clubs, Hearts/Clubs, Spades/Clubs, Hearts/Diamonds, Spades/Diamonds, Spades/Hearts), लेकिन Hero के पास Ace of Hearts है। Villain के पास पॉकेट Aces के केवल तीन संयोजन हो सकते हैं (Diamonds/Clubs, Spades/Clubs, Spades/Diamonds)।
    2. फ्लश ड्रॉ - King/Jack सूटेड के चार संयोजन होते हैं (Diamonds, Hearts, Spades, और Clubs), लेकिन Villain केवल उन संयोजनों में से एक (Hearts) के साथ ही ऑल-इन जाएगा।

हैंड 3 का विश्लेषण

एक बार फिर, मैं Hero का हाथ और Villain की रेंज इक्विटी कैलकुलेटर में प्लग करता हूँ, इस बार 3 फ्लॉप कार्ड भी दर्ज करता हूँ। इक्विटी कैलकुलेटर बताता है कि इस स्थिति में Hero 43.58% बार जीतता है।

अब आप EstFoldPercent और Equity के लिए वेरिएबल बना सकते हैं।

Hand3_Fold_Percent = .67
Hand3_Equity = .4358

अब हैंड 3 के वेरिएबल्स को AllinExpectedValue फ़ंक्शन में प्लग करें और परिणाम प्रिंट करें:

Hand3_Decision, Hand3_EV = AllinExpectedValue(Hand3_AllIn_Loses, Hand3_AllIn_Winnings, Hand3_Fold_Winnings, Hand3_Fold_Percent, Hand3_Equity)
print(Hand3_Decision)
print(Hand3_EV)
Raise!
0.9496126400000008

हैंड 3 के परिणाम

Hand3 Results

Hero Ace हाई फ्लश के साथ जीतता है और Villain की टेन्स की जोड़ी को हराता है।

निष्कर्ष

बधाई हो, आपने अब Python के साथ प्रायिकता सिद्धांत पर इस ट्यूटोरियल को पूरा कर लिया है! स्वतंत्र/निर्भर घटनाएँ, क्रमचय और संयोजन, एकाधिक घटनाएँ, अपेक्षित मान, और उनकी गणना जैसी मुख्य प्रायिकता अवधारणाएँ पहली कड़ी में सीखने के बाद, आपने इन अवधारणाओं को वास्तविक पोकर स्थितियों पर लागू किया।

इस ट्यूटोरियल में, आपने अपेक्षित मान को कहीं गहराई से समझा और इस अवधारणा का उपयोग पोकर टेबल पर सर्वोत्तम निर्णय लेने के लिए किया। यह अवधारणा किसी भी व्यावसायिक या वित्तीय निर्णय के समय ध्यान में रखने के लिए अत्यंत उपयोगी है, इसलिए अगली बार जब आप ऐसे किसी निर्णय का सामना करें, तो अपने विकल्पों को अपेक्षित मान के संदर्भ में मात्रात्मक बनाने का प्रयास करें।

विषय
Python

Python के बारे में और जानें

कोर्स

Python में क्लस्टर विश्लेषण

4 घंटा
66.2K
इस पाठ्यक्रम में, आप SciPy लाइब्रेरी का उपयोग करके hierarchical और k-means clustering जैसी तकनीकों के माध्यम से unsupervised learning से परिचित होंगे।
विवरण देखेंRight Arrow
पाठ्यक्रम शुरू करें
और देखेंRight Arrow