Folgender Benutzer sagt Danke zu spacious_mind für den nützlichen Beitrag: | ||
RetroComp (20.12.2017) |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Der schafft bei den vier aktivierten Kernen in aus der Grundstellung etwa 2.850 kKn (32 bit) und 3.850 kKn (64bit). Demnach liegt der Vorteil nur bei Faktor 1,4 bis 1,5. Gruß Wolfgang |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Da möchte ich noch einmal nachhaken. Nach den Screenshots von Tom bringt das nur etwa 50 Prozent. Ich habe auf einem zweiten Rechner mit einem i5-2400s verglichen.
Der schafft bei den vier aktivierten Kernen in aus der Grundstellung etwa 2.850 kKn (32 bit) und 3.850 kKn (64bit). Demnach liegt der Vorteil nur bei Faktor 1,4 bis 1,5. Gruß Wolfgang Das kann durchaus auch rechnerabhängig oder Konfigurationsabhängig sein Ich habe hier 2 identische Rechner. Selbes Mainboard, selber Prozessor. Auf dem einen ist noch ein altes XP 32bit installiert, auf dem anderen Windows 7 64bit. Der einzige Unterschied neben dem Betriebssystem ist der, dass die 64bit-Kiste mehr Speicher für Hashtables hat (mit 64bit kann man halt mehr adressieren. Mit 32bit ist bei 4GB Schluss). Und da macht der Unterschied in der Geschwindigkeit bei mir etwa Faktor 3-4 aus. Mag sein dass mein AMD-Prozi da einfach anders reagiert, mag sein, dass es mit dem Speicher zusammenhängt... keine Ahnung. Unter dem 32bit-Rechner hat man auch nur Zugriff auf die 5Steiner, während der 64bit-Rechner auch die 6-Steiner benutzen kann (zumindest bei den syzygys, bei den Nalimovs gehen die 6steiner auch unter 32bit). Auch das kann sich auf die Rechengeschwindigkeit auswirken. Da gibt es viele Faktoren die hier reinspielen. Deswegen würde ich den Geschwindigkeitsunterschied auch nur als ungefähren und sehr ungenauen Richtwert sehen, der sich durchaus von Fall zu Fall verschieben kann.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
Folgender Benutzer sagt Danke zu Hartmut für den nützlichen Beitrag: | ||
applechess (20.12.2017) |
|
||||||||||||
Re: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Lass mich noch einen Schritt weiter gehen mit meiner Spielerei Gedanken und dich als Korrespondenz Spieler was Fragen. Wenn du deine Spielpositionen analysierst mit deinen computer, siehst du natürlich alle möglichen Zug Alternativen und dabei sind Zuege die deine erfahrenen Schachspieler Augen besonders reizen. diejenigen, die bei 0,00 oder sogar -0,20 bewertet sind und höher, vor allem in Positionen, in denen das Spiel viele nicht so offensichtlich Ueberblickbaren Zug Möglichkeiten hat.
Als erfahrener Spieler, der aufgewachsen ist, hast du die erfahrung von sehr viele selbst spiele und tausende von nachgespielten Meister-Spiele. Deine Augen, mit Blick auf die Auswertungsliste sofort bewegt sich an Zuege wie Rxc5 und Lg5 und dein Geist sagt sofort sagt Wow, dass ist interessant. (Computer und Mann arbeiten zusammen) So, jetzt erforscht du diese Variation und siehst sofort nach 2 oder 3 Züge vorwärts spielen, dass der Zug nicht nur interessant ist, aber er gewinnt auch! Das prüfen jetzt mit ein paar andere Programme, wie zum Beispiel Komodo und Houdini diese überraschend benehmen sich gleich wie SF. Sie zeigen den Zug hoch auf Ihre Analyse, aber nicht als das beste. Aber genau wie SF, wie SF wenn du die Zuege Schritt für Schritt nach vorne spielst da sehen sie auch schnell, dass Sie verloren haben. Haettest du zwei oder drei schnelle Computer dann könntest du einige analiesen gleichzeiting ausfuehren und sparst eine Menge Zeit hunderte von Korrespondenz Stunden so gar. Dein Schachspielwissen lenkt und die Computer erledigen die harte Arbeit für dich. Naturlich schickst diesen Zug dann an deinen Gegner mit Schmunzeln weil du hoffst und erwartest das dein Gegner sofort WOW sagen wird und nach schneller eigener Ueberpruefung in Krise kommt. Du wartest sogar spannend und ungeduldig an seine Antwort!! Das Es hört sich alles wie A0 an oder nicht Auch wenn es vielleicht kein Menschen Dirigent gibt (wer weiss). die ausgewählten Spiele stammen von einen Mensch der die Schachmenscheit gut versteht und hat sie fuer den Wow-Faktor per Hand gewählt um die Weltnachricht Reaktion zu maximieren! Angekündigt waren es 100 Spiele und so glaubt man es weil es so in der Zeitung steht geschrieben aus dem Mund eines Politikers. Vielleicht hat ein Korrespondenz-Spieler wie du Sie unterstützt (ich scherze). Best regards Geändert von spacious_mind (20.12.2017 um 14:30 Uhr) |
Folgender Benutzer sagt Danke zu spacious_mind für den nützlichen Beitrag: | ||
Hartmut (20.12.2017) |
|
|||||||||||
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 |
Folgender Benutzer sagt Danke zu Hartmut für den nützlichen Beitrag: | ||
marste (21.12.2017) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Hallo Hartmut, ich habe zwei sehr unterschiedliche Rechner, aber trotzdem absolut zueinander stimmige Ergebnisse. Habe extra für den Zweck noch ein zweites BS auf der Xeon-Kiste installiert, um zu messen.
Geändert von Wolfgang2 (21.12.2017 um 10:01 Uhr) |
Folgender Benutzer sagt Danke zu Wolfgang2 für den nützlichen Beitrag: | ||
Hartmut (20.12.2017) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Hallo Hartmut,
ich habe zwei sehr unterschiedliche Rechner, aber trotzdem absolut zueinander stimmige Ergebnisse. Habe extra für den Zweck noch ein zweites BS auf der Xenon-Kiste installiert, um zu messen.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
Folgender Benutzer sagt Danke zu Hartmut für den nützlichen Beitrag: | ||
Wolfgang2 (21.12.2017) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Also muss man den SF-Entwicklern stecken, dass die Suche angepasst werden muss, damit im Normalmodus auch Lg5 gefunden wird.
Ist wahrscheinlich auch schon bekannt. Finden die Streicheltelefon-SF-Apps den Lg5 eigentlich oder auch nicht? @Wolfgang btw: Xenon = Flachbrettscanner? Mit dem Edelgas hat XEON nix zu tun oder?! Oder ist das dein spezieller Humor? Gruß Tom(mi) ...en Zweck noch ein zweites BS auf der Xenon-Kiste installiert, um zu messen.
|
|
||||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Ich weiß nicht, ob der Vergleich mit Fernschach hier so hilfreich ist. Die Suche von Stockfish ist selektiv und damit spekulativ. Im Dickicht vieler Bewertungen mit 0,00 ist Stockfish offenbar hart an der Grenze dessen was im Spiel gegen andere Computer noch hilfreich ist (siehe die vielen Remis gegen schwächere Gegner beim letzten TCEC), insgesamt aber gut aufgestellt. Einzelne Züge zu übersehen wie Lg5 gehört dazu, es können nicht alle Züge gefunden werden, für eine hohe Spielstärke müssen hier Kompromisse eingegangen werden. Solange Schachprogramme nicht so gut lernen können wie Menschen, solange werden solche Fehler teilweise auch im Detail wiederholt. In einem Match wie gegen AlphaZero mit sehr begrenzter Variation in der Eröffnung werden grundlegende Fehler im Spielaufbau dann auch ohne exakte Wiederholung der Zugfolge häufig gebracht und führen insgesamt zu einer erhöhten Verlustrate.
Im Laufe der Entwicklung von Schachprogrammen hat die Suche immer wieder Paradigmenwechsel erlebt. Zu Beginn war die statische Selektivität vorn, Brute Force hatte einfach keine Suchtiefe. Mit steigender Rechenleistung kamen die Erfolge von Brute Force, mit dem Höhepunkt Deep Blue. Aber im Windschatten kamen bereits die Programme mit dynamischer Selektivität (wesentlich Nullmove). Diese dynamisch beeinflusste Suche bekam mit LMR einen weiteren Schub und ist bei den besten Programmen locker 400+ Elo-Punkte im direkten Vergleich wert. Inzwischen ist die Suche aber bereits dabei an die Grenze der 50-Züge-Regel zu stoßen, d.h. eine weitere Vertiefung bringt nicht mehr so viel und eine sinnvolle Verdichtung des Suchbaums könnte wieder mehr für die Spielstärke bringen. Dies könnte ein Grund für den Erfolg von neuronalen Netzen sein, sie selektieren nicht aufgrund statischen Wissens (was aufgrund handgestrickter und limitierter Bewertungsfunktionen Lücken hat) oder dynamischer Suche (was wie Nullmove und LMR bisher nur schwer mit Schachwissen angereichert werden konnte), sie erwerben durch den Lernvorgang sehr umfangreiches Wissen und können so bei kleinerem Suchbaum erfolgreich sein. In Verbindung mit der normalen Bewertungsfunktion werden Figuren bereits so gut positioniert, dass kaum noch taktische Fehler von der Suche übersehen werden. |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Ich weiß nicht, ob der Vergleich mit Fernschach hier so hilfreich ist. Die Suche von Stockfish ist selektiv und damit spekulativ. Im Dickicht vieler Bewertungen mit 0,00 ist Stockfish offenbar hart an der Grenze dessen was im Spiel gegen andere Computer noch hilfreich ist (siehe die vielen Remis gegen schwächere Gegner beim letzten TCEC), insgesamt aber gut aufgestellt. Einzelne Züge zu übersehen wie Lg5 gehört dazu, es können nicht alle Züge gefunden werden, für eine hohe Spielstärke müssen hier Kompromisse eingegangen werden. Solange Schachprogramme nicht so gut lernen können wie Menschen, solange werden solche Fehler teilweise auch im Detail wiederholt. In einem Match wie gegen AlphaZero mit sehr begrenzter Variation in der Eröffnung werden grundlegende Fehler im Spielaufbau dann auch ohne exakte Wiederholung der Zugfolge häufig gebracht und führen insgesamt zu einer erhöhten Verlustrate.
Zitieren:
Im Laufe der Entwicklung von Schachprogrammen hat die Suche immer wieder Paradigmenwechsel erlebt. Zu Beginn war die statische Selektivität vorn, Brute Force hatte einfach keine Suchtiefe. Mit steigender Rechenleistung kamen die Erfolge von Brute Force, mit dem Höhepunkt Deep Blue. Aber im Windschatten kamen bereits die Programme mit dynamischer Selektivität (wesentlich Nullmove). Diese dynamisch beeinflusste Suche bekam mit LMR einen weiteren Schub und ist bei den besten Programmen locker 400+ Elo-Punkte im direkten Vergleich wert.
Zitieren:
Inzwischen ist die Suche aber bereits dabei an die Grenze der 50-Züge-Regel zu stoßen, d.h. eine weitere Vertiefung bringt nicht mehr so viel und eine sinnvolle Verdichtung des Suchbaums könnte wieder mehr für die Spielstärke bringen. Dies könnte ein Grund für den Erfolg von neuronalen Netzen sein, sie selektieren nicht aufgrund statischen Wissens (was aufgrund handgestrickter und limitierter Bewertungsfunktionen Lücken hat) oder dynamischer Suche (was wie Nullmove und LMR bisher nur schwer mit Schachwissen angereichert werden konnte), sie erwerben durch den Lernvorgang sehr umfangreiches Wissen und können so bei kleinerem Suchbaum erfolgreich sein. In Verbindung mit der normalen Bewertungsfunktion werden Figuren bereits so gut positioniert, dass kaum noch taktische Fehler von der Suche übersehen werden.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 Geändert von Hartmut (21.12.2017 um 13:22 Uhr) |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
Frage: Freie Engine (Uci) für PC - Spielstil | Ecki | Die ganze Welt der Schachcomputer / World of chess computers | 4 | 05.04.2015 16:03 |
News: Revelation als UCI engine: PCSengine software | krval | Die ganze Welt der Schachcomputer / World of chess computers | 1 | 13.08.2013 16:06 |
News: MephBoard - Winboard Engine für Mephisto PC-Modul | krval | Technische Fragen und Probleme / Tuning | 8 | 11.01.2012 21:30 |
Mephisto PC-Modul als UCI Engine | FluidDynamics | Die ganze Welt der Schachcomputer / World of chess computers | 0 | 14.02.2008 08:53 |
Fruit als Engine? | Robert | Die ganze Welt der Schachcomputer / World of chess computers | 3 | 04.08.2005 08:26 |