Игра быки-коровы. Угадаю Ваше число за 6 ходов!
- Вспомогательные функции или структура программы Быки-Коровы
- Об алгоритме игры Быки и Коровы
- Перспективы прикладного применения
Правила игры описывать не стану Все знают!
Или смотрите здесь https://orenstudent.ru/bulls_cows.htm
Вспомогательные функции или структура программы Быки-Коровы
Умение подсчитывать «быков-коров», в задаваемых противником вопросах не интересно. В Интернете куча примеров…
Решето, по отсеиванию «забракованных» размещений после каждого ответа противника задача для первокурсников и на форумах тоже встречается…
А вот найти алгоритм, который бы выдавал «следующий оптимальный вопрос», мне в Интернете найти не удалось. Даже сервисов, которые решали бы (угадывали бы) число… не нашел. Будем считать, не повезло, так как у математиков игра названа легкой (4 цифры).
Нет, я не претендую на первенство. Понятно, что до меня и после меня, достаточно упорные или «упертые» программисты с этой задачей справятся легко.
Просто, хочу в очередной раз, доказать себе и народу, что компьютер считает варианты намного быстрее. Поэтому, создать сервис «Игры Быки-Коровы», который будет всегда выигрывать (или, в худшем случае, сводить в «Ничью») реально, а играть с такими сервисами человеку - бессмысленно!
Об алгоритме игры Быки и Коровы
Я могу доказать, что на седьмом ходе, программа не вопрос задает, а уже 100% результат сообщает. Тем не менее, противник получает право на седьмой ход. С правилами не поспоришь.
Рис.1 Об алгоритме игры Быки и Коровы
Решатель - это симбиоз "решета" по отсеиванию размещений и умения задавать умно-оптимальные вопросы.
А еще необходимо перепроверять пользователя, чтобы он не ошибся в подсчете быков и коров…
6-ой ответ противника на вопрос - это максимум, чтобы в решете остался один вариант (даже при самом плохом раскладе). Если вопросы задаешь «умные». А за пять ходов-ответов - это невозможно гарантировать. Только, на удачу! Но, на удачу, и с первого хода может получиться…
Флажок «с гарантией за 6 ходов» можно снимать, если играете с человеком, а не с другой программой или сервисом. Быстрее выиграете… Но с противником-машиной такие вольности не пройдут.
Скачать ехе-файл для тестирования
Перспективы прикладного применения
Получается, что эта программа, только для любителей «обманывать» неосведомленных игроков. Пользуйтесь уважаемые «искатели нового».
Хотя, может кто-нибудь придумает прикладное применение этому алгоритму (приложению).
Ведь «маленькие кусочки информации» машина увязывает в одно целое и на основании этого получается «достаточная информация» для принятия решения о следующем вопросе (остальные функции тривиальны).
Хотелось бы такую идею услышать и поучаствовать в ее реализации.
Другие примеры на тему «Компьютерные игры»
Поделиться в соц сетях: