Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Fortschrittsproblem vor Lösung?
- - By Michael Scheidl Date 2011-11-22 12:20
Endlich wird das ominöse Fortschrittsproblem im Computerschach angegangen, also die Schwierigkeiten von Schachprogrammen zu verstehen, daß in bestimmten Situationen "mit normalen Mitteln" nichts zu erreichen ist. Es war sozusagen eines der letzten menschlichen Refugien, wo man Engines dumm aussehen lassen konnte.

Siehe http://talkchess.com/forum/viewtopic.php?t=41165

Die Testpositionen welche dort angeführt sind:


[Event "WB.-Forum"]
[Site "?"]
[Date "2003.??.??"]
[Round "?"]
[White "Testposition"]
[Black "eingesperrte Figur"]
[Result "1/2-1/2"]
[SetUp "1"]
[FEN "4knQ1/7r/3p2p1/2bP1pP1/5P1N/6K1/8/8 b - - 0 1"]
[PlyCount "3"]

1... Rxh4 $1 2. Kxh4 Bd4 $11 1/2-1/2


[Event "CCC/R.H. 2011"]
[Site "San Juan"]
[Date "1974.??.??"]
[Round "6"]
[White "Spassky, Boris V"]
[Black "Byrne, Robert E"]
[Result "1-0"]
[ECO "B52"]
[WhiteElo "2650"]
[BlackElo "2595"]
[SetUp "1"]
[FEN "2k5/p7/Pp1p1b2/1P1P1p2/2P2P1p/3K3P/5B2/8 w - - 0 50"]
[PlyCount "19"]

50. c5 $1 dxc5 51. d6 Kd7 52. Bxc5 Bd8 53. Bb4 Ke6 54. Kc4 Bf6 55. Bc5 Bd8 56.
Bd4 Kxd6 57. Be5+ Ke6 58. Bb8 Kd7 59. Kd5 1-0
Parent - - By Benno Hartwig Date 2011-11-22 15:03
Eine Engine, die sich bei einem Zug nach und nach 20 plys-Hauptsuche in die Tiefe arbeitet und jeweils zu einer annähernd gleich Bewertung kommt, könnte einige Schlüsse ziehen:
Code:
Fall 1) gute Bewertung -> "Ich stehe zwar die ganze Zeit gut, aber, verdammt, ich komme irgendwie nicht weiter!"
Fall 2) ausgeglichene Bewertung -> "sieht wirklich remislich aus. Ich sehe keinen Gewinn, und auch keine Gefahr."
Fall 3) schlechte Bewertung -> "Ich stehe zwar schlecht, aber, juchu, der Gegner hat aber irgendwie keinen Weg, dies auszunutzen!"

Dies zu erkennen, könnte man einer Engine leicht beibringen.
Für 3) würde das bedeuten: "Ist doch prima, weiter so."
Für 2) würde das bedeuten: "Ist OK, vielleicht ist mein Gegner ja wirklich sehr stark."
Für 1) würde das bedeuten: "Mist, ich muss was ändern. Hat sich der Stellungstyp dann denn geändert? Ich muss ggf. eine Stellung anstreben, die zur Not auch etwas schlechter ist, die aber Dank ihrer Andertsartigkeit neue Chancen ermöglicht."
Hier wäre notwendig, nicht nur den Wert einer Stellung zu beurteilen, sondern etwa in Form eines Hashwertes auch ihr 'Art', sodass ich die Gleichartigkeit oder Andersartigkeit von Stellungen beurteilen kann. Ggf. könnte das einfach am Material auf dem Brett ansetzen.
"Im Laufe der 20 plys bleibt der Stellungswert ungefähr gleich toll. Aber wenn ich schon keinen Bewertungsgewinn aus irgendeiner Kombination ziehen konnte, so habe ich doch wenigstens die Stellung grundsätzlich ändern können, sodass sich neue Chancen ergeben! Der Wert ist nur fast so toll, aber die Stellung bietet neue Chancen."

Konsequenterweise könnte auch für 3) auch modifiziert werden:
"Ich stehe ja schlecht. Auch wenn ich mit einer Kombination und dabei einer deutlichen Stellungsänderung die Bewertung geringfügig verbessern könnte, versuche ich doch lieber die Stellung kaum zu verändern. Der Gegner kann ja keinen Plan sehen, wie er dies ausnutzen kann."

Benno
Parent - - By Michael Scheidl Date 2011-11-22 17:06
Meine Idee war ja, daß Engines im Partieverlauf (egal ob Spiel oder Analyse) den Bewertungsverlauf speichern und mit berücksichtigen, und somit wissen ob z.B. +4 über 20 Züge hinweg nicht zunimmt.

Ich habe das IIRC einige Male vorgeschlagen um der "Fortschrittsproblematik" Herr zu werden, aber das hat die Programmierer nicht interessiert: Man kann so die Remissituationen nicht vermeiden, sondern nur nachträglich evtl. besser bewerten (das ist allerdings nur aus der an sich oder scheinbar in Vorteil befindlichen Seite gedacht). Der Gedanke daß, wenn man es schon nicht vermeiden konnte, wenigstens richtiges Bewerten trotzdem besser ist, konnte konkurrenzbetonten Programmierern bisher nur schwer vermittelt werden. War offenbar wurscht.

Robert Houdart ist da erfreulicherweise ein anderes Kaliber mit besserer User-Orientierung. Letztere muß man von Amateurprogrammierern die uns ihre Schöpfungen als Freeware schenken, ja auch nicht unbedingt verlangen. Von den Profis soll angeblich de Koning (The King bzw. Chessmaster) eine solche Logik wie Houdini 2.0c sie jetzt optional kann, bereits angewendet haben. Ich kann mich aber nicht erinnern, daß das früher jemals irgendwann in Computerschachforen bemerkt worden wäre.
Parent - By Benno Hartwig Date 2011-11-22 17:17
[quote="Michael Scheidl"]Der Gedanke daß, wenn man es schon nicht vermeiden konnte, wenigstens richtiges Bewerten trotzdem besser ist, konnte konkurrenzbetonten Programmierern bisher nur schwer vermittelt werden.[/quote]So wie ich es mir vorstelle (und man kann es gern um einige Züge in die Vergangenheit fortsetzen: "Ich komme nicht weiter!" wenn innerhalb der Suche keine Fortschritte gefunden werden und vor 5 Zügen auch schon eine sehr ähnliche Stellung auf dem Brett war), würde man so ja bisweilen bessere Züge finden, einen Fortschritt erreichen wo ansonsten noch lange im nur-schön-aussehenden Trüben herumgerührt würde.
Allerdings würde das ggf. zu keiner wirklich besseren Punktausbeute führen, denn sobald sich die Engine jetzt dem 50-Züge-remis nähert, ist sie ja auch jetzt bereit z.B. einen Abtausch zu machen (und damit eine ggf. wesentlich andere Stellung herbeizuführen), auch wenn die eigentliche Stellungsbewertung dadurch geringfügig schlechter wird.
Die stärker stehende Engine gewinnt ggf. auch jetzt fast immer, allerdings schiebt sie sich zwischendurch mal langweilend zunächst erst mal fast bis zum 50-Züge-remis hin.

Benno
Parent - By Michael Scheidl Date 2011-11-23 10:28
Jemand hat die Quelle der ersten Position gefunden. Ich hätte vermutet daß es eine konstruierte Stellung ist, aber sie kam tatsächlich in einer Partie vor:

[Event "Hoogovens"]
[Site "Wijk aan Zee"]
[Date "1986.01.??"]
[Round "12"]
[White "Ree, Hans"]
[Black "Hort, Vlastimil"]
[Result "1/2-1/2"]
[ECO "A53"]
[WhiteElo "2455"]
[BlackElo "2545"]
[SetUp "1"]
[FEN "4knQ1/7r/3p2p1/2bP1pP1/5P1N/6K1/8/8 b - - 0 59"]
[PlyCount "7"]

59... Rxh4 $1 60. Kxh4 Bd4 61. Kg3 Ke7 62. Kf3 Ba1 1/2-1/2
Up Topic Hauptforen / CSS-Forum / Fortschrittsproblem vor Lösung?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill