Конкурс открыт постоянно - Обновлено 10 августа 2017
Хотя 5 июня 2017 года я объявил победителя (который останется лучшим ответом), я буду набирать новых ботов и обновлять результаты.
Результаты 5 июня
Поздравляем user1502040
Поскольку связей нет, я показываю только процент выигранных матчей.
Statistician2
- 95,7%
Fitter
- 89,1%
Nash
- 83,9%
Weigher
- 79,9%
ExpectedBayes
- 76,4%
AntiRepeater
- 72,1%
Yggdrasil
- 65,0%
AntiGreedy
- 64,1%
Reactor
- 59,9%
NotHungry
- 57,3%
NashBot
- 55,1%
Blodsocer
- 48,6%
BestOfBothWorlds
- 48,4%
GoodWinning
- 43,9%
Rockstar
- 40,5%
ArtsyChild
- 40,4%
Assassin
- 38,1 %
WeightedRandom
- 37,7%
Ensemble
- 37,4%
UseOpponents
- 36,4%
GreedyPsychologist
- 36,3%
TheMessenger
- 33,9%
Copycat
- 31,4%
Greedy
- 28,3%
SomewhatHungry
- 27,6%
AntiAntiGreedy
- 21,0%
Cycler
- 20,3%
Swap
- 19,8%
RandomBot
- 16,2%
Я создал Google Sheet с таблицей результатов каждой пары: https://docs.google.com/spreadsheets/d/1KrMvcvWMkK-h1Ee50w0gWLh_L6rCFOgLhTN_QlEXHyk/edit?usp=sharing
Благодаря дилемме Петри я смог справиться с этим королем горы.
Игра
Игра представляет собой простой «камень-ножницы-бумага» с изюминкой: очки, набранные с каждой победой, увеличиваются во время матча (ваши R, P или S загружаются).
- Бумага побеждает Рок
- Ножницы выигрывает бумага
- Рок выигрывает ножницы
Победитель получает столько же очков, сколько его нагрузка на игру.
Проигравший увеличивает на 1 нагрузку на свою игру.
В случае ничьей каждый игрок увеличивает нагрузку на свою игру на 0,5.
После 100 игр победителем становится тот, у кого больше очков.
Например: P1 имеет нагрузки [10,11,12] (камень, бумага, ножницы) и P2 [7,8,9]. P1 играет R, P2 играет P. P2 выигрывает и получает 8 очков. Нагрузки P1 становятся [11,11,12], нагрузки P2 остаются прежними.
Технические характеристики
Ваша программа должна быть написана на Python (извините, я не знаю, как с этим обращаться в противном случае). Вы должны создать функцию, которая будет принимать каждую из этих переменных в качестве аргумента при каждом выполнении:
my_points, opp_points, my_loaded, opp_loaded, my_history, opp_history
points
- Текущие очки (твой и твой опп)
loaded
- Массив с нагрузками (по порядку RPS) (ваш и ваш опп)
history
- Строка со всеми пьесами, последний персонаж - последняя игра (ваша и ваш оппонент)
Вы должны вернуться "R"
, "P"
или "S"
. Если вы вернете что-то другое, это будет автоматический проигрыш в матче.
правила
Вы не можете изменить встроенные функции.
тестирование
Я буду держать Git обновленным с кодом и всеми ботами, отвечающими требованиям: https://github.com/Masclins/LoadedRPS
судейство
Победитель будет определен путем выбора человека с наибольшим количеством выигрышных матчей после 1000 полных раундов. Связи будут нарушены связанными спичками. Играется 1000 матчей, а не один, потому что я ожидаю много случайностей, и таким образом случайность будет менее актуальной.
Вы можете отправить до 5 ботов.
Конкурс заканчивается 4 июля (это будет последний день, когда я приму любой ответ), а 5 июля я опубликую итоговые результаты (возможно, постараюсь опубликовать предварительную заявку раньше).
Поскольку это мой первый KOTH, я на 100% готов изменить что-либо для улучшения, например, количество матчей против каждого бота.
Отредактировано до 1000 матчей, так как я вижу, что это действительно случайность.
runcode
и bots
)?