\(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\) сөөктөрдүн эң чоң тобу \(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\%\) жетесиз. Чоңураак топко өтүү анча чоң эмес кошумча пайда алып келет. Математикалык стратегиябы же таза ичеги сезимби: Kniffel - бул түбөлүктүү, көңүл ачуу жана баарынан мурда көңүл ачуу үстөл оюну.