Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Brainfish - fair oder unfair
- - By Stefan Pohl Date 2016-07-26 07:49 Upvotes 3
Fair oder nicht fair? Ich habe nun von diversen Leuten in diversen Foren immer wieder gelesen, daß es unfair ist bzw. wäre, Brainfish mit den normalerweise üblichen Testbedingungen zu testen. Also mit fixen Vorgabestellungen, wie das in den meisten Ranglisten üblich ist. Oder mit einem vorgeschalteten Eröffnungsbuch. Daß also jede Engine in einem Wettkampf ein vorgeschaltetes Eröffnungsbuch benutzt, das von der GUI angesteuert wird - auch Brainfish. Daß also Brainfish wie eine ganz normale Engine behandelt wird.
Dies sei anderen Engines gegenüber unfair, weil Brainfish ja ein eingebautes Eröffnungsbuch besitzt, was andere Engines nicht besitzen. Und daher sollte man Brainfish nicht in Ranglisten aufnehmen.
Dazu möchte ich einen ausdrücklich gegensätzlichen Standpunkt vertreten. Und zwar aus einigen m.E. durchaus triftigen Gründen.
Zunächst möchte ich feststellen, daß es natürlich korrekt ist, daß Brainfish über eine eingebaute Datenbank mit z.Zt. ca. 4.5 Millionen Stellungen verfügt. Und es ist natürlich auch korrekt, daß andere Engines so eine Datenbank momentan nicht haben. Und es ist korrekt, daß Brainfish durch den Zugriff auf diese Datenbank Bedenkzeit einspart, die im späteren Partieverlauf für vertiefte Berechnungen verwendet wird.
Es ist somit völlig klar, daß Brainfish durch die Datenbank, also die Ceberellum Library, einen klaren Vorteil gegenüber konventionellen Engines hat.
Daraus aber zu folgern, daß dieser erlangte Vorteil anderen Engines gegenüber unfair sei, halte ich für zu oberflächlich gedacht. Warum?
Zunächst ist es so, daß sich die Ceberellum Library zwar so verhält, als sei sie ein konventionelles Eröffnungsbuch, indem Brainfish die aktuelle Brettstellung dort nachschlägt und falls er für diese Stellung einen Zug in der Library findet, diesen sofort ausspielt. Daß heißt aber noch lange nicht, daß die Library ein konventionelles Eröffnungsbuch ist. Denn ein konventionelles Eröffnungsbuch besteht entweder aus Stellungen/Zügen, die aus großen Partiedatenbanken statistisch erzeugt wurden, oder aus Zügen, die manuell eingetragen wurden. Oder aus einer Kombination dieser beiden Methoden.
Die Ceberellum Library besteht hingegen ausschließlich aus Stellungen/Zügen, die von der Stockfish-Engine (die Brainfish ja zugrunde liegt) selbst errechnet wurden. Daß heißt, daß Brainfish beim Zugriff auf die Library ausschließlich auf die Ergebnisse eigener, vorab durchgeführter, Berechnungen zugreift. Das unterscheidet die Library fundamental von jedem anderen, jemals erstellten Eröffnungsbuch. Und es entspricht zudem der üblichen Vorgehensweise starker, menschlicher Schachspieler, die auch in der Vorbereitung eigene Eröffnungszüge erarbeiten und in ihrem Gedächtnis speichern. Niemand käme auf die absurde Idee, einem Großmeister deswegen Unfairneß vorzuwerfen. Und ebenso wie Brainfish, spart auch ein menschlicher Schachspieler am Brett Bedenkzeit ein, wenn er auf Eröffnungszüge aus seinem Gedächtnis zugreift, die er sich zuvor in der häuslichen Analyse erarbeitet hat.
Das Abspeichern früherer Berechnungen und das erneute Zugreifen auf diese Berechnungen, so wie es die Ceberellum Library macht, ist also lediglich ein neues Feature, daß es so in anderen Engines (noch?) nicht gibt. Zudem ähnelt dieses Feature prinzipiell durchaus dem Konzept der Hashtables, wo auch Berechnungen abgespeichert werden, damit später erneut darauf zugegriffen und so von früheren Berechnungen erneut profitiert werden kann. Und auch die Hashtables waren vor vielen Jahren mal ein solch neues Feature, daß andere Schachprogramme (bzw. Brettcomputer) nicht hatten. Ich kann mich nicht entsinnen, daß seinerzeit über unfaire Verhältnisse gejammert wurde. Stattdessen wurde das Konzept der Hashtables schnell zum allgemein üblichen Standard. Es gibt m.E. keinen rationalen Grund, es bei der Ceberellum Library anders zu machen. Jedem Schachprogrammierer steht es ja frei, dieses innovative, neue Feature auch zu implementieren. Das zugrundeliegende, geniale Prinzip der Rückwärtsberechnung/Angleichung von Stellungen, Bewertungen und Zügen, ist ja nicht geheim, sondern - ganz im Gegenteil - Thomas Zipproth und auch meine Wenigkeit haben es ja mehrfach ausgiebig erläutert. Ganz am Rande sei noch erwähnt, daß Hashtables heutzutage weit mehr Ressourcen (RAM) beanspruchen, als es Brainfish mit der Ceberellum Library tut, die z.Zt. nur ca. 35 MByte umfaßt, was im Vergleich zu heutzutage üblichen Hashtable-Größen lächerlich wenig ist.
Zudem ist die Ceberellum Library aus programmtechnischer Sicht weitaus anspruchsvoller und durchdachter als es Hashtables sind, eben wegen des genialen Prinzips der Rückwärtskalkulation, während Hashtables nur ganz simpel bereits bewertete Stellungen im RAM ablegen.
Zusammenfassend möchte ich also schlußfolgern, daß die Ceberellum-Library konzeptionell weit mehr Gemeinsamkeiten mit Hashtables, als mit einem Eröffnungsbuch hat. Man könnte sie schlechtestenfalls als Hybriden dieser beiden Konzepte betrachten. In jedem Fall ist sie ein innovatives, neues Feature der Schachprogrammierung. Daß andere Schachprogramme z.Zt. noch nicht über dieses Feature verfügen, liegt nur daran, daß Brainfish die erste Engine ist, die dieses Feature hat. Andere Engines können ja jederzeit nachziehen. Das Prinzip der Ceberellum Library ist, wie erwähnt, ja nicht geheim. Und jedes innovative Feature der Schachprogrammierung (Hashtables, Nullmove, LMR-Pruning usw.) war irgendwann mal neu und irgendwann mal in nur einem einzigen Schachprogramm implementiert. Hieraus Unfairneß abzuleiten halte ich für absurd! Sonst wären Schachprogramme heute noch auf dem Stand von vor 50 Jahren...

Dies ist meine Sicht dieses Themas. Nicht mehr, nicht weniger. Es bleibt abzuwarten, wie Brainfish mittel- und langfristig von der Community des Computerschachs behandelt werden wird und ob andere Engines irgendwann das Konzept der Cerebellum Library in irgendeiner Form übernehmen werden.

Stefan (SPCC)
Parent - - By Patrick Jansen Date 2016-07-26 08:52 Upvotes 1
Ich bleibe weiter auf dem Standpunkt, so lang es kein etablierter Standard in den Top-x Engines ist, sollte BF nicht in offiziellen/namhaften Ranglisten mit (sehr) kurzen Bedenkzeiten (<10 oder 15 Minuten) aufgenommen werden. Unterhalb dieser Zeit sind keine sinnvollen und aussagekräftige Vergleiche möglich oder notwendig.
Parent - By Stefan Pohl Date 2016-07-26 10:12
Patrick Jansen schrieb:

Ich bleibe weiter auf dem Standpunkt, so lang es kein etablierter Standard in den Top-x Engines ist, sollte BF nicht in offiziellen/namhaften Ranglisten mit (sehr) kurzen Bedenkzeiten (<10 oder 15 Minuten) aufgenommen werden. Unterhalb dieser Zeit sind keine sinnvollen und aussagekräftige Vergleiche möglich oder notwendig.


Ich sehe nicht, warum du eine Unterscheidung zwischen Ranglisten mit kurzen und langen Bedenkzeiten machst. Entweder man hält das Brainfish-Konzept für geeignet, in Ranglisten getestet zu werden, oder nicht.
Parent - By Frank Brenner Date 2016-07-26 13:15
Das sehe ich nicht so.

Brainfish kann in jeder Liste auftauchen.

Wichtig ist aber dass man die Testbedingungen ausführlich darlegt insbesondere wenn auch die anderen Engines mit einem eigenen Buch spielen.
Hier ist es wichtig zu unterscheiden ob Brainfish in den ersten Zügen mit dem globalen Buch spielt oder ob es von anfang an mit seinem eigenen Buch spielt.

Solange man alles schön dokumentiert ist es stets fair.

Es ist sogar sehr interessant zu erfahren ob zb Brainfish gegen Stockfish(ohne Buch)  besser performt als gegen Komodo oder Houdini (jeweils ohne Buch) ... .weil ja das Brainfish Buch mit Stockfish Bewertungen berechnet wurde.

Wenn man allerdings Tests durchführt um ein beliebiges Buch B mit dem festeingebauten Brainfish Buch  zu verlgleichen, so wäre es nicht fair wenn Brainfish in den ersten Zügen vom Buch B gesteuert würde.
Parent - - By Tom Paul Date 2016-07-26 08:53 Upvotes 1
Stefan Pohl schrieb:

Zunächst ist es so, daß sich die Ceberellum Library zwar so verhält, als sei sie ein konventionelles Eröffnungsbuch, indem Brainfish die aktuelle Brettstellung dort nachschlägt und falls er für diese Stellung einen Zug in der Library findet, diesen sofort ausspielt. Daß heißt aber noch lange nicht, daß die Library ein konventionelles Eröffnungsbuch ist. Denn ein konventionelles Eröffnungsbuch besteht entweder aus Stellungen/Zügen, die aus großen Partiedatenbanken statistisch erzeugt wurden, oder aus Zügen, die manuell eingetragen wurden. Oder aus einer Kombination dieser beiden Methoden.

Die Ceberellum Library besteht hingegen ausschließlich aus Stellungen/Zügen, die von der Stockfish-Engine (die Brainfish ja zugrunde liegt) selbst errechnet wurden. Daß heißt, daß Brainfish beim Zugriff auf die Library ausschließlich auf die Ergebnisse eigener, vorab durchgeführter, Berechnungen zugreift. Das unterscheidet die Library fundamental von jedem anderen, jemals erstellten Eröffnungsbuch.

Stefan (SPCC)


Mein Engine Buch ~70 GB groß besteht auch ausschließlich aus Stellungen/Zügen, die von der Stockfish-Engine selbst errechnet wurden.
Das heißt, dass mein Stockfish beim Zugriff auf sein Buch ausschließlich auf die Ergebnisse eigener, vorab durchgeführter, Berechnungen zugreift.
Das unterscheidet die Library von diesem Buch in keinster weiße.
Parent - By Kurt Utzinger Date 2016-07-26 09:24 Upvotes 1
Tom Paul schrieb:

Mein Engine Buch ~70 GB groß [...]


Wahnsinnig gross
Kurt
Parent - By Kurt Utzinger Date 2016-07-26 09:30
Hallo Stefan

Sehr gut überlegt und beschrieben. Ich kann mich Deinen
Argumenten voll und ganz anschliessen.

Mfg
Kurt
Parent - - By Benno Hartwig Date 2016-07-26 09:53 Edited 2016-07-26 10:04 Upvotes 1
Thanx für die Darstellung deiner Gedanken. Stefan.

"unfair" ist meiner Meinung nach nicht das richtige Wort.
Du gibst Software in Testbedingungen, die du beschreibtst, und du erhältst Ergebnisse, die du beschreibst.
Ob man sich genau dafür interessiert oder nicht, muss dann jeder für sich überlegen.
Und welche Aussagen durch die Ergebnisse gerechtfertigt sind, ist zu überlegen.
Hier könnte man zu unpassenden, irgendwie eben auch "unfairen" Aussagen kommen.

Wir haben halt viellerorts einen Wettbewerb der Engines im herkömmlichen Sinne.
Brainfish ist schon ein Paket aus zwei Komponenten: Engine + Buch.
Ist schon irgendwie was anderes.

Du könntest ja auch ein Event ohne Tablebases starten, und dann einzelne Engines teilnemen lassen, die die Tablebases integriert haben.
"Kann doch jede Engine machen!"
Wäre IMHO auch fragwürdig.

Oder du startest ein Event auf einem Kern deines Rechners, aber eine Engine bringt noch eine Steckkarte mit, wo ein 8-Kern-Prozessor läuft.
"Kann doch jede Engine machen!"
Oder eine Engine nutzt zusätzlich die Rechenleistung deiner superduper-Grafikkarte.
"Kann doch auch jede Engine machen!"
Wirklich sinnvoll?

Oder es kommt jemand mit einem SF, dem er ein ganz übliches handgetuntes Buch an die Seite gestellt hat, ein Paket geformt hat.
"Kann doch jeder Engine-Entwickler ziemlich einfach machen!"
Interessiert sowas in einer Liste von ansonsten "nackten" Engines?

Solche Ranglisten fänd ich nicht sehr interessant. Du?

Andererseits auf jeden Fall:
Ja, die Brainfish-Idee ist superinteressant, wenn es um die Frage geht: wie bekomme ich einen möglichst spielstarken Schachspieler auf meinen Rechner. Toll dass Brainfisch entstanden ist! Und noch toller, wenn diese Idee weiterverfolgt wird!!
Die Leistungsfähigkeit hast du ja sehr überzeugend dargestellt.

Und deine Tests, Stefan, sind auch super interessant. Geben sie doch einen Eindruck davon, was Brainfish zu leisten imstande ist. Sonst hingen wir in der Luft. Und es wäre toll, wenn du hin und wieder weitere Einblicke geben könntest.
(Auch wenn ich mir nicht recht klar bin, wie man den Test so gestalten kann, dass man dem Brainfish-Ansatz wirklich gerecht wird.)

Ich denke, der Brainfish sollte in Konkurrenz stehen zu anderen Kombinationen aus Engine und Buch.
Hoffentlich Büchern, die der Engine wirklich zu mehr Erfolg verhelfen, (wie groß ist der Nutzen von echten Top-Büchern eigentlich tatsächlich?)
und dass in dieser Konkurrenz auch "nackte" Engines antreten, ist für den Vergleich und die Einordnung natürlich auch wichtig.

Benno
Parent - By Stefan Pohl Date 2016-07-26 10:27 Edited 2016-07-26 10:44
Benno Hartwig schrieb:

Du könntest ja auch ein Event ohne Tablebases starten, und dann einzelne Engines teilnemen lassen, die die Tablebases integriert haben.
"Kann doch jede Engine machen!"
Wäre IMHO auch fragwürdig.


Der Fall könnte durchaus eintreten. Im Stockfishforum wurde das vor kurzem schon mal angestoßen, die 3- und 4-Steiner TBs in den Stockfishcode einzubauen. Wenn das passiert (oder vielleicht ist das bei einer anderen Engine schon insgeheim passiert?!?), was dann?
Selbst, wenn eine Rangliste (z.B. IPON) diese TBs extern erlaubt und zur Verfügung stellt, so wäre der Zugriff innerhalb des Engineprogrammcodes immer noch erheblich schneller und somit ein Vorteil gegeben. Willst du dann Stockfish aus den Ranglisten rauswerfen?

Benno Hartwig schrieb:

Oder du startest ein Event auf einem Kern deines Rechners, aber eine Engine bringt noch eine Steckkarte mit, wo ein 8-Kern-Prozessor läuft.


Externe Zusatzhardware hat es doch schon gegeben. Chessmachine hieß das Teil, glaube ich. Wurde in der SSDF getestet. Generell, zu Brettcomputerzeiten war es normal, daß jede "Engine" eigene Hardware genutzt hat. So what? Man müßtee natürlich in der betreffenden Rangliste ggf. darauf hinweisen, daß ein zusätzliches Hardwarepaket dabei ist.

Benno Hartwig schrieb:

Oder eine Engine nutzt zusätzlich die Rechenleistung deiner superduper-Grafikkarte.


Auch darüber wurde im Stockfishforum vor kurzem gesprochen. Scheint aber nicht sinnvoll zu sein. Aber wenn es gemacht würde, und was bringt, warum nicht? Würden andere Engines allerdings auf nur einen CPU-Kern beschränkt (1 Thread), dann sollte man das wohl nicht zulassen.

Benno Hartwig schrieb:

Oder es kommt jemand mit einem SF, dem er ein ganz übliches handgetuntes Buch an die Seite gestellt hat, ein Paket geformt hat.
"Kann doch jeder Engine-Entwickler ziemlich einfach machen!"
Interessiert sowas in einer Liste von ansonsten "nackten" Engines?


Naja, deswegen betone ich ich ja so ausdrücklich, daß die Cerebellum Library eben nicht handgemacht und handgetunt ist, sondern von Stockfish selbst berechnet wurde. Das ist ein so bedeutender und prinzipieller Unterschied, daß ich in diesem Fall eine Engine mit einem normalen, konventionellen Buch nicht zulassen würde.


Benno Hartwig schrieb:

Ja, die Brainfish-Idee ist superinteressant, wenn es um die Frage geht: wie bekomme ich einen möglichst spielstarken Schachspieler auf meinen Rechner. Toll dass Brainfisch entstanden ist! Und noch toller, wenn diese Idee weiterverfolgt wird!!
Die Leistungsfähigkeit hast du ja sehr überzeugend dargestellt.

Und deine Tests, Stefan, sind auch super interessant. Geben sie doch einen Eindruck davon, was Brainfish zu leisten imstande ist. Sonst hingen wir in der Luft. Und es wäre toll, wenn du hin und wieder weitere Einblicke geben könntest.
(Auch wenn ich mir nicht recht klar bin, wie man den Test so gestalten kann, dass man dem Brainfish-Ansatz wirklich gerecht wird.)

Ich denke, der Brainfish sollte in Konkurrenz stehen zu anderen Kombinationen aus Engine und Buch.
Hoffentlich Büchern, die der Engine wirklich zu mehr Erfolg verhelfen, (wie groß ist der Nutzen von echten Top-Büchern eigentlich tatsächlich?)
und dass in dieser Konkurrenz auch "nackte" Engines antreten, ist für den Vergleich und die Einordnung natürlich auch wichtig.

Benno


Thanx
Parent - - By Ralf Mueller Date 2016-07-26 11:05
Aber: Dieses Gefühl der Unfairness kommt hauptsächlich daher, dass die Ceberellum Library auf Berechnungen fußt, die Stockfish schon lange vor der Partie angefertigt hat. Das empfinde ich als einen prinzipiellen Unterschied zu in-Game-Technologien wie Hashtables. Es ist wie ein Sprinter, der fünf Meter vor dem Rest startet, mit dem Argument, den Weg ja vorher selber gegangen zu sein.
Parent - - By Stefan Pohl Date 2016-07-26 11:45
Ralf Mueller schrieb:

Aber: Dieses Gefühl der Unfairness kommt hauptsächlich daher, dass die Ceberellum Library auf Berechnungen fußt, die Stockfish schon lange vor der Partie angefertigt hat. Das empfinde ich als einen prinzipiellen Unterschied zu in-Game-Technologien wie Hashtables. Es ist wie ein Sprinter, der fünf Meter vor dem Rest startet, mit dem Argument, den Weg ja vorher selber gegangen zu sein.


Der Vergleich ist zwar ganz witzig, aber m.E. nicht treffend. Eher wäre es so, um bei deinem Bild zu bleiben, daß er vor dem Rennen mehr trainiert hätte, seine Gegner. Würde ich sagen.
Bildhafte Vergleiche sind schön und gut. Aber damit kann man letzendlich jeden Standpunkt begründen, wenn das Bild nur weit genug weg vom eigentlichen Thema ist, es aber trotzdem schön ausschaut. Daher meine ich, wenn man schon Parallelen zieht, dann finde ich es doch angebrachter, Vergleiche innerhalb des Schachs zu ziehen. Und das habe ich getan, mit meinem Vergleich zum menschlichen Großmeister, der sich vor der Partie auch Eröffnungsvarianten erarbeitet und in seinem Gedächtnis abspeichert.
Parent - - By Ralf Mueller Date 2016-07-26 13:20 Edited 2016-07-26 13:23
Zitat:
Der Vergleich ist zwar ganz witzig, aber m.E. nicht treffend. Eher wäre es so, um bei deinem Bild zu bleiben, daß er vor dem Rennen mehr trainiert hätte, seine Gegner. Würde ich sagen.

Hallo Stefan,

mehr trainieren würde passen bei einer Verbesserung der Bewertung oder Suche. Stockfish würde dann einfach eine bessere Leistung während der Partie/während des Rennens erbringen. Bei Brainfish erbringt aber Stockfish durch das Nichtüberlegen an Zügen über weite Strecken gar keine Leistung während der Partie. Insofern trifft der Vergleich mit dem Streckenvorsprung schon gut. Stockfish beginnt einfach erst später zu laufen, weil es die ersten Züge auswendig kann. Daran ändert auch nichts, dass Stockfish die ersten Züge selber berechnet hat, genauso wenig, dass der Sportler die ersten Meter selber gegangen ist.

Zitat:
Bildhafte Vergleiche sind schön und gut. Aber damit kann man letzendlich jeden Standpunkt begründen, wenn das Bild nur weit genug weg vom eigentlichen Thema ist, es aber trotzdem schön ausschaut. Daher meine ich, wenn man schon Parallelen zieht, dann finde ich es doch angebrachter, Vergleiche innerhalb des Schachs zu ziehen. Und das habe ich getan, mit meinem Vergleich zum menschlichen Großmeister, der sich vor der Partie auch Eröffnungsvarianten erarbeitet und in seinem Gedächtnis abspeichert.

Wenn es nach deinem Beispiel geht, wäre jedes normale Eröffnungsbuch erlaubt, denn ein Schachspieler spielt ja nicht nur selbst errechnete Varianten, sondern zum Großteil Züge, die er woanders gesehen und gelernt hat.
Parent - By Frank Quisinsky Date 2016-07-27 01:50
Hallo Ralf,

finde Deinen Vergleich gut.

Persönlich bin ich froh um jede neue Idee im Computerschach. Die Idee rund um Brainfish ist zunächst mal wirklich eine Idee, die es lohnt auch weiter verfolgt zu werden.

Für Ratinglisten halte ich diese Vorgehensweise allerdings für nicht gut.
Bei Ratinglisten geht es darum zu vergleichen was vergleichbar ist. Möglichst alle Beeinflussungsfaktoren auszuschalten damit die reine Rechenleistung einer Engine gemessen werden kann. Setze ja selbst ein eigenes Buch bei meiner Ratingliste ein, welches von allen Teilnehmern der Liste selbst optimiert wird. Jede gefundene schlechte Variante bei jedem Spießroutenlauf wird deaktiviert. Nach jedem Test-Run wird das Buch um die gefundenen Züge erweitert, so dass letztendlich in 50% der Fälle bzw. Varianten in meinem Buch die Züge nach Zugtiefe 6 aus Engine Berechnungen kommen. Oftmals schmeißen dann stärkere Engines die gefundenen Züge schwächerer Engines wieder raus. Das ist eine Wahnsinns Arbeit die mich pro Tag gut und gerne 1 Stunde kostet und das seit nun fast 3 Jahren. Das Resultat ist der pure Wahnsinn und alle Engines in der Liste werden nicht negativ beeinflusst denn wenn eine Engine zu schlecht startet wird die Partie wiederholt und die Variante fliegt raus.

So habe ich dann dafür gesorgt, dass alle Engines unter gleichen Voraussetzungen spielen und das Buch 0 Einfluss ausübt, ferner das von allen 500 ECO Codes etwas drin ist und die Varianten, die in der Turnierpraxis bei GMs oder beim Fernschach favorisiert sind auch bei mir öfters ausgespielt werden. Meines Erachtens optimal für Ratinglisten und nunmehr nach 250.000 Partien mehr als bewährt. Ich habe überhaupt keinen Grund mehr hinsichtlich Eröffnung etwas zu optimieren, denn das Thema ist schon längst abgeschlossen ... muss nur stetig nach schlechten Varianten suchen und diese dann im Buch deaktivieren.

Wenn denn z. B. Brainfish auf Eröffnugnsanalysen von Stockfish beruht ist das na ja ...
Denn nach der jahrelangen Buchoptimierung ist aufgefallen, dass keine Engine wirklich alles perfekt spielt, auch nicht Stockfish.

Das Thema welches mich hier noch maximal interessiert sind Engines mit außergewöhnlichen Vorgehen bei den Buchzügen. Das sind im Grunde 3-4 ...

1. SmarThink
2. ICE
3. Fizbo
4. Texel

Diese Engines fallen auf in dem Buchzüge deutlich höher bewertet werden als bei anderen Engines. In der Regel zu Recht, denn die Statistik zeigt auf das die Engines überwiegend Recht behalten. Wie die Programmierer das machen weiß ich nicht aber für meine Eröffnungsbuchoptimierung ein Segen. Denn ich kann schneller die schwachen Varianten herausfiltern und finde deutlich mehr als wenn ich das z. B. mit Stockfish tun würde.

Der Brainfish Programmierer sollte mal sein Programm 5.000 Partien gegen SmarThink spielen lassen.
Sich dann wundern wie schlecht viele Varianten bewertet werden und die mal in eine Datenbank bringen.

Das Brainfish stärker wie SmarThink ist ... der Rest der Partie nach Zugtiefe 30 ist nicht interessant (Partieausgang) ... nur schauen nach maximal 5 Züge nach dem Buch und dann in die Stellung und Partieentwicklung. Wenn der Brainfish Programmierer damit anfängt ... ich hoffe er verliert nicht so schnell die Lust und sagt sich ... jetzt erst Recht. Ich muss die Varianten herausfinden, herauspicken um dann das Buch weiter zu optimieren.

Wenn fertig ... das gleiche mit Fizbo, mit ICE mit Texel und wenn er dann sagen kann ...
Ich habe alles draußen was mir diese Gruppe von Programmen anbietet ... großartig. Es entsteht etwas noch besseres.

Nichts ist perfekt bei den Eröffnungen!

Oder anders ...
Wollte schon 100x die Eröffnungsoptimierung von meinem Buch hinschmeißen weil es einfach zu viel Arbeit ist. Ich bin heute froh es nicht getan zu haben und bin stolz darauf auf welchem großartigen Level ich nunmehr angekommen bin. Das für mich zu 95% perfekte Buch für Ratinglisten und ... Beeinflussungsfaktor Buch ... ja, den gibt es bei mir nicht. Das Konzept funktioniert, ist auch nur ein Ergebnis aus der langen Erfahrungen mit Ratinglisten ... zum ersten Mal bin ich selbst mit der eigenen Arbeit zufrieden gestellt.

Vielleicht ist es der Brainfish Programmierer auch, muss zugestehen ich weiß nicht wie er optimiert aber ich bin mir sicher ...
Wenn er seine Optimierungen mit SmarThink überprüft bekommt er Kopfschmerzen und hat viel ... sehr viel ... sehr sehr viel Arbeit.

Gruß
Frank
Parent - - By Michael Scheidl Date 2016-07-26 13:04
Ich denke die Sache wie folgt auf des Pudels Kern zu bringen:

Warum wurden die Cerebellum-Daten überhaupt in die Engine-Exe integriert? Warum werden sie nicht einfach als externes Enginebuch, wie man es von vielen Engines kennt, beigelegt? Standard-Stockfish müßte dann nur um einen entsprechenden Zugriffscode erweitert werden um zu Brainfish (besser vielleicht "Bookfish") zu werden, und alles wäre ganz normal.

Ob die Buchzüge von Stockfish selbst bewertet bzw. vorberechnet wurden, oder nur der Statistik menschlicher Spieler entspringen, macht hinsichtlich Fairneß keinen Unterschied. Buch ist Buch. Wenn es auf Ranglisten und in Bewerben heißt, kein Eigenbuch, dann geht das eben nicht.

Bei mir zu Hause bin ich liberal und da lasse ich "außergewöhnliche" Eigenbücher mitunter gerne mitspielen, wie z.B. seinerzeit auch bei ProDeo. Allerdings wird für diese Engines dann eine Nutzung meines allgemeinen Buches abgeschaltet (welches vermutlich ohnehin schlechter ist). Ent- oder weder.
Parent - - By Benno Hartwig Date 2016-07-26 13:35 Edited 2016-07-26 13:42

> Warum wurden die Cerebellum-Daten überhaupt in die Engine-Exe integriert? Warum werden sie nicht einfach als externes Enginebuch, wie man es von vielen Engines kennt, beigelegt?


Gute Frage.
Ist die tolle neue Idee des Brainfish nicht eigentlich die Methodik bei der Bucherzeugung?
Und sollte das Ergebnis dann nicht eben gern einfach ein Buch sein?
Nutzbar dann, wenn man es will, auch für Komodo und Gull und Fire und Shredder und...
Dass es eventuell besonders für SF erfolgreich wäre, stünde dem ja nicht entgegen.

Benno
Parent - By Stefan Pohl Date 2016-07-26 13:57 Edited 2016-07-26 14:21
Benno Hartwig schrieb:

Gute Frage.
Ist die tolle neue Idee des Brainfish nicht eigentlich die Methodik bei der Bucherzeugung?
Und sollte das Ergebnis dann nicht eben gern einfach ein Buch sein?
Nutzbar dann, wenn man es will, auch für Komodo und Gull und Fire und Shredder und...
Dass es eventuell besonders für SF erfolgreich wäre, stünde dem ja nicht entgegen.

Benno


Vielleicht ist das hier in den vielen Postings ein bißchen untergegangen, aber es ist von Thomas Zipproth geplant, zusammen mit der kostenpflichtigen SiriusGUI zur Bearbeitung der Ceberellum Library durch den User, auch eine Proxy-Version der Library anzubieten. Will heißen, die Möglichkeit, die Library selbst als UCI-Engine in GUIs einzubinden und dann per Parameter eine beliebige Schachengine dazuzuholen, die losspielt, wenn die Library keine Züge mehr gespeichert hat. Also Komodo, Houdini oder was man sonst will.

Allerdings wäre die Library dann ja nicht von der spielenden Engine erzeugt worden. Das wirft dann natürlich die Frage auf, inwiefern das in einem Testvergleich fair wäre.  Und ob andere Engines ebenso stark von der Library profitieren werden, da sie ja eben nicht auf deren Stellungsbewertungen basiert, das muß man erst sehen.

Abwarten!

Thomas hat gerade auf talkchess geposted, was geplant ist. Ich kopiere das hier mal rein:

- A complete Chess Gui (like for example the Shredder Gui), with the ability to show, edit, expand and manage the Cerebellum Library. The view of the Library will be similar to those in the Demo Tab of the website, but with more Details.

- The Library is not engine related, you can do the calulations any engine, the library can handle two different engines together.

- A proxy which connects the library with any engine, so that you can use the library as a front end to an UCI engine for playing.

- The Cerebellum library together with the Stockfish calculated book with all nodes calculated so far.

Brainfish itself will stay as it is, Open Source GPL and expanded from time to time with the nodes from the StockFish calculated Cerebellum Library nodes.
Parent - - By Stefan Pohl Date 2016-07-26 13:46
Michael Scheidl schrieb:

Warum wurden die Cerebellum-Daten überhaupt in die Engine-Exe integriert? Warum werden sie nicht einfach als externes Enginebuch, wie man es von vielen Engines kennt, beigelegt? Standard-Stockfish müßte dann nur um einen entsprechenden Zugriffscode erweitert werden um zu Brainfish (besser vielleicht "Bookfish") zu werden, und alles wäre ganz normal.


Thomas Zipproth denkt gerade darüber nach, die Library auszugliedern und in Brainfish einen Parameter für den Pfad zur Library anzubieten. Damit er die Library in kürzeren Abständen einfacher updaten kann und nicht jedes mal 3 Brainfish-Compiles machen muß. Könnte also durchaus sein, daß es bald so kommt, daß die Library extern wird.
Eigentlich belanglos. Wer die Ceberellum Library als Eröffnungsbuch begreifen will, trotz der prinzipiellen und konzeptionellen Unterschiede, die zwischen der Library und einem konventionellen Eröffnungsbuch bestehen, der wird so oder so bei dieser Meinung bleiben, welche ich für meinen Teil für zu oberflächlich halte. Egal, ob die Library nun extern ist, oder nicht.
Parent - By Peter Martan Date 2016-07-26 20:40 Edited 2016-07-26 20:49
Ich finde, man sollte Thomas und seinen Bruder jetzt mal in Ruhe arbeiten lassen, damit man das Buch engine- unabhängig gesondert testen kann, dann wird man sehen, was es im Vergleich zu anderen Büchern leistet.
Dass das Konzept des (durch Backward- Solving) engine- editierten  Buches, der engine, die dazu verwendet wurde, besonders liegt, mag ja auch eine naheliegende und irgendwie neue Idee sein, von einem neuen engine- Konzept würde ich persönlich eigentlich nicht reden, weil in dem Moment, wo z.B. komodo die Library-Varianten anders ordnet oder neue hinzubringt, die auch für SF besser sind, ist es klar, dass gute Lines nicht davon abhängen, mit welcher engine man sie vorwärts oder rückwärts bewertet.
Mit anderen Worten, engine- Testen ist immer stellungsabhängig, Stellungs- (und Varianten-) Testen sollte immer engine- unabhängig sein.
Up Topic Hauptforen / CSS-Forum / Brainfish - fair oder unfair

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill