Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Stockfish rechnet die Welt schön...und hat Erfolg damit
- - By Joe Boden Date 2014-07-03 12:10 Edited 2014-07-03 12:16
Stockfish, die unangefochtene Nr. 1 der Computerschachprogramme ist ein erstaunliches Programm.
Es rechnet die Welt auf den 64 Feldern schön...und hat Erfolg damit.

Wenn man genauer untersucht, warum Stockfish an der Spitze ist, dann ist es der grenzenlose Optimismus den das Programm in seinen Bewertungsalgorythmen versteckt hat. Stocki ist Schöngeist und Gipfelstürmer zugleich ...es rechnet so tief wie kein anderes Programm und entdeckt zum Beispiel Mattzugfolgen schneller und effektiver..aber nicht unbedingt genauer.

Eine Stellung unter vielen kann dies verdeutlichen:

Weiss am Zug gewinnt (Matt nicht ausgeschlossen, aber in wie vielen Zügen?!)



r3k2r/ppp3bp/8/2nPp3/6B1/2N3Q1/PPqB2P1/4R1K1 w kq -

Engine: Stockfish 160614 64 SSE4.2 [new] (300 MB)
von Tord Romstad, Marco Costalba and Joona

28/02  0:06   +M12     23.Lh5+ Kd8 24.Dxg7 Df5 25.Dxh8+ Kd7
                       26.Dg7+ Kd6 27.Lg4 Df2+ 28.Kxf2 Te8
                       29.Sb5+ Kxd5 30.Df7+ Kc6 31.Dxc7+ Kxb5
                       32.Le2+ Sd3+ 33.Lxd3+ Ka4 34.Te4+ (10.676.072) 1537

29/05  10:04  +M12     23.Lh5+ Kd8 24.Dxg7 Df5 25.Dxh8+ Kd7
                       26.Dg7+ Kd6 27.Lg4 Df2+ 28.Kxf2 Te8
                       29.Sb5+ Kxd5 30.Df7+ Kc6 31.Dxc7+ Kxb5
                       32.Le2+ Sd3+ 33.Lxd3+ Ka4 34.Te4+ (448.857.639) 742

Houdini hat da so seine Zweifel und gibt folgende Varianten an:

21/53   9:16    +M19   23.Lh5+ Dg6 24.Lxg6+ Kd8 25.Dg5+ Kc8 26.Lf5+ Kb8 27.Dxg7 Tc8 28.Lxc8 a6 29.Df8 b6 30.Lxa6+ Ka7 31.Lc8 Tb8 32.Sb5+ Ka8 33.Sxc7+ Ka7 34.Sb5+ Ka8 35.De7 Tb7 36.Lxb7+ (452.168.108) 811

Hier die Ursprungspartie dieser Stellung:
http://de.lichess.org/uM3VdxKO#0
Parent - By Anton Stadlhofer Date 2014-07-03 13:01
hallo

r3k2r/ppp3bp/8/2nPp3/6B1/2N3Q1/PPqB2P1/4R1K1 w kq - 0 1

Analysis by Houdini 4x6 Pro 4:

1.Lh5+ Kd8 2.Dxg7 Df5 3.Sb5 Sd7 4.Tf1 Dxf1+ 5.Kxf1 Tf8+ 6.Ke1 b6 7.Lg4 Tf7 8.Dxf7 Kc8 9.Dxd7+ Kb7 10.Dc6+ Ka6 11.Sxc7#
  +-  (7.70)   Tiefe: 6/23   00:00:00  7kN
  +-  (#11)   Tiefe: 30/51   00:06:13  11128mN

lg     Anton
Parent - By Benno Hartwig Date 2014-07-03 13:30

> Es rechnet die Welt auf den 64 Feldern schön...und hat Erfolg damit.


Mit ähnlichen Worten hätte ich vor einiger Zeit folgende Beobachtung überschreiben können:
SF (damals noch nicht die Nr. 1) konnte in Spielen gegen gute Gegner plötzlich und über einige Züge die Positionen einen guten halben Bauern besser bewerten. Der Gegner (z.B. Houdini...) merkte davon oftmals nichts.
In einem Teil der Partien bemerkte der Gegner dann einige Züge später das Schlimme, und SF und Gegner ließen die SF-Bewertung kräftig steigen.
In anderen Partien brach die besonders gute SF-Bewertung nach ein paar Zügen wieder ein. Der Gegner hatte recht, hier war nichts Besonderes.

SF schien etwas gesehen zu haben, was Chancen bietet. Und bewertete korrekt besser.
Und wenn die Chance dann eben doch nicht da ist, normalisiert sich die Bewertung wieder.
Das, was SF da aber sah, schien ganz grundsätzlich etwas zu sein, was die Gegner überhaupt nicht als bemerkenswert ansahen.

Benno
Parent - - By Michael Scheidl Date 2014-07-03 14:23
Zitat:
der grenzenlose Optimismus

Den Eindruck habe ich fast auch, besonders beim Kibitzen in den letzten Tagen. Allerdings skaliert ja SF. die Bewertung irgendwie anders, d.h. die Zahlen sind einfach größer als bei typischeren Engines, obwohl dasselbe gemeint sein mag. Angeblich normalisiert sich das bei Evals über 1,50 aber das habe ich nicht nachgeprüft.

Jedenfalls grenzt es beinahe an Arroganz, wie sich SF. oft rätselhafte, deutliche Pluswertungen gibt obwohl beim besten Willen absolut nichts von Bedeutung zu sehen ist. Die Schlußposition der PV gibt meist auch nicht mehr Aufschluß. Allermeistens jedoch kann SF. die Bewertung rechtfertigen, indem er sie siegreich ausbaut.

(Weil die Gegner schwächer sind, sonst sähe das natürlich anders aus.)

Zum Glück spielen Psychologie und Kräfteverschleiß zwischen Engines keine Rolle, sonst müßte man praktisch raten: Sobald Stockfish 1+ für sich sieht, gib gleich auf um Kräfte für den nächsten Anlauf zu schonen...
Parent - - By Tom Paul Date 2014-07-03 15:31
Und wieso gewinnt Stockfish meistens?
Weil eben die ach so arrogante Bewertung richtig ist.
Und deshalb ist Stockfish auch stärker als andere Engines.
Nur weil Stockfish etwas sehen kann, was die anderen Engines und du nicht sehen können, heißt das ja noch lange nicht das da nichts ist.
Parent - - By 2phil4u Date 2014-07-03 15:53
ohne tablebases gibt es das eigentlich nicht, dass ein Matt zu schnell gerechnet wird, eher ist hier Stockfish schlecht bei Matterkennung, da ist Houdini 4 besser, den kann man auch einstellen auf Suchtiefe (Mattsuche).

Wäre aber interessant zu wissen, wann Stockfish in der Grundeinstellung aufgrund seiner Selektivität in der Spielstärke gegenüber anderen Programmen zurückfällt, weil mehr Tiefe nicht mehr so viel Elo bringt, wie das Weglassen von Zügen welche verliert.
Parent - - By Tom Paul Date 2014-07-03 16:10
Da Stimme ich dir zu, die Matterkennung muss unbedingt noch weiter verbessert werden.

Stockfish verliert deutlich an Stärke im Übergang zum Endspiel und im Endspiel, wenn viele Möglichkeiten vorhanden sind und Stockfish diese aufgrund seiner Selektivität alle mit +0.00 oder +1.00 oder +0.68 usw bewertet.
Gab schon witzige Beispiele hier von mir, wo Stockfish 19 verschiedene Züge gleich bewertete z.B. mit 0.00 von denen z.B. 3 unausweichlich mit 3-Fold Rep endeten. Und das Stockfish trotz seiner Überlegenheit hier 3-Fold Rep spielt anstatt zu versuchen auf Gewinn zu spielen ist sehr schlimm.
Parent - - By Benno Hartwig Date 2014-07-04 00:14

> Stockfish verliert deutlich an Stärke im Übergang zum Endspiel und im Endspiel, wenn viele Möglichkeiten vorhanden sind und Stockfish diese aufgrund seiner Selektivität alle mit +0.00 oder +1.00 oder +0.68 usw bewertet.


Kannst du das irgendwie belegen?
Erst mal kommt mir das wie eine ziemlich abenteuerliche These vor.
Benno
Parent - - By Tom Paul Date 2014-07-04 07:50
Kannst es dir doch ganz einfach selbst belegen, indem du dir die 3-Fold Rep Partien von Stockfish im MV Modus anschaust.
Oder Remis Partien ohne 3-Fold Rep im MV Modus.
Dann genau auf die Bewertungen schaust, bis zu welcher Tiefe sich diese unterscheiden und ab welcher Tiefe alle mit 0.00 Bewertet werden. Dann weißt du nicht nur welche Züge größere Gewinnwahrscheinlichkeiten bieten, sondern auch das 3-Fold Rep gar nicht nötig war.
Bsp. wenn Stockfish gegen Shredder solche Stellungen auf dem Brett hat, dann gibt es zu 99% Remis.
Wenn aber Komodo gegen Shredder solche Stellungen auf dem Brett hat, dann gibt es zu 50% Remis/Siege. Vielleicht auch nur 25% Siege aber der Unterschied ist groß.
Und das nur weil Komodo weniger Tief rechnet wodurch es nur einen besten Zug gibt, denn mit der größten Gewinnwahrscheinlichkeit.
Parent - By Benno Hartwig Date 2014-07-04 08:25

>...indem du dir die 3-Fold Rep Partien von Stockfish im MV Modus anschaust.


Dann schaue aber bitte gleichzeitig auc Partien an, in denen andere murksen.
SF mag unnötigerweise gegen manchen Schwachen remisieren, andere verlieren aber ggf. unnötigerweise gegen Gleichstarke oder Stärkere.

0,00 zeigt IMHO SF an, sobald er erkennt, dass hier ein Weg zu einer (ersten! Hier kann über Verbesserung nachgedacht werden.) Wiederholung führt, und dass alternative Varianten zu Stellungen führen, die von SF schlechter als 0,00 bewertet werden.
So verfahren aus meiner Sicht aber wohl alle Engines, und es ist ja auch OK so.
Die Kritik an SFs Remisneigung rührt aus meiner Sicht eher einfach daher, dass SF ja jedem mehr oder weniger deutlich überlegen ist, dabei aber stets lieber das Remis akzeptiert als mit beispielsweise -0,05 weiterzuspielen. Wenn ich auf Überlegenheit hoffen darf, sollte ich dann aber auch so mutig sein und weiterspielen.
Engines, die ihren Gegnern grundsätzlich mit etwas Überheblichkeit begegnen, sind im großen Feld (mit vielen Schwachen) dann eben erfolgreicher.
(Gegen den Gleichstarken ignorieren sie dann aber ggf. manche Remismöglichkeit)

Benno
Parent - - By Michael Scheidl Date 2014-07-03 16:10
Zitat:
Wäre aber interessant zu wissen, wann Stockfish in der Grundeinstellung aufgrund seiner Selektivität in der Spielstärke gegenüber anderen Programmen zurückfällt, weil mehr Tiefe nicht mehr so viel Elo bringt, wie das Weglassen von Zügen welche verliert.

Derzeit deutet m.E. nichts darauf hin, daß es diesen Punkt überhaupt gibt. Der Nutzen der größeren Tiefe übersteigt nach wie vor den eventuellen Schaden des Prunings bzw. von Reductions (wobei ja, wenn ich richtig verstehe, nichts völlig weggelassen sondern einiges nur weniger tief durchsucht wird).

Als 20 Plies im Wohnzimmer noch praktisch unerreichbar waren, wurde spekuliert ob vielleicht Rechentiefesteigerungen darüber hinaus nichts mehr bringen. Mittlerweile wissen wir längst Bescheid.

Natürlich hängt das alles mit der Gesamtqualität zusammen. Ein Rechentiefegigant wie Exchess ist im Vergleich trotzdem ziemlich schwach; dort könnte tatsächlich zuviel Pruning betrieben werden. Oder andere Ursachen mir unbekannter Natur.
Parent - By Benno Hartwig Date 2014-07-03 18:23

> Derzeit deutet m.E. nichts darauf hin, daß es diesen Punkt überhaupt gibt


Zustimmung.
Wer die statische Bewertung bei Tiefe 32 macht, während der Gegner mit 30 'herumkrebst', hat immer einen Vorteil und macht sein Minimax auf Basis von Informationen, die der Gegner nicht mal einen Halbzug später zu sehen bekommt.
Allerdings ist es in jeder Partiephase höchst(!)wichtig, dass nur gaaanz selten Schnitte passieren, die besser unterlassen worden wären.

Solange Schach nicht durchgerechnet werden kann, werden uns die Überraschungen durch den Horizonteffekt erhalten bleiben. Allerdings wird dies für den Menschen immer schwerer zu erkennen sein.

Benno
Parent - - By Joe Boden Date 2014-07-03 18:56
Code:
Als 20 Plies im Wohnzimmer noch praktisch unerreichbar waren, wurde spekuliert ob vielleicht Rechentiefesteigerungen darüber hinaus nichts mehr bringen. Mittlerweile wissen wir längst Bescheid.


Mit dieser Materie habe ich mich nie wirklich beschäftigt.

Wie sind denn genau die Erkenntnisse zu den Wirkungen der Rechtentiefe?

Kann man das verständlich erklären? Und gilt das generell oder nur bezogen auf Spezifika der Engines. Ich meine, manche Engines finde ja bei Tiefe 10 was andere erst bei Tiefe 14 finden usw.
Wer kann hier mal was dazu technisch/programmiertechnisch erläutern, damit wir das alle in die Birne kriegen.
Parent - By Benno Hartwig Date 2014-07-04 10:30 Edited 2014-07-04 10:46
Nicht 'Erläuterung' sondern nur ein paar Gedanken:

Zunächst mal mag man an eine volle Suche bis zu einer bestimmten Tiefe t (auf Basis der Minimax-Idee) denken, und weil sich deren Endstellungen nicht rein statisch bewerten lassen, erfolgt hier jeweils die Ruhesuche, wohl meist mit der Grundidee:
- ich mache eine statische Bewertung der Position und hoffe, dass irgendeiner der ruhigen Züge oder Schlagzüge das realisieren kann
- ich mache Schlagzüge und ggf. Bauernumwandlungen, gucke ob sich dadurch was verbessern lässt, wobei der Gegner dann dieselbe Idee verfolgen darf.
Einfach und übersichtlich. Hier wäre t dann die Suchtiefe.

Praktisch wird diese Tiefe t jetzt aber permanent rauf und runter verändert, nullmove wird mit vermutlich kleinerer Tiefe validiert, vermutlich ungünstige Züge werden nach Test mit kleinerer Tiefe rausgeworfen, extended futility pruning etc.
Außerdem bleibt es dem Entwickler überlassen, was er in der Ruhesuche außer Schlagzügen ggf. noch in größere Tiefen verfolgen möchte. (Schachgebote, Zugzwangsituationen...)

"Was ist t" ist dadurch dann überhaupt keine einfache Frage mehr.
Vielleicht: der Tiefenwert, mit dem die Engine in eine Suchstufe hineingeht, um dann fleißig daran herumzuschrauben. Jeder Entwickler nach eigenen Ideen und Heftigkeit, mal viel nach oben, oder auch nach unten, und in den meisten Fällen wohl in beide Richtungen.

Benno
Parent - By 2phil4u Date 2014-07-18 16:56 Edited 2014-07-18 17:17
Nein, stimmt schon mit Matt in höchstens 12, nach den ersten 2 Zügen von Houdini findet er ein Matt in 10 !

Stell doch einfach Mattsuche auf 13 und mach den ersten Zug, dann siehtste es auch.

Edit ist sogar ein Matt in 10 insgesamt nach dem Damenschlag.

FEN: r3k2r/ppp3bp/8/2nPp3/6B1/2N3Q1/PPqB2P1/4R1K1 w kq - 0 1

Houdini_4_Pro_w32:b7-b5 8.Sc3xb5 Kc8-b7 9.Dg3xe5 Kb7-a6 10.Sb5xc7+ Ka6-a7 11.De5xa5+ Ka7-b7 12.Sc7xa8 h7-h5
20/25  00:42   52.162k  1.224k  +M13  1.Lg4-h5+ Dc2-g6 2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Sc5-d7 5.Lg5xf6+ Kd8-c8 6.Lf6xh8 b7-b5 7.Lf5xd7+ Kc8-b7 8.Ld7-c6+ Kb7-b6 9.Sc3xb5 Kb6-a6 10.Sb5xc7+ Ka6-b6 11.Sc7xa8+ Kb6-c5 12.Dg3-a3+ Kc5-c4
21/25  01:48   144.147k  1.325k  +M13  1.Lg4-h5+ Ke8-d8 2.Dg3xg7 Dc2-f5 3.Dg7xh8+ Kd8-d7 4.Dh8-g7+ Kd7-c8 5.Lh5-g4 b7-b6 6.Lg4xf5+ Kc8-b7 7.d5-d6 Ta8-e8 8.Dg7xc7+ Kb7-a6 9.Dc7-c6 e5-e4 10.Dc6xe8 Sc5-d7 11.De8xd7 h7-h5 12.Lf5xe4 h5-h4
22/25  02:38   211.391k  1.333k  +M13  1.Lg4-h5+ Ke8-d8 2.Dg3xg7 Dc2-f5 3.Dg7xh8+ Kd8-d7 4.Dh8-g7+ Kd7-c8 5.Lh5-g4 b7-b6 6.Lg4xf5+ Kc8-b7 7.d5-d6 Ta8-e8 8.Dg7xc7+ Kb7-a6 9.Dc7-c6 e5-e4 10.Dc6xe8 Sc5-d7 11.De8xd7 h7-h5 12.Lf5xe4 h5-h4
23/25  04:13   341.747k  1.347k  +M12  1.Lg4-h5+ Ke8-d8 2.Dg3xg7 Dc2-f5 3.Dg7xh8+ Kd8-d7 4.Dh8-g7+ Kd7-c8 5.Sc3-b5 Sc5-d7 6.Lh5-g4 Df5xg4 7.Dg7-h8+ Sd7-f8 8.Dh8xf8+ Kc8-d7 9.Df8-f7+ Kd7-d8 10.Df7xc7+ Kd8-e8 11.Sb5-d6+ Ke8-f8 12.Dc7-f7+

nach

1. lxg6  Dxg6

Noch ein Matt in 9 gefunden !

21/23  00:42   61.239k  1.450k  +M10  2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Th8-f8 5.Lg5xf6+ Tf8xf6 6.Dg3xe5 Tf6-e6 7.d5xe6 Kd8-e8 8.De5-g7 c7-c6 9.e6-e7 Sc5-e6 10.Lf5xe6 a7-a6 11.Dg7-f7+
22/23  00:46   67.409k  1.455k  +M10  2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Th8-f8 5.Lg5xf6+ Tf8xf6 6.Dg3xe5 Tf6-e6 7.d5xe6 Kd8-e8 8.De5-g7 c7-c6 9.e6-e7 Sc5-e6 10.Lf5xe6 a7-a6 11.Dg7-f7+
23/23  01:03   92.503k  1.466k  +M10  2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Th8-f8 5.Lg5xf6+ Tf8xf6 6.Dg3xe5 Tf6-e6 7.d5xe6 Kd8-e8 8.De5-g7 c7-c6 9.e6-e7 Sc5-e6 10.Lf5xe6 a7-a6 11.Dg7-f7+
24/23  01:25   126.141k  1.481k  +M9  2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Th8-f8 5.Dg3xe5 Lf6xg5 6.Sc3-b5 Ta8-c8 7.d5-d6 Sc5-e6 8.De5xe6 Lg5-e3+ 9.Te1xe3 c7xd6 10.De6xc8+
25/23  01:41   151.513k  1.492k  +M9  2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Th8-f8 5.Dg3xe5 Lf6xg5 6.Sc3-b5 Ta8-c8 7.d5-d6 Sc5-e6 8.De5xe6 Lg5-e3+ 9.Te1xe3 c7xd6 10.De6xc8+
26/23  01:59   179.731k  1.500k  +M9  2.Lh5xg6+ Ke8-d8 3.Lg6-f5 Lg7-f6 4.Ld2-g5 Th8-f8 5.Dg3xe5 Lf6xg5 6.Sc3-b5 Ta8-c8 7.d5-d6 Sc5-e6 8.De5xe6 Lg5-e3+ 9.Te1xe3 c7xd6 10.De6xc8+
- - By 2phil4u Date 2014-07-15 20:08 Edited 2014-07-15 20:11
Was mir auffällt in späten Mittelspielstellungen hat Stockfish nicht so viel Plan wie Houdini.

Immer wenn ich Stellungen mit Vorteil für eine Seite durchrechnen lasse, sehe ich bei Stockfish Fantasiewerte, er hat überhaupt kein Wissen, kann nur schnell rechnen.

Houdini dagegen findet die Züge und verbessert die Stellung Zehntelbauerweise, bis er dann irgendwann seine 2 Bauern Vorteil hat und das Ding nach hause fährt.

Stockfish macht auch ständig Zugwiederholungen und kommt dann aufgrund von Zwang auf andere Züge, hier muss noch nachgebessert werden.

Keine Ahnung, was Houdini hier so gut macht in symetrischen Stellungen mit Entwicklungsvorteil (Doppelbauer, weiter vorgerückte Bauern etc).

Stockfish merkt auch nicht, wenn sich das Ergebnis nicht ändert bei zunehmender Tiefe, also immer 1.28 Bauern + angezeigt wird.

Hier muss noch Arbeit geleistet werden bei Stockfish, er verschenkt sicher viel in dieser Phase und spielt dann Remis statt zu gewinnen.

Im world against "wie der auch immer heisst" match lassen sie auch oft Stocki rechnen.

Problem ist halt, dass Stockis Bewertung bei +1 totenremis sein kann, während + 0.5 klar gewinnt, daher Vorsicht, würde bei Fernschach lieber die Candidatemoves von verschiedenen Parteien durchrechnen lassen und wenn wenige Figuren da sind, Stockis Bewertung nicht trauen !
Parent - By Michael Scheidl Date 2014-07-15 21:33
Zitat:
Stockfish macht auch ständig Zugwiederholungen und kommt dann aufgrund von Zwang auf andere Züge, hier muss noch nachgebessert werden.

Das müßte eigentlich jetzt mit dem Contempt 0,20 behoben sein; siehe

http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=82315

und wie immer http://abrok.eu/stockfish/
Up Topic Hauptforen / CSS-Forum / Stockfish rechnet die Welt schön...und hat Erfolg damit

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill