top of page

Несколько алгоритмов для игры Камень, ножницы, бумага

  • Фото автора: asd3626
    asd3626
  • 3 дек. 2017 г.
  • 2 мин. чтения

Уверен каждый играл, а многие еще и разрешали серьезные споры игрой Камень, ножницы, бумага.

Нопомню правила (из Википедии: https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BC%D0%B5%D0%BD%D1%8C,_%D0%BD%D0%BE%D0%B6%D0%BD%D0%B8%D1%86%D1%8B,_%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B0 )

Игроки считают вместе вслух «Камень… Ножницы… Бумага… Раз… Два… Три»[1], одновременно качая кулаками. На счёт «Три» они одновременно показывают при помощи руки один из трёх знаков: камень, ножницы или бумагу.

Знаки изображены на картинке.

Победитель определяется по следующим правилам:

  • Камень побеждает ножницы («камень слишком крепок для ножниц»)

  • Бумага побеждает камень («бумага накрывает камень»)

  • Ножницы побеждают бумагу («ножницы разрезают бумагу»)

Если игроки показали одинаковый знак, то засчитывается ничья и игра переигрывается.

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

Всё началось с того, что я сильно проигрывал эту игру своей жене, а она разгадала тайну моего рандома. Я очень рассердился и решил, что в этой интеллектуальной схватке я не сдамся.

После нескольких попыток разгадать ее последовательность, я понял, что часто после Камня, у нее выпадает Ножницы, после Ножницы - бумага и т.д. несколько маленьких последовательностей я заметил. Далее попробовал пару простых алгоритмов, которые помогли мне собрать с нее статистику

и

а так же для рандомного хода.

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

Были и приятные новости. Теперь у меня была статистика её ходов, хоть и не много, но что то.

где k - камень, n - ножницы, b - бумага.

На самом деле статистики было чуть больше, но взял эту для краткости.

Далее я попробовал натравить на жену её же статистику

Это было уже немного получше, но после непродолжительной схватки, жена всё же разгада и эту последовательность. Слишком умная жена не дает мне покоя, и я решил, что если я с ней не справлюсь, то пускай это делает компьютер. Дальнейшие поиски решения задачи привели меня к тому, что алгоритм должен самообучаться. Поразмыслив в этом наравлении , пришел к тому, что буду использовать приоритеты. Не хочу заморачиваться с нейронными сетями.

Далее попытка реализовать такой самоообучающийся алгоритм.

Код

Если хватит энтузиазма, продолжу поиски лучшего решения на следующий выходных. А пока вот

Пока.


 
 
 

Комментарии


Избранные посты
Проверьте позже
Когда посты будут опубликованы, вы увидите их здесь.
Недавние посты
Архив
Поиск по тегам
Мы в соцсетях
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page