Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Fabien is back!
- - By Joachim Rang Date 2014-03-17 19:04
... und hat ein neues Schachprogramm geschrieben: Senpai. 
Man kann es hier downloaden: http://www.chessprogramming.net/senpai/

Heute ist übrigens der 10-jährige Jahrestag von Fruit 1.0:
http://www.talkchess.com/forum/viewtopic.php?t=51638
Parent - - By Michael Scheidl Date 2014-03-17 19:19
Hochinteressant! Die Liste der Verbesserungen in Fruit Reloaded liest sich eindrucksvoll:

http://www.chessprogramming.net/fruit-reloaded/

Bin gespannt wie stark diese und Senpai sind, und was noch daraus wird.
Parent - - By Thomas Müller Date 2014-03-17 21:03
er selbst meint
Estimated level: Protector or better (don’t ask).
demnächst wissen wir bestimmt mehr.
Aber wenn Fabien tatsächlich wieder aktiv ist, kann das nur gut sein!
Halte ihn für genial!

gruß
thomas
Parent - - By Frank Quisinsky Date 2014-03-17 23:22 Edited 2014-03-17 23:26
Hi Thomas,

ich habe mit Fabien viele eMails in den letzten Monaten getauscht und kenne Ergebnisse von seinen Testergebnissen.
Schätze das die "Spielstärke" zwischen 2.800 - 2.875 liegt.

Habe selbst erst seit gestern eine Version nachdem Joachim kompiliert hat.
Konnte über Nacht dann ein paar Partien spielen lassen.

Aber das alles ist zweitrangig.
Fabien ist zurück und ich bin seit Jahren von Fabien immer wieder begeistert.
Mit ihm kannst Du dich wirklich über alles mögliche austauschen.
Fabien liegt die Programmierung im Blut.

Da schreibt er mal so eben von Grund auf eine Engine neu und startet direkt mit einer so hohen Spielstärke.
Das habe ich ja noch nie erlebt.

Wenn Fabien an seinem Programm beständig arbeitet dann wird es nach oben stürmen.
Und Lust hat er und ich denke er ist sehr motiviert.

Ich bin so froh das er zurück ist und ich habe es die letzten Monaten echt genossen mein eMail Programm zu öffnen.
Das sind die schönen Momente im Computerschach und unabhängig von Fabien, es gibt noch zwei anderen Herren die vielleicht ...

Schade das Leo und Patrick nicht mehr aktiv sind.
Die würden aus dem Jubeln gar nicht mehr rauskommen.

Wir haben "unser" Programmierer AS wieder zurück.
Schätze Fabien als Menschen aber noch mehr als seine unumstrittenen Fähigkeiten die er mitbringt.
Mich hat selten eine Person derart beeindruckt wie Fabien.

Gruß
Frank
Parent - - By Peter Martan Date 2014-03-18 07:56
Hast du auch schon gesehen, Frank, dass er dich in der Readme zu Senpai ausdrücklich erwähnt?

"I also want to thank: Tord Romstad and Frank Quisinsky, my close friends in the community"
Parent - - By Frank Quisinsky Date 2014-03-18 12:21
Hi Peter,

ja, habe ich gesehen.

Hast Du die Engine schon ausprobiert?

Gruß
Frank
Parent - - By Peter Martan Date 2014-03-18 12:25
Ja, hab ich, bin nur noch nicht viel dazu gekommen, weil ich so viel unnötig rumtippe hier.

Taktisch natürlich stark, wenn vielleicht auch noch nicht bei den Allerschnellsten, weniger Nullzug als Fruit, scheint mir, über Positionelles kann ich noch gar nichts sagen, das braucht Zeit.
Parent - - By Frank Quisinsky Date 2014-03-18 12:40 Edited 2014-03-18 12:43
Hi Peter,

Verbesserungspotential bei den Fruit Versionen von Ryan war der Übergang von der Eröffnung zum Mittelspiel. Fruit hat da sehr viele Partien in der SWCR1 vergurkt und weit überproportional viele schnelle Partien verloren. Scheint auch ein bissel so bei Senpai zu sein aber bald wissen wir mehr. Interessant bei Senpai könnte auch sein, dass hier etwas interessantes festzustellen wird. Die Engine ist taktisch stark aber das steht im Widerspruch zur Annahme, dass taktische starke Engines auch logischer Weise gegen sich sehen müssten. Spark ist ein gutes Beispiel. Verliert kaum schnelle Partien aber gewinnt überproportional viele. Eigentlich ist das eher logisch.

Bin nach wie vor der Meinung das gar eher bei Schachprogramme als bei Menschen ein Spielstil auszumachen ist weil Schachprogramme in der Anlage nicht verändert spielen. Und aus Stärken und Schwächen kristallisiert sich ein Stil. Das Problem was wir bei der Erstellung von Ratinglisten haben ist schlicht die Statistik des Eng-Eng Matches selbst. Spielen z. B. eine gegen die TOP-20 in der SWCR2 so ersehen wir für jedes Match eine Statistik. Je höher das Rating des Gegners desto weniger Punkte erreicht die Engine die getestet wird. Das verleitet zur Aussage, im Grunde gibt es keine Spielstilbeurteilung bei Engines.

Richtig ist aber das man sich die Partien im Detail ansehen muss. Auch wenn ein 40:10 aufgrund des ELO-Unterschiedes ein gerechtes Resultat ist könnte es sich um einen Angstgegner handeln. Dann wenn immer in gleichen Partiephasen der schwächere Punkte einfährt.

Wir müssen grundsätzlich davon weg nur die Endresultate zu bewerten.
Das ist dann in der Tat ein Aufhänger für Personen die es lieben Stellungen zu testen. Nachteilig beim Stellung testen ist aber das die Lösungszüge konstruiert sind und tatsächlich "Best Moves" selten vorkommen. Hätten wir einen Stellungstest welcher die Stellung selbst beurteilt und mehrere Lösungen für eine Position zulässt könnten wir mit diesem Test auch viel über die Engines herausfinden. Im Grunde passiert ja nichts anderes während einer Eng-Eng Partie. Da werden durchschnittlich 50-60 Züge in einer Partie bewertet.

Würden wir die Möglichkeit haben diese 50-60 Züge auszuwerten hätten wir im Grunde mit 100 Partien eine sichere Einschätzung der Spielstärke und könnten uns die vielen tausenden von Partien ersparen. Glaube ein Denkfehler bei der Messung der Spielstärke ist es immer nur vom Endresultat auszugehen. Das Endresultat ist nur eine Momentaufnahme bei einer Partie. Habe schon so viele Partien gesehen bei der Engine A klar die bessere war und dann mittels einen dummen Zug die Partie vergeigt hat. Dann steht da ein 0:1 anstatt ein 1:0 und glaube mir das passiert oft. Wüssten wir aber das eine Engine überproportinal im Endspiel vergeigt wäre es interessant zu wissen wie stark ist die Engine denn dann im Mittelspiel.

Das muss aus einer Ratingliste zu sehen sein!
Dann erst können wir stolzer Brust sagen wir sind Computerschächler und lassen uns nicht blenden sondern stellen fest.

Gruß
Frank
Parent - By Peter Martan Date 2014-03-18 13:13 Edited 2014-03-18 13:16
Frank Quisinsky schrieb:

Wir müssen grundsätzlich davon weg nur die Endresultate zu bewerten.
Das ist dann in der Tat ein Aufhänger für Personen die es lieben Stellungen zu testen. Nachteilig beim Stellung testen ist aber das die Lösungszüge konstruiert sind und tatsächlich "Best Moves" selten vorkommen. Hätten wir einen Stellungstest welcher die Stellung selbst beurteilt und mehrere Lösungen für eine Position zulässt könnten wir mit diesem Test auch viel über die Engines herausfinden. Im Grunde passiert ja nichts anderes während einer Eng-Eng Partie. Da werden durchschnittlich 50-60 Züge in einer Partie bewertet.

Würden wir die Möglichkeit haben diese 50-60 Züge auszuwerten hätten wir im Grunde mit 100 Partien eine sichere Einschätzung der Spielstärke und könnten uns die vielen tausenden von Partien ersparen. Glaube ein Denkfehler bei der Messung der Spielstärke ist es immer nur vom Endresultat auszugehen. Das Endresultat ist nur eine Momentaufnahme bei einer Partie. Habe schon so viele Partien gesehen bei der Engine A klar die bessere war und dann mittels einen dummen Zug die Partie vergeigt hat. Dann steht da ein 0:1 anstatt ein 1:0 und glaube mir das passiert oft. Wüssten wir aber das eine Engine überproportinal im Endspiel vergeigt wäre es interessant zu wissen wie stark ist die Engine denn dann im Mittelspiel.


Zunächst mal freut es mich, dass du "Stellung testen" wenigstens auseinandergeschrieben überhaupt in den Mund, in diesem Fall in die Finger nimmst, rechne halt damit, dass man dir dafür eine scheuert, damit muss man heutzutage halt leben.

Dann, konstruiert müssen die Lösungszüge absolut nicht sein, mit Studien testet man höchsten ganz spezielle Fähigkeiten sinnvoller Weise, gerade die Nullzugbehandlung gehört aber z.B. schon mal durchaus dazu, wenn ich wissen will, ab dem wievielen Halbzug der primary und der non primary variant (erhebe ich sie durch MV- mode einfach dazu, sehe ich die auch, wenngleich ich sie halt auch zu PV mache) ein Lösungszug aus der Output- Variante verschwindet, sagt mir das einfach genau so viel, wie wenn ich die entsprechende Stellung beliebig oft ausspielen lasse.
Dass es keine taktischen best moves sein müssen, die einzelne, forcierte Abspiele verlangen, ist auch einem jeden bekannt, der sich mit positionellen Teststellungen ein wenig beschäftigt hat, ich muss immer wieder auf die schon rein quantitativ gesehen gewaltige Leistung von Swaminathan und Corbitt hinweisen, der STS ist nichts, was man einfach verachten kann, nur weil's einem nicht ins Konzept passt, dass die Stellungen "einfach" zu lösen sind, das ist bei Stellungen halt so, die keine tolle stundenlange MP- Suche brauchen, sondern in erster Linie für die jeweiligen Stellungen wirksame statische Eval- Funktionen. Und die alte Frage, ob Eval oder Suche mehr entscheiden, kann man natürlich so auch nicht beantworten, genau so wenig wie die mit Ei oder Henne, die Suche muss mit den Bewertungskriterien natürlich auch was anfangen können.
Und wenn man jetzt natürlich hergeht, und aus dem Ergebnis eines solchen rein positionellen Testsets die Elo für die engines ausrechnet, mit denen man denen der Ranglisten Konkurrenz zu machen müssen glaubt, ist man auch nur selbst schuld.

Und was hindert dich daran, dir die jeweils gerade interessanten Eröffnungsstellungen aus der Literatur als Teststellungen herzunehmen, die "Lösungsvarianten" holst du dir aus den Datenbanken und der interaktiven Analyse von Fernschachpartien, legst dir eine Range eines Eval- Quotienten fest, innerhalb derer die Alternativvarianten der engines liegen sollten, damit sie deiner Bewertung entsprechen, Anfangseval durch Endeval nach x Zügen, damit hast du die numerischen Differenzen zwischen den einzelnen engine- Evals vom Tisch und das kannst du genau so als Endergebnis nach x Zügen definieren, wie wenn du das GUI auf andere Art entscheiden lässt, ob's ein ganzer oder halber Punkt ist, auch wenn die engines das dann auch noch endlos weiterspielen würden.

Soviel zur Theorie, was du alles als Zwischending zwischen eng-eng und Stellungstests ansehen willst, wie sie halt immer noch von denen gesehen werden, die sich nicht damit befassen wollen, weil ihnen vor Schachstellungen und deren Bewertung an und für sich graust.
Und natürlich kannst du auch dein eigenes Partiematerial aus eng-eng-Matches, das du für interessant hältst, nach Stellungen und Varianten durchsuchen in den einzelnen Partiephasen.
Um eine Selektion der Teststellungen und eine Auswertung je nach Kriterien, die du selber anlegst, wirst du jedenfalls nicht herumkommen, nennen wir's halt irgendwie anders als Stellungstest, wenn sich alle so vor dem Ausdruck fürchten oder vor denen, die da Furcht und Schrecken verbreiten wollen dagegen, sei's auch nur, weil sie damit im Dunkeln pfeifen, um sich selber weniger vor dem schwarzen Mann Schachspieler zu fürchten.
Parent - - By Gerhard Sonnabend Date 2014-03-18 15:00
Hi Frank !

Frank Quisinsky schrieb:

[...snip...]
Würden wir die Möglichkeit haben diese 50-60 Züge auszuwerten hätten wir im
Grunde mit 100 Partien eine sichere Einschätzung der Spielstärke und könnten
uns die vielen tausenden von Partien ersparen.
[...snip...]


Und was würdest/könntest Du aus diesen 5000-6000 Zügen,
von denen mit Sicherheit weit über 50% "natürlich" wären,
herauslesen wollen ? Dass Engine Y in einer Stellung mit
24 Figuren auf dem Feld sieben mal "einen Hebel angesetzt"
hat und dabei in 4 von 7 Fällen (=57.14% !!) die Partie
erfolgreich gestaltete ?
Dann musst Du aber zusätzlich gegenprüfen, ob die Gegner
nicht vielleicht aus einem anderen Grund die Partie noch
verloren haben und "der Hebel" gar nicht die Ursuche für
den späteren Gewinn war, sondern eine kleine Ungenauigkeit
im Endspiel !
Verstehst Du was ich meine ?
Wer oder was soll so etwas leisten ?
Was soll das überhaupt bringen ?
Solche Beobachtungen sind immer nur für genau die Stellung
gültig, leichte Abweichungen, welche sonst gar nicht ins
Gewicht fallen (z.B. Bauern auf a2, b3 anstatt auf a3, b4)
verursachen oftmals komplett andere Züge. Der Stellungstyp
und das Motiv jedoch bleibt erhalten.

Viele Grüsse,
G.S.
Parent - - By Frank Quisinsky Date 2014-03-18 22:34
Hallo Gerhard,

bei der Zugbewertung müssen selbstverständlich Zwangszüge etc. rausgenommen werden.
Interessant bei einer Zugbewertung wäre ja nur Veränderung von +- 0,x ><, vielleicht ab 0,25.

Gibt ja mehrere Möglichkeiten.
Eng-Eng läuft und eine Bewertungsengine läuft mit. Bewertungsengine könnte ein TOP Programm sein, welches z. B. auf 2 Cores läuft.
Dieses Programm erstellt eine Tabelle mit den Zugbewertungen, muss aber so intelligent sein die Zwangszüge nicht zu bewerten.

Wollte seinerzeit bei Arena mal so etwas haben.
Begann mit der BlunderCheck (Stellungen sammeln bei denen es auf Einstellungswunsch des Users eine PGN mit den gesammelten Stellungen gibt). Damit wollte ich das Konzept aufbauen, Martin hatte es auch mit den Blunder Zügen umgesetzt.

Aber die Zugbewertungen sind ein Thema um zu versuchen Spielstärke zu messen.
Vieles muss gleichzeitig passieren ...

Wie gesagt, bei den Partieentscheidungen könnte ausgewertet werden nach verbliebenen Figuren auf dem Brett.
Spielstärke messen muss keine Messung in einer bekannten Größe wie Elo sein, da könnte dann auch direkt etwas neues aufgebaut werden.

Aber ich schrieb es schon so oft.
Der Anfang fehlt. Wir brauchen eine GUI für statistische Auswertungen und dann könnte man stetig die mit den ganzen Ideen den Aufbau bzw. die Programmentwicklung dieser GUI nach vorne treiben. Es ist wirklich schade das wir dem 1:0, 0:1 und Remis hinterherjagen und uns die wirklich spannenden Infos was eigentlich alles passiert entgehen lassen.

Und selbstverständlich muss hier so weit es geht automatisiert werden, denn keiner hat die Zeit so etwas händisch zu tun.

Hatte ja so viele dieser Dinge schon ausführlich beschrieben.
Bin mir eigentlich auch sicher das es irgend wann kommen wird, ist im Grunde nur eine Frage der Zeit und vielleicht sind wir entwicklungstechnisch derzeit noch nicht so weit um die Ebene höher zu springen. Halten uns eigentlich schon viel zu lange auf der gleichen Ebene auf.

Viele Grüße
Frank
Parent - - By Peter Martan Date 2014-03-19 07:59 Edited 2014-03-19 08:05
Frank Quisinsky schrieb:

Aber die Zugbewertungen sind ein Thema um zu versuchen Spielstärke zu messen.

Find ich eben genau auch.
Seien wir mal ehrlich, beim Analysieren und beim einer eng-Partie Zuschauen linst ja doch ein jeder dauernd auf die Evals, es wird wirklich Zeit die engines mal auch ein bisschen bei diesem ihrem Wort zu nehmen, neben der Auswahl des best move ja doch die wesentlichste Leistung, nein?

Frank Quisinsky schrieb:

Wir brauchen eine GUI für statistische Auswertungen und dann könnte man stetig die mit den ganzen Ideen den Aufbau bzw. die Programmentwicklung dieser GUI nach vorne treiben. Es ist wirklich schade das wir dem 1:0, 0:1 und Remis hinterherjagen und uns die wirklich spannenden Infos was eigentlich alles passiert entgehen lassen.


Hast du meinen lichtvollen Ausführungen, die ich hier in meinem letzten Posting an dich auch gerade wieder ausgebreitet hatte, irgendetwas abgewinnen können?
Ich weiß echt auch schon wieder gar nicht mehr, wie oft ich damit schon ums Eck gekommen bin, scheint nach wie vor niemanden zu interessieren, mir persönlich kommt's eigentlich nach wie vor so einfach vor, dass man es meiner blauäugigen programmiertechnischen Vorstellung nach, ans GUI leicht sollte delegieren können.
Einmal probier ich's noch:
Du nimmst eine beliebige Stellung, fangen wir mit einer aus der Eröffnungstheorie bekannten an, aus den Fernschachdatenbanken und den Büchern dazu beliebig viele Abspiele interessanter Variantenlänge und bestimmst interaktiv daraus eine maximale und eine minimale Evalbandbreite, die du wie folgt berechnest:
Ausgangseval als Nenner, Endeval als Zähler, (eigentlich könnte man's auch umdrehen) der so berechnete Quotient macht mehr oder weniger unabhängig von den absoluten Zahlenwerten der Evals, weil sich das Verhältnis auch bei zwischen den einzelnen engines sehr unterschiedlichen Absolutwerten relativieren würde.
Hast du im Nenner 0.00, nimmst du statt dessen je nach Zählerevalvorzeichen - oder + 0.01, um nicht durch 0 dividieren zu müssen.
Mit diesem Quotienten, bei dem es nicht darauf ankommen sollte, mit welcher Vergleichsengine du den erstellst, wenn du ihr und dir genug Hardwarezeit lässt und sie mit dem richtigen Material fütterst, (endlich mal eine Aufgabe für die (Fern-)Schachspieler unter uns Computerschachfans) und den du wie gesagt aus den interaktiven Variantenanalysen vorbestimmt hast, gehst du daran, die ebenso ermittelten Quotienten derjenigen Varianten zu vergleichen, die die engines jede für sich oder gegeneinander (natürlich 2 verschiedene Tests, was dich halt jeweils gerade mehr interessiert) mit bestimmter Bedenkzeit ausspielen.

Dem GUI überträgst du die Aufgabe, diese ausgespielten Quotienten mit deiner vorgegebenen Quotienten- Range des Evalverlaufs zu vergleichen, welche engine drin ist, bekommt verschieden viele Punkte, kannst du einfach mit 1, 0, 1/2 machen der Einfachheit halber, oder Abstände von oberer und oder unterer Grenze deiner Range direkt anzurechnen, Geschmackssache.
Jedenfalls kannst du automatisiert, wenn du mal deine Teststellungen und deine Testvarianten geeicht hast, das GUI bestimmte Variantenlängen ausspielen lassen, und das GUI zählt die ganzen und halben Punkte oder auch direkt die Quotientenwerte relativ zur definierten Vergleichsrange.
Ist das wirklich so kompliziert, wäre das programmiertechnisch wirklich schwer ans GUI zu delegieren oder gar unmöglich?
Würde das nicht doch einiges an komplett ausgespielten Partien einsparen?
Ich erwähne hier mal noch sicherheitshalber, dass es natürlich kein Ersatz einer Rangliste, wie wir sie jetzt haben sein kann und soll, sondern eine Ergänzung.

Könnte man damit nicht eher als mit eng-eng allein sinnvoll auch Mittel- und Endspielstellungen beliebiger positioneller und oder taktischer Schärfe testen?
Und ja, auch der umgekehrte Weg macht Sinn, wie er dir eher vorschwebt: du nimmst die vorhandene eng-eng- Partie, schneidest daraus eine bestimmte Variante einer bestimmten Länge aus und vergleichst deren Evalverslaufsquotienten der einen und der anderen engine mit einer wieder durch interaktive Analyse einer beliebig großen Anzahl an Vergleichsvarianten gewonnenen Evalverlaufsrange zwischen einem maximalen und einem minimalen deiner Berechnung nach zu erreichenden Quotienten aus Anfangs- und Endeval.

Du willst die forcierten Züge ausklammern, warum?
Für die bräuchtest du erst recht nur wenige und kurze Varianten meistens, bis sich herausstellen müsste, werden die besten Züge, die den größten Evalfortschritt bringen müssten, gefunden oder nicht.
Natürlich müssen die Vergleichsvarianten stimmen, selektiv sein und an Länge und Anzahl die wesentlichen Abspiele abdecken, aber dass eine engine zufällig bei einem eindeutigen best move diesen zwar nicht spielt, aber dennoch innerhalb der vorgegebenen Variantenlänge den vermeintlich zu erzielenden Evalfortschritt erreicht oder topt, wäre nur dann möglich, wenn die Testvarianten eben falsch wären, das stellte sich dann so auch gleich heraus, ganz im Sinn des alten Spruchs, Stellungstests testen die Teststellungen.

Nennen wir das Ganze z.B. Variantentests und niemand muss sich mehr genieren, dass es auch irgendwie ein Stellungstest wäre.
Parent - By Frank Quisinsky Date 2014-03-19 13:34
Hi Peter,

kenne die Ideen die Dich quälen.
Grundsätzlich sind die Ansätze auch nachvollziehbar für mich und ganz sicher kannst Du mit dem beschriebenen Verfahren auch vieles herausfinden. Das ist unumstritten so.

Das Problem dabei ist nur folgendes:
Suchst Dir die Stellungen aus den Büchern etc. Hast dann eine gewaltige Sammlung von Stellungen zu allen möglichen Partiephasen und Ereignissen die während einer Partie passieren oder passieren könnten. Kannst Dir dann einen Überblick verschaffen welche Engines z. B. am besten die Springerumgruppierung beherrscht oder welche Engine stark beim besetzen der siebten / zweiten Reihe mit den Türmen ist etc..

Nur auch hier gilt, der Weg ist das Ziel. Viele Engines kommen gar nicht erst dahin um eine Stärke auszuspielen. Im normalen Eng-Eng Match ist die komplette Spielanlage verborgen und die "Normalos" sind an der Tagesordnung, also die völlig normalen Züge. Ich bin mir sicher, dass wenn z. B. eine Engine als Master Engine während eines Matches mitläuft (z. b. auch gut der Arena Blunder Check) können hieraus die Zugperlen gezogen werden und mittels einer Datenbank können dann diese Bereichen zugeordnet werden bzw. später für einen Stellungstest eingesetzt werden.

Grundsätzlich ist es aber wichtig so viele Züge wie möglich aus einer Partie selbst auszuwerten. Eine Engine läuft mit und erstellt eine Zugtabelle mittels Auswertung der Stellungsbewertung. Eine GUI vergibt Punkte für die einzelnen Zugtabellen. So werden wir dann überrascht sein das bei einem 1:0 die Engine welche die Partie verloren hat eigentlich in der Partie selbst mit 94 : 63 gewonnen hat. Wie dann letztendlich eine Berechnung der Spielstärke aus den Erkenntnissen der Zugbewertungen gezogen werden könnte ist auch nicht so ganz einfach.

Das hier betrifft aber alles ...
Berechnung von Spielstärke.

Dann gibt es ja noch den Punkt der Darstellung der Listen, bzw. diese interessanter darzustellen. Bei der Darstellung der Listen sollte ersichtlich werden in welchen Partiephasen die Ergebnisse besonders stark oder schwach waren und das alles immer an Abhängigkeit zur Ermittlung der Werte der Gegner.

Und richtig ...
Das von Dir geschilderte Erfahren wäre eine Ergänzung und genau diese Ergänzungen fehlen derzeit einfach. Wir bekommen nur die nackten Zahlen und daraus können wir leider nicht ablesen ob eine Engine Stärken und Schwächen hat. Ich bin ja auch der Meinung ...

1. Es müssen viele unterschiedliche spielende Engines in einer Liste sein. Am besten Engines die auf eigenen Ansätzen beruhen und nicht meist alles gleich machen untereinander.
2. Partienausgang darf durch Aufgabefaktor nicht beeinflusst werden weil sonst viele mögliche Auswertungen gar nicht möglich werden.

Zur Zeit versuche ich das mit der SWCR, bzw. versuche alles was irgend relevant sein könnte für spätere Auswertungen mit Tools die wir heute noch gar nicht haben nicht zu beeinflussen. So sauber wie möglich die Datenbank dann aufzubauen.

Und wenn wir dann die Zugbewertungen haben bzw. auswerten können wir aus vielen schnell und einfach zu sehenden Schlüsselstellungen natürlich auch ergänzende Testsets kreieren die Dir vorschweben. Aber das alles muss automatisiert werden, dass kann kein Mensch mit vielleicht 3 Stunden Zeit am Tag erledigen. Das wäre dann echt eine Lebensaufgabe und das muss auch niemand zugemutet werden. Wir brauchen einfach bessere Werkzeuge um viel mehr zu machen als wir derzeit machen können.

Wir haben ein so schönes Hobby aber nur Bruchteile an Möglichkeiten etwas mit den vorhandenen Daten wirklich zu tun.

Gruß
Frank

PS:
Schaue mir Deinen Beitrag aber noch mal genauer im Detail an.
Muss nur gleich wieder zur Arbeit und habe noch so viel zu tun heute.
War eh schon ne lange Nacht ... immer viel Arbeit wenn eine neue Engine in der SWCR eingepickt wird bzw. Resultate und Downloads dann online gestellt werden.
Parent - - By Gerhard Sonnabend Date 2014-03-19 10:25
Hi Frank !

Frank Quisinsky schrieb:

bei der Zugbewertung müssen selbstverständlich Zwangszüge etc. rausgenommen werden.
Interessant bei einer Zugbewertung wäre ja nur Veränderung von +- 0,x ><, vielleicht ab 0,25.


Irgend etwas von der angezeigten Bewertung der Engines abhängig zu machen
resp. danach zu "parsen" funktioniert nicht ! Man kann die Ausgaben überhaupt
nicht miteinander vergleichen. Denke bloss mal an Stockfish und/oder an Junior.
Dasselbe gilt für die angezeigte Suchtiefe und für die Knotenzahl, auch hierbei
kann man die Programme nicht vergleichen, jeder "zählt" und zeigt etwas anderes.

[...snip...]

Frank Quisinsky schrieb:

Wie gesagt, bei den Partieentscheidungen könnte ausgewertet werden nach verbliebenen Figuren
auf dem Brett. Spielstärke messen muss keine Messung in einer bekannten Größe wie Elo sein,
da könnte dann auch direkt etwas neues aufgebaut werden.


Das Abzählen der Figuren reicht nicht aus um zu entscheiden in welcher Partienphase
man sich gerade befindet. Es gibt sehr viele Eröffnungssystem, in welchen kaum
getauscht wird und trotzdem befindet man sich bereits im Mittelspiel. Anders herum
gibt es Eröffnungssysteme, in welchen mächtig abgeholzt wird und trotzdem befindet
man sich gerade erst an der Schwelle zum frühen Mittelspiel.
Und zu ELO: meine Meinung funktioniert das ELO-System hervorragend, auch (oder gerade)
für Schachengines.

Frank Quisinsky schrieb:

Aber ich schrieb es schon so oft.
Der Anfang fehlt. Wir brauchen eine GUI für statistische Auswertungen und dann könnte man
stetig die mit den ganzen Ideen den Aufbau bzw. die Programmentwicklung dieser GUI nach
vorne treiben. Es ist wirklich schade das wir dem 1:0, 0:1 und Remis hinterherjagen und
uns die wirklich spannenden Infos was eigentlich alles passiert entgehen lassen.
Und selbstverständlich muss hier so weit es geht automatisiert werden, denn keiner hat die
Zeit so etwas händisch zu tun.


Ich denke nicht, dass wir hierfür ein GUI brauchen, falls Du es so gemeint haben solltest ?!
Wenn schon das alles, dann sollte dies das (ein) Auswertungsprogramm leisten.
Allerdings (meine persönliche Sicht) wäre das der reine Overkill, ich vermisse so etwas
überhaupt nicht.

Viele Grüsse,
G.S.
Parent - - By Frank Quisinsky Date 2014-03-19 11:04
Hi Gerhard,

ich vermisse es aber ... denn ich will mehr wissen also nur Ausgaben beruhend auf Wahrscheinlichkeiten resultierend auf dummen 1:0, 0:1 und Remis Ergebnissen.
Damit kann ich wenig anfangen wenn mich die Engines selbst interessieren.

Bleibe natürlich dabei, die Aufgabe bei den Ratinglisten ist es nicht nur dumme Zahlen anzubieten sondern mit weiteren Informationen zu glänzen und ganz sicher gibt es auch noch andere Ideen als die von mir geschilderten. Da will ich hin wenn ich mir schon die Mühe mache und lasse so viele Engines gegeneinander antreten.

Kommt ja noch ... von meiner Seite!
Einges geht da noch in der Darstellung.

Gruß
Frank
Parent - - By Gerhard Sonnabend Date 2014-03-19 11:54
Klar, dies alles kann man sehen wie man will !
Ich will Dir auch nichts wegnehmen, was es (noch) nicht gibt.

Ich denke immer auch an andere "Sportarten".
Schau mal z.B. auf die Fussball-Tabellen der einzelnen Länder.
Du "bekommst" Torverhältnis, Punktverhältnis, eine Auflistung
Sieg-Unendschieden-Niederlage, jeweils aufgeteilt nach Heim-
und Auswärtsspielen.
Selbst die sonst nach Statistik verrückten Amis bieten nur
ganz wenig mehr an, beim AF z.B. noch die Erlaufenen und die
Erworfenen Yards.

Ich für meinen Teil werde nicht mehr anbieten !
Der Interessierte kann jederzeit die Partien herunterladen
und sich selbst ein Bild, in welcher Form auch immer, machen.
Parent - - By Frank Quisinsky Date 2014-03-19 23:53
Hi Gerhard,

beim Fußball wird so ziemlich alles ausgewertet. Von jedem einzelnen Spieler gibt es Formwerte. Wie hat die Mannschaft gespielt, welche Mannschaftsteile (Torwart, Abwehr, Mittelfeld, Angriff) waren gut oder zeigten Schwächen. Es wird alles, wirklich alles festgehalten. Früher in meiner Jugendzeit freuten wir uns dann immer auf die Bild am Sonntag. Auf die vielen Statistiken die dort zu sehen waren und jeder schaute auf seine favorisierten Spieler, Mannschaft. Dann gab es noch die einfachen Bundesliga Tabellen die Du hier erwähnt hast aber die haben wir uns nicht angesehen weil wir die zu unserer Zeit fast alle auswendig im Kopf hatten und daraus aus nicht ersehen konnten was uns wirklich interessiert hat.

Wenn wir Fußball und deren Statistiken mit Schach und unseren Statistiken wirklich vergleichen merkst Du schnell das wir so "Entwicklungslandmäßig" unterwegs sind. Sorry, aber auch wenn es hier der Fabien Thread ist ... das kann ich so nicht stehen lassen.

Vielleicht bin ich mit meinen Anregungen, Wünschen und Vorstellungen in einem Computerschachforum zum Thema Computerschach auch falsch unterwegs. Oftmals habe ich den Eindruck wenn ich so lese. Aber wie gesagt, dass war beim Computerschach noch nie groß anders. In keiner Entwicklungsphase von Dingen die ich sehr aktiv selbst unterstützt habe. Begeisterung für etwas ist im Grunde auch nur dann zu entfachen wenn die ersten Anwendungen dafür vorliegen.

Nun ja der Mensch ist ein Gewohnheitstier und neues zu versuchen zu erreichen ist immer zunächst mit Hürden verbunden. Ist die Kette aber dann mal am laufen sind plötzlich alle da und versuchen sich einzubringen und erfreuen sich an neuen Ideen.

Gebe da die Hoffnung nicht auf aber wie gesagt, dass hier sind Themen die kommen werden, müssen. Ist nur eine Frage der Zeit dessen bin ich mir eigentlich sicher. Gespannt bin ich darauf wie sich das Thema entwickeln wird.

Viele Grüße
Frank
Parent - By Circular Date 2014-03-20 16:13
Ich würde gerne wissen wollen welche Figuren am stärksten sind, wenn sie nicht mehr auf dem Brett sind!

Verstanden? Nicht?

Es geht um geopferte Figuren!
Parent - By Stefan Pohl Date 2014-03-18 11:44
Michael Scheidl schrieb:

Hochinteressant! Die Liste der Verbesserungen in Fruit Reloaded liest sich eindrucksvoll:

<a class='ura' href='http://www.chessprogramming.net/fruit-reloaded/'>http://www.chessprogramming.net/fruit-reloaded/</a>

Bin gespannt wie stark diese und Senpai sind, und was noch daraus wird.


Test für die LS-Rangliste läuft bereits.
Da ich davon ausgehe, daß es Senpai 1 nicht schaffen wird, die 30%-Regel der LS-Rangliste einzuhalten, wird der Test voraussichtlich schon nach 5500 Partien enden und das Ergebnis könnte somit schon übermorgen online gehen. Evt. sogar schon morgen nachmittag.

Stefan
Parent - - By Circular Date 2014-03-17 20:09
Läuft die Engine auch unter Win XP 32 Bit?
Parent - - By Joachim Rang Date 2014-03-17 21:08
Leider nicht, auch nicht unter Win 3.11 oder Win95. 
Parent - - By Circular Date 2014-03-17 21:15
Auch nicht, wenn man sie selber compiliert? Eine Source Datei liegt ja vor.
Parent - - By Joachim Rang Date 2014-03-18 08:39
Doch, jemand hat auch schon 32Bit-compiles erstellt (sind aber _sehr_ langsam):
https://dl.dropboxusercontent.com/u/86318017/Senpai1.0_32_sse42.exe
https://dl.dropboxusercontent.com/u/86318017/Senpai1.0_32.exe

Bin nicht sicher, ob das SSE4.2-Compile wirklich SSE4.2 nutzt, da es auf meinen non-SSE4.2-Recner läuft. 
Parent - - By Circular Date 2014-03-18 09:58
Danke sie läuft,

nur bekomme ich diese Meldung. Wenn ich sie schliesse stürzt die engine ab.

http://pixama.de/photo/zfb22/Zwischenablage02.jpg
http://pixama.de/photo/c3byy/Zwischenablage01.JPG

Nebenbei hatte ich mal diese Stellung hier gesehen und diese Engine ist die einzigste die sich schnell im Vorteil sieht!
Parent - - By Peter Martan Date 2014-03-18 15:12 Edited 2014-03-18 15:19
[quote="Circular"]

Nebenbei hatte ich mal diese Stellung hier gesehen und diese Engine ist die einzigste die sich schnell im Vorteil sieht!
[/quote]

Super, die Salai- Studie, wir hatten sie vor gar nicht allzu langer Zeit im Forum, die hatte ich noch nicht ausprobiert, aber dass Senpai gut ist in Zugzwangstellungen hatte ich auch schon erwähnt.


B7/1r3r2/3nn3/p1p1pp1N/2Ppkp1P/P2Np2K/1p2P1P1/bR6 w - -

Engine: Senpai 1.012 (8192 MB)
von Fabien Letouzey

29/62  0:45   +2.52    1.Kh2 Se8 2.Kg1 Tfc7 3.Kf1 a4 4.Ke1 Sd8
                       5.Kd1 Tc6 6.Kc2 Tb5 7.cxb5 Kd5
                       8.bxc6 Kd6 9.Sxb2 Lxb2 10.Txb2 Se6
                       11.Lb7 e4 12.La6 d3+ 13.exd3 f3
                       14.gxf3 (185.495.522) 4081

Kleiner Schönheitsfehler, dass hier Senpai nicht die Hauptlösung 1.a4 bringt und damit dann in der HV das schwarze a4, was die Sache aufhält, zulässt, aber das Motiv der Königswanderung ist drin und es wird in der Eval "erkannt", dass die Stellung nicht blockiert ist, wie die engines hier in der Regel fehlberechnen.
Die einzige engine ist es nicht, wie ich damals schon anhand von Strelka gezeigt habe, aber es ist eine echte Ausnahmsleistung.


P.S. Größerer Schönheitsfehler: nicht unbedingt reproduzierbar auf SMP:

B7/1r3r2/3nn3/p1p1pp1N/2Ppkp1P/P2Np2K/1p2P1P1/bR6 w - -

Engine: Senpai 1.012 (8192 MB)
von Fabien Letouzey

30/68  2:00   -2.48    1.a4 Se8 2.Kh2 Tfd7 3.Kg1 Tdc7 4.Tf1 Th7
                       5.Kh2 The7 6.Kh1 Tf7 7.Kh2 Th7 8.Kg1 Thc7
                       9.Kh2 Sd8 10.Shxf4 Sf6 11.Lxb7+ Sxb7
                       12.Se6 f4 13.Sxc7 Sd6 14.Sd5 (556.992.353) 4620

Liegt aber auch in der Natur dieser Studie, dass der Zugzwang nach so vielen Halbzügen manchmal doch noch dem nullmove pruning zum Opfer fällt. Nun würde hier vielleicht MV- mode helfen, den kann Senpai aber leider noch nicht.
Parent - By Circular Date 2014-03-19 10:35
Der weiße König wandert ca. 90 Grad im Uhrzeigersinn!

Gibt es auch Schachprobleme wo der König eine 360 Grad Wanderung unternehmen muss um zur Lösung zu kommen?

Falls nicht, welche Probleme mit Königswanderungen sind bekannt?

Mit freundlichen Grüßen

Circular
- - By Peter Behringer Date 2014-03-17 20:03 Upvotes 1
Die Kompilieranweisung im README für Linux (ohne SSE4.2):
Zitat:
g++ -std=c++11 -O3 -finline-functions -funroll-all-loops -fno-rtti -msse4.2 -o senpai_10 senpai_10.cpp


funktionierte bei mir (Debian Testing 64-Bit/g++ 4.8.2) nicht (Fehlermeldung: std::thread  usw.).

Wenn:
Zitat:
g++ -std=c++0x -lpthread -O3 -finline-functions -funroll-all-loops -fno-rtti -march=native -o senpai senpai_10.cpp


befohlen wird, rechnet das kleine senpai indes recht hübsch!

Grüße!
Parent - - By Tobias Date 2014-03-19 10:27
Ich habe hier Debian stable auf einer älteren Intel-CPU  laufen und konnte Senpai mit deinen Anweisungen und gcc-4.7 kompilieren. Daraufhin habe ich den Intel-Compiler( ist für Linux Benutzer nach Registrierung kostenfrei für nichtkommerzielle Zwecke verwendbar) ausprobiert.

Code:
icpc -static-libstdc++ -std=c++11 -fno-rtti -pthread -O3 -funroll-loops -fstrict-aliasing -xSSE4.1 -prof-gen -prof-dir=./profdir  senpai_10.cpp -o

./senpai
go depth 12
quit

icpc -static-libstdc++ -std=c++11 -fno-rtti -pthread -O3 -funroll-loops -fstrict-aliasing -xSSE4.1 -prof-use -prof-dir=./profdir  senpai_10.cpp -o


Alternativ habe ich noch folgendes ausprobiert:

Code:
g++ -std=c++0x -lpthread -O3 -finline-functions -funroll-all-loops -fno-rtti -march=native -fprofile-generate -lgcov -o senpai senpai_10.cpp

./senpai
go depth 12
quit

g++ -std=c++0x -lpthread -O3 -finline-functions -funroll-all-loops -fno-rtti -march=native -fprofile-use -lgcov -o senpai senpai_10.cpp


Hier die Geschwindigkeit der einzelnen executables nach Eingabe von go depth 20 in der Konsole:

Senpai1.0.exe ~ 330.000 nps
senpai-gcc (Linux) ~ 360.000 nps
senpai-gcc-pgo (Linux) ~370.000 nps
senpai-icc (Linux) ~ 425.000 nps
senpai-icc (Linux) ~ 435.000 nps

Clang wollte keine executable produzieren.

Vllt sind in hier in dem Beitrag noch einige Ideen, die der eine oder andere noch ausprobieren möchte. Ich war auf jeden Fall von der Geschwindigkeit der Intel Compiles überrascht...

Schöne Grüße
Tobias
Parent - By Peter Behringer Date 2014-03-19 17:09
Hallo;

Zitat:
senpai-gcc (Linux) ~ 360.000 nps
senpai-gcc-pgo (Linux) ~370.000 nps
senpai-icc (Linux) ~ 425.000 nps
senpai-icc (Linux) ~ 435.000 nps


Die Unterschiede sind ja beträchtlich; den Intelcompiler sülbst habe ich vor einiger Zeit schon von meiner Kiste runtergeschmissen (nach Tests bei div. Stockfischen, die nicht eindeutig waren und damit einen Verbleib des (fetten) Programms auf der Platte nicht rechtfertigten )...

Grüße
- By Ludwig Bürgin Date 2014-03-19 10:37
Hallo Frank

Habe mit Fruit und Senpai 5 min.Partien im  Maschinenraum gespielt.Fruit hat bei 16 gespielten Partien meine vorhandenen Elos von 2567 auf 2375 vermindert.Anschließende 22 Spiele mit Senpai ergaben nochmals eine weitere Verminderung von noch vorhandenen 2375 auf 2280 Elos.
Aus diesen Ergebnissen kann man ohne Weiteres  schließen,dass die Qualität der Beiden noch nicht reicht,um Erfolgreich im Maschinenraum mitspielen zu können.

Gruß Ludwig
Up Topic Hauptforen / CSS-Forum / Fabien is back!

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill