Մահուրը ձուլված է

\(5\) հավասար թվերի արդյունքում ստացվում է հնարք: Այնուամենայնիվ, որքանով է դա հավանական, կախված է նրանից, թե ինչ եք հաշվում որպես փորձ. մեկ գլորում \(5\) զառեր կամ ամբողջական պտույտ, որի ժամանակ դուք շարունակում եք համապատասխանեցնել զառերը և նորից գցում դրանք մինչև \(2\) անգամ: Այստեղ մենք օգտագործում ենք \(5\) արդար զառեր \(1\) մինչև \(6\) թվերով և անկախ արդյունքներով: Յուրաքանչյուր հնարք համարվում է հաջողություն. Ձեր փնտրած հավանականությունը չի սահմանափակվում որոշակի թվով կետերով, ինչպիսին է \(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\) զառերի ամենամեծ խումբը ստեղծվում է \(5400\) \(7776\) հնարավոր առաջին նետումներից: Դրանք ներառում են մեկ զույգ և \(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\%\) : Ավելի մեծ խմբին անցնելը, հետևաբար, բերում է փոքր լրացուցիչ առավելություն: Անկախ նրանից՝ դա մաթեմատիկական ռազմավարություն է, թե մաքուր աղիքների զգացում. Kniffel-ը հավերժական, զվարճալի և, ամենից առաջ, զվարճալի սեղանի խաղ է:

Վերադառնալ