Najnowszy ranking @ 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
Notatki z turnieju
- WOO HOO 70 BOTS
- Emil wciąż jest KOTH,
Pony
a jego nowy botDienstag
zajmuje 3 miejsce - Gratulacje dla Roya za wskoczenie na 2 miejsce ze swoim
Gazzr
botem - William Barbosa wygrywa nagrodę Quick Draw dla swojego bota
BarneyStinson
I zwolnionym Poke nagroda idzie do Docopoper dla swoich botów
R.O.B.O.T
iConcessionbot
którzy byli zarówno> 140 ms za rękęDzienniki dostępne @ https://github.com/eoincampbell/big-bang-game/blob/master/tourneys/Tournament-2014-08-01-23-24-00.zip?raw=true
Wykluczone boty
- BashRocksBot - wciąż nie ma radości ze .net wykonującego skrypty bash cygwin
- CounterPreferenceBot - oczekuje na naprawę błędu
- RandomlyWeighted - oczekuje na naprawę błędu
- CasinoShakespeare - wykluczone, ponieważ wymaga aktywnego połączenia z Internetem
Oryginalne wysłane pytanie
Udałeś się do domu swoich znajomych, by wziąć udział w najbardziej epickich bitwach pokazowych: Rock, Paper, Scissors, Lizard, Spock. W prawdziwym stylu kujonowym BigBanga, żaden z graczy nie gra sam, ale stworzył boty konsolowe, aby grać w ich imieniu. Wyciągasz klucz USB i oddajesz go Sheldorowi Zdobywcy w celu włączenia go do showdownu. Penny mdleje. A może Howard mdleje. Nie oceniamy tutaj w mieszkaniu Leonarda.
Zasady
Obowiązują standardowe zasady dotyczące kamieni, papieru, nożyczek, jaszczurki, Spocka.
- Nożyczki do cięcia papieru
- Papierowe okładki Rock
- Skała miażdży Jaszczurkę
- Jaszczurka zatruwa Spocka
- Spock rozbija nożyczki
- Nożyce dekapitują Jaszczurkę
- Jaszczurka je papier
- Papier obala Spocka
- Spock waporyzuje skałę
- Skała miażdży nożyczki
Bot każdego gracza rozegra jeden mecz przeciwko sobie nawzajem w turnieju.
Każdy mecz będzie się składał ze 100 powtórzeń gry RPSLV.
Po każdym meczu zwycięzcą zostaje gracz, który wygrał najwięcej gier / rozdań na 100.
Jeśli wygrasz mecz, otrzymasz 1 punkt w tabeli ligowej. W wyniku remisu żaden z graczy nie zdobędzie punktu.
Wymagania dotyczące botów
Twój bot musi być uruchamialny z linii poleceń.
Pudełko Sheldora * nix umarło, więc uruchamiamy go z jego laptopa z systemem Windows 8, więc upewnij się, że dostarczone rozwiązanie może działać w systemie Windows. Sheldor z wdzięcznością zaoferował zainstalowanie wszystkich wymaganych środowisk uruchomieniowych (w rozsądnym zakresie), aby móc uruchomić twoje rozwiązanie. (.NET, Java, Php, Python, Ruby, Powershell ...)
Wejścia
W pierwszej grze każdego meczu Twoi bot nie otrzymuje żadnych argumentów. W każdej kolejnej grze każdego meczu: - Arg1 będzie zawierać historię twoich rąk / decyzji botów w tym meczu. - Arg2 będzie zawierać historię układów / decyzji twoich przeciwników w tym meczu.
Historia będzie reprezentowana przez ciąg pojedynczych wielkich liter reprezentujących możliwe ręce, w które możesz zagrać.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
Na przykład
- Gra 1: MyBot.exe
- Gra 2: MyBot.exe SV
- Gra 3: MyBot.exe SS VL
- Gra 4: MyBot.exe SSR VLS
Wynik
Twój bot musi napisać odpowiedź jednej postaci reprezentującą jego „rękę” dla każdej gry. Wynik należy zapisać w STDOUT, a następnie bot powinien wyjść. Prawidłowe pojedyncze wielkie litery są poniżej.
| R | Rock |
| P | Paper |
| S | Scissors |
| L | Lizard |
| V | Spock |
W przypadku, gdy twój bot nie zwróci prawidłowej ręki (tj. 1 z powyższych 5 pojedynczych wielkich liter, wtedy automatycznie tracisz tę rękę i dopasowanie jest kontynuowane.
W przypadku, gdy oba boty nie zwrócą prawidłowego układu, gra jest uważana za remis i mecz jest kontynuowany.
Dopasuj format
Każdy zgłoszony bot rozegra jeden mecz przeciwko sobie w turnieju.
Każdy mecz potrwa dokładnie 100 gier.
Mecze będą rozgrywane anonimowo, nie będziesz miał zaawansowanej wiedzy na temat konkretnego bota, z którym grasz, jednak możesz wykorzystać dowolne i wszystkie informacje, które możesz zdobyć na podstawie jego decyzji podczas historii bieżącego meczu, aby zmienić strategię przeciwko twojej przeciwnik. Możesz także śledzić historię swoich poprzednich gier, aby budować wzorce / heurystykę itp. (Zobacz zasady poniżej)
Podczas pojedynczej gry silnik orkiestracji uruchomi twojego bota, a twoi przeciwnicy rozdzielą 100 milisekund od siebie, a następnie porównają wyniki, aby uniknąć kolizji PRNG w tym samym języku / środowisku uruchomieniowym. (faktycznie tak się stało podczas testów).
Sędziowanie i ograniczenia
Dr Sheldon Cooper w przebraniu Sheldora Zdobywcy uprzejmie zaproponował nadzorowanie przebiegu turnieju. Sheldor Zdobywca jest uczciwym i sprawiedliwym nadzorcą (głównie). Wszystkie decyzje Sheldora są ostateczne.
Gry będą prowadzone w uczciwy i właściwy sposób:
- Twój skrypt / program bot zostanie zapisany w silniku orkiestracji w podfolderze
Players\[YourBotName]\
- Możesz użyć tego podfolderu,
Players\[YourBotName]\data
aby zapisać dowolne dane lub historię gry z bieżącego turnieju w trakcie jego trwania. Katalogi danych zostaną usunięte na początku każdego przebiegu turnieju. - Nie możesz uzyskać dostępu do katalogu Gracza innego gracza w turnieju
- Twój bot nie może mieć określonego kodu, który jest ukierunkowany na zachowanie innego konkretnego bota
- Każdy gracz może zgłosić więcej niż jednego bota do gry, o ile nie wchodzi w interakcje ani nie pomaga sobie wzajemnie.
Edycja - dodatkowe ograniczenia
- Jeśli chodzi o przepadki, nie będą one obsługiwane. Twój bot musi zagrać w jednym z 5 ważnych rozdań. Przetestuję każdego bota poza turniejem z losowymi danymi, aby upewnić się, że się zachowują. Wszelkie boty, które zgłaszają błędy (tj. Błędy przepadku), zostaną wykluczone z turnieju, dopóki nie zostaną naprawione.
- Boty mogą być pochodnymi, o ile zwięźle różnią się zachowaniem. Boty (w tym w innych językach), które zachowują się dokładnie tak samo jak istniejący bot, zostaną zdyskwalifikowane
- Istnieją już roboty spamujące dla następujących elementów, więc nie przesyłaj ponownie
- Rock - BartSimpson
- Papier - LisaSimpson
- Scissor - EdwardScissorhands
- Spock - Vulcan
- Jaszczurka - Khaleesi
- Pseudo losowy - SimpleRandomBot i FairBot
- Psuedo Random RPS - ConservativeBot
- Psuedo Random LV - Barney Stinson
- Boty nie mogą wywoływać usług zewnętrznych ani zasobów internetowych (ani niczego innego, co znacznie spowalnia szybkość / czas podejmowania decyzji przez mecze).
CasinoShakespeare
jest jedynym wyjątkiem, ponieważ bot został zgłoszony przed dodaniem tego ograniczenia.
Sheldor będzie aktualizował to pytanie tak często, jak to możliwe, z wynikami Turnieju, w miarę zgłaszania kolejnych botów.
Program orkiestracji / kontroli
Program do aranżacji wraz z kodem źródłowym dla każdego bota jest dostępny na github.
https://github.com/eoincampbell/big-bang-game
Szczegóły zgłoszenia
Twoje zgłoszenie powinno zawierać
- Imię twojego bota
- Twój kod
- Polecenie do
- uruchom bota z powłoki np
- ruby myBot.rb
- python3 myBot.py
- LUB
- najpierw skompiluj oba, a następnie uruchom je. na przykład
- csc.exe MyBot.cs
- MyBot.exe
Przesłanie próbki
BotName: SimpleRandomBot
Compile: "C:\Program Files (x86)\MSBuild\12.0\Bin\csc.exe" SimpleRandomBot.cs
Run: SimpleRandomBot [Arg1] [Arg2]
Kod:
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]);
}
}
Wyjaśnienie
Wszelkie pytania zadaj w komentarzach poniżej.