heshby, ver. 2.0, 2000, (c) ltwood
Общее описание
Программа heshby играет с человеком в игру «чет-нечет», предсказывая его следующий ход на основе анализа предыдущих ходов. Автору известны только единичные случаи выигрыша человека при игре с программой heshby. Побудительным мотивом к написанию этой программы было желание экспериментально проверить одну мою идею (принцип рефлексивного зеркала) в области психологии рефлексивного управления.
Описание игры двух людей
В «чет-нечет» играют двое людей: «отгадывающий» и «обманывающий». На каждом ходе каждый игрок записывает на своем листе бумаги одно из двух слов — «чет» или «нечет», не показывая свой выбор противнику. После этого листы открываются. Если слова совпали, то очко получает «отгадывающий», если нет — «обманывающий». Задача «отгадывающего» — предсказать ход противника; задача «обманывающего» — сделать непредсказуемый ход.
Описание игры человека с программой
Программа heshby выступает в роли «отгадывающего». При игре с программой человек сообщает о своем выборе путем нажатия одной из двух клавиш: '+' или '-' (на цифровой клавиатуре). Клавиша '+' соответствует слову «чет», клавиша '-' — слову нечет. Одновременно с этим программа формирует собственный прогноз хода человека на основе статистики его предшествующих действий. Задача программы — наиболее эффективно предсказывать действия человека; задача человека — эффективно противодействовать предикции. В зависимости от результата хода точка на экране смещается на одну позицию влево (успех программы) или вправо (успех человека). Победой одного из противников (программы или человека) считается достижение точкой края экрана (левого или правого соответственно).
При игре можно использовать следующие клавиши:
- клавиша '+' - ход «чет»;
- клавиша '-' - ход «нечет»;
- клавиша 'ESC' - выход;
Запуск программы
Программа представляет собой консольное приложение для платформы win32. При запуске в первом параметре следует указать имя игрока (любое допустимое имя файла без расширения):
heshby myname
Каждая партия записывается в файл с расширением '.hst'. Если при запуске указать имя игрока, совпадающее с именем существующего hst-файла, то записанная партия будет проиграна в режиме off-line без участия пользователя. Если записанная партия не была закончена, то в этом случае ее можно будет доиграть. Можно запускать файл heshby.bat без аргументов, но в этом случае при следующем запуске запись партии будет стерта.
Файл heshby.ini содержит параметры программы; в задачи настоящего документа не входит описание его структуры и назначения отдельных параметров.
Комментарии
Выигрыш человека при игре с программой heshby — событие весьма редкое. В то же время существует простой «нечестный» алгоритм победы, для реализации которого нужен листок бумаги и терпение для запуска программы ~40 раз. В поставку входят запись оптимальной выигрышной партии (файл victory1.hst) и записи двух реальных выигрышных партий человека (victory2.hst и victory3.hst).
Приветствуются любые комментарии по программе.





