Classifica più recente @ 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
Note di torneo
- WOO HOO 70 BOT
- Emil è ancora con KOTH
Pony
e il suo nuovo botDienstag
occupa il 3 ° posto - Congratulazioni a Roy per essere salito al 2 ° posto con il suo
Gazzr
robot - William Barbosa vince il premio Quick Draw per il suo bot
BarneyStinson
E il premio Slow Poke viene assegnato a Docopoper per i suoi robot
R.O.B.O.T
eConcessionbot
che erano entrambi> 140 ms per manoRegistri disponibili @ https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Bot esclusi
- BashRocksBot - ancora nessuna gioia con .net che esegue script cygwin bash
- CounterPreferenceBot - in attesa di correzione di bug
- RandomlyWeighted - in attesa di correzione di bug
- CasinoShakespeare - escluso perché richiede una connessione Internet attiva
Domanda postata originale
Ti sei girato a casa dei tuoi amici per lo scontro più epico di sempre tra Rock, Paper, Scissors, Lizard, Spock. Nel vero stile di BigBang nerd-tastic, nessuno dei giocatori sta giocando da solo, ma ha creato robot console per giocare per suo conto. Tiri fuori la tua chiave USB e la passi allo Sheldor the Conqueror per l'inclusione nello showdown. Penny svenisce. O forse Howard svenisce. Non giudichiamo qui nell'appartamento di Leonard.
Regole
Si applicano le regole Standard Rock, Paper, Scissors, Lizard, Spock.
- Carta tagliata a forbice
- Copertine di carta Rock
- La roccia schiaccia la lucertola
- La lucertola avvelena Spock
- Spock rompe le forbici
- Le forbici decapitano la lucertola
- La lucertola mangia la carta
- La carta smentisce Spock
- Spock vaporizza il Rock
- Forbici da schiacciamento
Il bot di ogni giocatore giocherà una partita l' uno contro l'altro nel torneo.
Ogni incontro sarà composto da 100 iterazioni di un gioco RPSLV.
Dopo ogni partita, il vincitore è il giocatore che ha vinto il maggior numero di partite / mani su 100.
Se vinci una partita, ti verrà assegnato 1 punto nella classifica. Nel risultato di un pareggio, nessuno dei due giocatori guadagnerà un punto.
Requisiti del robot
Il bot deve essere eseguibile dalla riga di comando.
La scatola * nix di Sheldor è morta, quindi la stiamo eseguendo dal suo laptop da gioco Windows 8, quindi assicurati che la soluzione fornita possa essere eseguita su Windows. Sheldor si è gentilmente offerto di installare tutti i runtime richiesti (entro limiti ragionevoli) per poter eseguire la soluzione. (.NET, Java, Php, Python, Ruby, Powershell ...)
ingressi
Nella prima partita di ogni partita non vengono forniti argomenti al bot. In ogni gioco successivo di ogni incontro: - Arg1 conterrà la cronologia delle mani / decisioni dei tuoi robot in questo incontro. - Arg2 conterrà la cronologia delle mani / decisioni dei tuoi avversari in questa partita.
La storia sarà rappresentata da una sequenza di singole lettere maiuscole che rappresentano le possibili mani che puoi giocare.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Per esempio
- Gioco 1: MyBot.exe
- Gioco 2: MyBot.exe SV
- Gioco 3: MyBot.exe SS VL
- Gioco 4: MyBot.exe SSR VLS
Produzione
Il tuo bot deve scrivere una risposta per singolo personaggio che rappresenta la sua "mano" per ogni gioco. Il risultato dovrebbe essere scritto su STDOUT e il bot dovrebbe quindi uscire. Di seguito sono riportati i caratteri maiuscoli validi.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Nel caso in cui il tuo bot non restituisca una mano valida (ovvero 1 delle 5 maiuscole sopra indicate, allora perdi automaticamente quella mano e la partita continua.
Nel caso in cui entrambi i robot non restituiscano una mano valida, il gioco viene considerato un pareggio e la partita continua.
Formato partita
Ogni bot inviato giocherà una partita contro l'altro bot nel torneo.
Ogni partita durerà esattamente 100 partite.
Le partite si giocheranno in forma anonima, non avrai una conoscenza avanzata del bot specifico contro cui stai giocando, tuttavia puoi utilizzare tutte le informazioni che puoi ottenere dal suo processo decisionale durante la cronologia della partita corrente per modificare la tua strategia contro il tuo avversario. Puoi anche tenere traccia della cronologia dei tuoi giochi precedenti per creare schemi / euristiche ecc ... (Vedi le regole di seguito)
Durante una singola partita, il motore di orchestrazione eseguirà il bot e i bot degli avversari a una distanza di 100 millisecondi, quindi confronterà i risultati al fine di evitare eventuali collisioni del PRNG nella stessa lingua / runtime. (questo in realtà mi è successo durante i test).
Giudizio e vincoli
Il Dr. Sheldon Cooper nelle vesti di Sheldor il Conquistatore si è gentilmente offerto di supervisionare lo svolgimento del torneo. Sheldor the Conqueror è un sorvegliante giusto e giusto (per lo più). Tutte le decisioni di Sheldor sono definitive.
Il gioco si svolgerà in modo corretto e corretto:
- Lo script / programma del bot verrà archiviato nel motore di orchestrazione in una sottocartella
Players\[YourBotName]\
- Puoi utilizzare la sottocartella
Players\[YourBotName]\data
per registrare tutti i dati o la cronologia di gioco del torneo corrente mentre procede. Le directory dei dati verranno eliminate all'inizio di ogni torneo. - Non puoi accedere alla directory dei giocatori di un altro giocatore nel torneo
- Il tuo bot non può avere un codice specifico che ha come target un altro comportamento specifico dei bot
- Ogni giocatore può inviare più di un bot per giocare purché non interagiscano o si assistano a vicenda.
Modifica - Vincoli aggiuntivi
- Per quanto riguarda i forfait, non saranno supportati. Il tuo bot deve giocare una delle 5 mani valide. Metterò alla prova ogni bot al di fuori del torneo con alcuni dati casuali per assicurarmi che si comportino bene. Tutti i bot che generano errori (ad es. Errori di perdita) saranno esclusi dal torneo fino a quando non verranno corretti.
- I robot possono essere derivati a condizione che siano succintamente diversi nel loro comportamento. I bot (anche in altre lingue) che svolgono esattamente lo stesso comportamento di un bot esistente verranno squalificati
- Esistono già bot di spam per quanto segue, quindi non inviare nuovamente
- Rock - BartSimpson
- Carta - LisaSimpson
- Scissor - Edward mani di forbice
- Spock - Vulcan
- Lucertola - Khaleesi
- Pseudo casuale - SimpleRandomBot & FairBot
- Psuedo Random RPS - ConservativeBot
- Psuedo Random LV - Barney Stinson
- I robot non possono chiamare servizi di terze parti o risorse Web (o qualsiasi altra cosa che rallenta in modo significativo la velocità / il tempo decisionale delle partite).
CasinoShakespeare
è l'unica eccezione in quanto il bot è stato inviato prima dell'aggiunta di questo vincolo.
Sheldor aggiornerà questa domanda il più spesso possibile con i risultati del Torneo, man mano che vengono inviati più robot.
Programma di orchestrazione / controllo
Il programma di orchestrazione, insieme al codice sorgente per ogni bot, è disponibile su github.
https://github.com/eoincampbell/big-bang-game
Dettagli di invio
Il tuo invio dovrebbe includere
- Il nome del tuo Bot
- Il tuo codice
- Un comando a
- esegui il tuo bot dalla shell ad es
- ruby myBot.rb
- python3 myBot.py
- O
- prima compilare entrambi e quindi eseguirlo. per esempio
- csc.exe MyBot.cs
- MyBot.exe
Invio campione
BotName: SimpleRandomBot
Compile: "C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" SimpleRandomBot.cs
Run: SimpleRandomBot [Arg1] [Arg2]
Codice:
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]);
}
}
Una precisazione
Per qualsiasi domanda, poni nei commenti qui sotto.