Быки и коровы

Быки и коровы — логическая игра, в ходе которой за несколько попыток один из игроков должен определить, что задумал другой игрок. Варианты игры могут зависеть от типа отгадываемой последовательности — это могут быть числа, цвета, пиктограммы или слова. После каждой попытки задумавший игрок выставляет «оценку», указывая количество угаданного без совпадения с их позициями (количество «коров») и полных совпадений (количество «быков»). Роли участников игры не равнозначны — угадывающий должен анализировать сделанные попытки и полученные оценки, то есть его роль активна. Его партнёр лишь сравнивает очередной вариант с задуманным и выставляет оценку по формальным правилам, то есть его роль пассивна. Для уравновешивания ролей одновременно играют две встречные партии.

Быки и коровы

Скриншот компьютерной версии игры. Партия выиграна за семь ходов
Игроков 2
Длительность партии 5-30 минут
Сложность правил Низкая
Уровень стратегии Низкая
Влияние случайности Низкое
Развивает навыки логичность мышления, счёт, память

Первоначально игра была задумана для двух игроков, но с появлением компьютерных версий стал популярен вариант, когда игрок отгадывает число, задуманное программой, то есть играет в одиночку. Для игры вдвоем достаточно иметь бумагу и ручку. В электронных версиях игру на расстоянии против противника обеспечивает функция многопользовательской игры (multiplayer).

Правила игры

В классическом варианте игра рассчитана на двух игроков. Каждый из игроков задумывает и записывает тайное 4-значное число с неповторяющимися цифрами[1]. Игрок, который начинает игру по жребию, делает первую попытку отгадать число. Попытка — это 4-значное число с неповторяющимися цифрами, сообщаемое противнику. Противник сообщает в ответ, сколько цифр угадано без совпадения с их позициями в тайном числе (то есть количество коров) и сколько угадано вплоть до позиции в тайном числе (то есть количество быков). Например:

Задумано тайное число «3219».

Попытка: «2310».

Результат: две «коровы» (две цифры: «2» и «3» — угаданы на неверных позициях) и один «бык» (одна цифра «1» угадана вплоть до позиции).

Игроки начинают по очереди угадывать число соперника. Побеждает тот, кто угадает число первым, при условии, что он не начинал игру. Если же отгадавший начинал игру — его противнику предоставляется последний шанс угадать последовательность.

При игре против компьютера игрок вводит комбинации одну за другой, пока не отгадает всю последовательность.

Вариации игры

В игре «мастермайнд» (англ. Mastermind, возможный перевод: «Интеллектуал, умник») загадывается последовательность из 4 цветных фишек, причём цвета могут повторяться. В усложнённом варианте может использоваться последовательность из 5, 6 или большего количества фишек[2]

Существует вариант игры со словами[3][4][5]. То есть игрок загадывает слово, обычно из 5 букв (в именительном падеже единственном числе по правилам игры «балда»), и задача противника — угадать его, используя в качестве попыток такие же корректные слова из словаря русского языка. Однако, существует и вариант, когда возможно использование произвольного сочетания букв. С распространением персональных компьютеров появились программные реализации игры «Быки и коровы» со словами[6]. Игра используется в специальной педагогике[7] и при обучении информатике[8]. В 2021 году в мире распространилась компьютерная реализация игры с пятибуквенными словами английского языка Wordle, привлёкшая внимание прессы.

Алгоритм

В общем случае количество вариантов для k-значного числа в N-ричной системе счисления без повторений, будет равно числу размещений: .

В случае варианта с повторениями количество вариантов будет равно .

Большинство известных алгоритмов суть вариации алгоритма полного перебора с определённой эвристикой. В связи с тем, что количество вариантов не столь велико и схема прямого перебора элементарно реализуется, компьютер играет в «быки и коровы» намного сильнее человека. Чем больше знаков в числе, тем больше разница в силе игры человека и компьютера.

Настольный вариант игры Mastermind для 4 мест и 6 цветов

Как показал Дональд Кнут, для игры Mastermind (64 вариантов) при предложенной им стратегии нужно не более 5 попыток, чтобы отгадать любую комбинацию, а в среднем 4,321 попыток для отгадывания[9][10].

Алгоритм стратегии Кнута следующий:

  1. Построить множество S из 64 = 1296 возможных кодов (1111, 1112, ..., 6666).
  2. Сделать первый ход с кодом из двух совпадающих цифр, например, 1122 (Кнут приводит пример, показывающий, что другие начальные приближения, как то 1123 или 1234, не смогут всегда угадывать комбинацию за 5 попыток).
  3. Если комбинация угадана, алгоритм завершается.
  4. Иначе, удалить из S все коды, которые будучи секретным дали бы результат, отличный от полученного.
  5. Сделать следующий ход по правилу минимакса:
    • Для любой комбинации из 1296 первоначальных (включая те, которых нет в S) вычислить, сколько возможных кодов будет удалено из S в случае любого результата хода. Количество очков начисляемое возможному ходу равно минимальному количеству элементов, которые можно будет удалить из S.
    • Один проход по множеству S для каждой неиспользовавшейся комбинации из 1296 возможных даст определённое количество коров и быков; комбинация быков и коров с наибольшим количеством совпадений удалит из множества меньше всего вариантов; количество очков начисляемое ходу будет равно количество элементов в S минус наибольшее количество совпадений.
    • Из всех ходов с максимальным количеством очков предпочтение отдаётся тому ходу, который есть в S. Если таких вариантов несколько, то можно выбирать любой из них. Для упрощения процедуры выбора варианта, Кнут предлагает выбирать ход с наименьшим числовым значением (например, 2345 меньше, чем 3456).
    • Если наилучший ход не входит в S, то на следующем ходу игра точно не завершится.
  6. Повторить, начиная с пункта 3.

Реализации

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

Настольные игры Mastermind популярны во всём мире. Наиболее распространены вариации:

  • классическая, четыре не повторяющиеся цифры.
  • обычная, 4 места для фишек 6 цветов с повторениями.
  • продвинутая, 5 мест для фишек 8 цветов.

В культуре

  • В компьютерной игре «Sleeping Dogs» игра «Быки и коровы» служит имитацией взлома компьютерных полицейских сетей.
  • В играх Fallout 3, Fallout New Vegas и Fallout 4 процесс взлома компьютерных терминалов является разновидностью игры «Быки и коровы», в которой при неудачной попытке сообщается только количество "быков"[11].
  • Игра «Быки и коровы» встречается в компьютерной игре «Космические рейнджеры» при прохождении текстового квеста "Бриллиант".
  • Вариация игры используется в миссий Grand Theft Auto: Vice City Stories "Domo Arigato Domestoboto". Игрок управляет домашним роботом, имеющим отсылки к роботам из Рокки 4, Робокопа и нескольких других популярных фильмов 80-х. У игрока есть 18 попыток на то, чтобы угадать код.

См. также

Примечания

  1. Игра «Быки и коровы» в среде Microsoft Excel. В мир информатики, № 78.
  2. Investigations into the Master MindTM Board Game
  3. Д. В. Любич, Лингвистические игры, 1998, стр. 47
  4. Алеф, вып. 1990, стр. 45
  5. Т. Н. Образцова, Логические игры для детей, 2005
  6. Г. Е. Сенкевич, Компьютер для людей с ограниченными возможностями, 2014, стр. 218
  7. Ж. М. Глозман, А. Е. Соболева (ред.), Комплексная коррекция трудностей обучения в школе, 2014, стр. 242
  8. Л. Босова, Н. Нателаури (ред.), Актуальные проблемы методики обучения информатике в современной школе, 2020
  9. Mastermind Optimal strategy  (англ.)
  10. Knuth, Donald. Selected papers on fun and games (неопр.). — Center for the Study of Language and Information, 2011. — С. 226. — ISBN 9781575865843.
  11. "Взлом терминала".

Ссылки

  • Кандидат технических наук Е. Гик. Быки и коровы. «Наука и жизнь», № 2, 1978, с. 150—151; № 8, 1978, с. 142—143.
  • Чарльз Уэзерелл. Этюды по программированию, Великий комбинатор. М.: 1982, с. 140.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.