Wettbewerb permanent geöffnet - Aktualisiert am 10. August 2017
Obwohl ich am 5. Juni 2017 einen Gewinner gekürt habe (der als beste Antwort gilt), werde ich neue Bots starten und die Ergebnisse aktualisieren.
5. Juni Ergebnisse
Glückwunsch user1502040
Da es keine Gleichheit gibt, zeige ich nur den Prozentsatz der gewonnenen Matches.
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%
Ich habe ein Google Sheet mit dem Ergebnisraster für jede Verknüpfung erstellt: https://docs.google.com/spreadsheets/d/1KrMvcvWMkK-h1Ee50w0gWLh_L6rCFOgLhTN_QlEXHyk/edit?usp=sharing
Dank des Petri-Dilemmas konnte ich mit diesem König des Hügels fertig werden.
Das Spiel
Das Spiel ist eine einfache "Stein-Papier-Schere" mit einem Twist: Punkte, die mit jedem Sieg während des Spiels gewonnen werden (Ihre R, P oder S werden geladen).
- Papier gewinnt Rock
- Schere gewinnt Papier
- Rock gewinnt die Schere
Der Gewinner erhält so viele Punkte wie er spielt.
Der Verlierer erhöht die Belastung seines Spiels um 1.
Bei einem Gleichstand erhöht jeder Spieler die Belastung seines Spiels um 0,5.
Nach 100 Spielen gewinnt derjenige mit mehr Punkten.
Beispiel: P1 hat Lasten [10,11,12] (Stein, Papier, Schere) und P2 [7,8,9]. P1 spielt R, P2 spielt P. P2 gewinnt und bekommt 8 Punkte. P1-Lasten werden [11,11,12], P2-Lasten bleiben gleich.
Herausforderungsspezifikationen
Ihr Programm muss in Python geschrieben sein (Entschuldigung, ich weiß nicht, wie ich damit umgehen soll). Sie müssen eine Funktion erstellen, die bei jeder Ausführung jede dieser Variablen als Argument verwendet:
my_points, opp_points, my_loaded, opp_loaded, my_history, opp_history
points
- Aktuelle Punkte (Ihre und Ihre Gegner)
loaded
- Array mit Lasten (in der Reihenfolge RPS) (Ihr und Ihr Gegner)
history
- Saite mit allen Spielen, letzter Charakter ist das letzte Spiel (dein und dein Gegner)
Sie müssen zurückkehren "R"
, "P"
oder "S"
. Wenn Sie etwas anderes zurückgeben würden, wäre dies automatisch ein Verlust des Spiels.
Regeln
Sie können die integrierten Funktionen nicht ändern.
Testen
Ich halte einen Git mit dem Code und allen Bots auf dem Laufenden: https://github.com/Masclins/LoadedRPS
Beurteilen
Der Gewinner wird durch Auswahl der Person mit den meisten Siegen nach 1000 vollen Round-Robin-Spielen ermittelt. Die Krawatten werden durch Gleichstand unterbrochen. Es werden mehr als 1000 Spiele gespielt, weil ich viel Zufälligkeit erwarte, und auf diese Weise wäre die Zufälligkeit weniger relevant.
Sie können bis zu 5 Bots einreichen.
Der Wettbewerb endet am Juli 4. Juni (das wird der letzte Tag sein , die ich keine Antwort akzeptieren werde), und am Juli 5. Juni werde ich die letzten stadings Post (vielleicht versuchen , eine advancemnt vor schreiben).
Da dies meine erste KOTH ist, bin ich zu 100% offen für Verbesserungen, wie zum Beispiel die Anzahl der Matches, die gegen jeden Bot gespielt werden.
Auf 1000 Streichhölzer bearbeitet, da ich sehe, dass es wirklich um Zufälligkeiten geht.
runcode
und bots
) veröffentlichen?