Plus récents classements @ 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
Notes du tournoi
- WOO HOO 70 BOTS
- Emil est toujours KOTH avec
Pony
et son nouveau botDienstag
prend la 3ème place - Félicitations à Roy pour avoir sauté à la 2e place avec son
Gazzr
bot - William Barbosa remporte le prix Quick Draw pour son bot
BarneyStinson
Et la récompense Slow Poke revient à Docopoper pour ses robots
R.O.B.O.T
etConcessionbot
qui étaient tous les deux> 140 ms par mainJournaux disponibles à l' adresse suivante: https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Bots exclus
- BashRocksBot - toujours pas de joie avec .net qui exécute les scripts cygwin bash
- CounterPreferenceBot - en attente d'un correctif
- RandomlyWeighted - en attente d'un correctif
- CasinoShakespeare - exclu car il nécessite une connexion Internet active
Question originale publiée
Vous avez visité la maison de vos amis pour la bataille la plus épique qui ait jamais eu lieu entre Rock, Paper, Scissors, Lizard, Spock. Dans le plus pur style BigBang, aucun des joueurs ne joue lui-même mais a créé des robots de la console pour jouer en son nom. Vous sortez votre clé USB et remettez-la au Sheldor le Conquérant pour l'inclure dans l'abattage. Penny swoons. Ou peut-être Howard swoons. Nous ne jugeons pas ici chez Léonard.
Règles
Les règles standard Rock, Papier, Ciseaux, Lézard, Spock s'appliquent.
- Ciseaux coupe papier
- Papier couvre la roche
- La roche écrase le lézard
- Lézard poisons Spock
- Spock brise des ciseaux
- Ciseaux Décapiter Lézard
- Lézard mange du papier
- Le papier réfute Spock
- Spock vaporise la roche
- La pierre écrase les ciseaux
Le bot de chaque joueur jouera un match contre un autre bot dans le tournoi.
Chaque match consistera en 100 itérations d'un jeu RPSLV.
Après chaque match, le gagnant est le joueur qui a remporté le plus grand nombre de jeux / mains sur 100.
Si vous gagnez un match, on vous attribue 1 point au classement. À l'issue d'un match nul, aucun joueur ne gagnera de point.
Exigences de Bot
Votre bot doit être exécutable à partir de la ligne de commande.
La boîte * nix de Sheldor est morte, nous la lançons donc sur son ordinateur portable de jeu Windows 8, alors assurez-vous que votre solution fournie peut fonctionner sous Windows. Sheldor a gracieusement offert d'installer toutes les exécutions requises (dans des limites raisonnables) pour pouvoir exécuter votre solution. (.NET, Java, Php, Python, Ruby, Powershell ...)
Contributions
Dans le premier match de chaque match, aucun argument n'est fourni à votre bot. Dans chaque jeu suivant de chaque match: - Arg1 contiendra l'historique de vos mains / décisions de bots dans ce match. - Arg2 contiendra l'historique des mains / décisions de vos adversaires dans ce match.
L’histoire sera représentée par une séquence de majuscules représentant les mains que vous pouvez jouer.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Par exemple
- Jeu 1: MyBot.exe
- Jeu 2: MyBot.exe SV
- Jeu 3: MyBot.exe SS VL
- Jeu 4: MyBot.exe SSR VLS
Sortie
Votre bot doit écrire une réponse de caractère unique représentant sa "main" pour chaque partie. Le résultat devrait être écrit dans STDOUT et le bot devrait alors quitter. Les lettres majuscules valides sont indiquées ci-dessous.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Si votre bot ne retourne pas une main valide (c’est-à-dire qu’une des cinq majuscules susmentionnées est automatiquement perdue, la correspondance est perdue et la correspondance continue.
Dans le cas où les deux robots ne retournent pas une main valide, le jeu est considéré comme un match nul et le match continue.
Format de correspondance
Chaque bot soumis jouera un match contre l'autre bot dans le tournoi.
Chaque match durera exactement 100 parties.
Les matchs seront joués de manière anonyme, vous n’aurez pas une connaissance approfondie du bot spécifique contre lequel vous jouez, mais vous pouvez utiliser toutes les informations que vous pouvez obtenir de sa prise de décision au cours de l’historique du match en cours pour modifier votre stratégie en fonction de votre stratégie. adversaire. Vous pouvez également suivre l'historique de vos jeux précédents pour créer des modèles / heuristiques, etc. (voir les règles ci-dessous).
Au cours d'une seule partie, le moteur d'orchestration exécutera votre bot et celui de vos adversaires à 100 millisecondes, puis comparera les résultats afin d'éviter toute collision PRNG dans la même langue / durée d'exécution. (c'est ce qui m'est arrivé pendant les tests).
Jugement et contraintes
Dr. Sheldon Cooper sous les traits de Sheldor le Conquérant a aimablement offert de superviser le déroulement du tournoi. Sheldor le Conquérant est un surveillant juste et juste (la plupart du temps). Toutes les décisions de Sheldor sont finales.
Le jeu se déroulera de manière juste et appropriée:
- Votre script / programme bot sera stocké dans le moteur d'orchestration sous un sous-dossier
Players\[YourBotName]\
- Vous pouvez utiliser ce sous-dossier
Players\[YourBotName]\data
pour enregistrer toutes les données ou l'historique des parties du tournoi en cours. Les répertoires de données seront purgés au début de chaque tournoi. - Vous ne pouvez pas accéder au répertoire des joueurs d'un autre joueur du tournoi.
- Votre bot ne peut pas avoir de code spécifique qui cible un autre comportement spécifique de bots
- Chaque joueur peut soumettre plus d’un bot à jouer tant qu’il n’interagit pas ou ne s’assiste pas.
Modifier - Contraintes supplémentaires
- En ce qui concerne les forfaits, ils ne seront pas pris en charge. Votre bot doit jouer l'une des 5 mains valides. Je vais tester chaque bot en dehors du tournoi avec des données aléatoires pour s'assurer qu'il se comporte bien. Tous les robots qui jetteront des erreurs (c.-à-d. Des erreurs perdues) seront exclus du tournoi jusqu'à ce qu'ils soient corrigés par un bogue.
- Les robots peuvent être dérivés tant qu'ils ont succinctement différents comportements. Les bots (y compris dans d'autres langages) ayant exactement le même comportement qu'un bot existant seront disqualifiés
- Il y a déjà des robots anti-spam pour les articles suivants, alors veuillez ne pas les renvoyer.
- Rock - BartSimpson
- Papier - LisaSimpson
- Ciseaux - EdwardScissorhands
- Spock - Vulcan
- Lézard - Khaleesi
- Pseudo Aléatoire - SimpleRandomBot & FairBot
- Psuedo Random RPS - ConservativeBot
- Psuedo Random LV - Barney Stinson
- Les robots ne peuvent pas faire appel à des services tiers ni à des ressources Web (ou à toute autre chose qui ralentit considérablement la vitesse / le temps de prise de décision des matchs).
CasinoShakespeare
est la seule exception car ce bot a été soumis avant l'ajout de cette contrainte.
Sheldor mettra à jour cette question aussi souvent que possible avec les résultats du tournoi, au fur et à mesure du nombre de robots envoyés.
Programme d'orchestration / contrôle
Le programme d'orchestration, ainsi que le code source de chaque bot, est disponible sur github.
https://github.com/eoincampbell/big-bang-game
Détails de la soumission
Votre soumission devrait inclure
- Le nom de ton bot
- Votre code
- Une commande à
- exécutez votre bot depuis le shell, par exemple
- ruby myBot.rb
- python3 myBot.py
- OU
- compilez d’abord vos deux, puis exécutez-le. par exemple
- csc.exe MyBot.cs
- MyBot.exe
Exemple de soumission
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]);
}
}
Clarification
Toutes les questions, demandez dans les commentaires ci-dessous.