Turnier live; in farbe und bunt und so


Also wenn ich das mal überschlage brauchst du für 6,6 rund 24h, viel Spaß. O.o
Aber immerhin sollte das bis morgen dann fertig sein, oder so. :smiley:


Die Tabelle ist fertig und das Programm zum Erzeugen der Tabelle ebenfalls, das heißt wenn Kalah(6,6) oder Kalah(8,8) durchgelaufen ist, werden die Ergebnisse deutlich zeitnäher hochgeladen werden. :slight_smile:

Up-To-Date Link (da werden auch die künftigen Ergebnisse mit hochgeladen werden): neuralocean.de - kalah tournament 1617.html

Oder wer mir nicht traut bzw. „anonymer“ sein möchte: Ich habe die aktuelle Tabelle auch angehängt an diesen Post.

Attachment:
kalah-tournament-1617.html: https://fsi.cs.fau.de/unb-attachments/post_149406/kalah-tournament-1617.html


Nach (6,6):
1: TinyRick(900)
2: Granny4TheWin(880)
3: FinalDude(804)
4: MPLAgent(784)
5: Koalah(768)
6: Jazzpirate(750)
7: AgentSmith(708)
8: ChiefZed(682)
9: AgentSpaghetti(504)
10: ProjectSkynetSearch(498)
11: LuckyPlayer(480)
12: MrSmith(472)
13: OneManShow(444)
14: Joshua(420)
15: LynnAdam(412)
16: AssKickinAgent(360)
17: FrankThePug(352)
18: Kalahnator3000(348)
19: DJSuperStarSolverMasterMind(288)
20: Random3(238)
21: AgentOrange(218)
22: PRMHAgent(202)
23: Random2(192)
24: Random1(182)
25: HadduMoehre(114)


Link updated: http://neuralocean.de/kalah-tournament-1617.html

Aktuelle Tabelle ebenfalls angehängt.

Edit: Ich krieg dich schon noch TinyRick, 8,8 und 10,10 laufen ja noch! :smiley:

Edit2: Ich sehe gerade die Sortierung in der Tabelle geht bei mir noch kaputt… Werde ich gleich fixen aber nur online.

Edit3: #Fixed

Attachment:
kalah-tournament-1617.html: https://fsi.cs.fau.de/unb-attachments/post_149411/kalah-tournament-1617.html


Verständnisfrage:
Wie können Spiele bei einem (6,6) Feld, also mit insgesamt 266 = 72 seeds, 32:38 (= 70), 31:37 (= 68), 37:22 (= 59), 41:12 (= 53) usw. ausgehen?


Aus Zeitgründen bricht ein Game bei mir vorzeitig ab, sobald ein Spieler echt mehr als die Hälfte der möglichen Punkte und somit eh gewonnen hat - bei (6,6) also mehr als 36.


Ah ok. Und wonach richten sich die Platzierungen? Beim (6,6) Turnier hat z.B. AgentSmith Won: 38 Lost: 9 Draw: 0 Games: 47 (Ein Spiel hat ein Gegner einen illegalen Zug gemacht) Platz 7 erreicht, hinter Koalah mit Won: 36 Lost: 12 Draw: 0 Games: 48 auf Platz 5 und Jazzpirate mit Won: 35 Lost: 12 Draw: 1 Games: 48 auf Platz 6.

Edit: Sorry, falls das alles schon in den Übungen besprochen wurde, aber zu den Übungsslots habe ich leider keine Zeit.


Ein (n,k) Spiel gibt 2*n Punkte für den Sieger oder n Punkte für beide bei Gleichstand. Die scores sind kumulativ; i.e. der Score nach dem (6,6)-Turnier enthält auch die Punkte für das (4,4)-Turnier


Interessantes update:

HadduMoehre warf ne ungefangene Exception. Offenbar versucht der irgendwie HumanPlayer zu benutzen um Spiele zu simulieren, und HumanPlayer sind nicht time-restricted. In dem Fall hat der aber zu lange gebraucht und dann ne timeout-exception geworfen. Ich musste also die timeout-restriction für HumanPlayer wieder einführen, damit die gefangen wird. (Irgendwas ist da komisch mit Exception-catching…)
Das Ergebnis ist jetzt, dass HadduMoehre in jedem Spiel irgendwann nen IllegalMove wirft :smiley:

Ich bin mir nicht ganz sicher, was der genau macht, deswegen kann ich nur raten womit das zusammenhängt, aber wenn ich HadduMoehre’s score so anschaue ändert das vermutlich an seiner Position nichts…
…ich wäre aber wirklich interessiert, was der da macht… :smiley:

1 „Gefällt mir“

Wie wärs mit ner extra jvm pro Spieler?


:smiley: oh gott, dann wird’s ja noch komplizierter; nee, ein thread pro spieler muss doch echt reichen :wink:


Das mit den einzelnen Spielergebnissen wurde ja geklärt, aber warum werden Spiele die durch “illegal moves” beendet wurden, dem Gegner nicht als gewonnen angerechnet?


werden sie im score definitiv… :wink:


Welcher Score? Auf deiner Html Seite hat z.B. TinyRick bei 6,6 Won: 47 und Games: 47 und ein Spiel mit eben einem „illegal move“. Sollte dann da nicht Won: 48 Games: 48 stehen? Oder beachtest du das dann beim Gesamtergebnis?


Das Laster musst du mir anheften. Ich fand es sehr interessant prozentual zu sehen wie viele games man gewinnt/verliert, wenn die illegal moves rausgerechnet werden. Das heist im finalen Score werden sie mit eingerechnet als gewonnen, in der HTML-File werden sie aber gesondert betrachtet. Warum ich mich fuer diese Variante entschieden habe, hat einen einfachen Grund:

Wenn man schreibt: „40 won, 8 lost, 48 games“, dann ist es sehr schwer rauszulesen wie viele gewonnen wurden, weil man wirklich „besser“ war und wie viele weil der Gegner einfach „cheaten wollte“. :smiley:
Das heist wenn dich interessiert wie viele du wirklich gewonnen hast muesstest du per Hand nachzaehlen, in dem momentanen Ansatz siehst du halt direkt: „40won, 7 lost, 0 draw 47 games“ und weist, dass ein Ding ein illegal move war.

Bleibt wie vieles im Leben Geschmackssache, aber um ehrlich zu sein bin ich, wenn es keine riesen Revolte gibt zufireden so wie es ist. :smiley:

Edit:
Dennis meinte die Zahl in den Klammern (hier im Forum) hinter den Agenten-Namen, das ist der Score wonach sich auch die Platzierung richtet.


Nach (8,8):

1: TinyRick(1668)
2: Granny4TheWin(1552)
3: MPLAgent(1456)
4: FinalDude(1428)
5: Koalah(1360)
6: Jazzpirate(1342)
7: AgentSmith(1332)
8: ChiefZed(1242)
9: ProjectSkynetSearch(994)
10: AgentSpaghetti(952)
11: LuckyPlayer(896)
12: Joshua(812)
13: OneManShow(812)
14: LynnAdam(772)
15: MrSmith(736)
16: FrankThePug(688)
17: Kalahnator3000(660)
18: AssKickinAgent(600)
19: DJSuperStarSolverMasterMind(432)
20: AgentOrange(402)
21: Random3(350)
22: Random2(320)
23: Random1(318)
24: PRMHAgent(282)
25: HadduMoehre(194)

Ich bin mir nicht sicher, ob ich noch ein (10,10)-Spiel laufen lasse… die wahrscheinlichkeit von GC-Overhead-Limit-reached-Exceptions steigt zunehmend :smiley: Von dem her…:


Meeh bin vor heute Abend nicht zu Hause und kann dementsprechend erst heute Abend die dazugehörige Tabelle erstellen…
Ich glaube 10,10 braucht es echt nicht mehr, ich kann euch sagen, dass sich am Endergebnis nichts mehr ändern wird (bezogen auf die Top 3), kleinere (private) Turniere nur mit den Top 5 (+ ein paar Random Agenten/Heuristik Agenten) haben nämlich ähnliche Ausgänge gezeigt mit exakt derselben Platzierung. Aus Spaß werde ich (an meinem PC) aber wohl noch 10,10 und 20,20 nur für die Top 5 laufen lassen und die Ergebnisse ebenfalls auf die Website hochladen. Die Scores werden aber natürlich nicht mehr zum jetzigen Score hinzugefügt.

Glückwunsch an die Top 3 (TinyRick, MPLAgent und FinalDude; Granny fliegt ja aus dem Ranking raus), das waren außergewöhnlich gute Performances. Vor allem das TinyRick-Team hat mich mit dem doch sehr eindeutigen Sieg (116 Punkte Unterschied zu Platz 2 ist nicht wirklich knapp) etwas überrascht. Ich hatte vor Beginn des Turniers und nach 4,4 ein deutlich knapperes Rennen zwischen Granny und den anderen Teams erwartet, Hut ab!

Trotz den Startschwierigkeiten hat es dennoch Spaß gemacht. Ich hoffe ihr hattet auch Spaß an dem Turnier und hoffe, dass es für euch genau so lehrreich wie für mich war. Zu sehen welche Ansätze ausprobiert werden (Coole Idee mit der Support Vector Machine von MPLAgent zur Gewichtung der Heuristiken!) und wie gut doch „Standard-Zeugs“ klappt (TinyRick benutzt ja als Basis-Algorithmus auch nur Alpha-Beta-Suche), war echt spannend. In diesem Sinne freue ich mich auch auf weitere Turniere und werde jetzt schon anfangen Dennis und den Professor davon zu überzeugen, dass wir in KI2 auch wieder etwas in diese Richtung machen! :smiley:

Ich werde ebenfalls den Source-Code von Granny hochladen, sobald ich ihn aufgeräumt und mit Kommentaren versehen habe. Dann könnt ihr noch etwas rumspielen und vielleicht neue Ideen entwickeln, die dann zwar unbewertet bleiben, aber entsprechendes „neues Wissen vermitteln“. Sollte jemand Granny „deutlich“ schlagen können, dann freue ich mich natürlich auch über E-Mails dazu. :slight_smile:

P.S.
MPLAgent: Schade, dass der Agent so oft illegal move geworfen hat. :frowning:
Wäre sonst vielleicht sogar besser als Granny gewesen…

1 „Gefällt mir“

Mir hat das ganze Turnier auch viel Spaß gemacht, auch wenn es doch ziemlich viel Zeit gekostet hat den Agent zu bauen und zu debuggen. Ich hoffe, dass es in KI 2 etwas ähnliches gibt (bloß viel cooler mit neuralen Netzen etc. :D).

Ich hätte auch Lust TinyRick als open source hochzuladen, aber ist das von den Aufgabenstellern gewünscht? Dann müsste wohl nächstes Jahr etwas anderes als Kalah gespielt werden oder man hat viel mit Plagiaten zu kämpfen…

2 „Gefällt mir“

Och Ich glaube Dennis hatte die Aussage nur auf meinen Code bezogen und etwas strenger formuliert, aber ich zitiere ihn jetzt absichtlich etwas freier: „Solange es nicht als Pull Request in meinem [Dennis] Git-Repository landet, kann ich euch nicht vorschreiben, was ihr mit eurem Code macht“

Kalah werden wir wohl nicht in KI2 „spielen“, ich denke da gibt es deutlich bessere Methoden, um Machine Learning Algorithmen auszureizen. :smiley:
Wie wäre es mit einem Quake4 Turnier, wobei der Input lediglich die Pixel-Werte sind? :smiley: Nein das wäre natürlich Overkill, aber ich denke wir finden da schon was Schönes (vorausgesetzt niemand hat etwas dagegen).


Blizzard und google haben doch ein starcraft 2 Machine learning toolkit veröffentlicht…? :smiley:
Können wir studenten dazu nötigen sich starcraft zu kaufen? xD