Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Meßdaten zu Branching Faktor und Eloleistung
- - By Stefan Pohl Date 2013-06-20 05:19 Edited 2013-06-20 05:21
Hallo zusammen,

Da die Resultate von Andreas Strangmüller wohl bis zur Fertigstellung noch einige Zeit brauchen, habe ich mal ein kleines (so klein war es gar nicht) Experiment gemacht:

Es wurden hier und auf talkchess von 4 Top-Engines, die auch in meinem LS-Rangliste vertreten sind, die BFs (Branching Factor) gepostet. Diese 4 Engines habe ich nun nochmals je 1000 Partien gegen jeweils 10 Gegner spielen lassen, aber mit nur einem Drittel der Bedenkzeit (15''+167ms statt 45''+500ms). Dann habe ich die Differenz der prozentualen Erfolgsquote in Elo umgerechnet (nachdem ich das Ergebnis der jeweiligen Engine gegen die gleichen 10 Gegner aus der LS-Datenbank rausgefiltert hatte).
Das war das Ergebnis (positive Elozahl bedeutet, daß das Ergebnis mit mehr Bedenkzeit besser war, negative Elozahl bedeutet, daß das Ergebnis mit mehr Bedenkzeit schlechter war), basierend auf 20000 Partien pro Engine (10000 mit kurzer und 10000 mit längerer Bedenkzeit gegen die gleichen Gegner):

Stockfish 3: +22 Elo, BF: 1.59
Komodo CCT: +18 Elo, BF: 1.76
Houdini 3: -1 Elo, BF: 1.86
Critter 1.6a: -6 Elo, BF: 2.05

Man sieht sehr schön, daß meine Behauptung bzw. Prognose, die ich hier vor kurzem aufgestellt hatte, daß die Eloleistung einer Engine mit mehr Bedenkzeit/schnellerer Hardware umso stärker zulegt, je kleiner der BF ist, korrekt war...(wollten ja einige nicht glauben, bzw. meinten es wäre genau umgekehrt).

Stefan
Parent - - By Benno Hartwig Date 2013-06-20 14:25
[quote="Stefan Pohl"]Stockfish 3: +22 Elo, BF: 1.59
Komodo CCT: +18 Elo, BF: 1.76
Houdini 3: -1 Elo, BF: 1.86
Critter 1.6a: -6 Elo, BF: 2.05
Man sieht sehr schön, daß meine Behauptung bzw. Prognose, die ich hier vor kurzem aufgestellt hatte, daß die Eloleistung einer Engine mit mehr Bedenkzeit/schnellerer Hardware umso stärker zulegt, je kleiner der BF ist, korrekt war...(wollten ja einige nicht glauben, bzw. meinten es wäre genau umgekehrt).[/quote]Wäre schon faszinierend, wenn sich dies so bestätigen lassen würde.

Der BF für Stockfish scheint mit 1,59 wirklich wahnsinnig klein zu sein.
Wie ist dieser Wert zustande gekommen?

Benno
Parent - By Michael Scheidl Date 2013-06-20 17:30
Durch Messung, siehe http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=61201

Oder vom Ursprung her: Durch gute Programmierung
Parent - - By Stefan Pohl Date 2013-06-21 02:26
[quote="Benno Hartwig"]
[quote="Stefan Pohl"]Stockfish 3: +22 Elo, BF: 1.59
Komodo CCT: +18 Elo, BF: 1.76
Houdini 3: -1 Elo, BF: 1.86
Critter 1.6a: -6 Elo, BF: 2.05
Man sieht sehr schön, daß meine Behauptung bzw. Prognose, die ich hier vor kurzem aufgestellt hatte, daß die Eloleistung einer Engine mit mehr Bedenkzeit/schnellerer Hardware umso stärker zulegt, je kleiner der BF ist, korrekt war...(wollten ja einige nicht glauben, bzw. meinten es wäre genau umgekehrt).[/quote]Wäre schon faszinierend, wenn sich dies so bestätigen lassen würde.

Der BF für Stockfish scheint mit 1,59 wirklich wahnsinnig klein zu sein.
Wie ist dieser Wert zustande gekommen?

Benno
[/quote]

Wenn Andreas Strangmüller seinen Megatest so wie geplant durchzieht, was ich stark hoffe, dann werden noch deutlich sicherere Resultate vorliegen... Aber generell ist es einfach logisch, daß ein kleinerer BF mit mehr Bedenkzeit oder schnellerer Hardware mehr Elogewinn bedeutet, weil sich die Suche nicht so stark im Variantensuchbaum festfrißt.
Ergo: Stockfish gehört die Zukunft, weil die Hardware in Zukunft schneller wird, was ja heutigen längeren Bedenkzeiten entspricht. Die Turnierbedenkzeit von heute ist das Blitzschach von morgen und das Bullet von übermorgen...

Stefan
Parent - - By Michael Scheidl Date 2013-06-21 05:28
Momentan sieht es so aus, daß im Topsektor hinsichtlich B.F. Stockfish und Critter ein Gegensatzpaar sind. Diese liegen m.o.w. gleichauf, auch auf Listen von mittlerer und langer Bedenkzeit. Der jeweilige B.F. ist unterscheidet sich aber deutlich, und die exponentielle Auswirkung über viele Halbzüge hinweg führt zu gewaltigen Unterschieden. - Aber wieso nicht bei der Spielstärke?

Möglicherweise gibt es Mittelklasse-Engines die noch kleinere B.F. haben als Stockfish; vielleicht Texel oder Quazar... Ich sollte mir das nach demselben Muster gelegentlich ansehen (würde mich aber nicht beschweren wenn jemand anderer das macht ).
Parent - By Andreas Wutzke Date 2013-06-21 05:44
Servus,

welche BF haben denn die aktuellen Versionen der Klassiker Shredder, Hiarcs und Junior?
Kann das mal jemand checken?

Gruß
Andi
Parent - - By Stefan Pohl Date 2013-06-21 05:48 Edited 2013-06-21 05:52
[quote="Michael Scheidl"]
Momentan sieht es so aus, daß im Topsektor hinsichtlich B.F. Stockfish und Critter ein Gegensatzpaar sind. Diese liegen m.o.w. gleichauf, auch auf Listen von mittlerer und langer Bedenkzeit. Der jeweilige B.F. ist unterscheidet sich aber deutlich, und die exponentielle Auswirkung über viele Halbzüge hinweg führt zu gewaltigen Unterschieden. - Aber wieso nicht bei der Spielstärke?
[/quote]

Tut es doch. Die Spielstärke von Stockfish legt mit mehr Zeit überproportional zu und bei Critter eben leicht unterproportional. Der BF sagt nur etwas aus, wenn man Engines mit sich selbst vergleicht (unterschiedliche Bedenkzeiten). Ein Vergleich zwischen 2 Engines aufgrund ihres BFs ist unzulässig, da jede Engine ja anderes Wissen in ihre Suche implementiert hat und andere Varianten in der Suche vertieft bzw. abschneidet. Der BF ist rein Engine-intern, weil jede Engine anders sucht und darf deshalb auch nur so betrachtet werden, bzw. auf Meßdaten angewendet werden.
Der BF ist also zur Betrachtung der absoluten Spielstärke einer Engine - wie in einer Rangliste - völlig nutzlos. Nur die relative Spielstärkesteigerung mit steigender Bedenkzeit oder schnellerer Hardware einer Engine kann mit dem BF in Bezug gesetzt werden!

Stefan
Parent - - By Stefan Pohl Date 2013-06-21 05:57
[quote="Stefan Pohl"]
[quote="Michael Scheidl"]
Momentan sieht es so aus, daß im Topsektor hinsichtlich B.F. Stockfish und Critter ein Gegensatzpaar sind. Diese liegen m.o.w. gleichauf, auch auf Listen von mittlerer und langer Bedenkzeit. Der jeweilige B.F. ist unterscheidet sich aber deutlich, und die exponentielle Auswirkung über viele Halbzüge hinweg führt zu gewaltigen Unterschieden. - Aber wieso nicht bei der Spielstärke?
[/quote]

Tut es doch. Die Spielstärke von Stockfish legt mit mehr Zeit überproportional zu und bei Critter eben leicht unterproportional. Der BF sagt nur etwas aus, wenn man Engines mit sich selbst vergleicht (unterschiedliche Bedenkzeiten). Ein Vergleich zwischen 2 Engines aufgrund ihres BFs ist unzulässig, da jede Engine ja anderes Wissen in ihre Suche implementiert hat und andere Varianten in der Suche vertieft bzw. abschneidet. Der BF ist rein Engine-intern, weil jede Engine anders sucht und darf deshalb auch nur so betrachtet werden, bzw. auf Meßdaten angewendet werden.
Der BF ist also zur Betrachtung der absoluten Spielstärke einer Engine - wie in einer Rangliste - völlig nutzlos. Nur die relative Spielstärkesteigerung mit steigender Bedenkzeit oder schnellerer Hardware einer Engine kann mit dem BF in Bezug gesetzt werden!

Stefan
[/quote]

Zur Verdeutlichung ein kleines Gedankenexperiment: Man könnte ja auch eine Engine programmieren, die alle guten Züge abschneidet und nur schwachsinnige Züge vertieft. Diese Engine könnte auch einen niedrigen (oder hohen) BF haben und hätte trotzdem viel weniger Elo als Stockfish...

Stefan
Parent - - By Michael Scheidl Date 2013-06-21 06:21
Stimmt. Das Faszinosum des Branching-Faktors liegt vermutlich darin, daß er - wenn er klein ist - uns User mit großen Rechentiefen erfreut. Doch das sind nur Zahlen. Im Sinne dessen was Peter Martan hier unlängst sehr treffend ausführte, bin ich ebenfalls dafür daß wir uns viel mehr schönen Zügen zuwenden sollten, statt großen Zahlen. Wurscht ob Elo, Knoten, oder Tiefe. Die Statistik ist wichtig! Aber nicht so wichtig, daß sie die Erörterungen dermaßen dominieren sollte wie derzeit.
Parent - - By Ingo Bauer Date 2013-06-21 07:41
[quote="Michael Scheidl"]
... Die Statistik ist wichtig! Aber nicht so wichtig, daß sie die Erörterungen dermaßen dominieren sollte wie derzeit.
[/quote]

Na ja, das ist eine philosophische Frage. Fakt is das "die Statistik" das Computerschach in den letzten Jahren zu dem "akademischen" Erfolg geführt hat den es offensichtlich nun einmal hatte!
Entweder diese Statistik (aka viele Spiele + Auswertung) ist weiter erfolgreich, dann ist der Forderung nach weniger Stellenwert derselben ein Kampf gegen Windmühlen, oder wir erreichen ein Eloplateau, dann schwingt das Pendel vielleicht wieder um ...

Im Moment sehe ich zumindest kein Plateau.

(Bin aber der erste der sich freut wenn Engines wieder mehr Wissen bekommen. Ich habe wirklich Probleme wenn ich sehe das Engines ob ihres Endspiels gelobt werden, aber elementare Sachen die S11/12 vor Jahren (ohne Sbases oder Tbs) in 0 Sekunden korrekt bewertet hat, auch mit stundenlangem Rechnen nicht hinbekommen)

Gruß
Ingo
Parent - - By Benno Hartwig Date 2013-06-22 09:19
[quote="Ingo Bauer"]...dann ist der Forderung nach weniger Stellenwert derselben ein Kampf gegen Windmühlen...[/quote]Möglichst erfolgreiches Spiel gegen Engines ist wohl halt das wichtigste Entwicklungsziel.
Möglichst erfolgreiches Spiel gegen Menschen könnte Entwicklungsziel sein. Das fällt praktisch aber wohl einfach so mit ab.
Möglichst erfolgreiches Spiel im Fernschach würde mancher begrüßen.
Was sollte deiner Meinung nach das wichtigste Entwicklungsziel für einen Engineentwickler sein, so dass der Windmühlenkampf ein tatsächliches Ziel hätte?
Benno
Parent - - By Ingo Bauer Date 2013-06-22 09:31
Moin,

[quote="Benno Hartwig"]
Was sollte deiner Meinung nach das wichtigste Entwicklungsziel für einen Engineentwickler sein, so dass der Windmühlenkampf ein tatsächliches Ziel hätte?
[/quote]

a) glaube ich nicht das sich Aufgrund verkopfter "Hirngespinste" (siehe oben) etwas ändert und
b) sehe ich keinen Änderungsbedarf und bin ich zufrieden mit dem Status Quo
c) ist meine Meinung da wenig relevant

"Et kütt wie et kütt" sagt der Kölner

Gruß
Ingo
Parent - - By Benno Hartwig Date 2013-06-22 11:00
[quote="Ingo Bauer"]...ich zufrieden mit dem Status Quo [/quote]Das ist schön.
Benno
(ach wenn ich doch auch so wunschlos glücklich wäre. Ich befürchte, dass ich meine letzte Engine noch nicht gekauft habe...)
Parent - By Ingo Bauer Date 2013-06-22 12:36 Edited 2013-06-22 12:43
[quote="Benno Hartwig"]
[quote="Ingo Bauer"]...ich zufrieden mit dem Status Quo [/quote]Das ist schön.
Benno
(ach wenn ich doch auch so wunschlos glücklich wäre. Ich befürchte, dass ich meine letzte Engine noch nicht gekauft habe...)
[/quote]

Da kaufe ich bestimmt auch noch welche , was ich meinte ist, dass ich mit dem gegenwärtigen Model des Testens und der Weiterentwicklung zufrieden bin. Fernschächer interesiert mich nicht (eh alles Remis, dauert ewig und zufällig war die bisherige Engineentwicklung auch genau passend für die) und ansonsten sehe ich nicht das es irgendwelche revolutionären Enginefeatures geben könnte die ich unbedingt bräuchte ...
Und da Engines heute weit jenseits des Menschlichen Horizonts agieren ist auch die Frage ob sie besser in die breite oder Tiefe suchen sollen letztendlich nur eine der erreichbaren besseren Spielstärke (aka ELo), also auch nur eine Frage der Statistik ...

Gruß
Ingo

PS: Ich hätte immer noch gerne das es eine freie TOP-Clusterengine gäbe. Aber das ist nicht Trivial und ob sich jemand hinsetzt und das vermarktet weiß ich nicht. Engineentwickler mit einer TOP Engine behalten das für sich um ihre Chancen bei evtl Wettkämpfen zu erhöhen und freie Entwickler di edaran Interesse haben, sind nicht auch noch so bekloppt wie ich (und andere) und stellen sich X-Rechner zu Hause hin. Aber, das geht auch ohne, es ist nicht so das ich mein Lebensziel ohne Cluster nicht finde
Parent - - By Stefan Pohl Date 2013-06-22 08:34
[quote="Michael Scheidl"]
Stimmt. Das Faszinosum des Branching-Faktors liegt vermutlich darin, daß er - wenn er klein ist - uns User mit großen Rechentiefen erfreut. Doch das sind nur Zahlen. Im Sinne dessen was Peter Martan hier unlängst sehr treffend ausführte, bin ich ebenfalls dafür daß wir uns viel mehr schönen Zügen zuwenden sollten, statt großen Zahlen. Wurscht ob Elo, Knoten, oder Tiefe. Die Statistik ist wichtig! Aber nicht so wichtig, daß sie die Erörterungen dermaßen dominieren sollte wie derzeit.
[/quote]

Ich finde, daß die statistischen Zahlen fürs Computerschach sehr wichtig sind, und wir froh sein können, daß wir heute Hardwareressourcen haben, die halbwegs sichere Statistiken überhaupt möglich machen. Daher befasse ich mich ausgiebig und gerne mit allen Zahlenwerten des Computerschachs. Ich hab andererseits natürlich überhaupt nix dagegn, wenn andere lieber schöne Züge auf sich wirken lassen (ist sicher meditativ), was mich allersdings doch sehr stört, ist, daß sich Leute darüber beklagen, daß das hier zuwenig stattfindet. Wer hier einen Mangel konstatiert, soll doch bitte dann entsprechende Postings im Forum beitragen, anstatt das Fehlen derselben zu beklagen.
Als ich festellen mußte, daß alle mir bekannten Engine-Ranglisten nach meiner Auffassung mehr oder weniger mangelhafte Testbedingungen aufwiesen, habe ich eine eigene Rangliste erstellt und online mit der Community geteilt, die meine  Ansprüchen besser genügt. Und das mit seinerzeit nur einem Quadcore-Notebook (jetzt 2). Also mit wenig Ressourcen, aber dafür mit viel Enthusiasmus.
Ergo: Bitte nicht über zuwenig Aktivitäten zu einem Computerschachthema wehklagen, sonder selber machen...

Stefan
Parent - By Thorsten Czub Date 2013-06-22 08:46
Statistik ist der Versuch eine Erkenntnis mit Zahlen zu verifizieren die längst gewonnen wurde.

Du kannst ja mal versuchen mit Statistik dein Auto zu reparieren.
Parent - - By Benno Hartwig Date 2013-06-21 19:55
[quote="Stefan Pohl"]Aber generell ist es einfach logisch, daß ein kleinerer BF mit mehr Bedenkzeit oder schnellerer Hardware mehr Elogewinn bedeutet, weil sich die Suche nicht so stark im Variantensuchbaum festfrißt.[/quote]"Kleiner BF" bringt aber sicher nicht grundsätzlich Stärke. Entscheidend wird wohl immer die Verlässlichkeit der spekulativen Cuts sein.
Ein gut ausgedünnter Baum, in dem zu Beginn bereits etwas zu mutig herausgeschnitten wurde, wird nichts davon haben, dass er so besonders weit in die Tiefe gekommen ist.
Benno
Parent - - By Stefan Pohl Date 2013-06-22 02:41
[quote="Benno Hartwig"]
[quote="Stefan Pohl"]Aber generell ist es einfach logisch, daß ein kleinerer BF mit mehr Bedenkzeit oder schnellerer Hardware mehr Elogewinn bedeutet, weil sich die Suche nicht so stark im Variantensuchbaum festfrißt.[/quote]"Kleiner BF" bringt aber sicher nicht grundsätzlich Stärke. Entscheidend wird wohl immer die Verlässlichkeit der spekulativen Cuts sein.
Ein gut ausgedünnter Baum, in dem zu Beginn bereits etwas zu mutig herausgeschnitten wurde, wird nichts davon haben, dass er so besonders weit in die Tiefe gekommen ist.
Benno
[/quote]

Nein, nicht grundsätzlich, sondern bei mehr Rechenzeit zusätzlich. Das ist was ganz anderes. Ich kann mich nur wiederholen: Der BF sagt nichts über die absolute Spielstärke einer Engine aus, sondern nur über den relativen Spielstärkezugewinn bei mehr Rechnzeit oder schnellerer Hardware. Auch eine schlechte Engine mit sehr geringem BF wird mit mehr Zeit überproportional in der Spielstärke zulegen, wäre aber verglichen mit anderen, starken Engines immer noch schlecht.

Stefan
Parent - - By Benno Hartwig Date 2013-06-22 06:22
[quote="Stefan Pohl"] Auch eine schlechte Engine mit sehr geringem BF wird mit mehr Zeit überproportional in der Spielstärke zulegen, wäre aber verglichen mit anderen, starken Engines immer noch schlecht.[/quote]Ich bin mal gespannt, ob sich diese These bestätigt. Der schlechte Zug durch einen falschen Cut bleibt ein schlechter Zug, ganz egal, wohin du die Suchtiefen steigerst. Von daher hätte ich eher vermutet, dass etwas zu lockeres Schneiden den Stärkegewinn durch längere Zeiten eher besonders stört.
Aber, OK, wenn mich jetzt die Beobachtung widerlegt, werde ich eben dazu lernen.

Benno
Parent - - By Stefan Pohl Date 2013-06-22 08:20 Edited 2013-06-22 08:22
[quote="Benno Hartwig"]
[quote="Stefan Pohl"] Auch eine schlechte Engine mit sehr geringem BF wird mit mehr Zeit überproportional in der Spielstärke zulegen, wäre aber verglichen mit anderen, starken Engines immer noch schlecht.[/quote]Ich bin mal gespannt, ob sich diese These bestätigt. Der schlechte Zug durch einen falschen Cut bleibt ein schlechter Zug, ganz egal, wohin du die Suchtiefen steigerst. Von daher hätte ich eher vermutet, dass etwas zu lockeres Schneiden den Stärkegewinn durch längere Zeiten eher besonders stört.
Aber, OK, wenn mich jetzt die Beobachtung widerlegt, werde ich eben dazu lernen.

Benno
[/quote]

Warten wir mal die Ergebnisse von Andreas Strangmüller ab. Ich habe ja nur 4 Engines überprüft...Ich finde die These zwar aus prinzipiellen Überlegungen heraus logisch, aber Meßdaten sind immer besser als nur Überlegungen...
Was auf jeden Fall Fakt ist, ist daß moderne Engines, die ja auch für moderne Hardware entwickelt wurden, generell deutlich niedrigere BFs haben, als alte Engines, die für langsamere Hardware entwickelt wurden (z.B. ProDeo). Ein BF von etwa 2 oder, wie im Fall von Stockfish sogar nur 1.59, wäre im Brettcomputerzeitalter undenkbar gewesen und hätte in eine Elo-Katastrophe geführt. Das ist auch nur 2 Mal versucht worden, soweit mir bekannt, nämlich bei Botwinniks Pionier und beim Mephisto 3. Beide Versuche gingen komplett in die Hose. Daraus kann mann eben m.E. folgern, daß der BF um so kleiner werden kann, je schneller die Hardware ist, was ja äquivalent zu längerer Bedenkzeit ist. Und das man das eben auch tun sollte, weil dann umso weniger Rechenzeit für sinnlose Varianten vergeudet wird (und diese Entwicklung beobachten wir ja bei modernen Engines). Und je weniger Rechenzeit man vergeudet, desto mehr Rechenzeit nutzt man logischerweise sinnvoll,d.h. für Elo-Zugewinn. Ergo ist niedrigerer BF gleich mehr Elozugewinn bei mehr Hardwarepower und/oder Rechenzeit. Wie gesagt, ich finde diese Überlegung in sich logisch und alle bisherigen aktuellen Meßdaten und Beobachtungen aus der Computerschach-Historie stützen diese These ebenfalls.
Aber genau wie du gehe ich ans Computerschach wissenschaftlich heran, was bedeutet, wenn es Meßdaten bzw. Beobachtungen geben sollte, die diese These widerlegen, dann betrachte ich die These als widerlegt und lerne so was dazu...

Stefan
Parent - - By Frank Brenner Date 2013-06-22 15:12
Botwinnik hat niemals ein Schachprogramm programmiert.

Nitsche und Henne haben ein Schachprogramm programmieren welches nicht dem damals klassichen Brute-Force Ansatz entspricht (also Minimax mit ab) , sondern eher ein "intelligentes" Programm. Dabei waren sie nicht sonderlich erfolgreich. Das lag aber nicht an der schwachen Hardware oder einem kleinen oder großen BF, sondern ganz einfach weil die beiden Programmierer nicht clever genug waren.

Die Ursache wieso früher die Schachprogramme so einen großen BF hatten lag nicht darin begründet weil die alte Hardware von damals mit einem kleinen BF schlechter spielt, sondern weil die Spielalgorithmen damals bei weitem noch nicht so effizient ausgetüftelt waren wie heute.

Selbstverständlich kann auch eine alte Hardware von damals mit einem Schachprogramm besser spielen welches einen kleinen BF hat, wenn heute ein guter Programmierer sich hinsetzen würde und für eine alte Hardware ein Programm optimieren würde...

Der  BF allein reicht aber nicht aus um die SPielstärke für lange Bedenkzeiten zu beurteilen. Genauso wichtig wie der BF ist die qualität des Suchbaums. Und genau diese Qualität wird in den Tests bis jetzt noch nicht bewertet.

Eine Engine mit einem kleinen BF mit schlechtem Suchbaum kommt zwar schneller tiefer in den Baum hinein (und der geschwindigkeitsunterschied wird immer größer je länger die Engines rechne) , aber die Spielstärke des Schachprogramms als ganzes kann ohne weiteres kleiner sein als die Spielstärke eines Programms das einen großen BF hat aber wo der Suchbaum qualitativ "besser" ist.

Auch der Spielstärkezuwachs bei einer ständigen Verdopplung der Bedenkzeit kann bei einem Schachprogramm mit kleinerem BF jeweils geringer ausfallen als bei einem Schachprogamm mit großem BF. (Hier und da kann es durchaus Ausreißer geben, was zählt ist der durchschnittliche Elozuwachs bis hin sagen wir mal bis zu einer Bedenkzeit von 3 Tagen pro Zug.

Der Spielstärkezuwachs bei nur einer Bedenkzeitverdopplung (sagen wir von 100ms auf 200ms) ist hierbei nur ein winziger Baustein. Man muss schon sehr viele Geschwindigkeitsverdopplungen durchführen und dann erhält man eine Sequenz von Meßwerten (Elo-Zuwächsen). Erst wenn mann so viele Messwerte hat dass man zuverlässig die so entstehende Kurve interpolieren kann braucht man keine weiteren Meßwerte mehr. Ich tippe man braucht so etwa 15-40  Meßwerte die man haben muss ...
In den Schachprogrammen in der Suche kommen viele Konstante Zahlen vor, insbesondere dannbraucht man viele Meßwerte, da die kurve knicke wegen den fixen Konstanten Knicke macht, (Knicke in der 0,1,2 oder 3. Ableitung)

Du hast so wie ich das in einem der Ursprünglichen Beiträge von dir entnommen habe bisher nur einen einzigen Meßwert. Das ist viel  zu wenig. Ich bin mir auch nicht so ganz sicher was du da gemacht hast, es kann sein dass die Methode falsch war.
Parent - - By Michael Scheidl Date 2013-06-22 16:48
Im Kern dreht sich diese Diskussion um die Frage, was ist besser: Sehr gute Bewertung (inkl. der Auswirkung von sämtlichen Prunings und Reductions) auf geringerer Tiefe, oder weniger gute Bewertung auf größerer Tiefe. Das ist nicht neu und es ist klar, daß es zwischen beiden Faktoren einen Trade-off gibt. Die Frage ist, wo ist die optimale Balance und durch welche Engine wird sie repräsentiert. - Es wäre schwer zu argumentieren warum eine andere als die jeweils Elo-beste Engine dieses Optimum repräsentieren sollte.

Das Gegensatzpaar hinsichtlich dessen scheint mir Critter und Stockfish zu sein.
Parent - - By Stefan Pohl Date 2013-06-23 02:24
[quote="Michael Scheidl"]
Im Kern dreht sich diese Diskussion um die Frage, was ist besser: Sehr gute Bewertung (inkl. der Auswirkung von sämtlichen Prunings und Reductions) auf geringerer Tiefe, oder weniger gute Bewertung auf größerer Tiefe. Das ist nicht neu und es ist klar, daß es zwischen beiden Faktoren einen Trade-off gibt. Die Frage ist, wo ist die optimale Balance und durch welche Engine wird sie repräsentiert. - Es wäre schwer zu argumentieren warum eine andere als die jeweils Elo-beste Engine dieses Optimum repräsentieren sollte.

Das Gegensatzpaar hinsichtlich dessen scheint mir Critter und Stockfish zu sein.
[/quote]

Naja, also zumindest was mich angeht, dreht sich die Diskussion um was ganz anderes, nämlich um die Frage, ob sich der relative Elozugewinn einer Engine mit mehr Bedenkzeit oder besserer Hardware umgekehrt proportional zum BF verhält. Ganz egal, wie die Suche bei dieser Engine implementiert ist oder wieviel Schachwissen sie hat. Da die Engine nur mit sich selbst verglichen wird, ist das ohne Belang.
Irgendwie schaffe ich es wohl leider nicht, das hinreichend klar zu erläutern...

Auch ließe sich aus dieser, meiner These - so sie denn stimmt (warten wir doch mal Andreas Strangmüllers Resultate ab!) - im Umkehrschluß folgern, daß Programme mit geringem BF bei weniger Bedenkzeit oder auf uralter Hardware überproportional Elo abbauen würden, weswegen ich eben meine, daß zu Brettcomputerzeiten ein Programm wie Stockfish gegen die damaligen Spitzenprogramme wohl übel eingegangen wäre, weil die damaligen Spitzenprogramme einen viel höheren BF hatten (und eben haben mußten!).

Sollten die Resultate von Andreas Strangmüller meine These untermauern, starte ich noch mal einen Versuch, das Ganze zu erläutern. Bis dahin lasse ich es jetzt mal gut sein. Vielleicht hab ich ja Unrecht, dann ist der Aufwand überflüssig.

Stefan
Parent - - By Benno Hartwig Date 2013-06-23 05:17
[quote="Stefan Pohl"]Sollten die Resultate von Andreas Strangmüller meine These untermauern...[/quote]Ich bin gespannt was weitere Beobachtungen zeigen.
Du findest deine These 'logisch', ich finde sie 'überraschend'.
Wenn der BF tatsächlich bei verschiedenen Bedenkzeiten einen unterschiedlichen Einfluss hat, dann hätte ich eher vermutet, das ein größerer BF bei längeren Zeiten vorteilhaft ist.
("Bei längeren Zeiten wird die Qualität der einzelnen Zuganalyse immer besser. Die schlechte 'Qualität' eines fehlerhaften spekulativen Cuts bleibt aber stets gleich." Sollte das nicht ein Grund sein, immer strenger darauf zu achten, dass kaum fehlerhaft Cuts autauchen?)

Gerade SF hat damit wohl auch wirklich mit fehlerhaften Cuts zu kämpfen. In erstaunlich vielen Partien kann man beobachten, wie SF eine Stellung z.B. bei Tiefe der Vollsuche ausgeglichen bewertet, dann macht der Gegner seinen Zug, und SF erkennt dann bei nur sehr wenigen(!) plys Tiefe, dass es schlecht um ihn steht. Ein Ergebnis eines spekulativen Cuts, der in die Hose ging? "Oh, den Antwortzug verfolgte ich nicht, der kam mir einfach zu blöd vor!"

Benno
Parent - By Stefan Pohl Date 2013-06-23 07:16
[quote="Benno Hartwig"]
Du findest deine These 'logisch', ich finde sie 'überraschend'.
Wenn der BF tatsächlich bei verschiedenen Bedenkzeiten einen unterschiedlichen Einfluss hat, dann hätte ich eher vermutet, das ein größerer BF bei längeren Zeiten vorteilhaft ist.

Benno
[/quote]

Hi Benno,

Logisch und überraschend schließt sich ja nicht aus... Bevor ich eingehender über dieses Thema nachgedacht habe, hätte ich ad hoc wohl auch gemeint, daß ein höherer BF bei mehr Bedenkzeit besser ist. Inzwischen - auch dank meines Experiments, dessen Ergebnisse mich auch überrasht haben - bin ich aber zur gegenteiligen Meinung gekommen, und je mehr ich darüber nachdenke, desto überzeugter bin ich von diesem kausalen Zusammenhang. Auch habe ich auf playchess beobachtet, daß z.B. Ivanhoe bei längeren Bedenkzeiten bei mir sehr viel seltener noch umschwenkt, wenn es um den bestmöglichen Zug geht, als Stockfish.
Auch das knappe Ergebnis im TCEC-Finale mit seiner langen Bedenkzeit+der Super-Hardware, wo Stockfish praktisch gleichauf mit Houdini 3 war, gibt zu denken - wenn auch die geringe Partienzahl eine große Restunsicherheit bedeutet.

Wir werden hoffentlich klar sehen, wenn der Test von Andreas Strangmüller durch ist, da haben wir dann ja drei genaue Elolisten mit drei unterschiedlichen Bedenkzeitstufen...
Sollte auch dieser Test meine These bestätigen, hätten wir alle wieder was Neues über das Computerschach gelernt. Und das ist für mich einer der schönsten Aspekte an diesem eigentlich seltsamen Hobby: Obwohl ich mich nun seit mehr als 30 Jahren intensiv mit Computerschach beschäftige, kann ich imme noch etwas dazulernen und sogar überrascht weden. Welches Hobby bietet schon solche Reichhaltigkeit?

Stefan
Parent - By Thorsten Czub Date 2013-06-23 10:25
Nitsche und Henne haben ein schachprogramm geschrieben das mit nur 1-3 NPS ein sehr gutes Schach spielte.
Das haben sie Geschafft indem das Programm einen sehr kleinen suchbaum gehabt hat. Mephisto 3 hatte eine 3 geteilte suche.
Das. Programm war also in der Lage durch viel Pruning genau die wenigen Äste zu verfolgen die relevant sind.

Sonst könnte das Programm gar nicht spielen. Dabei muss man sagen das die suche von nitsche und Henne schon damals den nullmove drin hatte, wenn das. Auch nicht so explizit verstanden wurde.
Gerade die Version auf motorola Hardware, also 16 Bit, spielt sehr gutes Schach. Und In den emulatoren die es schaffen teilweise sehr hohe Takte zu emulieren schneidet Mephisto III auch sehr gut ab. Mephisto III hat nicht umsonst einen Weltmeistertitel erhalten.
Das. Das. Enem kommerziellen Programm gelungen ist, auf normaler Hardware, und nicht einem Uni Projekt auf Großrechner ist für mich ein Zeichen der Intelligenz der Programmierer. Ich halte es für schlechten Stil die beiden hier zu verunglimpfen.
Sie haben dem computerchess sehr viel gegeben. Sind dann von h+g wie eine heiße Kartoffel fallengelassen worden. Und durch Richard lang ersetzt worden. Richard lang hatte dann irgendwann das Problem das seine Assembler Programme mit der Asymmetrie wohl sehr viele wms gewannen, er aber das eigentliche Programm nicht mehr wirklich verbessern könnte. Das wäre mit nitsche und Henne wahrscheinlich anders gewesen.
Parent - - By Benno Hartwig Date 2013-06-23 05:40
Mich würde auch (bei allen Engines) interessieren, ob wie sich dieser BF in verschiedenen Ebenen des Suchbaumes zeigt.
Rein alpha-beta-bedingt möchte ich erwarten, dass auf den Ebenen der Gegnerzüge anteilmäßig mehr Cuts kommen (ein kleinerer BF) als auf den Ebenen der eigenen Züge.

Dazu kommt noch bei den spekulativen Cuts, dass es eigentlich nicht selbstverständlich ist, dass sie gleichermaßen bei eigenen und gegnerischen Zügen angewandt werden.
Ein fehlerhafter Cut bei eigenen Zügen bedeutet ja 'nur'; "Hier habe ich möglicherweise eine eigene Chance übersehen. Schade eigentlich. Was ich aber errechnete, werde ich erreichen!"
Ein fehlerhafter Cut bei den Gegnerzügen bedeutet aber: "Er kann mir ggf. was Fürchterliches um die Ohren hauen, an dem ich glatt vorbeigeguckt habe."
Ggf. ist ja auch sinnvoll bei den Gegnerzügen etwas zurückhaltender zu schneiden?

Benno
Parent - By Stefan Pohl Date 2013-06-23 07:22
[quote="Benno Hartwig"]
Mich würde auch (bei allen Engines) interessieren, ob wie sich dieser BF in verschiedenen Ebenen des Suchbaumes zeigt.
Rein alpha-beta-bedingt möchte ich erwarten, dass auf den Ebenen der Gegnerzüge anteilmäßig mehr Cuts kommen (ein kleinerer BF) als auf den Ebenen der eigenen Züge.

Dazu kommt noch bei den spekulativen Cuts, dass es eigentlich nicht selbstverständlich ist, dass sie gleichermaßen bei eigenen und gegnerischen Zügen angewandt werden.
Ein fehlerhafter Cut bei eigenen Zügen bedeutet ja 'nur'; "Hier habe ich möglicherweise eine eigene Chance übersehen. Schade eigentlich. Was ich aber errechnete, werde ich erreichen!"
Ein fehlerhafter Cut bei den Gegnerzügen bedeutet aber: "Er kann mir ggf. was Fürchterliches um die Ohren hauen, an dem ich glatt vorbeigeguckt habe."
Ggf. ist ja auch sinnvoll bei den Gegnerzügen etwas zurückhaltender zu schneiden?

Benno
[/quote]

Sicherlich muß der BF nicht auf allen Suchtiefen konstant sein. Denkbar wäre auch in den allerersten Halbzügen einen deutlich höheren BF zu haben, um eine gewisse Sockelrechentiefe zu erreichen, auf der nix übersehen wird. So wie es früher Chess Genius gemacht hat, der einige Halbzüge sogar bruteforce, also komplett, durchgerechnet hat und erst darüber überhaupt Varianten selektiert hat. Und er war damit ja seinerzeit auch sehr erfolgreich.

Stefan
Up Topic Hauptforen / CSS-Forum / Meßdaten zu Branching Faktor und Eloleistung

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill