Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Mensch gegen Maschine
- - By Christian Funke Date 2020-02-22 09:00
Moin,
inzwischen haben die Engines ja wie ich sehe Elo >3000.
Es ist lange her, dass ich mich für das Thema interessiert habe, aber ist es inzwischen wirklich so, dass auch der Weltmeister bei Tuenierbedenkzeit keine Chance mehr hat?
Das letzte was ich im Bereich Mensch gegen Engine verfolgt hatte, war dass Kasparow knapp gegen Deep Blue verlor. Haben wir inzwischen alle einen Deep Blue zu Hause?

Gruß Christian Funke
Parent - - By Lothar Jung Date 2020-02-22 09:31 Edited 2020-02-22 09:42
Parent - - By Christian Funke Date 2020-02-22 10:57
Sehr interessant danke.

Mir ist noch nicht ganz klar:
1) Warum ist Leila noch nicht auf Platz 1 bei der SSDF Rangliste?
2) Was hat Fat Fritz mit Leila zu tun, ist das derselbe Engine oder abgekupfert?
3) Ist es demnach so, dass in Zukunft die CPU-Leistung untergeordnet ist und eher die GPU zählt?
4) Warum um alles in der Welt kann eine Grafikkarte bessere Züge ausrechnen als eine CPU?

Wäre nett wenn jemand die Muße und Zeit hätte zu antworten.
Parent - - By Wolfgang Battig Date 2020-02-22 13:44 Edited 2020-02-22 14:27
Christian Funke schrieb:

Sehr interessant danke.

Mir ist noch nicht ganz klar:
1) Warum ist Leila noch nicht auf Platz 1 bei der SSDF Rangliste?


SSDF? Echt jetzt? Man merkt, dass Du länger nicht dabei warst (nicht bös gemeint!)
Völlig out und nicht aktuell. Gerade mal was Stockfish (10 in der Liste, aber SF11 ist gerade erst erschienen, von daher ok) und Komodo (immerhin schon bei Version 13 angelangt) angeht halbwegs auf dem laufenden. Problem dort ist, dass man den Engines immer die volle Power des PCs gibt und trotzdem mit Ponder spielen lässt. Heiß übersetzt, dass für EIN Match ganze ZWEI 8-Kern-PCs "verschwendet" werden (Autoplayer).
Kann man so machen, muss/sollte man aber nicht. Volle Power ok, aber dann wenigstens ohne Ponder, somit doppelte Partienzahl möglich. Kein Wunder, dass so viele Lücken da sind.

Das ist auch schon die Antwort: Leela wurde dort schlicht noch nicht getestet!

Zitat:
2) Was hat Fat Fritz mit Leila zu tun, ist das derselbe Engine oder abgekupfert?


Zu FF kann ich leider nichts erhellendes beitragen (kein Interesse mich damit zu befassen), meine aber, dass das im wesentlichen Leela ist. Nicht abgekupfert.

Zitat:
3) Ist es demnach so, dass in Zukunft die CPU-Leistung untergeordnet ist und eher die GPU zählt?


Kommt drauf an, was du machst. Aber den NN-Engines gehört sicher die Zukunft weil die Grafikkarten einfach viel schneller sind.
Selbst auf einer Einstiegskarte (GTX1050ti, 1060 usw) ist Leela schon "brutal" stark, muss also nicht unbedingt ein 800-1000 Euro Teil sein.
Trotzdem brauchts auch immer einen "vernünftigen" sprich schnellen, gut ausgestatteten PC. Eine aktuelle GK kannst du nicht in einen 486er einbauen.

Aktuell kann Stockfish bei gleichen Hardwarebedingungen noch mit Leela mithalten. Ist aber auch die einzige "klassische" Engine, die das kann. Alle anderen (Houdini, Komodo usw.) sind längst abgehängt.

Zitat:
4) Warum um alles in der Welt kann eine Grafikkarte bessere Züge ausrechnen als eine CPU?

Wie das technisch zusammenhängt kann ich leider nicht erklären. Aber es gibt sicher Leute hier, die das können

Parent - By Lothar Jung Date 2020-02-22 15:16 Edited 2020-02-22 15:27 Upvotes 1
Leela/Lc0 ist ein Schachprogramm Lc0, dass ein neuronalen Netzwerk (NN) für die Bewertung der Position (Weights) benutzt.
Die Weights werden durch Vektorberechnungen in GPU/TPUs (Grafikkarten/Tensorcors) erstellt.
Vektorberechnungen sind Differenzialgleichungen (Algrebamachienen) die parallelisierbar sind und viel schneller in GPUs als in CPUs (Vectoreinheit) ablaufen.
Gelernt wird mit Reinforcement Learning, d.h. das Netzwerk wird durch einen Selbstlernalgorithmus erstellt.
Das Netzwerk spielt gegen sich selber Schach und verstärkt sich durch die gewonnenen Spiele.
Es lernt in einer Schleife seine Bewertung ständig zu verbessern.
Dieser Ansatz ist völlig anders als die A/B-Algorithmus Programme deren Bewertungsroutinen explizit programmiert worden sind.
NN werden z.B. für die Bild- und Spracherkennung eingesetzt, aufgrund von riesigen Datenmengen (Big Data).

Hier eine Beschreibung in Englisch:

Lc0's evaluates positions using non-linear function approximation based on a deep neural network, rather than the linear function approximation as used in classical chess programs. This neural network takes the board position as input and outputs position evaluation (QValue) and a vector of move probabilities (PValue, policy). Once trained, these network is combined with a Monte-Carlo Tree Search (MCTS) using the policy to narrow down the search to high­probability moves, and using the value in conjunction with a fast rollout policy to evaluate positions in the tree. The MCTS selection is done by a variation of Rosin's UCT improvement dubbed PUCT (Predictor + UCT).
Parent - By Walter Knobloch Date 2020-02-23 13:32 Upvotes 1
Wolfgang Battig schrieb:

Zu FF kann ich leider nichts erhellendes beitragen (kein Interesse mich damit zu befassen), meine aber, dass das im wesentlichen Leela ist. Nicht abgekupfert.


Es ist exakt die Leela-Binary. Lediglich das NN ist ein mittels supervided learning trainiertes Netz (keine Dokumentation).
Zudem ist dieses (wenig überraschend) schwächer als die offiziellen Leela Netze.
Chessbase verkauft also frei verfügbare Software, die schlechter als das kostenlose Original ist.
Parent - By Benno Hartwig Date 2020-02-22 13:55

> 4) Warum um alles in der Welt kann eine Grafikkarte bessere Züge ausrechnen als eine CPU?


Sie hat wohl in der Summe einfach die deutlich(!!!) größere Rechenleistung!


Allerdings kann diese nur gut nutzen, wer versteht mit sehr, sehr großer Parallelität umzugehen,
und wer mit den ansonsten sicherlich auch existierenden Einschränkungen beim Rechnen auf der Karte zurecht zu kommen.
Parent - - By Wolfgang Battig Date 2020-02-22 14:22
SSDF ist out wie schon geschrieben.
Wir - CEGT - führen auch einen Liste mit sehr langer Bedenkzeit, siehe http://www.cegt.net/rating120.htm.
Leider aber auch nicht in allen Punkten aktuell und teilweise viel zu wenig Partien. Aber immerhin fast alle Top-Engines drin.

Grund ist aber nicht hausgemacht wie bei SSDF (verschwenden von zwei Rechnern für ein Match ) sondern liegt schlicht daran, dass es extrem aufwändig ist mit der langen Bedenkzeit zu testen. Ich überlege inzwischen sogar, ob ich die Liste aufgeben sollte (führe ich aktuell allein). Wir führen diverse Listen, da wird es irgendwann zuviel. Ich würde dann die mit der wenigsten Aussagekraft was Aktualität und statistische Verlässlichkeit (Partienzahl!) angeht, auslaufen lassen. Entscheidung steht noch aus.

Eine absolut tolle Liste mit ziemlich langer Bedenkzeit findest Du bei Andreas Strangmüller, siehe http://fastgm.de/60min.html

Bedenkzeit 60 Minuten pro Partie + 15 Sekunden Aufschlag pro Zug (Fischer-Bonus).
Andreas testet auf einer 12-Core Maschine mit 1 Core für die Engines und ohne Ponder. Somit kann er mehrere Matches parallel laufen lassen (außer mit LC0). Wieviele das bei ihm sind weiß ich nicht, muss ja auch ausreichend RAM zur Verfügung stehen.
LC0 fehlt da allerdings noch.

LCZero zu testen ist generell wesentlich aufwändiger, da man da immer nur ein Match laufen lassen kann. Ist ja nur eine GK im System, während eine CPU mehrere Cores hat.
Parent - - By Christian Funke Date 2020-02-22 14:55
Danke an alle. Nun bin ich geupdatet.
Und Permant-Brain (die alten werden sich erinnern) heisst jetzt also „Ponder“.

Bin schon lange am Grübeln (ohne Ponder) fürs Zocken auf PS4/5 umzusteigen oder doch noch mal ne Nvidia 2080. Dass ich die auch für Schach gebrauchen kann, hätt ich nie gedacht.
Parent - By Wolfgang Battig Date 2020-02-22 15:53
Ponder zu schreiben ist glaube ich eher ein Frage der Bequemlichkeit...
Parent - - By Benno Hartwig Date 2020-02-22 18:26
An dieser Stelle erst mal Danke für eure Arbeit, die viel dazu beigetragen hat, dass eine Übersicht besteht zur aktuellen und historischen Computerschachsituation.

> ich überlege inzwischen sogar, ob ich die Liste aufgeben sollte


Habt ihr mal versucht zu analysieren, wie die längeren Zeiten mit den kürzeren korrelieren?
Abgesehen davon, dass die Elo-Abstände geringer sein mögen (erhöhtes Remis-Aufkommen): Habt ihr ggf. irgendwelche Auffälligkeiten, deutliche Abweichungen erkannt?
Parent - - By Reinhold Stibi Date 2020-02-22 19:07
Das kannst du doch durch Vergleichen selber feststellen.

Es ist ja alles schön aufgelistet.
Parent - By Wolfgang Battig Date 2020-02-22 21:30
Grundsätzlich ja, das Problem ist aber, dass die Zahlen aufgrund der wenigen Partien = große Errorbar kaum vergleichbar sind. In der 40/120-Liste meist deutlich über +-30, in der Spitze auch gern mal über +-60. In der 40/4 Liste im Spitzenbereich nicht über +-12.

Selbst wenn ich nur 300 Partien mit einer Engine spielen lasse, also je 50 gegen 6 Gegner, bleibt es bei über 30 und dauert trotzdem elend lang. Insgesamt also wenig aussagekräftig bei hohem Aufwand.

Bei den "normalen" Engines geht das noch halbwegs, da ich mehrere Matches gleichzeitig laufen lassen kann. Sobald die NN Engines wie LC0 oder Stoofvlees ins Spiel kommen geht das ja bekanntlich nicht.

Ein 50er Match mit LC0 dauert auf einem Rechner bei dieser Bedenkzeit ca. 10 Tage!! Ein 300er Testlauf also fast 2 Monate, in denen der Rechner blockiert ist. Bei sehr überschaubarer Aussagekraft.

Das ist auf Dauer nicht machbar. Leider.
Up Topic Hauptforen / CSS-Forum / Mensch gegen Maschine

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill