Einzelnen Beitrag anzeigen
  #95  
Alt 20.12.2017, 18:13
Hartmut Hartmut ist offline
Lebende Foren Legende
 
Registriert seit: 01.04.2010
Ort: Nürnberg
Alter: 60
Land:
Beiträge: 2.185
Abgegebene Danke: 3.248
Erhielt 1.564 Danke für 906 Beiträge
Aktivitäten Langlebigkeit
5/20 15/20
Heute Beiträge
1/3 sssss2185
AW: Re: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau

Naja, es gibt verschiedene Methoden wie verschiedene Fernschachspieler analysieren. Es gibt sogar verschiedene Methoden, wie ich an eine Stellung rangehe und oft benutze ich nicht in allen Partien oder Stellungen die gleiche Methode. Das zu erklären führt jetzt zwar in diesem Thread etwas in den off-topic-Bereich aber naja.

Erstmal profitiere ich natürlich erstmal von dem Wissen anderer, wie ein Computer eben auch. Ich benutze Eröffnungsbücher. Allerdings erstmal keine von Carlsen, Kasparov und Co sondern Bücher die aus reinen Fernpartien entstanden sind. Wichtig dabei auch... keine Partie darf älter sein als 10 Jahre. Dem liegt zugrunde, dass zumindest jenseits der ersten 10 Züge viel bereits mit Computern analysiert wurde. Analysen von Computern die vor 10 Jahren im Fernschach eingesetzt wurden sind zwar nicht wertlos, aber eben auch nicht mehr "auf der Höhe der Analysefähigkeiten heutiger Programme". Gibt es in einem Abspiel maximal nur noch 2 Empfehlungen der Bücher wird bereits der Compi eingesetzt und die Varianten tiefer geprüft. Bereits hier schaue ich dann auch schon auf Alternativideen zu den Vorschlägen der Datenbanken. Dabei kommt dann eventuell auch eine Datenbank mit Partien von Carlsen und Co als Ideenlieferant ins Spiel. Aber eben erst dann.

Ansonsten gehe ich an Stellungen einerseits so ran, dass ich erstmal eigene Ideen entwickle, ganz ohne Compi. Dann werden Varianten, die ich als gut erachte mit dem Compi durchgespielt. Dabei verwende ich ausschließlich Engines bei denen es möglich ist, die Daten aus dem Hash-Speicher in eine Datei abzuspeichern.

Im 2. Schritt wird wieder auf die Ursprungsstellung zurückgegangen und die Hash-Datei eingelesen. Nun darf der Compi erstmal im Multivariantenmodus eine zeitlang rechnen. Dabei profitiert er auch aus den Werten, die durch die vorher geschaffene Hash-Datei bereits vorhanden sind. Er "kennt" also bereits einige Bewertungen und wird sich erst dann von diesen trennen, wenn er entweder einen fail-low hat oder etwas eindeutig besseres findet. Nach dieser Analyse wird wieder der Hash abgespeichert und ich schaue mir die Varianten aus dem Multivariantenmodus nochmal selber an. Eventuell entwickle ich auch aus diesen Varianten wieder neue Ideen und wiederhole den letzten Vorgang nochmals

Der letzte Schritt ist dann die Hash-Datei wieder einzulesen und die Kiste jetzt nochmals im "Normalmodus" rechnen zu lassen. Da der Compi nun seine Analysen von vorher aus dem Hash bereits hat, kann er nun noch in die Tiefe rechnen. Hier kann er dann die vorherigen Analysen entweder bestätigen oder aber es stellt sich in der Tiefe dann raus, dass die Variante doch nichts taugt und er findet etwas besseres. Erst wenn dieses Ergebnis dann feststeht, wird der Zug an meinen Gegner geschickt.

Insgesamt also eine Menge Arbeit, vor allem wenn man wie ich derzeit etwa 45 Partien gleichzeitig am Laufen hat. Es ist also wirklich so wie Du es festgestellt hast. Ich lenke und die Compis sind halt die taktischen Analysesklaven, die die harte Arbeit machen müssen. Aber nur so kommt man zu Gewinnpartien. Auf die Art habe ich schon so manche Stellung in denen die reinen Computeranalysen mehrere Züge lang 0,00 anzeigten dann für mich noch drehen können. Nur weil Stockfish sagt "Das ist Remis" ist es eben noch lange nicht remis. Deswegen gilt bei mir (was manche Fernschachkollegen so gar nicht verstehen wollen) auch die eiserne Regel: "Kein Remis vor dem 40. Zug, es sei denn es ist eine Tablebasestellung oder die Zugwiederholung ist unausweichlich", denn gerade in dieser Phase, wo andere früh remis schieben, nur weil der Compi so eine Bewertung anzeigt, kann man die Partien der Stockfishsklaven meistens drehen. Ist jedenfalls meine Erfahrung.

Natürlich gibt es auch Stellungen in denen ich sofort nur die Engine rechnen lasse. Das ist dann aber meistens nur eine taktische Überprüfung in der ich mir die ausführliche Analyse spare und kommt meist nur zum Einsatz, wenn die Situation entweder klar ist, oder ich in einer Partie aufgrund von Zeitnot oder anderem keine ausführliche Analyse machen kann oder will.

In Bezug zu AlphaZero kann man sagen: Natürlich, die ausgesuchten Partien stammen logischerweise von einem Menschen und natürlich hat man die eindrucksvollsten ausgewählt. Da bin ich auch sicher, dass hier jemand mit S(ch)achverstand die Auswahl getroffen hat. Bei jeder Buchveröffentlichung würde man das ja genauso machen. Ich denke aber auch, dass die anderen Gewinnpartien mit Sicherheit für den einen oder anderen Wow-Effekt gesorgt hätten. Aber die Motive dieser Gewinnpartien dürften ähnlich gewesen sein. Unterschätzung positioneller Opfer und Zugzwangsituationen. Das ist meistens das Motiv mit denen man Partien, deren Analysen so in die Tiefe gehen, gegen ein Schachprogramm gewinnen kann. Hingegen wird man vermutlich kaum eine Partie finden, in der Stockfish rein taktisch unter die Räder kommt. Wenn dann kann man ihn meist nur mit "stillen" Zügen kriegen oder mit Zügen die er erstmal als fehlerhaft ansieht, weil er die positionellen Gegebenheiten unterschätzt.

Und ja, du hast natürlich recht. Die Analysemethode die ich für meine Fernschachpartien durchführe hat gewisse Ähnlichkeiten damit, wie ein neuronales Netz arbeitet. Komisch... ich hatte das vorher nie so gesehen... Aber es ist trotzdem irgendwie etwas anders.

Im neuronalen Netz hat die Kiste zehntausende von Partien gegen sich selbst gespielt und daraus gelernt. Eine solche MonteCarlo-Analyse kann auch z.B. Fritz durchführen. Nur... er kann daraus dann zwar einen Variantenbaum erstellen und Häufigkeiten ermitteln welche Züge nun zum Sieg geführt haben oder nicht, aber er kommt bei diesen Analysen nicht sehr in die Tiefe weil da einfach die Rechenleistung nicht langt. AlphaZero hat jedenfalls sicher keine Partien gespielt die mit maximaler Suchtiefe 5 durchgeführt wurden (Standardeinstellung für MonteCarlo bei Fritz). Auch würde Fritz aus diesem Variantenbaum dann nichts lernen können (im Gegensatz zum neuronalen Netz, dass dann auch seine Bewertungskriterien ändern kann, aus dem Ergebnis also Erfahrung gewinnt). Er liefert erstmal nur einen Variantenbaum mit einer Statistik deren Wert aufgrund geringer Suchtiefe bei der Erstellung eher zweifelhaft ist. Ich verwende diese Funktion aber trotzdem gerne, wenn ich ein Remisangebot bekomme oder wenn ein Turnier zu einem bestimmten Zeitpunkt beendet werden muss und danach abgeschätzt werden soll. Dann baue ich durch 24 Stunden MonteCarlo einen Variantenbaum auf, der mir eventuell eine Hilfestellung gibt, warum ich auf Gewinn oder Remis reklamieren könnte.

Das einzige wo ich als Fernschachspieler Ähnlichkeiten meiner Arbeitsweise mit AlphaZero sehe ist, dass hier verschiedene Analyseschritte (erst eigene Varianten, dann Multivariantenmodus, dann in die Tiefe) letztlich eine Hashdatei "trainieren". Ich mache also im Kleinen und auf eine bestimmte Stellung bezogen fast dasselbe, was AlphaZero im Großen gemacht hat. Nur eben nicht mit einer MonteCarlo Analyse sondern es geht von Anfang an mein eigenes Schachwissen in die Analyse ein, denn jedem Zug, den ich bei der Analyse vorgebe, liegt ja eine gewisse Idee zu Grunde. (Ich habe ja schon ein trainiertes biologisches neuronales Netz im Kopf). Bei der in der Lernphase verwendeten MonteCarlo Analyse von AlphaZero gibt es aber keine Ideen. Das ist erstmal nur zocken und daraus dann etwas lernen. Hat aber, wie das Ergebnis zeigt, ebenfalls sehr gut funktioniert... Aber soviel Rechenpower hat mein kleines menschliches Gehirn leider nicht, lach.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation)
https://www.iccf.com/player?id=89948&tab=3
Mit Zitat antworten
Folgender Benutzer sagt Danke zu Hartmut für den nützlichen Beitrag:
marste (21.12.2017)