फैसला हो चुका है

\(5\) समान संख्याओं का परिणाम एक युक्ति है। हालाँकि, इसकी कितनी संभावना है यह इस बात पर निर्भर करता है कि आप एक प्रयास के रूप में क्या गिनते हैं: \(5\) पासों का एक एकल रोल या एक पूर्ण मोड़ जिसमें आप पासों का मिलान करते रहते हैं और उन्हें \(2\) बार तक दोबारा रोल करते हैं। यहां हम \(1\) से \(6\) तक की संख्याओं और स्वतंत्र परिणामों के साथ \(5\) निष्पक्ष पासों का उपयोग करते हैं। प्रत्येक युक्ति को सफलता के रूप में गिना जाता है; आप जिस संभावना की तलाश कर रहे हैं वह \(6\) जैसे अंकों की एक विशिष्ट संख्या तक सीमित नहीं है।


खेल के निर्देशों के अनुसार, आप प्रत्येक अतिरिक्त रोल से पहले फिर से निर्णय ले सकते हैं कि कौन से पासे पड़े रहने हैं। हमारा एकमात्र लक्ष्य किसी प्रकार की चाल है, किसी गेम में सर्वश्रेष्ठ समग्र स्कोर नहीं। पासे को अलग करते समय एक एकल रोल में \(6^5=7776\) समान संभावित परिणाम होते हैं। इनमें से \(6\) सभी पासों पर समान संख्या दिखाते हैं। तो संभावना \(\frac{6}{7776}=\frac{1}{1296}\) है। जैसे ही कोई तरकीब आ जाती है, आप कदम ख़त्म कर देते हैं; कुल मिलाकर अधिकतम \(3\) थ्रो की अनुमति है।

$$p_1=\frac{6}{6^5}=\frac{1}{1296}\approx0{,}07716\%.$$

सबसे तुच्छ रणनीति भी सर्वोत्तम है: यदि आप अवसर को अधिकतम करना चाहते हैं, तो आप समान संख्याओं का सबसे बड़ा समूह रखते हैं। लक्ष्य संख्या भी बदल सकती है: \((2,2,3,4,5)\) से आप पहले दो \(2\) रखें। यदि अगला रोल \((6,6,6)\) वितरित करता है, तो आप इस समूह को रखते हैं और दो \(2\) को फिर से रोल करते हैं। अंतिम संभावना \(\frac{1}{216}\) से बढ़कर \(\frac{1}{36}\) हो जाती है। और अंतिम लेकिन महत्वपूर्ण बात, मान लें: एक नौटंकी एपिसोड को तुरंत समाप्त कर देती है; आगे कूड़े को छोड़ दिया जाता है।

गणना करने का सबसे आसान तरीका आखिरी थ्रो से शुरुआत करना है। यदि समान पासों के \(4\) पहले से ही उपलब्ध हैं, तो केवल शेष पासों को पास करना होगा: संभावना \(\frac{1}{6}\) है। यदि \(3\) एक ही पासा है, तो अन्य दो को पासा संख्या दर्शानी होगी। क्योंकि उनके परिणाम स्वतंत्र हैं, संभावनाओं को गुणा करें और \(\frac{1}{6}\cdot\frac{1}{6}=\frac{1}{36}\) प्राप्त करें। दूसरी ओर, यदि आप एक ही समय में अलग-अलग संख्याएँ पकड़ते हैं, तो अंतिम थ्रो में कोई समस्या नहीं हो सकती है। इसलिए यह सिर्फ संख्या ही मायने नहीं रखती, बल्कि यह भी मायने रखती है कि आप क्या रखते हैं।

\(2\) शेष रोल के साथ, प्रत्येक लापता पासे को एक और मौका मिलता है। यदि \(4\) पासे समान हैं, तो शेष पासों से एक प्रहार पर्याप्त है। यहां काउंटर गणना छोटी है: वह संभावना के साथ दोनों प्रयासों में लक्ष्य संख्या से चूक जाता है \(\frac{5}{6}\cdot\frac{5}{6}=\frac{25}{36}\) . इसलिए सफलता की संभावना \(1-\frac{25}{36}=\frac{11}{36}\) है। छोटे समूहों के लिए, थ्रो के सभी संभावित परिणामों को गिना जाता है और लक्ष्य को बदला जा सकता है। स्टॉप के सर्वोत्तम विकल्प के साथ निम्नलिखित संभावनाएँ उत्पन्न होती हैं:

सबसे बड़ा समूह\(1.\) कूड़े में परिणाम\(2\) शेष रोल के साथ संभावना
\(1\)\(720\)\(\frac{221}{17496}\)
\(2\)\(5400\)\(\frac{113}{3888}\)
\(3\)\(1500\)\(\frac{121}{1296}\)
\(4\)\(150\)\(\frac{11}{36}\)
\(5\)\(6\)\(1\)

रेखाएँ समान आवृत्ति पर नहीं घटित होती हैं। उदाहरण के लिए, \(2\) पासों का एक सबसे बड़ा समूह \(7776\) \) के \(5400\) संभावित पहले थ्रो में बनाया जाता है। इनमें एकल जोड़ी और \(2\) जोड़े शामिल हैं; यदि कोई टाई है, तो आप उनमें से एक को चुनें। हम दाईं ओर प्रत्येक अवसर को बीच की संख्या से गुणा करते हैं और योग को \(7776\) से विभाजित करते हैं। यह \(p_3\) लौटाता है; \(p_2\) के लिए आप केवल शेषफल फेंक का उपयोग करते हैं। इष्टतम रोक विकल्प के साथ पहले थ्रो से पहले निम्नलिखित मान लागू होते हैं: \(p_2\) अधिकतम \(2\) के लिए और \(p_3\) अधिकतम \(3\) थ्रो के लिए:

$$p_2=\frac{221}{17496}\approx1{,}26315\%.$$

$$p_3=\frac{347897}{7558272}\approx4{,}60286425\%.$$

सबसे बड़े समूह को रखना वास्तव में सर्वोत्तम है या नहीं, इसका पूर्ण परीक्षण किया जा सकता है। निम्नलिखित PHP स्क्रिप्ट हर संभावित चयन पर विचार करती है, जिसमें मिश्रित संख्याएँ या बिल्कुल भी पासा न रखना शामिल है। यह मोड़ के अंत में शुरू होता है, फिर शेष रोल के लिए \(1\) और \(2\) के सर्वोत्तम निर्णयों की गणना करता है और अंत में पहले रोल का औसत निकालता है। बिल को छोटा रखने के लिए समान पैटर्न का पुन: उपयोग किया जाता है। सभी तुलनाएँ पूर्णांकों से की जाती हैं; केवल प्रतिशत प्रदर्शन गोलाकार है:

<?php

declare(strict_types=1);

if (PHP_INT_SIZE < 8) {
    throw new RuntimeException('64-Bit-PHP erforderlich.');
}

function combinations(array $limits): array
{
    $result = [[]];
    foreach ($limits as $limit) {
        $next = [];
        foreach ($result as $prefix) {
            for ($i = 0; $i <= $limit; $i++) {
                $next[] = [...$prefix, $i];
            }
        }
        $result = $next;
    }
    return $result;
}

function outcomes(int $number): array
{
    static $cache = [];
    if (isset($cache[$number])) {
        return $cache[$number];
    }
    $result = [];
    foreach (combinations(array_fill(0, $number, value: 5)) as $dice) {
        $counts = array_fill(0, count: 6, value: 0);
        foreach ($dice as $face) {
            $counts[$face]++;
        }
        $key = implode(',', $counts);
        $result[$key] = ($result[$key] ?? 0) + 1;
    }
    return $cache[$number] = $result;
}

function pattern(array $counts): string
{
    rsort($counts);
    return implode(',', $counts);
}

$states = [];
$values = [];
foreach (outcomes(5) as $key => $count) {
    $counts = array_map('intval', explode(',', $key));
    rsort($counts);
    $states[pattern($counts)] = $counts;
    $values[pattern($counts)] = (int) ($counts[0] === 5);
}

// Gemeinsamer Nenner: 6^(5 * verbleibende Würfe).
for ($remaining = 1; $remaining <= 2; $remaining++) {
    $next = [];
    foreach ($states as $key => $counts) {
        $best = 0;
        foreach (combinations($counts) as $held) {
            $number = 5 - array_sum($held);
            $total = 0;
            foreach (outcomes($number) as $rolled => $count) {
                $after = array_map('intval', explode(',', $rolled));
                foreach ($held as $face => $amount) {
                    $after[$face] += $amount;
                }
                $total += $count * $values[pattern($after)];
            }
            $best = max($best, $total * (6 ** (5 - $number)));
        }
        $next[$key] = $best;
    }
    $values = $next;
}

$numerator = 0;
$denominator = 6 ** 15;
foreach (outcomes(5) as $key => $count) {
    $numerator += $count * $values[pattern(array_map('intval', explode(',', $key)))];
}
[$a, $b] = [$numerator, $denominator];
while ($b !== 0) {
    [$a, $b] = [$b, $a % $b];
}
echo intdiv($numerator, $a), '/', intdiv($denominator, $a), PHP_EOL;
printf("%.10f%%\n", (100 * $numerator) / $denominator);

लगभग \(4{,}60\%\) का अर्थ है: सर्वोत्तम विकल्प के साथ भी, कोई समस्या दुर्लभ बनी रहती है। यदि आप हर बार सब कुछ पुनः रोल करते हैं, तो अधिकतम \(3\) प्रयासों की संभावना केवल \(0{,}23130\%\) के आसपास होती है। यदि आप पासों का मिलान करते रहते हैं, लेकिन \(1.\) रोल के बाद चुने गए लक्ष्य संख्या पर टिके रहते हैं, तो आप लगभग \(4{,}52941\%\) हासिल कर लेंगे। इसलिए बड़े समूह में स्विच करने से एक छोटा अतिरिक्त लाभ मिलता है। भले ही यह गणितीय रणनीति हो या शुद्ध आंतरिक भावना: निफ़ेल एक कालातीत, मनोरंजक और सबसे बढ़कर, मनोरंजक बोर्ड गेम है।

वापस