Classificação mais recente @ 02-08-2014 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 dos torneios
- WOO HOO 70 BOTS
- Emil ainda está com KOTH
Pony
e seu novo botDienstag
ocupa o 3º lugar - Parabéns a Roy por pular para o 2º lugar com seu
Gazzr
bot - William Barbosa ganha o prêmio Quick Draw por seu bot
BarneyStinson
E o prêmio Slow Poke vai para o Docopoper por seus bots
R.O.B.O.T
eConcessionbot
que eram> 140ms por mãoRegistros disponíveis em https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Bots excluídos
- BashRocksBot - ainda não se alegra com o .net executando scripts cygwin bash
- CounterPreferenceBot - aguardando correção de bug
- RandomlyWeighted - aguardando correção de bug
- CasinoShakespeare - excluído porque requer uma conexão ativa à Internet
Pergunta publicada original
Você foi até a casa de seus amigos para o confronto mais épico de todos os tempos: Rock, Paper, Scissors, Lizard, Spock. No verdadeiro estilo nerd-tastic do BigBang, nenhum dos jogadores está jogando sozinho, mas criou bots de console para jogar em seu nome. Você sacou sua chave USB e a entregou ao Sheldor the Conqueror para inclusão no showdown. Penny desmaia. Ou talvez Howard desmaie. Não julgamos aqui no apartamento de Leonard.
Regras
Aplicam-se as regras padrão Pedra, Papel, Tesoura, Lagarto e Spock.
- Tesoura de corte de papel
- Papel cobre Rock
- Esmaga rochas Lagarto
- Veneno de lagarto Spock
- Spock esmaga tesoura
- Tesoura decapita Lagarto
- Lagarto come papel
- Papel nega Spock
- Spock vaporiza a rocha
- Pedra esmaga Tesoura
O bot de cada jogador jogará uma partida contra o outro bot no torneio.
Cada partida consistirá em 100 iterações de um jogo RPSLV.
Após cada partida, o vencedor é o jogador que ganhou o maior número de jogos / mãos em 100.
Se você vencer uma partida, você receberá 1 ponto na tabela de classificação. No resultado de uma partida empatada, nenhum jogador ganhará um ponto.
Requisitos de bot
Seu bot deve ser executável na linha de comando.
A caixa * nix de Sheldor morreu, então estamos executando o Windows 8 Gaming Laptop para garantir que a solução fornecida possa funcionar no Windows. A Sheldor ofereceu graciosamente a instalação de quaisquer tempos de execução necessários (dentro do razoável) para poder executar sua solução. (.NET, Java, Php, Python, Ruby, PowerShell ...)
Entradas
No primeiro jogo de cada partida, nenhum argumento é fornecido ao seu bot. Em cada jogo subseqüente de cada partida: - Arg1 conterá o histórico de suas mãos / decisões de bots nesta partida. - Arg2 conterá o histórico das mãos / decisões de seus oponentes nesta partida.
O histórico será representado por uma sequência de letras maiúsculas representando as possíveis mãos que você pode jogar.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Por exemplo
- Jogo 1: MyBot.exe
- Jogo 2: MyBot.exe SV
- Jogo 3: MyBot.exe SS VL
- Jogo 4: MyBot.exe SSR VLS
Resultado
Seu bot deve escrever uma resposta de um único personagem representando sua "mão" para cada jogo. O resultado deve ser gravado em STDOUT e o bot deve sair. Letras maiúsculas válidas estão abaixo.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
No caso em que seu bot não retorna uma mão válida (ou seja, 1 das 5 letras maiúsculas acima, você perde automaticamente essa mão e a partida continua.
No caso em que ambos os bots não retornam uma mão válida, o jogo é considerado empate e a partida continua.
Formato de correspondência
Cada bot enviado jogará uma partida contra o outro bot no torneio.
Cada partida durará exatamente 100 jogos.
As partidas serão disputadas anonimamente, você não terá um conhecimento avançado do bot específico contra o qual está jogando, no entanto, poderá usar toda e qualquer informação que puder obter de sua tomada de decisão durante o histórico da partida atual para alterar sua estratégia contra o seu adversário. oponente. Você também pode acompanhar o histórico de seus jogos anteriores para criar padrões / heurísticas, etc ... (Veja as regras abaixo)
Durante um único jogo, o mecanismo de orquestração executará seu bot e o de seus oponentes separados por 100 milissegundos e comparará os resultados para evitar colisões de PRNG no mesmo idioma / tempo de execução. (isso realmente aconteceu comigo durante o teste).
Julgamento e restrições
O Dr. Sheldon Cooper, disfarçado de Sheldor, o Conquistador, gentilmente se ofereceu para supervisionar o andamento do torneio. Sheldor, o Conquistador, é um supervisor justo e justo (principalmente). Todas as decisões de Sheldor são finais.
O jogo será realizado de maneira justa e adequada:
- Seu script / programa bot será armazenado no mecanismo de orquestração em uma subpasta
Players\[YourBotName]\
- Você pode usar a subpasta
Players\[YourBotName]\data
para registrar quaisquer dados ou histórico de jogos do torneio atual à medida que prossegue. Os diretórios de dados serão eliminados no início de cada corrida do torneio. - Você não pode acessar o diretório de jogadores de outro jogador no torneio
- Seu bot não pode ter um código específico que tenha como alvo outro comportamento específico de bots
- Cada jogador pode enviar mais de um bot para jogar, desde que não interaja ou não se ajude.
Editar - restrições adicionais
- Em relação a desistências, elas não serão suportadas. Seu bot deve jogar uma das 5 mãos válidas. Vou testar cada bot fora do torneio com alguns dados aleatórios para garantir que eles se comportem. Quaisquer bots que lançam erros (ou seja, perdem erros) serão excluídos do torneio até que sejam corrigidos.
- Os bots podem ser derivados desde que sejam sucintamente diferentes em seu comportamento. Bots (inclusive em outros idiomas) que executam exatamente o mesmo comportamento de um bot existente serão desqualificados
- Já existem bots de spam para o seguinte, então não reenvie
- Rock - Bart Simpson
- Papel - LisaSimpson
- Tesoura - EdwardSchandhands
- Spock - Vulcan
- Lagarto - Khaleesi
- Pseudo-aleatório - SimpleRandomBot & FairBot
- Psuedo Random RPS - ConservativeBot
- Psuedo Random LV - Barney Stinson
- Os robôs não podem chamar serviços de terceiros ou recursos da Web (ou qualquer outra coisa que diminua significativamente a velocidade / tempo de tomada de decisão das correspondências).
CasinoShakespeare
é a única exceção, pois esse bot foi enviado antes da adição dessa restrição.
Sheldor atualizará esta pergunta o mais rápido possível com os resultados do torneio, à medida que mais bots forem enviados.
Programa de Orquestração / Controle
O programa de orquestração, juntamente com o código fonte de cada bot, está disponível no github.
https://github.com/eoincampbell/big-bang-game
Detalhes da submissão
Seu envio deve incluir
- O nome do seu bot
- Seu código
- Um comando para
- execute seu bot a partir do shell, por exemplo
- ruby myBot.rb
- python3 myBot.py
- OU
- primeiro compile seus dois e depois execute-o. por exemplo
- csc.exe MyBot.cs
- MyBot.exe
Envio de amostra
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]);
}
}
Esclarecimento
Qualquer dúvida, pergunte nos comentários abaixo.