Clasificación más reciente @ 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
Notas del torneo
- WOO HOO 70 BOTS
- Emil todavía está KOTH
Pony
y su nuevo botDienstag
ocupa el 3er lugar - Felicidades a Roy por saltar al segundo lugar con su
Gazzr
bot - William Barbosa gana el premio Quick Draw por su bot
BarneyStinson
Y el premio Slow Poke va para Docopoper por sus bots
R.O.B.O.T
yConcessionbot
quienes fueron> 140ms por manoRegistros disponibles @ https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Bots excluidos
- BashRocksBot - todavía no es divertido con .net ejecutando scripts cygwin bash
- CounterPreferenceBot - esperando corrección de errores
- RandomlyWeighted - en espera de corrección de errores
- Casino Shakespeare: excluido porque requiere una conexión a Internet activa
Pregunta original publicada
Has girado hacia la casa de tus amigos para el enfrentamiento más épico de la historia de Rock, Paper, Scissors, Lizard, Spock. En el verdadero estilo nerd-tastic de BigBang, ninguno de los jugadores está jugando solo, pero ha creado bots de consola para jugar en su nombre. Sacas tu llave USB y se la entregas al Sheldor the Conqueror para que la incluya en el enfrentamiento. Penny se desmaya. O tal vez Howard se desmaya. No juzgamos aquí en el departamento de Leonard.
Reglas
Se aplican las reglas estándar de piedra, papel, tijera, lagarto y Spock.
- Tijeras cortadas en papel
- Cubiertas de papel Rock
- Roca aplasta a lagarto
- Veneno de lagarto Spock
- Spock rompe tijeras
- Tijeras decapitan a Lizard
- Lagarto come papel
- El papel refuta a Spock
- Spock vaporiza roca
- Tijeras de piedra
El bot de cada jugador jugará un partido contra el bot del torneo.
Cada partida constará de 100 iteraciones de un juego RPSLV.
Después de cada partido, el ganador es el jugador que ha ganado la mayor cantidad de juegos / manos de 100.
Si ganas un partido, se te asignará 1 punto en la tabla de la liga. En el resultado de un empate, ninguno de los jugadores ganará un punto.
Requisitos de bot
Su bot debe ser ejecutable desde la línea de comando.
Sheldor's * nix box ha muerto, por lo que lo estamos ejecutando desde su computadora portátil con Windows 8 Gaming, así que asegúrese de que su solución provista pueda ejecutarse en Windows. Sheldor se ha ofrecido gentilmente a instalar cualquier tiempo de ejecución requerido (dentro de lo razonable) para poder ejecutar su solución. (.NET, Java, Php, Python, Ruby, Powershell ...)
Entradas
En el primer juego de cada partida no se proporcionan argumentos a su bot. En cada juego posterior de cada partida: - Arg1 contendrá el historial de tus manos / decisiones de bots en esta partida. - Arg2 contendrá el historial de las manos / decisiones de tus oponentes en este partido.
La historia estará representada por una secuencia de letras mayúsculas que representan las posibles manos que puedes jugar.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
P.ej
- Juego 1: MyBot.exe
- Juego 2: MyBot.exe SV
- Juego 3: MyBot.exe SS VL
- Juego 4: MyBot.exe SSR VLS
Salida
Su bot debe escribir una respuesta de un solo personaje que represente su "mano" para cada juego. El resultado debe escribirse en STDOUT y el bot debe salir. Las letras mayúsculas simples válidas están debajo.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
En el caso de que su bot no devuelva una mano válida (es decir, 1 de las 5 letras mayúsculas anteriores), perderá automáticamente esa mano y la partida continuará.
En el caso de que ambos bots no devuelvan una mano válida, entonces el juego se considera un empate y el partido continúa.
Formato de partido
Cada bot enviado jugará un partido uno contra el otro en el torneo.
Cada partido durará exactamente 100 juegos.
Los partidos se jugarán de forma anónima, no tendrás un conocimiento avanzado del bot específico contra el que estás jugando, sin embargo, puedes usar toda la información que puedas obtener de su toma de decisiones durante el historial del partido actual para alterar tu estrategia contra tu adversario. También puede realizar un seguimiento del historial de sus juegos anteriores para construir patrones / heurística, etc. (consulte las reglas a continuación)
Durante un solo juego, el motor de orquestación ejecutará su bot y sus oponentes bot a 100 milisegundos de distancia y luego comparará los resultados para evitar cualquier colisión de PRNG en el mismo idioma / tiempo de ejecución. (Esto realmente me sucedió durante las pruebas).
Juicio y restricciones
El Dr. Sheldon Cooper, disfrazado de Sheldor el Conquistador, se ha ofrecido amablemente a supervisar el funcionamiento del torneo. Sheldor the Conqueror es un supervisor justo y justo (en su mayoría). Todas las decisiones de Sheldor son finales.
Los juegos se realizarán de manera justa y adecuada:
- Su script / programa bot se almacenará en el motor de orquestación en una subcarpeta
Players\[YourBotName]\
- Puede usar la subcarpeta
Players\[YourBotName]\data
para registrar cualquier dato o historial del juego del torneo actual a medida que avanza. Los directorios de datos se eliminarán al comienzo de cada carrera del torneo. - No puedes acceder al directorio de jugadores de otro jugador en el torneo
- Su bot no puede tener un código específico que apunte a otro comportamiento específico de bots
- Cada jugador puede enviar más de un bot para jugar siempre que no interactúen o se ayuden entre sí.
Editar - Restricciones adicionales
- En cuanto a los decomisos, no serán compatibles. Tu bot debe jugar una de las 5 manos válidas. Probaré cada bot fuera del torneo con algunos datos aleatorios para asegurarme de que se comporten. Cualquier bot que arroje errores (es decir, perderá errores) será excluido del torneo hasta que se corrijan.
- Los bots pueden ser derivados siempre que sean sucintamente diferentes en su comportamiento. Los bots (incluso en otros idiomas) que realicen exactamente el mismo comportamiento que un bot existente serán descalificados
- Ya hay bots de spam para lo siguiente, así que no vuelva a enviar
- Rock - BartSimpson
- Papel - LisaSimpson
- Tijera - EdwardScissorhands
- Spock - Vulcano
- Lagarto - Khaleesi
- Pseudoaleatorio - SimpleRandomBot y FairBot
- Psuedo RPS aleatorio - ConservativeBot
- Psuedo Random LV - Barney Stinson
- Los bots no pueden llamar a servicios de terceros o recursos web (o cualquier otra cosa que disminuya significativamente la velocidad / tiempo de toma de decisiones de los partidos).
CasinoShakespeare
es la única excepción, ya que ese bot se envió antes de que se agregara esta restricción.
Sheldor actualizará esta pregunta tan a menudo como pueda con los resultados del Torneo, a medida que se envíen más bots.
Programa de Orquestación / Control
El programa de orquestación, junto con el código fuente de cada bot, está disponible en github.
https://github.com/eoincampbell/big-bang-game
Detalles de envío
Su envío debe incluir
- El nombre de tu bot
- Tu codigo
- Un comando para
- ejecute su bot desde el shell, por ejemplo
- ruby myBot.rb
- python3 myBot.py
- O
- primero compila tus dos y luego ejecútalo. p.ej
- csc.exe MyBot.cs
- MyBot.exe
Envío de muestras
BotName: SimpleRandomBot
Compile: "C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" SimpleRandomBot.cs
Run: SimpleRandomBot [Arg1] [Arg2]
Código:
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]);
}
}
Aclaración
Cualquier pregunta, pregunte en los comentarios a continuación.