Neueste Bestenliste @ 2014-08-02 12:00
| Pos # | Author | Name | Language | Score | Win | Draw | Loss | Avg. Dec. Time |
+-------+----------------------+-------------------------+------------+-------+-------+-------+-------+----------------+
| 1st | Emil | Pony | Python2 | 064 | 064 | 000 | 005 | 0026.87 ms |
| 2nd | Roy van Rijn | Gazzr | Java | 062 | 062 | 001 | 006 | 0067.30 ms |
| 2nd | Emil | Dienstag | Python2 | 062 | 062 | 001 | 006 | 0022.19 ms |
| 4th | ovenror | TobiasFuenke | Python2 | 061 | 061 | 001 | 007 | 0026.89 ms |
| 5th | PhiNotPi | BayesianBot | Perl | 060 | 060 | 000 | 009 | 0009.27 ms |
| 6th | Claudiu | SuperMarkov | Python2 | 058 | 058 | 001 | 010 | 0026.77 ms |
| 7th | histocrat | Alternator | Ruby | 057 | 057 | 001 | 011 | 0038.53 ms |
| 8th | histocrat | LeonardShelby | Ruby | 053 | 053 | 000 | 016 | 0038.55 ms |
| 9th | Stretch Maniac | SmarterBot | Java | 051 | 051 | 002 | 016 | 0070.02 ms |
| 9th | Martin Büttner | Markov | Ruby | 051 | 051 | 003 | 015 | 0038.45 ms |
| 11th | histocrat | BartBot | Ruby | 049 | 049 | 001 | 019 | 0038.54 ms |
| 11th | kaine | ExcitingishBot | Java | 049 | 049 | 001 | 019 | 0065.87 ms |
| 13th | Thaylon | UniformBot | Ruby | 047 | 047 | 001 | 021 | 0038.61 ms |
| 14th | Carlos Martinez | EasyGame | Java | 046 | 046 | 002 | 021 | 0066.44 ms |
| 15th | Stretch Maniac | SmartBot | Java | 045 | 045 | 001 | 023 | 0068.65 ms |
| 16th | Docopoper | RoboticOboeBotOboeTuner | Python2 | 044 | 044 | 000 | 025 | 0156.55 ms |
| 17th | Qwix | Analyst | Java | 043 | 043 | 001 | 025 | 0069.06 ms |
| 18th | histocrat | Analogizer | Ruby | 042 | 042 | 000 | 027 | 0038.58 ms |
| 18th | Thaylon | Naan | Ruby | 042 | 042 | 004 | 023 | 0038.48 ms |
| 20th | Thaylon | NitPicker | Ruby | 041 | 041 | 000 | 028 | 0046.21 ms |
| 20th | bitpwner | AlgorithmBot | Python2 | 041 | 041 | 001 | 027 | 0025.34 ms |
| 22nd | histocrat | WereVulcan | Ruby | 040 | 040 | 003 | 026 | 0038.41 ms |
| 22nd | Ourous | QQ | Cobra | 040 | 040 | 003 | 026 | 0089.33 ms |
| 24th | Stranjyr | RelaxedBot | Python2 | 039 | 039 | 001 | 029 | 0025.40 ms |
| 25th | JoshDM | SelfLoathingBot | Java | 038 | 038 | 001 | 030 | 0068.75 ms |
| 25th | Ourous | Q | Cobra | 038 | 038 | 001 | 030 | 0094.04 ms |
| 25th | Ourous | DejaQ | Cobra | 038 | 038 | 001 | 030 | 0078.31 ms |
| 28th | Luis Mars | Botzinga | Java | 037 | 037 | 002 | 030 | 0066.36 ms |
| 29th | kaine | BoringBot | Java | 035 | 035 | 000 | 034 | 0066.16 ms |
| 29th | Docopoper | OboeBeater | Python2 | 035 | 035 | 002 | 032 | 0021.92 ms |
| 29th | Thaylon | NaanViolence | Ruby | 035 | 035 | 003 | 031 | 0038.46 ms |
| 32nd | Martin Büttner | SlowLizard | Ruby | 034 | 034 | 004 | 031 | 0038.32 ms |
| 33rd | Kyle Kanos | ViolentBot | Python3 | 033 | 033 | 001 | 035 | 0032.42 ms |
| 34th | HuddleWolf | HuddleWolfTheConqueror | .NET | 032 | 032 | 001 | 036 | 0029.86 ms |
| 34th | Milo | DogeBotv2 | Java | 032 | 032 | 000 | 037 | 0066.74 ms |
| 34th | Timmy | DynamicBot | Python3 | 032 | 032 | 001 | 036 | 0036.81 ms |
| 34th | mccannf | YAARBot | JS | 032 | 032 | 002 | 035 | 0100.12 ms |
| 38th | Stranjyr | ToddlerProof | Java | 031 | 031 | 010 | 028 | 0066.10 ms |
| 38th | NonFunctional User2..| IHaveNoIdeaWhatImDoing | Lisp | 031 | 031 | 002 | 036 | 0036.26 ms |
| 38th | john smith | RAMBOBot | PHP | 031 | 031 | 002 | 036 | 0014.53 ms |
| 41st | EoinC | SimpleRandomBot | .NET | 030 | 030 | 005 | 034 | 0015.68 ms |
| 41st | Martin Büttner | FairBot | Ruby | 030 | 030 | 006 | 033 | 0038.23 ms |
| 41st | Docopoper | OboeOboeBeater | Python2 | 030 | 030 | 006 | 033 | 0021.93 ms |
| 44th | undergroundmonorail | TheGamblersBrother | Python2 | 029 | 029 | 000 | 040 | 0025.55 ms |
| 45th | DrJPepper | MonadBot | Haskel | 028 | 028 | 002 | 039 | 0008.23 ms |
| 46th | Josef E. | OneBehind | Java | 027 | 027 | 007 | 035 | 0065.87 ms |
| 47th | Ourous | GitGudBot | Cobra | 025 | 025 | 001 | 043 | 0053.35 ms |
| 48th | ProgramFOX | Echo | .NET | 024 | 024 | 004 | 041 | 0014.81 ms |
| 48th | JoshDM | SelfHatingBot | Java | 024 | 024 | 005 | 040 | 0068.88 ms |
| 48th | Trimsty | Herpetologist | Python3 | 024 | 024 | 002 | 043 | 0036.93 ms |
| 51st | Milo | DogeBot | Java | 022 | 022 | 001 | 046 | 0067.86 ms |
| 51st | William Barbosa | StarWarsFan | Ruby | 022 | 022 | 002 | 045 | 0038.48 ms |
| 51st | Martin Büttner | ConservativeBot | Ruby | 022 | 022 | 001 | 046 | 0038.25 ms |
| 51st | killmous | MAWBRBot | Perl | 022 | 022 | 000 | 047 | 0016.30 ms |
| 55th | Mikey Mouse | LizardsRule | .NET | 020 | 020 | 007 | 042 | 0015.10 ms |
| 55th | ja72 | BlindForesight | .NET | 020 | 020 | 001 | 048 | 0024.05 ms |
| 57th | robotik | Evolver | Lua | 019 | 019 | 001 | 049 | 0008.19 ms |
| 58th | Kyle Kanos | LexicographicBot | Python3 | 018 | 018 | 003 | 048 | 0036.93 ms |
| 58th | William Barbosa | BarneyStinson | Lua | 018 | 018 | 005 | 046 | 0005.11 ms |
| 60th | Dr R Dizzle | BartSimpson | Ruby | 017 | 017 | 001 | 051 | 0038.22 ms |
| 60th | jmite | IocainePowder | Ruby | 017 | 017 | 003 | 049 | 0038.50 ms |
| 60th | ArcticanAudio | SpockOrRock | PHP | 017 | 017 | 001 | 051 | 0014.19 ms |
| 60th | Dr R Dizzle | BetterLisaSimpson | Ruby | 017 | 017 | 000 | 052 | 0038.23 ms |
| 64th | Dr R Dizzle | LisaSimpson | Ruby | 016 | 016 | 002 | 051 | 0038.29 ms |
| 65th | Martin Büttner | Vulcan | Ruby | 015 | 015 | 001 | 053 | 0038.26 ms |
| 65th | Dr R Dizzle | Khaleesi | Ruby | 015 | 015 | 005 | 049 | 0038.29 ms |
| 67th | Dr R Dizzle | EdwardScissorHands | Ruby | 014 | 014 | 002 | 053 | 0038.21 ms |
| 67th | undergroundmonorail | TheGambler | Python2 | 014 | 014 | 002 | 053 | 0025.47 ms |
| 69th | cipher | LemmingBot | Python2 | 011 | 011 | 002 | 056 | 0025.29 ms |
| 70th | Docopoper | ConcessionBot | Python2 | 007 | 007 | 000 | 062 | 0141.31 ms |
+-------+----------------------+-------------------------+------------+-------+-------+-------+-------+----------------+
Total Players: 70
Total Matches Completed: 2415
Total Tourney Time: 06:00:51.6877573
Turnier Notes
- WOO HOO 70 BOTS
- Emil ist immer noch KOTH mit
Pony
und sein neuer Bot belegtDienstag
den 3. Platz - Herzlichen Glückwunsch an Roy, der mit seinem
Gazzr
Bot auf Platz 2 gesprungen ist - William Barbosa gewinnt den Quick Draw Award für seinen Bot
BarneyStinson
Und Slow Poke Preis geht für seine Bots Docopoper
R.O.B.O.T
undConcessionbot
die waren beide> 140ms pro HandProtokolle verfügbar unter https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Ausgeschlossene Bots
- BashRocksBot - immer noch keine Freude, wenn .net Cygwin-Bash-Skripte ausführt
- CounterPreferenceBot - Warten auf Fehlerbehebung
- RandomlyWeighted - Warten auf Fehlerbehebung
- CasinoShakespeare - ausgeschlossen, da eine aktive Internetverbindung erforderlich ist
Original gepostete Frage
Du bist zu deinem Freund nach Hause geschwungen, um die epischste Showdown-Schlacht aller Zeiten zwischen Rock, Paper, Scissors, Lizard, Spock zu bestreiten. Im echten BigBang-Nerd-Stil spielt keiner der Spieler selbst, sondern hat Konsolen-Bots erstellt, um in ihrem Namen zu spielen. Sie ziehen Ihren USB-Stick heraus und übergeben ihn an Sheldor the Conqueror, um ihn in den Showdown einzubeziehen . Penny ohnmächtig. Oder vielleicht fällt Howard in Ohnmacht. Wir richten hier bei Leonard nicht.
Regeln
Es gelten die Standardregeln für Steine, Papier, Schere, Echse und Spock.
- Schere schneiden Papier
- Papier bedeckt Rock
- Rock zerquetscht Lizard
- Eidechse vergiftet Spock
- Spock zerschmettert die Schere
- Schere enthauptet Eidechse
- Eidechse isst Papier
- Papier widerlegt Spock
- Spock verdampft Rock
- Rock zerquetscht die Schere
Der Bot eines jeden Spielers spielt im Turnier ein Match gegen einen anderen Bot.
Jedes Match besteht aus 100 Iterationen eines RPSLV-Spiels.
Nach jedem Spiel gewinnt der Spieler, der die meisten Spiele / Hände von 100 gewonnen hat.
Wenn Sie ein Spiel gewinnen, erhalten Sie 1 Punkt in der Rangliste. Bei einem Unentschieden erhält keiner der Spieler einen Punkt.
Bot-Anforderungen
Ihr Bot muss über die Befehlszeile ausgeführt werden können.
Sheldors * nix-Box ist gestorben, daher wird sie von seinem Windows 8-Gaming-Laptop ausgeführt. Stellen Sie also sicher, dass Ihre bereitgestellte Lösung unter Windows ausgeführt werden kann. Sheldor hat freundlicherweise angeboten, alle erforderlichen Laufzeiten (innerhalb eines angemessenen Rahmens) zu installieren, um Ihre Lösung ausführen zu können. (.NET, Java, PHP, Python, Ruby, Powershell ...)
Eingänge
Im ersten Spiel eines jeden Matches werden Ihrem Bot keine Argumente geliefert. In jedem folgenden Spiel jedes Spiels: - Arg1 enthält die Historie Ihrer Bots Hände / Entscheidungen in diesem Spiel. - Arg2 enthält die Historie der Hände / Entscheidungen Ihres Gegners in diesem Spiel.
Der Verlauf wird durch eine Folge von Großbuchstaben dargestellt, die die möglichen Hände darstellen, die Sie spielen können.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Z.B
- Spiel 1: MyBot.exe
- Spiel 2: MyBot.exe SV
- Spiel 3: MyBot.exe SS VL
- Spiel 4: MyBot.exe SSR VLS
Ausgabe
Ihr Bot muss für jedes Spiel eine Antwort schreiben, die seine "Hand" darstellt. Das Ergebnis sollte nach STDOUT geschrieben werden und der Bot sollte dann beendet werden. Gültige einfache Großbuchstaben finden Sie weiter unten.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
In dem Fall, dass Ihr Bot keine gültige Hand zurückgibt (dh 1 der obigen 5 Großbuchstaben), verlieren Sie diese Hand automatisch und das Match wird fortgesetzt.
Wenn beide Bots keine gültige Hand zurückgeben, wird das Spiel als unentschieden gewertet und das Spiel fortgesetzt.
Übereinstimmungsformat
Jeder eingereichte Bot spielt im Turnier ein Match gegen einen anderen Bot.
Jedes Match wird genau 100 Spiele dauern.
Die Spiele werden anonym gespielt. Sie verfügen nicht über fortgeschrittene Kenntnisse des spezifischen Bots, gegen den Sie spielen. Sie können jedoch alle Informationen, die Sie aus seiner Entscheidungsfindung im Verlauf des aktuellen Spiels erhalten, verwenden, um Ihre Strategie gegen Ihren zu ändern Gegner. Sie können auch den Verlauf Ihrer vorherigen Spiele verfolgen, um Muster / Heuristiken usw. aufzubauen. (Siehe Regeln unten)
Während eines einzelnen Spiels führt die Orchestrierungs-Engine Ihren Bot und den des Gegners im Abstand von 100 Millisekunden aus und vergleicht dann die Ergebnisse, um PRNG-Kollisionen in derselben Sprache / Laufzeit zu vermeiden. (Das ist mir tatsächlich beim Testen passiert).
Urteilen & Einschränkungen
Dr. Sheldon Cooper in der Gestalt von Sheldor the Conqueror hat freundlicherweise angeboten, die Durchführung des Turniers zu überwachen. Sheldor the Conqueror ist ein fairer und gerechter Aufseher (meistens). Alle Entscheidungen von Sheldor sind endgültig.
Das Spielen wird auf faire und angemessene Weise durchgeführt:
- Ihr Bot-Skript / Programm wird in der Orchestrierungs-Engine unter einem Unterordner gespeichert
Players\[YourBotName]\
- Sie können den Unterordner verwenden
Players\[YourBotName]\data
, um die Daten oder den Spielverlauf des aktuellen Turniers zu protokollieren. Datenverzeichnisse werden zu Beginn jedes Turnierlaufs gelöscht. - Sie dürfen nicht auf das Spielerverzeichnis eines anderen Spielers im Turnier zugreifen
- Ihr Bot kann keinen bestimmten Code haben, der auf ein anderes bestimmtes Bots-Verhalten abzielt
- Jeder Spieler kann mehr als einen Bot zum Spielen einreichen, solange er nicht interagiert oder sich gegenseitig unterstützt.
Bearbeiten - Zusätzliche Einschränkungen
- Verfallserklärungen werden nicht unterstützt. Ihr Bot muss eine der 5 gültigen Hände spielen. Ich werde jeden Bot außerhalb des Turniers mit zufälligen Daten testen, um sicherzustellen, dass er sich verhält. Alle Bots, die Fehler werfen (dh Fehler verwirken), werden vom Turnier ausgeschlossen, bis sie einen Fehler behoben haben.
- Bots können abgeleitet sein, solange sie sich in ihrem Verhalten prägnant unterscheiden. Bots (auch in anderen Sprachen), die genau dasselbe Verhalten wie ein vorhandener Bot aufweisen, werden disqualifiziert
- Es gibt bereits Spam-Bots für die folgenden E-Mails. Bitte senden Sie sie nicht erneut
- Rock - BartSimpson
- Papier - LisaSimpson
- Scissor - EdwardScissorhands
- Spock - Vulcan
- Eidechse - Khaleesi
- Pseudo-Zufall - SimpleRandomBot & FairBot
- Pseudo-Zufalls-RPS - ConservativeBot
- Psuedo Random LV - Barney Stinson
- Bots dürfen keine Dienste oder Webressourcen von Drittanbietern anrufen (oder irgendetwas anderes, das die Geschwindigkeit / Entscheidungszeit der Spiele erheblich verlangsamt).
CasinoShakespeare
Dies ist die einzige Ausnahme, da dieser Bot gesendet wurde, bevor diese Einschränkung hinzugefügt wurde.
Sheldor wird diese Frage so oft wie möglich mit Turnierergebnissen aktualisieren, da mehr Bots eingereicht werden.
Orchestrierungs- / Steuerungsprogramm
Das Orchestrierungsprogramm sowie der Quellcode für jeden Bot sind auf github verfügbar.
https://github.com/eoincampbell/big-bang-game
Einreichungsdetails
Ihre Einreichung sollte enthalten
- Der Name Ihres Bots
- Dein Code
- Ein Befehl an
- Führen Sie Ihren Bot aus der Shell aus, z
- ruby myBot.rb
- python3 myBot.py
- ODER
- Kompilieren Sie zuerst Ihre beiden und führen Sie sie dann aus. z.B
- csc.exe MyBot.cs
- MyBot.exe
Beispielhafte Einreichung
BotName: SimpleRandomBot
Compile: "C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" SimpleRandomBot.cs
Run: SimpleRandomBot [Arg1] [Arg2]
Code:
using System;
public class SimpleRandomBot
{
public static void Main(string[] args)
{
var s = new[] { "R", "P", "S", "L", "V" };
if (args.Length == 0)
{
Console.WriteLine("V"); //always start with spock
return;
}
char[] myPreviousPlays = args[0].ToCharArray();
char[] oppPreviousPlays = args[1].ToCharArray();
Random r = new Random();
int next = r.Next(0, 5);
Console.WriteLine(s[next]);
}
}
Klärung
Fragen, stellen Sie in den Kommentaren unten.