|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Auf meinem Bild sieht man besser, dass das stimmt, was ich gepostet habe.
Ob Stockfish 32bit sich anders verhält als die 64bit-Version ? Vielleicht wird Lc1-g5 erkannt - und wieder verworfen !? Eher vermute ich bei Deinem SF8 eine andere Einstellung: Denn "nur" Tiefe 37/72 bei 14,7 Mrd Knoten fallen auf. Wie meinem Bild (letzte Zeile) zu entnehmen ist, wurden bei 28,9 Mrd Knoten bereits 50/82+ angezeigt. Nein, im Grunde verhält sich die 32bit-Version von Stockfish 8 nicht viel anders als die 64bit-Version. Abgesehen davon, dass bei gleichem Prozessor die 64bitVersion etwa um Faktor 4 schneller ist. Was auffällt ist die Anzahl der untersuchten Züge in Verbindung mit der Suchtiefe, die Stellungsbewertung und das Ergebnis. Ind genau da muss man mal etwas aufklären. Ihr habt beide dieselbe Stellung analysiert aber auf unterschiedliche Art. Wolfgang hat die Stellung eingegeben und die Kiste einfach rechnen lassen ohne irgendwelche "Tricks", also so, wie die Kiste in einer Turnierpartie rechnen würde. Ich habe es bei mir ebenfalls ausprobiert und komme zum selben Ergebnis. Stockfish findet Lg5 definitiv nicht. Vermutlich wird der Zug schon früh verworfen und aufgrund der Abschneidungen, die gemacht werden um das Programm auf seine enormen Suchtiefen bringen von der weiteren Suche dann ausgeschlossen. Da hilft es dann auch nicht, wenn ich die Kiste wochenlang bis Tiefe 80 rechnen lasse. Solange kein "fail low" erfolgt, wird der Suchbaum in der Breite nicht erweitert. Erst, wenn jetzt in der Bewertung ein sogenannter "fail low" kommen würde, also die Bewertung des bisher priorisierten Zuges stark abfallen würde, dann werden vorher ausgeschlossene Züge wieder aufgenommen. Soweit so gut. Warum aber dann das andere Ergebnis bei Tommi? Ganz einfach. Er hat Stockfish gezwungen den Suchbaum auch in der Breite zu erweitern, indem er den Multivariantenmodus (soweit ich der Grafik entnehme mit 5 Varianten) aktiviert hat. Das heisst. Würde Stockfish im Normalmodus vielleicht (geschätzt) 3 Kandidatenzüge tiefer untersuchen (Der Bestmove und vielleicht noch 2 andere), so sind es hier jetzt mindestens 7 (5 Erzwungene Varianten und vielleicht erneut 2 weitere). Der Suchbaum ist damit breiter und der Zug Lg5 wird eben nicht aus dem Suchbaum entfernt. Dadurch dass er dann erzwungenermaßen auch tiefer untersucht wird, findet das Programm dann sogar bald heraus, dass es tatsächlich der Beste Zug ist. Etwas das mit der normalen Suchfunktion nicht gefunden werden kann. Da nun 5 statt 1 Varianten erzwungenermaßen tiefer untersucht werden, ist auch die Zahl der untersuchten Züge (trotz weit geringerer Tiefe) entsprechend hoch, da einfach in der Breite eben mehr Berechnungen anfallen. Man sieht wie böse es ausgehen kann wenn man den Zugbaum zu früh beschneidet und wie schwer sich auch ein Stockfish damit tut, so einen Zug zu erkennen. Wenn man jetzt begriffen hat, wie diese ganze Abschneiderei funktioniert, dann kann man sich nun vorstellen um wieviel schwieriger es für Stockfish ist, nun zu erkennen, dass der Gegner diesen genialen Zug hat. Er muss ja nun nicht nur diesen Zug finden, sondern er muss im Rahmen seiner eigenen Zugermittlung diesen Zug als mögliche Antwort in Erwäguing ziehen. Und da wird es dann richtig schwierig. Insgesamt das Problem aller gängiger Schachprogramme. Der Suchbaum wird in der Breite recht früh beschnitten. Dadurch kommen die Programme in unglaubliche Rechentiefen. In 9 von 10 Fällen funktioniert das im Angriff ganz gut. In der Verteidigung klappt es immer noch in 4 von 5 Fällen und das Programm wird durch die frühe Beschneidung im Durchschnitt stärker spielen als wenn es jedesmal einen breiteren Zugbaum berechnen müsste. Aber dann kommt eben dieser eine verflixte 10. Fall (bzw. 5. Fall) und es geht ganz gewaltig schief. Und genau das ist es was ich als die höhere Kunst des Fernschachs betrachte, gezielt auf diese Fälle spielen zu können. Nicht immer klappt es, aber im Gegensatz zu Stockfish und Co sind wir Menschen (und natürlich Alpha Zero) ja lernfähig.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
|
||||||||||||
Re: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Hallo Hartmut,
Wie Alpha es beschreibt und wie du beschreibst ist ja genau der trick. Die brauchen nicht 50 Tief gehen. Das lassen sie den SF tun. Kein problem. Sie muessen nur mit Ihre tausend cores die Zweige ruhig einzeln untersuchen waeharend SF seine paar Zweigen 50 Tief rechnet. Fuer Alpha reicht 30 ply Alpha weiss ja so wie so was von SF bewertet ist auch wenn ab und zu 30 Kandidaten sind Dann waehlt man ruhig die 30 je 1 core mal vieliecht im extrem fall ein tief weiter von mir aus = 30x30 = 900 cores = 32 ply tief und mit millipawn rechnung nimmt man schoen jedesmal den besten zweig. Und so gibt es dann am besten fuer SF nur remis und verluste. Gewinnen wird es ja nie geben koennen sollte man das rechenen kennen von den Gegner wissen. Schoener Trick..... Gruss Nick |
Folgender Benutzer sagt Danke zu spacious_mind für den nützlichen Beitrag: | ||
RetroComp (20.12.2017) |
|
|||||||||||
AW: Re: AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Zitieren:
Spiele mal vorwaetz ein Paar zuege 1. bg5! f5 2. Qf4 dann sieht er es schnell das er verliert nach den Zug mit unter 30 ply.
Zitieren:
Das bedeutet mit normale rechnung sollte er den Zug Bg5 sehen. Da er Ihn nicht sieht bedeutet er hat Fehler in seine search methoden oder andere macken wie vielleicht im cache... Wer weiss.
Zitieren:
Alpha zeigt schon schoen die Macken aber mit der Rechentiefe die SF hat muesste er es alles selber sehen koenen.
Zitieren:
Er sieht den schoenen Zug Rxc5! einfach nicht weil er Ihn als zweit besten Zug bewertet zusammen mit 27 andere Kandidaten. Gleiche search Macke!
Zitieren:
Spiele nach vorne diese 5 Zuege: 1. Rxc5 bxc5 2. Qh4 Rde8 3. Rf6
Dann sieht SF es mit schon 25 ply. Also 5+25 ply = 30 ply = unter 1 minute rechen zeit. Zitieren:
3 Sekunden Rechenzeit fuer 25 ply. Er selber bewerten den gespielten zug im match Rf8? mit minus -8.18 nach 3 sekunden und zeigt selber den Zug Kf8! als beste verteidigung. Daher auch in dieses spiel hat der SF einiege search Fehler.
Es ist gut das Alpha diese Fehler findet aber bis jetzt sehe ich nicht wieso ein programm mit 30+ ply rechnungen sie selber nicht findet. Ich denke mal das Alpha programmierer es herausgefunden haben die Fehler von den besten heutigen search engines zu exploitieren mit Ihren system. Alle besten heutigen search engines benuetzen ziemlich die gleichen search methoden. Daher koennte mann vermuten das sie alle die gleichen macken haben
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
|
||||||||||||
Re: AW: Re: AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Nein, das stimmt so nicht. Da die Züge schon nach vorne gespielt wurden und dann wieder zurückgenommen wurden, "sieht" er es bei einer erneuten nicht, sondern holt sich die Daten schlicht aus dem Cache. Das "Sehen" ist hier also schon keine Eigenleistung mehr. Man hat ihn durch das Vorspielen ja erst draufgestossen und seinen Cache entsprechend gefüllt.
Spile mal die zuege nach vorne und dann zurueck...Dann siehst du das der SF sein cache auch aendert. Bei mir tut er es. Gruss Nick |
|
|||||||||||
AW: Re: AW: Re: AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Naja, das ist ja kein Trick, sondern das ist das prinzip eines neuronalen Netzes oder auch einfach das Prinzip des "Lernen könnens". Etwas das uns Menschen gegeben ist, Stockfish jedoch nie beherrschen wird. Wenn Du dir die auf Seite 2 von einem Fernschachkollegen gespielte Partie ansiehst wirst Du feststellen dass auch wir Menschen das leisten können. Wir Menschen verstehen Muster und können aus Fehlern lernen. Die Maschine rechnet einfach nur und versteht eigentlich nichts vom Schach. Das reicht im Turniersaal aus, weil wir gar nicht so schnell taktisch rechnen können, wie Stockfish es tut und egal wie viele geniale Züge wir finden, irgendwann werden wir bei beschränkter Bedenkzeit taktisch patzen. Im Fernschach bei entsprechender Analysezeit reicht Stockfishs Können jedoch nicht mehr. Da muss man auch wissen was man tut. Und das kann Stockfish nicht leisten.
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Vielen Dank, Hartmut, für die Erläuterungen.
Mit dem MV-Modus, das kannte ich nicht. Und mir ist bei der Gelegenheit (d.h. Foto von Tom) auch aufgefallen, dass meinen Engines nur ein Prozessorkern zugeteilt war. Gruß Wolfgang |
|
||||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Hallo Wolfgang
Ist das so zu verstehen, dass du den MV-Modus nicht kanntest ... kann ich nicht glauben. Gruss Kurt |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Dass nur ein Kern zugeteilt war hätte bei Deiner Berechnung vermutlich wenig geändert. Er hat ja schon tief gerechnet. Hättest Du ihm jetzt z.B. 4 Kerne zugewiesen hätte er halt 2-3 Halbzüge tiefer nichts gefunden... lach. Wenn eine Engine in der Breite zu stark abschneidet kann man sie nur dann dazu bewegen, dies einzischränken wenn man in den Engineeinstellungen auf "Tactical Mode" schaltet (oder bei Raubfisch ICCF-Mode). Dann rechnet er wie eine sehr schnelle BruteForce Engine kommt aber nur langsam in die Tiefe. Die Alternative ist eben der Multivariantenmodus den fast alle modernen UCI-Engines unterstützen. Aber auch das geht eben auf die Rechentiefe. Will man - so wie ich fürs Fernschach - eine Stellung analysieren, dann muss man halt abwägen, wie man analysiert. Braucht man Tiefe? Oder hat man den EIndruck, dass da mehr geht, als die Engine ausrechnet, dann wählt man den MV-Modus um sich eventuell ein paar Ideen zu holen. Unter manchen Oberflächen (z.B. Aquarium) kann man auch einen Analysebaum erstellen, in dem man ganz bestimmte Abspiele prüft, etc. Da gibt es viele Möglichkeiten. Im praktischen Spiel gegen andere Engines geht eben nur ein Modus und in dem wird halt zwar tief gerechnet, aber oftmals läuft die Engine halt mit verbundenen Augen durch den Variantendschungel und verläuft sich manchmal auch ganz gehörig
__________________
Mein Profil beim ICCF (International Correspondence Chess Federation) https://www.iccf.com/player?id=89948&tab=3 |
|
|||||||||||
AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
Doch Kurt, ist so. Kann man nichts machen. Ich bin für den Hausgebrauch, d.h. Kommentieren eigener Partien für das Forum, ohnehin nicht der Freund der starken Engines. Wenn die bei der Nach-Analyse etwas "finden", dann muss ich jedes Mal abwägen, ob das jetzt schwer oder sehr schwer war für einen Normalsterblichen, auch zu entdecken.
Wenn ich SOS 5.1 oder Rybka 2.2 nehme - und die benötigen ein paar Sekunden länger, dann weiß ich immerhin, dass die Situation nicht ganz trivial ist. Gruß Wolfgang |
Folgender Benutzer sagt Danke zu Wolfgang2 für den nützlichen Beitrag: | ||
applechess (20.12.2017) |
|
|
Ä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 |