Schachtraining mit Engine nun möglich

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Schachtraining mit Engine nun möglich

      Hallo Schachfreunde,

      ab morgen kann man auf unserer Schacharena gegen eine KI (ein Stockfisch-Schachprogramm) trainieren.
      Wir starten hier mit gleich acht verschiedenen Stärken durch.

      Anders als üblich habe ich nicht die Rechentiefe ‚Depth‘ und Spielstärke ‚Level‘ einfach vorgegeben, sondern komplexere Algorithmen verwendet, denn nur so verhält sich das Programm fast wie ein Mensch, der auch mal ungenau gespielt und nicht alles durchrechnen kann. Limitiert wurden hier ‚Nodes‘ (Anzahl der im Voraus untersuchten Stellungen) sowie die Fehlergrenze.


      Wenn also mehre Kandidatenzüge innerhalb der Fehlergrenze sind, entschiedet ein Zufallsgenerator, welcher Zug genommen wird. Dabei haben aber schlechtere Züge eine geringere Wahrscheinlichkeit.


      Beispiel: Die 4 besten Züge wären
      1. e4 mit +2.00
      2. e5 mit +2.00
      3. Sc3 mit +1.00
      4. a4 mit +0.00

      Bei einer Fehlerquote von 200 (max 2 BE) scheidet a4 knapp aus. e4 bekommt eine Gewinnquote von 100 aus 250, ebenso e5. Sc3 hat 50 aus 250, das sind also 20%. 40% bleiben für e4 und 40% für e5.



      Die Engine spielt also schon in der Eröffnung nicht immer die selbe Variante. Durch den Zufallsgenerator wird jeder x. Zug ungenau .... oder auch nicht. Vielleicht kommen auch mal 5, 6 Züge hintereinander extrem stark, oder sehr schwach. Patzer sind aber nicht zu erwarten. Langfristig gesehen gleichen sich starke- und schwache Züge eh immer aus.

      Um es nicht zu abstrakt zuhalten, habe ich den Engines einfache Tiernamen gegeben.

      Es gilt: Je größer das Tier, desto stärker die KI.


      NameNodes (min.)FehlerquoteArena-Elo
      Engine_Ameise50450unbekannt
      (1300 soll)
      Engine_Schnecke50250unbekannt
      (1400 soll)
      Engine_Ziesel1k250unbekannt
      (1500 soll)
      Engine_Dachs1k150unbekannt
      (1600 soll)
      Engine_Leopard10k200unbekannt
      (1700 soll)
      Engine_Tiger10k100unbekannt
      (1800 soll)
      Engine_Gnu50k150unbekannt
      (1900 soll)
      Engine_Wisent200k100unbekannt
      (2000 soll)



      Alles läuft im Blitz-Modus ohne Uhr als Training. Auch für Gast-Member dürfen das ohne Einschränkung nutzen.
      Das Setup der Engines wird noch angepasst, denn in jeder Spielklasse soll es mindestens eine Engine geben.


      Wer will, kann schon mal vorab ein Match gegen den Ziesel hier auf dem Ersatzserver riskieren.



      Der Ziesel ist flink und kann schon beißen. Er macht aber auch viele Fehler und ihm fehlt es an Weitsicht.



      Technisches:
      Der neue Code läuft nur auf neuen Webbrowsern, die WebAssambly unterstützen. (Das sind ca. 95% aller hier verwendeten Browser)
      Je nach eigener Hardware, antwortet die KI unterschiedlich schnell. Eine Liste mit inkompatiblen Browser kommt später.
    • Es gab wohl noch einen Bug bei Remis. (Hier wurde im Code ">" statt "<" eingetragen, aber jetzt sollte es klappen.

      Die Engine bietet übrigens Remis an, wenn die Stellung ausgeglichen ist (max +-1,5 BE) UND drei mal hintereinander die exakt gleiche Stellungsbewertung errechnet wurde!!!
      Natürlich kennt Stockfish auch das Remis durch Stellungswiederholung... und weicht aus. Remis wird also eher selten kommen.


      Bei meinem Endspiel K + B gegen K + B + L konnte ich die Engine über 50 Züge ziehen. Die Schnecke rechnet einfach nicht tief genug....
      Theoretisch ist das klar gewonnen für Schwarz. Partie
      Bilder
      • remis.PNG

        96,51 kB, 531×536, 283 mal angesehen
    • Es wurden noch einige kleine Fehler noch beseitigt.. Es sollte jetzt besser laufen.

      Zudem habe ich 800 Engine-Partien ausgewertet und komme zu folgender Spielstärke


      EngineElo ist (erste Annäherung)Elo sollNodesFehlerquote
      Ameise1530130050450
      Schnecke1560140050250
      Ziesel161015001k250
      Dachs176016001k150
      Leopard1970170010k200
      Tiger2010180010k100
      Gnu2050190050k150
      Wisent22402000100000100



      Alle Schachprogramme sind viel stark.... das wird in kürze angepasst.
    • Enginebezwinger

      Hallo Schachfreunde,
      der Gewinn gegen eine dieser Schachprogramme wird nun in Form einer Auszeichnung belohnt.


      Man kann sich quasi die Trophäe des erlegten Tieres an die Wand hängen. Das Ganze nennt sich Enginebezwinger und geht von Level 1 (für Ameise) bis Level 8 (für Wisent)
      Gewinnt man später gegen ein größeres Tier, wird die Auszeichnung entsprechend aktualisiert. Das W rechts steht für WIN und zählt auch die Anzahl der Siege gegen diese Engine.

      Zu sehen ist die Auszeichung z.B. schon bei florian1971

      Ich wünsche allen viel Spaß bei der Klein- und Großwildjagt. 8o