Ergebnis 1 bis 7 von 7
  1. #1
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard [Auswertung] Coding Contest 2017

    Ergebnis der Auswertung:
    Die Auswertung wurde soeben abgeschlossen und wir möchten Easysurfer gerne zum 1. Platz gratulieren! Dein Bot hat grandiose Runden gespielt und sich den Sieg verdient!
    Ich bin total gespannt auf deinen Code! Vielleicht schreibst du noch ein paar Zeilen darüber?

    Den Code der Serveranwendung werde ich nun auch zeitnah veröffentlichen.
    Ich habe soeben den Code der Serveranwendung veröffentlicht. Ihr findet ihn im Git-Repo.
    Des Weiteren findet ihr die detaillierte Auswertung am Ende dieses Beitrages. Die Serverlogs der einzelnen Runden stehen dort zum Download bereit.

    Ich bedanke mich bei allen die teilgenommen und mich unterstützt haben!



    Auswertung Coding Contest 2017 ["Mau Mau"-Bot]

    Hiho!

    Am Sonntag ist es soweit und der Coding Contest 2017 wird ausgewertet!
    Hierzu wurden bereits alle vorläufig angemeldeten Teilnehmer per PM benachrichtigt und ich warte noch auf die restlichen Antworten. Derzeit definitiv zugesagt haben:

    • cruzz
    • lrg0
    • Leange
    • Easysurfer
    • zaub9rwald
    • blackberry
    • Dailox
    • wacked


    Der Ablauf:
    Am Sonntag (23.04.2017) um 15:00 Uhr treffen sich alle Teilnehmer auf dem FH-Jabberserver im Channel #codingcontest2017. Wer von den Teilnehmern also noch keinen Jabberaccount hat, den möchte ich bitten einen zu erstellen. Wie dies funktioniert könnt ihr diesem Thread hier entnehmen: Free-Hack Jabber Server

    Haben wir uns alle eingefunden, dann werden insgesamt 7 Matches (1 Match = 11 Runden) gespielt. Dies gilt natürlich nur, wenn tatsächlich alle vorangemeldeten Teilnehmer auch ihren Bot antreten lassen. Kommen wir auf eine ungerade Anzahl an Teilnehmern, so spielen wir eine Qualifikationsrunde, in der entschieden wird, wer automatisch in Runde 2 landet.
    Die Qualifikationsrunde sieht so aus, dass jeder Spieler gegen jeden anderen Spieler eine Runde spielt. Die Punkte werden gezählt. Wer die meisten Punkte hat, der findet sich in Runde 2 vor.

    Der generelle Ablaufplan wird wie nachfolgend aussehen:

    Wer an welchem Platz spielen wird, wird per Zufall entschieden. Da sich nun alle Teilnehmer gemeldet haben und teilnehmen, habe ich die obige Grafik einmal ergänzt. Man beachte auch meine Künste in der Bildbearbeitung.

    Dies erstmal zum Ablauf. Sollten noch Fragen bei den Teilnehmern auftauchen, so würde ich mir wünschen, dass ihr mir diese per PM stellt. Ich möchte diesen Thread so sauber wie möglich halten und ich möchte auch nicht, dass eine Frage untergeht.

    Ich werde diesen Thread auch nutzen, um die Sieger der einzelnen Matchen unten zu ergänzen. Selbstverständlich wird hier später auch noch der Gesamtsieger ernannt.

    Viele Grüße,

    Barny

    Nachträglich hinzugefügte Informationen:


    • Es haben sich nun alle Teilnehmer zurückgemeldet und die Teilnahme bestätigt. Nicht alle spielen aber selber. Dies aus Zeitgründen. Ich werde die Codes die mir die User zugeschickt haben selber laufen lassen.
    • Teilnehmer die nicht zum vereinbarten Termin auftauchen werden automatisch disqualifiziert und scheiden aus dem Contest aus. Dies bedeutet für den geplanten Gegner den Gewinn des Matches.
    • Grafik ergänzt


    --------------------------------------------------------------------------------------------------------------------------------------------------------------
    Auswertung:

    Match 1 (Dailox gegen Easysurfer):
    Gewinner: Easysurfer (Dailox ist ausgeschieden weil sein Code leider nicht fertig geworden ist )

    Match 2 (lrg0 gegen zaub9rwald):
    Gewinner: lrg0 (mit 6:0) Download Serverlogs

    Match 3 (Leange gegen Blackberry):
    Gewinner: Blackberry (mit 6:3) Download Serverlogs

    Match 4 (cruzz gegen wacked):
    Gewinner: cruzz (mit 6:0) Download Serverlogs


    Match 5 (Easysurfer gegen lrg0):
    Gewinner: Easysurfer (mit 6:3) Download Serverlogs

    Match 6 (Blackberry gegen cruzz):
    Gewinner: Blackberry (mit 6:2) Download Serverlogs

    Match 7 (Easysurfer gegen Blackberry):
    Gewinner: Easysurfer (mit 6:3) Download Serverlogs
    Geändert von Barny (23.04.2017 um 19:46 Uhr) Grund: Serverlogs zum Download zur Verfügung gestellt

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  2. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    blackberry (24.04.2017), Dailox (19.04.2017), J0hn.X3r (20.04.2017), Leange (23.04.2017), lrg0 (23.04.2017), NoNameMT (24.04.2017), wacked (23.04.2017), zzurc (20.04.2017)

  3. #2
    Gesperrt
    Registriert seit
    29.01.2016
    Beiträge
    215

    Standard AW: [Auswertung] Coding Contest 2017

    like weil selbst gemalt.

  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (20.04.2017), blackberry (20.04.2017)

  5. #3
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard AW: [Auswertung] Coding Contest 2017

    Ich habe eben weitere Informationen zur Auswertung oben hinzugefügt. Unter anderem sind jetzt die Aufstellungen für Morgen zu erkennen.

    Viele Grüße,

    Barny
    Geändert von Barny (06.06.2017 um 07:42 Uhr)

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  6. #4
    Bad Times Virus
    Registriert seit
    14.03.2009
    Beiträge
    579

    Standard AW: [Auswertung] Coding Contest 2017

    So während der Contest läuft, schreib ich hier mal was zu meinem Code.

    Ich weiß ehrlich gesagt nichtmehr wieso aber mir war schon beim Lesen der Doku klar das ich eine (sehr sehr simple) state machine machen werde. Das ist eigentlich auch ganz hübsch geworden -- funktioniert aber leider gar nicht

    Irgendwie hängt mein Code nach dem Statuswechsel in recv() und wartet auf die nächste Nachricht. Und der Server halt auf mich...
    Ist mir auch vorher aufgefallen, habe ich aber nicht lösen können (Mit einer älteren Serverversion ging es mal) -- aber immerhin hab ich hierfür das erste mal Unittests geschrieben!

    Danke Barny, war ein cooler Wettbewerb.

  7. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (23.04.2017)

  8. #5
    CIH-Virus Avatar von NSK
    Registriert seit
    23.07.2008
    Beiträge
    467

    Standard AW: [Auswertung] Coding Contest 2017

    Herzlichen Glückwunsch an den Gewinner und natürlich auch an alle anderen Teilnehmer, die sich der Herausforderung gestellt haben.
    Konnte aus zeittechnischen Gründen leider nicht dabei sein, wobei ich auch wirklich nicht der beste Coder bin.
    Aber ich finde es schön zu sehen, dass Free-Hack durch solche Projekte wieder etwas aufblüht und, trotz des Bildes was sich in anderen Communitys abzeichnet, nicht zu einem Fraud/Crime-Forum wird.
    Das findet man heutzutage leider viel zu selten.
    Halte dich fern vom Geld, es kann Süchtig machen

    Zitat Zitat von blackberry Beitrag anzeigen
    Du könntest nicht falscher lie... ach was rede ich! Ich würde sogar jetzt fappen, wenn ich nicht beide Finger, meinen Penis und meine Nasenspitze zum Tippen benötigen würde.

  9. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (23.04.2017), Southpark (23.04.2017)

  10. #6
    Emo Pwny Avatar von J0hn.X3r
    Registriert seit
    03.06.2007
    Beiträge
    3.256

    Standard AW: [Auswertung] Coding Contest 2017

    Ahoi!

    Auch von mir: Herzlichen Glueckwunsch an den Gewinner!

    Vielen Dank auch an alle, die mitgemacht haben - der Spaß stand an erster Stelle und ich denke das hatten die meisten auch

    Auch einen riesen Dank an Barny fuer die Planung und Durchfuehrung dieser Aktion - sehr fein gemacht!

    Ein Teil des Gewinns wurde heut morgen ausgeschuettet, der rest folgt, sobald ich Feedback vom Gewinner habe.

    Bei einem Punkt sind wir uns aber vermutlich einig: Mehr solcher Ablaufplaene/Zeichnungen!

    Boardregeln * Blackmarket * SuFu * Kontakt * PGP Key

    ..das Handy klingelt, sie fragen nach Kollegah
    dem morgens schon Giorgi-Armani-Sakkoträger
    heben Bares ab und zahlen, nehmen die Ware ab und gehen
    es ist der Strassenapotheker


  11. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    55F (26.04.2017), Barny (24.04.2017), Easysurfer (24.04.2017), H4x0r007 (24.04.2017), Leange (24.04.2017), NoNameMT (25.04.2017), Southpark (24.04.2017), zzurc (24.04.2017)

  12. #7
    Coding Contest Winner
    Registriert seit
    21.03.2008
    Beiträge
    273

    Standard AW: [Auswertung] Coding Contest 2017

    Danke erstmal für die Glückwünsche Hat echt Spass gemacht sich intensiver mit dem Thema auseinanderzusetzen ! An dieser Stelle natürlich auch nochmal ein Danke an Barny und J0hn für die Organisation! Für die nächsten Coding Conteste stelle ich mich auch gerne als Organisator/Helfer zu Verfügung

    Der Code vom Bot ist inzwischen ins Repo gepusht. Ich werde noch ein paar Kommentare hinzufügen und die Test-Spieler auf ein einheitliches Level bringen, gibt also noch paar Commits.
    Ich bin total gespannt auf deinen Code! Vielleicht schreibst du noch ein paar Zeilen darüber?
    Ich hatte mehrere Ansätze die ich über seeeehr viele Simulationen und Tests evaluiert habe. Dabei habe ich stehts ein Feature in einen Spieler implementiert und diesen gegen den bisher besten Spieler antreten lassen. Schließlich hat sich "HumanStrategy9" als bestes rausgestellt, knapp nach "HumanStrategy4c" und "HumanStrategy6"

    Die wichtigste Erkenntnis war dabei: Wenn man die Möglichkeit hat eine Karte von Farbe X zu spielen oder eine Karte der Farbe Y zu spielen sollte man die Karte spielen wovon man weniger hat. Das scheint erstmal nicht logisch, hat sich aber in den Tests als besser rausgestellt:
    Player 1 vs Player 2: 5402 vs 4598 =54.02%
    mit der sonst gleichen Strategy.

    Gegen einen Spieler welcher zufällig Karten legt und sich zufällig Farben wünscht hatte ich am Ende eine Gewinnrate von 72%. Dieser Wert war stehts mein Referenzwert wie gut der Spieler wirklich ist.
    Über weitere Strategien wird es bald noch etwas auf meinem Blog geben.

    Ein weitere Ansatz der leider nicht so viel Benefit gebracht hat war ein Suchbaum. Das Problem bei MauMau ist einfach die hohe Komplexität wenn man die Gegnerkarten nicht kennt. Daher macht ein solcher Suchbaum erst Sinn wenn man die Gegnerkarten auf ein Minimum einschränken kann bzw die eigene Hand so wenig Karten hält dass der Suchbaum einigermaßen Berechnenbar ist.
    Dadurch war es auch möglich Situationen zu Erkennen die zu einem 100%igen Sieg führen, Beispielsweise:
    Code:
    TopCard: Karo 10
    Player 1 Hand: Herz Bube, Karo 9
    Player 2 Hand: [ALLE KARTEN AUßER Karo 7, Karo 8]
    Dadurch dass Karo 7 und Karo 8 bereits gespielt worden können sich diese nicht in der Gegnerhand befinden. Wenn man zuerst den Bube mit Wunschfarbe Karo spielt kann man nicht mehr verlieren, wenn man als erstes allerdings die Karo 9 spielt ist noch ein Verlust möglich (wenn der Gegner darauf mit einem Bube Antwortet).
    Solche Situationen ergeben sich auch wenn man viele 8ter auf der Hand hat und den Gegner mit "einem Zug" besiegen kann ohne dass er Antworten kann.

    Eine Suchbaumevalution durch eine Heuristik mit Suchbaumstufe 4 ist zwar implementiert, hat aber keinen wirklichen Vorteil gebracht (1-2% gegen Spieler ohne Heuristik).

    Bei Fragen gerne stellen

    Grüße
    Geändert von Easysurfer (24.04.2017 um 18:46 Uhr)
    Gamehacking, Coding, Reversing and Security!
    Blog @easysurfer.me

  13. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    55F (09.05.2017), Barny (24.04.2017), H4x0r007 (25.04.2017), J0hn.X3r (24.04.2017), Leange (24.04.2017), lrg0 (24.04.2017), minion_ (25.04.2017), NoNameMT (25.04.2017), NSK (25.04.2017), sontyp (19.05.2018), Southpark (24.04.2017), zaub9rwald (26.04.2017), zzurc (24.04.2017)

Ähnliche Themen

  1. Official F-H Coding Contest 2017
    Von Barny im Forum Competitions
    Antworten: 42
    Letzter Beitrag: 22.04.2017, 19:54
  2. Free-Hack Coding Contest - A New Begining
    Von krypt0n im Forum Competitions
    Antworten: 127
    Letzter Beitrag: 07.12.2010, 09:05

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •