Interested Article - Быки и коровы

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

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

Правила игры

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

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

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

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

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

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

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

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

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

Алгоритм

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

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

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

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

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

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

  1. Построить множество S из 6 4 = 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 цветов [ источник не указан 4293 дня ] .

В культуре

  • В ряде компьютерных игр (например, Sleeping Dogs , серии игр Fallout и других) различные вариации игра «Быки и коровы» являются головоломками в ходе игрового процесса. Это может быть как обязательной задачей, так и необязательной веткой прохождения или получения дополнительных бонусов.

См. также

Примечания

  1. от 1 февраля 2009 на Wayback Machine . В мир информатики , № 78.
  2. . Дата обращения: 21 сентября 2013. 28 октября 2013 года.
  3. Д. В. Любич, Лингвистические игры , 1998, стр. 47
  4. Алеф, вып. 1990, стр. 45
  5. Т. Н. Образцова, Логические игры для детей , 2005
  6. Г. Е. Сенкевич, Компьютер для людей с ограниченными возможностями , 2014, стр. 218
  7. Ж. М. Глозман, А. Е. Соболева (ред.), Комплексная коррекция трудностей обучения в школе , 2014, стр. 242
  8. Л. Босова, Н. Нателаури (ред.), Актуальные проблемы методики обучения информатике в современной школе , 2020
  9. от 14 сентября 2008 на Wayback Machine (англ.)
  10. Knuth, Donald. Selected papers on fun and games (англ.) . — Center for the Study of Language and Information, 2011. — P. 226. — ISBN 9781575865843 .

Ссылки

  • Кандидат технических наук Е. Гик. Быки и коровы. «Наука и жизнь», № 2, 1978, с. 150—151; № 8, 1978, с. 142—143.
  • Чарльз Уэзерелл. Этюды по программированию, Великий комбинатор. М.: 1982, с. 140.
Источник —

Same as Быки и коровы