(अस्वीकरण: मुझे लगता है कि करता है, अन्य, हाथ मूल्यांकन के बीच एक पोकर सॉफ्टवेयर पर काम कर रहा हूँ)
आप इसे करने के लिए अपने 7 कार्ड देने के लिए और यह एक हाथ तुल्यता मूल्य बाहर थूक।
कई मूल्यांकनकर्ता ऐसा कर रहे हैं और यदि मुझे गलती नहीं है तो उनमें से कुछ प्रति सौ मिलियन से अधिक हाथ (!) की गणना करते हैं। ये मूल्यांकनकर्ता मूल रूप से एक विशाल सरणी में 7 सरणी लुकअप पर आते हैं और हाथों का मूल्यांकन करने के लिए केवल कुछ चक्र (कैश मिस के बावजूद) लेते हैं। मुझे नहीं लगता कि 14-15 लाख/सेकेंड सबसे तेज़ के पास कहीं भी है। यदि मैं गलत नहीं हूं तो कैक्टसकेव का मूल्यांकनकर्ता 10x तेज है।
कैसे आप 7 कि आप इसे करने के लिए पारित कर दिया से बाहर सबसे अच्छा 5 कार्ड संयोजन मिलता है:
अब आप अपने सवाल का जवाब देने?
खैर यह आप लेकिन नहीं बताता है एक बार तुम हाथ यह बहुत आसान हो सकता है की ताकत है: आप पहिया फिर से आविष्कार करने की जरूरत नहीं है।
आप अपने "सर्वश्रेष्ठ पांच में से पांच" गणना को सरल बनाने के लिए ताकत का उपयोग कर सकते हैं।
आप अन्य पुस्तकालयों का भी उपयोग कर सकते हैं, जिससे आप सीधे पांच सर्वश्रेष्ठ कार्ड (केवल उनकी ताकत के बजाय) दे सकते हैं या आप अपने पांच सर्वश्रेष्ठ कार्ड खोजने के लिए ताकत का उपयोग कर सकते हैं।
मैं केवल कुछ उदाहरण दे देंगे ...
तुम्हें पता है कि तुम एक पूरा घर ( एक "नाव" उर्फ) है, तो आप जानते हैं कि आप तीन कार्ड एक ही रैंक और फिर सबसे अच्छा जोड़ी है की तलाश कर रहे (यदि वहाँ दो हैं जोड़े, लेकिन आप कम से कम एक को खोजने के लिए निश्चित हैं, क्योंकि मूल्यांकनकर्ता ने आपको बताया कि आपके पास नाव है)।
आप जानते हैं कि आपके पास सीधा है: सर्वश्रेष्ठ कार्ड से शुरू होने वाले पांच कार्ड ढूंढें (विशेष व्हील केस केस से सावधान रहें)।
आप सीधे के लिए थोड़ा फैनसीयर भी प्राप्त कर सकते हैं: आप हर संभव सीधी ताकत ले सकते हैं और मूल्यांकनकर्ता की शक्ति की तुलना कर सकते हैं। यदि यह मेल खाता है, तो दस-सीधे सीधे, फिर किसी भी टी, 9, 8, 7 और 6 कार्ड की तलाश करें (सूट से कोई फर्क नहीं पड़ता)।
तुम्हें पता है आप "नहीं जोड़ी" है: बस पाँच सबसे बड़ा पत्ता ले आप
लगता है आदि
केवल कुछ अलग खेमे हैं ... वे हो सकता है, उदाहरण के लिए:
NO_PAIR
ONE_PAIR
TWO_PAIRS
SET
STRAIGHT
FLUSH
FULL_HOUSE
FOUR_OF_A_KIND
STRAIGHT_FLUSH
(आप निश्चित रूप से मध्यवर्ती "पहिया सीधे" और "पहिया सीधे, फ्लश" और "शाही फ्लश" मामलों बना सकते हैं अगर आप चाहते हैं, इत्यादि)
एक बार जब आप जानते हैं कि आपका हाथ किस प्रकार का हाथ है (तेज़ मूल्यांकनकर्ता का उपयोग करने के लिए धन्यवाद), बस उस कोड के टुकड़े पर स्विच करें जो उस विशेष हाथ के लिए सात में से पांच सर्वश्रेष्ठ पाता है ।
मुझे लगता है कि यह आगे बढ़ने का एक अच्छा तरीका है क्योंकि आप अल्ट्रा-फास्ट मूल्यांकनकर्ता का लाभ उठाते हैं और फिर यह आपके तर्क को बहुत सरल बनाता है।
स्टार्टअप पर, आप कंप्यूटिंग द्वारा strenth गणना करने के लिए एक बार उदाहरण के लिए, आवश्यकता होगी:
HIGHEST_NO_PAIR_HAND = ultraFastEvaluator("As Kd Qh Jc 9d 5s 2c");
HIGHEST_FULL_HOUSE = ultraFastEvaluator("As Ac Ad Kh Ks 8s 2h");
मैं निश्चित रूप से कर रहा हूँ यहाँ तार का उपयोग करने की वकालत नहीं कर। यह सिर्फ एक उदाहरण है ...
फिर आप प्रत्येक हाथ के लिए आप ढूंढना चाहते हैं सकता है वास्तविक पांच सर्वश्रेष्ठ:
- तेजी मूल्यांकनकर्ता
- यह है < = HIGHEST_NO_PAIR_HAND का उपयोग कर शक्ति की गणना?
- हाँ: ले पाँच उच्चतम कार्ड
- नहीं: यह < = HIGHEST_ONE_PAIR_HAND है? हां: उच्चतम जोड़ी लें + उच्चतम तीन कार्ड नहीं: क्या यह < = HIGHEST_TWO_PAIRS_HAND है?
तो मेरी राय में आप कि सीधे पाता पांच से सात या पूरी तरह से से बाहर सबसे अच्छा अपने स्वयं के पुनर्लेखन एक API का पुन: उपयोग सकता है, लेकिन अगर आप तेजी से मूल्यांकनकर्ता के परिणाम का उपयोग यह तेजी से जा रहा है फिर अपने तर्क को सरल बनाने के लिए।
संपादित टिप्पणी वहाँ जरूरी एक नहीं है कि ऐसा करने के लिए "सात में से पांच सबसे अच्छा" जिस तरह से। उदाहरण के साथ एसी एक सी केडी QH Qs 2c बोर्ड पर, के रूप में दोनों और "एसी सी केडी Qs के रूप में" "एसी सी केडी QH के रूप में" आर "पाँच सबसे अच्छा" (पिछले रानी के सूट कोई फर्क नहीं पड़ता) के लिए।
आप क्या दो प्लस टू पोकर हाथ मूल्यांकन है पर विस्तृत कर सकते हैं? – templatetypedef
हाय templatetypedef, मैंने twoplustwo के लिंक के साथ सवाल अद्यतन किया है। – ian
अभी भी समझ में नहीं आता है। 7 कार्ड हाथ से सबसे अच्छे 5 कार्ड? या कुछ और। – sblom