← Быки и коровы против компьютера

Быки и коровы: стратегия, сколько нужно попыток и какое число загадать

В игре всего 5040 кодов, поэтому большинство чисел здесь точные: все загаданные коды перебраны по коду самой страницы. Уровень «Эксперт» развёрнут в полные деревья игры для 400 разных первых ходов (2 016 000 партий), уровень «Сложный» сыграл 40 000 настоящих партий, а игра наугад среди возможных кодов смоделирована 400 000 раз на каждое число.
Коротко

Кодов из четырёх разных цифр всего 5040, и игрок, который просто не противоречит прежним ответам, разгадывает код в среднем за 5,47 попытки; популярный дебют 0123, 4567 медленнее — 5,58. На этой странице вы ходите первыми и при равном числе попыток побеждаете, поэтому уже такая игра выигрывает 64,6% дуэлей у «Простого», 61,2% у «Сложного» и 63,7% у «Эксперта». Ещё важнее, что загадать самому: «Сложный» и «Эксперт» при равных оценках берут наименьшее число, поэтому 0123 они находят примерно за три с половиной попытки, а на 9870 тратят около шести — доля ваших побед над «Экспертом» вырастает с 14% до 85%.

Во что именно здесь играют

Обе стороны загадывают четыре разные цифры от 0 до 9; ноль в начале разрешён, повторы — нет. Это 10×9×8×7 = 5040 кодов. Код компьютера выбирается случайно, все коды равновероятны, так что до первого ответа ни одна ваша попытка не лучше другой.

Ходят по очереди, вы — первыми. Два поиска друг на друга не влияют: ваши попытки ничего не сообщают компьютеру, а его попытки — вам. Поэтому дуэль — это сравнение двух чисел: сколько попыток понадобилось вам и сколько ему. При равенстве победа ваша, потому что свой ход вы закончили раньше.

Это правило стоит дорого. Двум игрокам одинаковой силы нужно одно и то же число попыток в 29,1% партий, так что тот, кто ходит первым, выигрывает не 50%, а 64,6%. С такой форой вы начинаете здесь каждую дуэль.

Практический вывод: быть быстрее компьютера не обязательно, достаточно быть не медленнее. Против уровня, которому в среднем нужно 5,3–5,5 попытки, пять попыток выигрывают примерно в 85% случаев, а шесть — чуть реже чем в половине.

Что говорит первый ответ

До первого ответа все попытки равноценны, так что берите любую, например 0123. Ответ делит 5040 кодов на 14 групп очень разного размера, и вам достаётся одна из них:

Ответ на первую попыткуОсталось кодовКак часто
1 корова144028,57%
2 коровы126025,00%
1 бык + 1 корова72014,29%
1 бык4809,52%
ничего3607,14%
3 коровы2645,24%
1 бык + 2 коровы2164,29%
2 быка1803,57%
2 быка + 1 корова721,43%
3 быка240,48%
4 коровы90,18%
1 бык + 3 коровы80,16%
2 быка + 2 коровы60,12%
4 быкасам код0,02%

В среднем после первой попытки остаётся 931 код. Больше половины партий начинаются с ответа «1 корова» или «2 коровы» — двух самых бесполезных; ответ «ничего» лучше обоих, а два быка или три коровы — уже подарок.

Таблица одна и та же для любой первой попытки: меняются только названия цифр. Из неё видно и то, почему первым делом смотрят на сумму быков и коров: она говорит, сколько из четырёх ваших цифр вообще есть в коде, и одно это отличает 360 кодов от 1440.

Вторая попытка: 4567 или возможный код?

Обычный совет — начинать с 0123, 4567 при любом первом ответе, чтобы «просмотреть все цифры». Другой путь — вторая попытка, которая сама может оказаться кодом: в ней остаётся столько цифр из первой, сколько назвал ответ (быки на своих местах, коровы переставлены), а остальные места заняты новыми цифрами. Вот сколько кодов в среднем остаётся после каждого варианта:

Первый ответ на 0123Осталось кодовПосле 4567После возможного кодаПримерЛучшая из всех 5040 попыток
1 корова14402952551456254
2 коровы12603222041435202
1 бык + 1 корова7201841170245108
1 бык4809880045680
ничего3606565456765
3 коровы26410350123445
1 бык + 2 коровы2168447023440
2 быка1804634014527

По всем кодам сразу: после 0123 и 4567 в среднем остаётся 216 вариантов, после 0123 и любого возможного кода — 159. Самая лучшая вторая попытка, выбранная из всех 5040 под каждый ответ, оставляет 156: после одного ответа «любой код, который ещё возможен» уступает лучшему меньше 2%, а 4567 — правильная вторая попытка только после ответа «ничего».

Столбец «после возможного кода» — среднее по всем возможным вторым попыткам, а не по специально подобранной; для больших групп они практически равноценны. За удобство готового дебюта приходится платить и в конце партии: в среднем 5,58 попытки против 5,47, если со второй попытки называть только возможные коды.

Если вы всё же начинаете с 0123, 4567: по двум суммам видно, сколько в коде цифр из пары 8 и 9. Быки и коровы обоих ответов дают в сумме четыре в 33,3% партий (нет ни 8, ни 9), три — в 53,3% (есть одна из них) и два — в 13,3% (есть обе). Пара ответов делит коды на 63 группы, в самой большой — 504 кода.

Сколько попыток нужно при каждом способе игры

Первые четыре строки — способы, которым человек может следовать с карандашом и бумагой; последние три требуют компьютера и приведены для сравнения. Столбцы с победами относятся к дуэли на этой странице, когда свой код вы получаете кнопкой «Случайно».

СпособПопыток в среднемХудший случайНе больше 5 попытокПобед над «Простым»над «Сложным»над «Экспертом»
Любой возможный код, наугад5,47949,8%64,6%61,2%63,7%
Каждый раз наименьшее возможное число5,56947,3%61,8%58,4%60,7%
0123, 4567, затем любой возможный код наугад5,58945,2%62,2%58,6%61,1%
0123, 4567, затем наименьшее возможное число5,62944,2%60,9%57,3%59,6%
Меньше всего кодов в среднем, только возможные коды5,32856,0%69,7%66,7%69,5%
Меньше всего кодов в среднем, любая попытка5,27760,9%72,6%70,0%73,0%
Больше всего информации (энтропия), любая попытка5,24862,7%73,2%70,7%73,8%

Строки со словом «наугад» получены на 400 000 смоделированных партий каждая; остальные точные — посчитаны по всем 5040 кодам с первой попыткой 0123. Для справки: лучшее среднее, достижимое каким бы то ни было способом, по литературе равно 5,213 попытки при худшем случае в семь; здесь оно не пересчитывалось.

  • Весь базовый метод — не противоречить ответам. Попытка, которая противоречит прежнему ответу, не может выиграть сразу, а игрок, который таких попыток не делает, отстаёт от наилучшей игры всего на четверть попытки.
  • Не перебирайте числа по порядку. Если всегда брать наименьшее возможное число, это стоит 0,09 попытки по сравнению с выбором наугад: соседние числа похожи цифрами и местами и хуже делят остаток. Когда подходят несколько кодов, берите тот, что меньше всего похож на ваши прежние попытки.
  • Готовый дебют стоит около 0,1 попытки и два-три процентных пункта побед. С ним проще думать, но играет он не лучше.
  • Девять попыток — предел для такой игры. При наименьшем возможном числе это случается с пятью кодами из 5040 (5293, 9204, 9214, 9241, 9431), а восемь или девять попыток нужны для 2,7% кодов.

Как угадывает каждый уровень компьютера

Все три уровня делают случайную первую попытку и не называют код, который противоречит вашим ответам, — кроме намеренных пробных попыток «Эксперта». Различаются они тем, что выбирают среди оставшихся кодов.

УровеньКак выбираетПопыток в среднемХудший случай в измеренияхПартий измерено
«Простой»случайный возможный код5,479400 000
«Сложный»возможный код, после которого в среднем остаётся меньше всего вариантов5,32840 000
«Эксперт»попытка с наименьшей худшей группой (минимакс Кнута), пробные попытки разрешены5,3972 016 000

А вот как партии распределяются по длине:

Ваш код разгадан на попытке«Простой»«Сложный»«Эксперт»
3-й или раньше2,4%2,4%1,0%
4-й12,1%12,6%10,3%
5-й35,2%40,8%41,6%
6-й37,0%38,4%42,6%
7-й12,1%5,8%4,5%
8-й или позже1,1%0,06%никогда

Неожиданность — в средних: «Эксперт» медленнее «Сложного», 5,39 против 5,32. Минимакс страхуется от худшего ответа и платит за страховку в обычных партиях: ни в одной из 2 016 000 партий «Эксперту» не понадобилось больше семи попыток, но за четыре и меньше он справляется реже, чем «Сложный». В дуэли, где важно, кто быстрее в среднем, самым трудным соперником на этой странице оказывается «Сложный» — каждый способ из таблицы выше выигрывает у него реже, чем у «Эксперта».

«Простой» играет в точности первым способом из таблицы выше, так что дуэль равных с ним решает ваше право первого хода. «Сложный» рассматривает только возможные коды, а пока их больше 1000 — случайную выборку из них, поэтому его вторая попытка от партии к партии разная. Игра «Эксперта» после его первой попытки полностью предопределена.

Какое число загадать

Против «Простого» это безразлично: он выбирает наугад среди возможных кодов, так что на любой код уходят те же 5,47 попытки. «Сложный» и «Эксперт» — другое дело. Когда несколько попыток оценены одинаково, оба берут первую по списку, а список идёт по возрастанию, от 0123 до 9876. Равные оценки встречаются часто, поэтому их попытки смещены к маленьким числам, и код, похожий на маленькое число, находится раньше.

Первая цифра вашего кода«Эксперт», попыток в среднем«Сложный», попыток в среднем
05,024,95
15,145,03
25,225,12
35,295,21
45,345,26
55,415,35
65,485,45
75,565,52
85,675,63
95,805,73

Следующие цифры действуют так же. Вот как это сказывается на дуэли, если сами вы называете любой возможный код наугад:

Ваш код«Эксперту» нужноВаши победы над «Экспертом»«Сложному» нужноВаши победы над «Сложным»
01233,2413,8%3,4721,4%
начинается с 014,5938,5%4,5038,7%
случайный5,3963,7%5,3261,2%
начинается с 95,8076,6%5,7373,4%
начинается с 986,0081,9%5,9078,0%
98706,1684,7%5,9880,7%
98076,2086,1%6,0082,0%
  • Худший код — 0123. «Сложный» назвал его второй же попыткой в 42% из 3000 партий, а «Эксперт» уложился в четыре попытки в 86% случаев.
  • Лучшие коды начинаются с 98. Пять самых трудных для «Эксперта» — 9807, 9870, 9817, 9871 и 9860, на каждый уходит 6,1–6,2 попытки; в среднем шесть и больше попыток выдерживают 42 кода из 5040.
  • Важен не только размер, но и порядок цифр. Коды с цифрами по возрастанию «Эксперт» разгадывает в среднем за 4,96 попытки, по убыванию — за 5,72.
  • Кнопка «Случайно» — середина. Она даёт те 61–64%, о которых шла речь выше; если выбрать код самому, это прибавляет ещё около двадцати процентных пунктов.

Числа для «Эксперта» — средние по 400 разным первым попыткам компьютера для каждого кода; числа «Сложного» по первой цифре получены примерно на 4000 партий на цифру, по отдельным кодам — на 3000 партий на код (коды, начинающиеся с 98 и с 01, — примерно по 470 партий).

Вопросы и ответы

За сколько ходов можно отгадать число в «Быках и коровах»?

При четырёх разных цифрах — за пять-шесть. Игроку, который называет только коды, подходящие ко всем прежним ответам, нужно в среднем 5,47 попытки, и в 99% партий он укладывается в семь; наилучшая возможная игра даёт в среднем 5,213 и никогда не требует больше семи.

С какого числа лучше начинать в «Быках и коровах»?

Лучшего первого хода нет: без повторяющихся цифр любая первая попытка — одна и та же попытка с переименованными цифрами. Любая оставляет в среднем 931 код: 1440 после самого частого ответа «1 корова» и 360 после ответа «ничего».

Хорошо ли начинать с 0123 и 4567?

Удобно, но не лучше всего. После 0123 и 4567 в среднем остаётся 216 кодов, а после 0123 и любого кода, подходящего к первому ответу, — 159. За всю партию готовый дебют стоит примерно десятую долю попытки: в среднем 5,58 против 5,47.

Какая стратегия в «Быках и коровах» лучшая?

Называйте только коды, согласующиеся со всеми ответами, а из них — тот, что меньше всего похож на прежние попытки. Одно это даёт около 5,5 попытки в среднем. Улучшение, доступное только компьютеру, — выбирать попытку, после которой в среднем остаётся меньше всего кодов, — доводит среднее до 5,2–5,3.

Как обыграть компьютер в «Быки и коровы»?

На этой странице вы ходите первыми и при равном числе попыток побеждаете, поэтому игра без противоречий выигрывает 61–65% дуэлей на любом уровне. Затем выберите свой код: «Сложный» и «Эксперт» раньше находят маленькие числа, так что загадывайте что-нибудь на 98, например 9870. Доля побед вырастет примерно до 80% против «Сложного» и 85% против «Эксперта».

Сколько всего комбинаций в «Быках и коровах»?

При четырёх разных цифрах и разрешённом нуле в начале, как здесь, — 10×9×8×7 = 5040. В вариантах, где ноль в начале запрещён, их 4536, а в вариантах с повторяющимися цифрами — 10 000.

Чем «Быки и коровы» отличаются от «Мастермайнда»?

В «Мастермайнде» шесть цветов на четырёх местах и повторы разрешены — всего 1296 кодов; в «Быках и коровах» десять цифр без повторов — 5040 кодов. Ответы устроены одинаково: чёрный колышек — это бык, белый — корова. «Мастермайнд» всегда решается за пять попыток, «Быки и коровы» — за семь.

Сыграть в «Быки и коровы» с компьютером →
Куда отсюда
Как сослаться: «Быки и коровы: стратегия, сколько нужно попыток и какое число загадать», You vs Computer, https://youvscomputer.com/games/ru/bulls-and-cows-strategy.html