Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Spieglein, Spieglein an der Wand
1 2 3 Previous Next  
- - By Hans-Juergen Date 2011-09-13 00:29
Hallo !

Immer wieder erhitzt ein Thema die Gemüter: die genaue Elo-Zahl von Schachprogrammen. Wie ermittelt man nun am verläßlichsten (bis auf die zweite Kommastelle  ) den exakten Wert ?

Mir gefällt Ingos Ansatz ("First pure rating list with ponder on") am besten...entspricht möglichst nah dem menschlichen Vorgehen.
Stellt sich natürlich die Frage: wie groß ist der Unterschied zu anderen Listen mit Ponder off (die in gleicher Zeit mehr Partien produzieren können, was naturgemäß aussagekräftiger ist) ?

Daneben spielen noch viele andere Faktoren eine Rolle: Hardware, Betriebssystem, 32 oder 64 bit, GUI, SMP, Eröffnungsbibliotheken, Eröffnungstestsuites, Lernen an, Tablebases, Aufgabefaktor, contempt factor, Eloberechnungsprogramm, Auswahl der Gegner, Anzahl der Partien...     bis hin zu persönlichen Präferenzen.
Deshalb gibt es so viele Listen: IPON, CEGT, SWCR, CCRL, SSDF, private...

Viele (Statistiker) behaupten ja, daß man geradezu eine Unzahl von Partien absolvieren muß um eine exakte Elo-Zahl für Computer zu erreichen. Ist dem wirklich so ? Und wenn ja, wieviel Partien sind dann ausreichend? 100, 200, 500, 1000, 1500, 2000 oder noch mehr ?? Wie sehr verändert sich jeweils die Error-Bar ?
Und die Frage aller Fragen: Spieglein, Spieglein an der Wand, wer hat die beste Elo-Liste im ganzen Land ?         

Um all diesen Fragen auf den Grund zu gehen, könnte man ein "Verifizierungs-Turnier" durchführen, indem man 2 absolut gleiche Engines gegeneinander spielen läßt (jeweils unter den Bedingungen der jeweiligen Listen). Man weiß ja a priori über die Spielstärke der Programme Bescheid: beide sind gleichstark. Wieviele Partien muß man im direkten Vergleich austragen um sich diesem Resultat anzunähern ? (...sagt da jemand...gar keine...nicht unberechtigter Einwand).   

Klingt erstmal ziemlich komisch (um nicht zu sagen idiotisch), ist aber vielleicht doch keine reine Stromverschwendung, sondern eventuell eine geeignete Methode die "beste" aller Listen zu ermitteln, zumindest die am besten geeichte Liste. Oder ?
Zugegeben, ist natürlich mehr eine Gedankenspielerei - denn wenn 2 gleiche Programme aufeinander losgehen, ist das eigentlich ziemlich öde bis stupide...oder doch statistsch, wissenschaftlich ein klein bißchen interessant ?

Spielt Shredder gegen Shredder besonders remislich...oder erreicht Fritz gegen Fritz gar mehr als 50 Prozent ?

Aber die Vielzahl der zu testenden Engines wird wohl eine solche Eichung nicht zulassen..so darf auch in Zukunft wild spekuliert werden, wer die beste aller Elo-Ratinglisten mit dem geringsten Fehlerintervall produziert...

Gruß
Hans-Jürgen
Parent - By Frank Quisinsky Date 2011-09-13 08:15 Edited 2011-09-13 08:22
Hallo Hans-Jürgen,

das ganze Forum ist voll mit Analysen und Kommentaren zu diesem Thema. Es macht für mich keinen Sinn alles x-mal zu wiederholen. Auf meiner Webseite findest Du die Datei "Beeinflussungsfaktoren" die ich ca. vor 7 Jahren schrieb und zwischenzeitlich aufgrund neuer Erkenntnisse auch upgedatet habe.

Zur ELO Entwicklung findest Du in meinen News-Ticker Tabellen, nach 100, bis zu 1.000 Partien. Über 1.000 Partien macht es keinen Sinn die Tabellen weiter zu führen, regt sich nur sehr sehr selten etwas. Maßgeblich für ein genaues Rating sind viele Gegner. Genauso wichtig wie viele Partien. Die Frage wie viele Partien kann nicht eindeutig beantwortet werden, weil das Anspruchsdenken bei Jedem Beobachter anders ausfällt. User A will einen Wert genau um 2 ELO und User B reicht 20 ELO.

Ich denke ein Rating ist ca. bei 25 Gegnern genau wenn ca. 400-500 Partien vorliegen (bei maximal in wenigen Fällen von +-20). Sind es weniger Gegner müssen mehr Partien her. Sind die Beeinflussungsfaktoren größer müssen mehr Partien her.

In der SWCR gibt es die Mindestpartiezahl von 1.000. Es wird ohne Aufgabefaktor gespielt, Partien unter 16 Zügen bzw. Zeitüberschreitungen werden wiederholt damit die Datenbank so gut es geht sich für statistische Zwecke eignet, zumal diese ja zum Download angeboten wird.

Bei 1.000 Partien : 40 Partien pro Match (in der SWCR immer 40 Partien Matches) = Mindestens 25 Gegner
Damit erreiche ich eine Genauigkeit von 4 ELO.

Das heißt das sich Ratings um durchschnittlich 4 ELO verändern können. In jetzt 4 von 170 Fällen ging es knapp über 20 ELO. Um diese Ergebnisse zu toppen und ein wirklich besseres Ergebnis zu bewirken reichen 2.000 Partien pro Engine nicht aus. Dadurch wird alles nur um 1.4 ELO genauer. Es müssen schon ca. 8.000 Partien her um folgendes Ergebnis zu erreichen (per Datenbanksimulation ausprobiert):

1.5 ELO Genauigkeit bei maximaler Abweichung von ca. 9 ELO bei 40 Gegnern!
Völliger Quatsch das zu versuchen, sind auch zu viele Maschinen erforderlich.

ErrorBar ist mit Vorsicht zu genießen. Die Anzahl der Gegner wird bei den Berechnungsprogrammen nicht berücksichtigt und insofern ist die ErrorBar nur sehr bedingt aussagekräftig.

Interessant ist das bis ca. 24 unterschiedliche Gegner die Kurven noch ausschlagen bzw. sich erst langsam beruhigen. Optimal scheint der Wert 26 Gegner zu sein da danach die Kurven hinsichtlich Genauigkeit sich kaum noch maßgebend verändern --- unabhängig von der Anzahl der Partien wenn größer als 500.

Viele Grüße
Frank
Parent - - By Benno Hartwig Date 2011-09-13 08:34
[quote="Hans-Juergen"]Wie ermittelt man nun am verläßlichsten (bis auf die zweite Kommastelle  ) den exakten Wert ?[/quote]Für mich steht da vorher noch eine wichtige viel grundsätzlichere Frage:
Was ist denn der (theoretische, tatsächliche, wirkliche, wahre, echte, anerkannte) ELO-Wert, den man durch praktische Testverfahren dann möglichst gut zu bestimmen versucht?
Wie genau sollte dieser theoretisch definiert sein? Wodurch ist er festgelegt.

Meiner Meinung nach haben die Leute da sehr verschiedene Vorstellungen(!), Und diese Werte sind unterschiedlich. Und dann köcheln sie an Verfahren, 'ihren' ELO-Wert möglichst verlässlich zu schätzen.
Es sollte aber meiner Meinung nach kein Streit über die Methoden erfolgen, es sollte diskutiert werden, welchen ganz konkreten Wert man denn eigentlich bestimmen möchte, was 'der wahre ELO-Wert' eigentlich ist.

Benno
Parent - - By Werner Mueller Date 2011-09-13 09:19
[quote="Benno Hartwig"]
[quote="Hans-Juergen"]Wie ermittelt man nun am verläßlichsten (bis auf die zweite Kommastelle  ) den exakten Wert ?[/quote]Für mich steht da vorher noch eine wichtige viel grundsätzlichere Frage:
Was ist denn der (theoretische, tatsächliche, wirkliche, wahre, echte, anerkannte) ELO-Wert, den man durch praktische Testverfahren dann möglichst gut zu bestimmen versucht?
Wie genau sollte dieser theoretisch definiert sein? Wodurch ist er festgelegt.

Meiner Meinung nach haben die Leute da sehr verschiedene Vorstellungen(!), Und diese Werte sind unterschiedlich. Und dann köcheln sie an Verfahren, 'ihren' ELO-Wert möglichst verlässlich zu schätzen.
Es sollte aber meiner Meinung nach kein Streit über die Methoden erfolgen, es sollte diskutiert werden, welchen ganz konkreten Wert man denn eigentlich bestimmen möchte, was 'der wahre ELO-Wert' eigentlich ist.

Benno
[/quote]
Es gibt keine wahre 'Elo'-Zahl - theoretisch noch weniger als praktisch.
Das heißt aber nicht, dass die Rating-Listen nicht sinnvoll wären. Ich halte es da mit Voltaire: "Wenn es Gott nicht gäbe, müsste man ihn erfinden."
Parent - - By Benno Hartwig Date 2011-09-13 10:15
[quote="Werner Mueller"]Es gibt keine wahre 'Elo'-Zahl - theoretisch noch weniger als praktisch.[/quote]Das es sie so nicht gibt, mag sein.
Dann ist es ggf. an der Zeit, eine entsprechende Definition zu formulieren und sie damit zu 'schaffen'.
Tut man es nicht, wird eifrig weiter über einen Begriff diskutiert, zu dem die verschiedensten Vorstellungen existieren.
Benno
Parent - - By Werner Mueller Date 2011-09-13 10:34
[quote="Benno Hartwig"]
[quote="Werner Mueller"]Es gibt keine wahre 'Elo'-Zahl - theoretisch noch weniger als praktisch.[/quote]Das es sie so nicht gibt, mag sein.
Dann ist es ggf. an der Zeit, eine entsprechende Definition zu formulieren und sie damit zu 'schaffen'.
Tut man es nicht, wird eifrig weiter über einen Begriff diskutiert, zu dem die verschiedensten Vorstellungen existieren.
Benno
[/quote]
Was es nicht gibt, kann man auch durch Definition nicht 'schaffen'.
Man kann allerdings oft so tun 'als ob' (siehe mein obiges Zitat von Voltaire). Setzt dann allerdings voraus, dass man auch mal fünf gerade sein lässt, ansonsten schlägt man sich sinnlos gegenseitig die Schädel blutig.
Parent - By Benno Hartwig Date 2011-09-15 22:23
[quote="Werner Mueller"]Was es nicht gibt, kann man auch durch Definition nicht 'schaffen'.[/quote]Eine Definition ist lediglich eine Festlegung, was man unter einem Begriff verstehen will. Wenn zu einem Begriff 'Spielstärke' oder 'wahre ELO-Zahl' keine solche Festlegung existiert, so könnte solch eine Festlegung aber trotzdem sehr gut möglich sein und getroffen werden. Dass nicht jeder solch eine konkrete Definition dann gut findet, dass sie vielleicht nicht gut passen will zu dem, was er persönlich sich so ganz unscharf unter diesem Begriff vorstellen möchte, mag ja sein.
"Die Mathematiker haben den Begriff 'Funktion' ganz falsch definiert!" war vor einiger Zeit der vehement vorgetragene Standpunkt eines Einzelnen de.sci.mathematik.
"meiner Meinung nach unglücklich definiert!" hätte er ggf. sagen können, "falsch" war aber falsch.
Benno
Parent - - By Ingo Althöfer Date 2011-09-13 11:02
Herr Hartwig,

[quote="Benno Hartwig"]
[quote="Werner Mueller"]Es gibt keine wahre 'Elo'-Zahl - theoretisch noch weniger als praktisch.[/quote]

Das es sie so nicht gibt, mag sein.
Dann ist es ggf. an der Zeit, eine entsprechende Definition zu formulieren und sie damit zu 'schaffen'.
[/quote]

die Sache ist schlimmer, als Sie wohl annehmen:

Schachstärke lässt sich nicht durch eindimensionale Zahlen messen,
das kann man mathematisch beweisen.

Vom Typ her ist dies ein Nichtexistenz-Ergebnis wie die Gödelschen
Unvollständigkeits-Sätze zur Logik.

Als schwacher Trost ein positives Ergebnis: Schachspielstärke lässt sich bei
statischen (nicht lernenden) Spielern durch d-dimensionale Parametersätze
messen, wenn d nur gross genug ist.  Ausreichend ist z.B.
d = 40 * Anzahl verschiedener Schach-Stellungen.

Ingo Althöfer.
Parent - By Peter Martan Date 2011-09-13 12:05
[quote="Ingo Althöfer"]
Als schwacher Trost ein positives Ergebnis: Schachspielstärke lässt sich bei
statischen (nicht lernenden) Spielern durch d-dimensionale Parametersätze
messen, wenn d nur gross genug ist.  Ausreichend ist z.B.
d = 40 * Anzahl verschiedener Schach-Stellungen.
[/quote]

Vielen Dank, sehr geehrter Herr Professor!

Endlich ist mir das in all seiner Einfachheit so richtig klar.

Ich hab ja immer schon gesagt, Stellungstests sagen mehr.

Im Ernst, ich fürchte sie werden den Fans von einfachen Maßzahlen keine Freude machen auf diese Art, wenngleich das natürlich auch nicht der einzige Sinn der Wissenschaft ist.
Parent - By Benno Hartwig Date 2011-09-13 14:07 Edited 2011-09-13 14:14
[quote="Ingo Althöfer"]Schachstärke lässt sich nicht durch eindimensionale Zahlen messen, das kann man mathematisch beweisen.[/quote]Widersprechen will ich eigentlich nicht, aber 'Schachstärke' ist eben gerade dieser bislang undefinierte Begriff ist, mit dem sich dann folglich eigentlich kaum solch eine Aussage machen lässt.

Wenn ich an die Verteilung von Zufallsvariablen denke, und wie man versucht z.B. mit dem definierten Begriff 'Varianz' wenigstens etwas von dieser Verteilung zu beschreiben, dann sollte man auch einen Begriff 'ELO-Stärke' so definieren können, dass dieser Wert in genau festgelegter Weise beschreibt, wie eine Engine unter gegebenen Rahmenbedingungen im Vergleich zur Gegnerschaft dasteht.
Nur wird nicht jeder eine solche spezielle Definition gut finden. Mancher wird sagen, den Begriff hätte man lieber anders definieren sollen.
Ggf. beschreibt dann 'ELO-Stärke' nicht das, was er sich unter dem bislang reichlich unscharfen 'Schachstärke' vorgestellt hat.
Man darf ja auch gern meinen: "Der Begriff Varianz ist so doof definiert. Viel besser wäre doch eine Definition Var(X)=E((X-M(X))^4)"

Insbesondere, ob ELO-Stärke vor allem gegen die starken Gegner
   oder auch gegen 95% weit unterlegene Gegner ermittelt werden sollte
      oder optimalerweise (theoretisch) gegen jedes schachspielende Programm auf der Welt,
wird noch lange Streitpunkt bleiben.
Ob mehrere Versionen anderer Engines eine Rolle spielen sollten,
ob eigene Vorgängerversionen eine Rolle spielen sollten,
ob Cloneverdächtige dabei sein sollten, Wenn ja: alle?
Ob jeder Gegner gleich wichtig sein sollte, wenn nein: welche Gewichtung
Wie mit Büchern und Tablebases umgegangen werden sollte
wie die Resourcenverteilung erfolgen sollte (bitte feste MB Zahl für Program + Daten und insb. Hashtable!)

'ELO-Stärke' als Funktion von
- Rahmenbedingungen,
- der Engine selbst,
- einer Methode zur Auswahl der Gegnerschaft,
- der Berechnungsmethode
...
wäre wohl schon sinnvoll definierbar,
aber es existieren unterschiedliche Wünsche, und es wird sich nicht jeder mit dem definierten Begriff anfreunden wollen.

Die 'Schachstärke' mit einer 'eindimensionalen Zahl' zu bemessen, sollte natürlich niemand versuchen.
Er sollte wissen, dass er allenfalls versuchen kann, eine definierte technische Größe abzuschätzen.
Aber um diese Definition geht es mir.

Benno
Parent - By Frank Quisinsky Date 2011-09-13 17:22 Edited 2011-09-13 17:31
Hallo Ingo,

nicht alles was beweisbar zu sein scheint ist wissenschaftlich anerkannt.
Maria Magdalena, italienische DNA?
Turiner Grabtuch?
Jesus letztendlich begraben in Indien?

Neue wissenschaftliche Erkenntnisse erlangen wir nicht wenn wir uns an bestehendes Wissen festbeißen. Neue Erkenntnisse heißt zunächst mal in Frage stellen, versuchen zu forschen oder zu ermitteln.

Begriffe?
Was sind Begriffe?
Begriffe sind Begriffe die unterschiedlich begreiflich werden.
Die Auslegungssache des Betrachters geht nur selten konform mit einer wirklich beabsichtigen Feststellung.

Lösung kann einfach sein:
Die Einfachheit ist die Lösung vieler Problemkonstellationen!

Gehen wir davon aus, wir hätten eine bessere Berechnungsmethode als ELO, INGO (meine nicht Dich, altes INGO-System), DWZ etc.. Was würde uns das tatsächlich bringen?
Wahrscheinlich würde alles etwas genauer werden aber die Tendenzen zur Spielstärke einer Engine bleiben.

Spielstärke ist ferner auch nur ein PUNKT der eigentlich gar nicht so wichtig ist.
Wichtiger bei Engines eher die Stärken und Schwächen.

Die IPP Serie glänzt z. B. durch ein sehr starkes frühes Endspiel was grob gesagt 300 ELO besser ist als von Programmen vor ca. 5 Jahren. Dadurch sind diese Engines aber im Mittelspiel nicht besser, sind und bleiben genauso anfällig gegen gezielte Königsangriffe sofern diese fehlerfrei ablaufen. Bereits nach dem ersten selbst errechneten Zug ensteht das Engine Chaos, der GM freut sich ... PRIMA Eröffnung mal wieder nicht verstanden und wittert seine Chance.

Wie sollte das gemessen werden wenn Engines nach wie vor keine eigenen Pläne entwickeln können sondern nach einem Muster den Programm Code abarbeiten. Wir messen das und kommen zu erstaunlich guten Ergebnissen, mit stümperhaften Berechnungsmethoden weil es einfach keine besseren gibt, diskutieren über Dinge die weit über den eigenen Horizont liegen und ärgern uns wenn Engine A nur um 10 ELO zugelegt hat bei einer Spielstärke von 3.000 ELO.

Sowohl Unsinn, Begeisterung als auch Anmaßung und viele andere Schlagwörter zu Oberbegriffen liegen hier sehr eng zusammen.
Eine Basis die nach wie vor sehr gut genutzt werden kann um das Interesse der Leute auf sich zu ziehen, um zu begeistern und den Schachsport bzw. insbesondere den Computerschachsport zu puschen. Der Mensch interessiert sich immer für solche Dinge.

Wie dem auch ist, sehr interessant was Du schreibst.
Dir eine schöne Woche!

Gruß
Frank
Parent - - By Lars B. Date 2011-09-13 19:01
[quote="Ingo Althöfer"]
Schachstärke lässt sich nicht durch eindimensionale Zahlen messen,
das kann man mathematisch beweisen.
[/quote]

Hallo Ingo,

von Schachstärke hast Du aber in diesem Thread zuerst gesprochen. Vorher ging es um eine Elo-Zahl, also ein Rating. Damit mißt man traditionell den praktischen Erfolg einer schachspielenden Entität, nicht etwa die Schachstärke. Auch wenn viele offenbar von einer Korrelation ausgehen, die jedoch schwächer zu sein scheint, als sie annehmen. Gilt Deine Aussage auch für Erfolgszahlen?

Darüber hinaus wüßte ich übrigens auch gern, wie denn die exakte Definition von "Schachstärke" lautet.

Viele Grüße
Lars

PS: DIN-Fachleute müßten auch mal ein bißchen Mathematik studieren, denn DIN EN ISO 8402:1995-08 definiert(e) beispielsweise Qualität als "die Gesamtheit von Merkmalen einer Einheit bezüglich ihrer Eignung, festgelegte und vorausgesetzte Erfordernisse zu erfüllen." Die versuchen auch, ganz viel in einen Meßwert zu quetschen. Beispielsweise beim Wein.
Parent - - By Ingo Althöfer Date 2011-09-13 21:32
Hallo Lars,

[quote="Lars B."]
[quote="Ingo Althöfer"]
Schachstärke lässt sich nicht durch eindimensionale Zahlen messen,
das kann man mathematisch beweisen.


Hallo Ingo,

von Schachstärke hast Du aber in diesem Thread zuerst gesprochen.


Ja, der Begriff war aber nicht glücklich gewählt.

Zitat:

Vorher ging es um eine Elo-Zahl, also ein Rating. Damit mißt man traditionell den praktischen Erfolg
einer schachspielenden Entität


Und genau das meinte ich.

Zitat:

Gilt Deine Aussage auch für Erfolgszahlen?


Auch da funktionieren 1-dimensionale Bewertungen nicht. Ein Beispiel dazu:

Man stelle sich 20 verschiedene Schachprogramme X1, X2, ..., X20 vor.
Für jede Paarung "Xi gegen Xj" daraus kenne man das erwartete Ergebnis
(gemittelt über ganz viele Partien; beiden Seiten gleichoft mit Weiss und Schwarz).
Jetzt komme ein neues Programm Y dazu. Auch wieder aus ganz vielen Partien
wisse man, wie Y gegen X1, X2, ..., X19 abschneidet. Dann kann man daraus
nicht ableiten, wie Y gegen X20 abschneiden wird.

Hat man statt der vollständigen Ergebnis-Tabelle (Xi gegen Xj für alle i,j; Xi gegen Y für i < 20)
nur je eine Ratingzahl pro Programm (X1, ..., X20, Y) so geht das erst recht nicht.

Zitat:

Darüber hinaus wüßte ich übrigens auch gern, wie denn die exakte Definition von "Schachstärke" lautet.


Damit hatte ich praktische Spielstärke - gegen andere Entities - gemeint.

********************************
Zitat:

PS: DIN-Fachleute müßten auch mal ein bißchen Mathematik studieren, denn DIN EN ISO 8402:1995-08 definiert(e) beispielsweise Qualität als "die Gesamtheit von Merkmalen einer Einheit bezüglich ihrer Eignung, festgelegte und vorausgesetzte Erfordernisse zu erfüllen." Die versuchen auch, ganz viel in einen Meßwert zu quetschen. Beispielsweise beim Wein.


Hmm, Wein ist zwar nicht so kompliziert wie Schach. Aber auch da dürfte es
nicht möglich sein, den Genuss von Person i bei Wein j vorherzusagen, wenn man
nur 1-dimensionale Qualitätswerte (pro Wein, pro Person) kennt.

Viele Grüsse,
Ingo.
Parent - - By Benno Hartwig Date 2011-09-13 21:44 Edited 2011-09-13 21:48
[quote="Ingo Althöfer"]Damit hatte ich praktische Spielstärke - gegen andere Entities - gemeint.[/quote]Gegen welche denn?
Die Auswahl dieser Gegnerschaft, und ggf. die Gewichtung ist bislang volkommen den Gutdünken der verschiedenen Interessierten überlassen.
Ich würde z..B. gern weitaus weniger gegen die vergleichsweise sehr schwachen Engines spielen lassen als mach anderer.
Und allein schon weil verschiedene Gegnerschaften möglich sind, mit daraus resultierenden durchaus unterschiedlichen Erwartungswerten für die ELO-Differenzen, ist doch solch eine Vokabel 'Spielstärke' so ungenau wie die diversen Erwartungen an eine ELO-Einschätzung an sich.

Benno
Parent - - By Frank Quisinsky Date 2011-09-13 21:48
Hallo Benno,

na dann mache doch einfach das Experiment und lösche bei einer SWCR Engine die von mir aus 2.000 Partien gespielt hat alles an Partien gegen schwache Gegnerschaft raus und mache Deine eigene Stichprobe Die Daten sind da, die Berechnungsprogramme sind da und einzelne Überprüfungen sind in 3-5 Minuten erledigt.

Viele Grüße
Frank
Parent - - By Benno Hartwig Date 2011-09-13 22:14
[quote="Frank Quisinsky"]na dann mache doch einfach das Experiment...[/quote]Dafür brauche ich kein Experiment sondern nur etwas Überlegung.
Natürlich lassen sich Engines schreiben, die Fallen stellen. Ich schlug hier vor einiger Zeit ein konkretes Konzept vor, seinerzeit versucht Rybka mit Springervorgabe gegen einen starken Menschen zu gewinnen. Solche Engines können gegen die besonders schwache Engines noch besser Punkten, gegen die starken aber nur weniger gut. Und die Spielstärkeeinschätzung hängt dann massiv von der Auswahl der Gegnerschaft ab.
Jede auch theoretisch befriedigende Definition der 'Spielstärke' muss solche Effekte berücksichtigen.
Und das unabhängig davon, ob sich bei deiner Engine-Auswahl derartige Effekte belegen lassen oder nicht.

Warum sollte übrigens deine Auswahl gültig sein, warum sollten nicht im Prinzip alle schachspielenden Engines (auch mit gut 1000 ELO) mitmachen dürfen?
Und hätte dies nicht ggf. auch praktisch einen deutlichen Einfluss?

Benno
Parent - By Frank Quisinsky Date 2011-09-13 22:53
Interessanter Ansatz aber wohl kaum messbar.
Engine mit besonderen Stärken, grundsätzlich aber ... sage mal 200 ELO zurück.

Genau das versuche ich ja, meist für mich herauszupicken.
Sparkische Mittelspiel in offenen Positionen als Beispiel.

Alles sehr schwierig messbar anhand von Partien.
Tendenzen werden deutlich, meist bestätigen sich diese Tendenzen zu einer Aussage wie:
Spark ist ein Taktiker, stark im Königsangriff ...

Ja wenn da nicht die zu sichere Spielweise in sonstigen Stellungen wäre die dann folgendes Ergebnis produziert: Kaum eine Engine verliert weniger Partien schnell als Spark. Die sehr hohen Remisquoten der Engine. Alles deutet darauf hin, dass ein Sicherheitsfanatiker besondere Stärken eingebaut hat die aus Spark eine besondere Engine macht.

Letztendlich haben wir diese Engines ja, Engines mit besonderen Stärken.
Sehen diese aber sehr schwierig und wir müssen wieder auf Datenbankwissen zurückgreifen.

Warum meine Auswahl gültig sein sollte?
Weil es keine andere Auswahl gibt.
Alles was verfügbar ist und ein gewisses Level hat spielt in der SWCR.
Es gibt keine Engine die ich ausgelassen habe.

Und warum nicht alle mitmachen dürfen:
Weil es technisch nicht geht. Die Liste würde nicht genug Daten produzieren um zu guten Ergebnissen zu kommen. Die Berechnungsprogramme haben Lücken bei zu Null Ergebnissen. Ein 40:0 ist nicht gerade erstrebenswert bei einer Ratingliste, gab es bei mir nach meinem eigenen Wissen zu den eigenen Daten auch noch nicht.

Vielleicht sollten wir davon ab Situationen zu konstruieren die willkürlich sind bzw. nicht umsetzbar mit heutigen Möglichkeiten. Es gibt immer Punkt die eine oder andere Liste anzuweifeln, anzugreifen weil es mal wieder neue Erkenntnisse gibt.

Berücksichtigen müssen wir auch:
Selten beginnt ein Ratinglistenbetreiber von Null aufgrund neuer Erkenntnisse.
Stand oft davor weil ich heute denke ich könnte hier und dort weiter verbessern aufgrund eigener Erkenntnisse.

Würde einfach zu weit gehen.
Müssen wir leben mit dem was da ist weiter sammeln was möglich ist und einsetzen wenn etwas neues kreiert wird.

Wir sind heute so weit dass die Effekte gut überdacht sind, nicht optimal aber gut überdacht sind. Sind heute so weit wissen zu glauben, das die Beeinflussungsfaktoren letztendlich nur sehr geringe Einflüsse haben und ich denke wir können den heutigen Listen vertrauen bzw. uns über die Spielstärken gut informieren.

Viele Grüße
Frank
Parent - - By Ingo Althöfer Date 2011-09-15 18:48
Einige mögen schon auf meine Antwort gewartet haben.
Ich habe aber erst in Ruhe drüber geschlafen und nachgedacht,
weil ich es so klar darstellen will, dass es möglichst viele
gut verstehen.

[quote="Benno Hartwig"]
[quote="Ingo Althöfer"]Damit hatte ich praktische Spielstärke - gegen andere Entities - gemeint.


Gegen welche denn? Die Auswahl dieser Gegnerschaft, und ggf. die Gewichtung
ist bislang volkommen den Gutdünken der verschiedenen Interessierten überlassen.


Ganz genau.
Das folgende ist ein möglichst einfaches Gedanken-Experiment, um
das Problem auf den Punkt zu bringen.

Man hat drei verschiedene Schachprogramme A, B, C.
Aus irgendeinem Grund darf man nur für zwei der drei möglichen
Paarungen (A gegen B; A gegen C; B gegen C) Matches spielen.
Diese beiden Matches dürfen beliebig lang sein (so dass Streuungen
und Varianz im Ergebnis keine Rolle spielen), aber es dürfen halt
nur zwei Matches sein.

Beantworten will man folgende Frage:
Ist A spielstärker als B oder umgekehrt?

Tester 1 sagt:
Ich lasse das Match "A gegen B" spielen und dann noch eines von den beiden anderen.
Das Ergebnis aus "A gegen B" gibt mir Antwort auf die Frage, das Ergebnis vom
zweiten Match spielt gar keine Rolle.

Tester 2 sagt:
Ich lasse die beiden Matches "A gegen C" und "B gegen C" spielen.
Derjenige von A und B, der gegen C besser abschneidet, ist für mich
der Spielstärkere.

Jetzt ist überhaupt nicht klar, ob Tester 1 oder Tester 2 den
vernünftigeren Test durchgeführt hat.

Zitat:

... ist doch solch eine Vokabel 'Spielstärke' so ungenau wie die diversen
Erwartungen an eine ELO-Einschätzung an sich.

Benno


Richtig. Bei einem Spiel wie Schach gibt es keine 1-dimensionale
Spielstärke. Bei anderen Spielen wie Mühle oder 4-Gewinnt oder
TicTacToe übrigens auch nicht.

Ingo Althöfer.
Parent - - By Simon Gros Date 2011-09-15 19:17
Ist dies nicht genau DER Grund (nur 2 dieser 3 Vergleiche dürfen sein) weshalb Herr ELO sein System ins Leben gerufen hat? Sollten nicht genau deswegen solche Vergleiche ermöglicht werden? (Spieler vergleichen welche niemals gegeneinander spielten und/oder spielen konnten)
Simon_G
Parent - - By Ingo Althöfer Date 2011-09-15 20:27
Hallo Herr Gros,

[quote="Simon Gros"]
Ist dies nicht genau DER Grund (nur 2 dieser 3 Vergleiche dürfen sein) weshalb Herr ELO sein System ins Leben gerufen hat? Sollten nicht genau deswegen solche Vergleiche ermöglicht werden? (Spieler vergleichen welche niemals gegeneinander spielten und/oder spielen konnten)
Simon_G
[/quote]

das war wohl wirklich die Absicht von Arpad Elo.

Und jetzt sag ich was, wofür man vielleicht auf mich einprügeln wird:
Viele Physiker (auch ein grosser Teil der theoretischen) tun sich leichter
als Mathematiker damit, unvollkommene Systeme oder Rechenansätze
zu benutzen.
Dabei schert es sie oft gar nicht, ob etwas wirklich wohldefiniert ist.
Man rechnet erst einmal los, und wenn hinten ungefähr das heraus-
kommt, was dem Bauchgefühl entspricht, lebt man gerne damit.

Zum Vergleich: Ende der 1920er Jahre gab es einen Briefwechsel zwischen
den Mathematikern [sic] Emanuel Lasker und Ernst Zermelo zur Frage
von Systemen zur Bewertung der Spielstärke im Schach. Wahrscheinlich ist
es kein Zufall, dass diese beiden Mathematiker (im Gegensatz zum Physiker
Elo) nicht zu einem "einsatzfähigen" Verfahren kamen.

Zur Verteidigung von Elo: Praktisch machen seine Zahlen - vor allem für
den Vergleich der Spielstärke von Menschen - schon einen gewissen Sinn,
und auch ich nehme sie hinzu, um mir manchmal Meinungen zu bilden.
Aber "die schachliche Spielstärke" als 1-dimensionalen Wert gibt es nun
einmal nicht.

Ingo Althöfer.
Parent - - By Simon Gros Date 2011-09-15 21:09
Vielen lieben Dank für die Erläuterungen! Ich will nicht behaupten, daß ich alles wirklich verstanden habe. Deshalb die Frage: kann es u.U. leichter, einfacher, von besser will ich nun nicht schreiben, sein, Schachprogramme mit dem von Ihnen zitierten "1-dimensionalen Wert" zu messen? Mein Gedankengang geht dahin, daß sich diese (Schachprogramme) unter Beachtung gewisser Dinge (Lernwerte etc.) im Laufe ihrer Existenz nicht verändern? Oder ist das vollkommen zu kurz gefaßt?
Simon_G
Parent - - By Ingo Althöfer Date 2011-09-15 22:26
Lieber Herr Gros,

[quote="Simon Gros"]
... Deshalb die Frage: kann es u.U. leichter, einfacher, von besser will ich
nun nicht schreiben, sein, Schachprogramme mit dem von Ihnen zitierten
"1-dimensionalen Wert" zu messen?  ...
[/quote]

Leider nicht.

Selbst wenn man zwei starke Vereinfachungen annimmt:
(1) Statische Spieler (z.B. nichtlernende Schachprogramme),
und
(2) Beliebig lange Testspielserien (damit man keine Varianzen und Streuungen berücksichtigen muss),

bleibt das Problem, dass sich Spielstärke nur durch hochdimensionale Parametersätze
angeben lässt.

*****************************
Früher, als es nur menschliche Spieler und noch keine Schachcomputer gab, war
alles viel einfacher: durch das starke Rauschen bei den menschlichen Spielern (Lernen,
Stimmungsschwankungen, Vergessen) fielen die Defizite von 1-dimensionalen
Bewertungssystemen (Ingo-Zahlen, Elo-System, ...) nicht auf.

Auch wenn der Vergleich nicht wirklich passt, könnte man ein Bild aus der
Himmelsmechanik heranziehen: Wenn man Planetenbewegungen nur ganz
ungenau messen kann, fallen einem gewisse Abweichungen von den "Gesetzen
der klassischen Mechanik" gar nicht auf. So besteht überhaupt keine Notwendigkeit,
z.B. die Relativitätstheorie einzuführen, um die "komische" Merkurbahn
zu erklären. Erst wenn man genauer messen kann, merkt man, dass die
bisherigen Erklärungen nicht gut genug waren.

Noch mal in einem Satz: Elo-Zahlen angewandt auf menschliche Spieler sind
für mich unproblematischer als bei Computerprogrammen.

Ingo Althöfer.
Parent - By Werne Mueller Date 2011-09-16 18:37
[quote="Ingo Althöfer"]
...
Noch mal in einem Satz: Elo-Zahlen angewandt auf menschliche Spieler sind
für mich unproblematischer als bei Computerprogrammen.

Ingo Althöfer.
[/quote]
Lieber Herr Althöfer,

Vielen Dank für Ihre Ausführungen.
(Die nachfolgenden Zeilen sehen Sie bitte weniger direkt an Sie, als vielmehr an die allgemeine Leserschaft gerichtet. Zum einen würde ich einem Fachmann nicht mit einer eher bildhaften Argumentation kommen wollen, zum anderen wäre mir, als noch nicht mal Hobby-Mathematiker, eine wesentlich fundiertere Darstellung auch gar nicht möglich.)

Zu Ihrem letzten Satz:
sehe ich genauso - nur das liegt m.E. weniger an einer diffuseren 'Spielstärke' des Menschen, sondern vielmehr an den unterschiedlichen mathematischen Modellen (klassisches Elo-Modell, 'Listen-Modell') die hinter den jeweiligen Elo-Berechnungen stecken.

In beiden Modellen kann man sich die 'Spielstärke' vorstellen als eine Gauß-Verteilung über der ELO-Achse und eben der 'Spielstärke' als zum Maximum gehörigen ELO-Wert.

Im klassischen Elo-Modell hat diese Gaußverteilung eine Standardabweichung von 200 ELO und bleibt bis in alle Ewigkeit von der Form (Standardabweichung) her unverändert.
Nach jeweils einer vergleichsweise geringen Anzahl von Partien (Turnierauswertung) erfolgt eine 'Nachjustierung', was man sich (mit der Gauß-Verteilung im Kopf) vorstellen kann als ein Verschieben dieser Verteilung entlang der ELO-Achse derart, dass das Maximum wiederum über dem nun 'nachjustierten' ELO-Wert liegt.

Bemerkenswert und festzuhalten ist, dass die 'Unschärfe' der 'Spielstärke', unabhängig davon ob der Spieler vielleicht gerade mal 30 oder bereits über 2000 Partien gespielt hat, immer und sozusagen für alle Zeiten dieselbe bleibt - das bedeutet z.B. für die ominöse 95%-Wahrscheinlichkeit: ErrorBars von +-400 ELO, ein Wert der wohl jeden Listenersteller erblassen lässt. Oder anders ausgedrückt: die Jagd nach einem 'scharfen' oder gar 'wahren' Wert für die Spielstärke ist dem klassischen Elo-Modell völlig fremd.

Ganz im Gegensatz zum 'Listen-Modell'. Ich kenne die genaue Vorgehensweise der Berechnungsprogramme EloSTAT oder BayesElo nicht. Aber entscheidend ist was hinten raus kommt. Und als Ergebnis präsentieren diese Berechnungsprogramme die Gauß-Verteilung einer Statistik der zufälligen Messfehler.
Die Gauß-Verteilung über der ELO-Achse (diesmal eigentlich mittlere_ELO-Achse) verjüngt sich i.d.R. mit der Anzahl der Messungen (Partien) - d.h. die Halbwertsbreite bzw. die Standardabweichung und damit die ErrorBars werden kleiner. Im Idealfall, d.h. (u.a.) im Falle unendlich vieler Partien wird die Gauß-Verteilung zum Peek und die ErrorBars zu 0.
Völlig im Gegensatz zur klassischen Elo-Modell ist also im 'Listen-Modell' die Jagd nach einer 'scharfen' 'Spielstärke' (dass es keine 'wahre' geben kann, wurde dankenswerterweise und hoffentlich ein für alle Mal von Ihnen klargestellt) Sinn und Zweck der ganzen Übung.

Wem das alles böhmische Dörfer sind und wer damit überhaupt nichts anfangen kann, sollte durch das folgende (leicht zu realisierende) Gedankenexperiment doch zumindest stutzig werden.
Angenommen Ingo (Bauer) liese sein Houdini 2 gegen die restlichen 22 Engines seiner Liste jeweils eine Partie spielen. Und um den Effekt drastisch zu gestalten, nehmen wir an Houdini 2 würde sämtliche Partien verlieren (frage jetzt keiner: wie wahrscheinlich ist das? - denn das tut selbstverständlich nichts zur Sache).
Eine Auswertung bzw. Einpicken dieser Partien in Ingos Liste würde - mal aus dem hohlen Bauch heraus geschätzt - vielleicht eine Änderung von 2 oder 3 Elo ergeben.
Eine Auswertung nach dem klassischen Elo-Modell würde eine Änderung ergeben, die wahrscheinlich (bei Bedarf kann ich das exakt nachrechnen) im dreistelligen Bereich (> 100) liegt.

Eine an sich doch erstaunliche Diskrepanz, umso erstaunlicher als mancher Listenbetreiber ja schon bei einer sich ergebenden Änderung von 20 Elo (nicht 100) nach vielleicht 1000 Partien (nicht 22) nahe daran ist, sich ins Schwert zu stürzen.

Noch eine Anmerkung zum Schluss:
Mir geht es (trotz meiner gelegentlichen Polemik) nicht darum, das 'Listen_Modell' irgendwie schlecht zu machen. Lediglich darum, dass die beiden Modelle einfach zwei Paar Stiefel sind.

Das in beiden Modellen notwendige Postulat einer (jedenfalls Pi_mal_Daumen-)Transitivität der 'Spielstärke' scheint mir durch die jeweilige Praxis (menschlich, computerschachlich) gerechtfertigt.
Ein echtes und grundlegendes Problem ergäbe sich m.E. erst bei einem Mix von Mensch u. Programm im klassischen Elo-Modell - z.B. weil meiner Überzeugung nach ein guter GM gegen ein 3200-er-Programm genauso gut oder schlecht spielt wie gegen ein 3000-er-Programm (das 'Listen-Modell' käme, da ein Mensch i.d.R. keine 2000 Partien gegen verschiedene Engines und/oder Menschen spielt, natürlich erst gar nicht in Frage).

Und deshalb halte ich auch das 'Listen-Modell' für immer noch hinreichend (eigentlich: dicke) praxistauglich - und für sehr interessant allemal.
Parent - By Benno Hartwig Date 2011-09-15 21:51
[quote="Simon Gros"]Ist dies nicht genau DER Grund (nur 2 dieser 3 Vergleiche dürfen sein) weshalb Herr ELO sein System ins Leben gerufen hat?[/quote]Wohlwissend, dass die Wirklichkeit, die er zu beschreiben versuchte, weitaus komplizierter ist, hat er sich ein vglw. einfaches Modell erdacht, und er schafft es, damit die Spielstärke (besser: die Gewinnaussichten) einigermaßen wirklichkeitsnah zu beschreiben. Immerhin, das ist schon ein großes Verdienst!
Aber die Wirklichkeit beschreibt er tatsächlich nicht.
Benno
Parent - - By Thomas Müller Date 2011-09-15 20:07
Hallo,

es gibt aber tester die lassen a-b, a-c, und b-c spielen?
Das ist doch optimal oder ?

gruß thomas
Parent - By Ingo Althöfer Date 2011-09-15 20:34
Hallo Herr Müller,

[quote="Thomas Müller"]
es gibt aber tester die lassen a-b, a-c, und b-c spielen?
Das ist doch optimal oder ?
[/quote]

Nein, es ist erst einmal nur anders.
(Dabei sehe ich mal davon ab, dass in meinem Gedankenexperiment angenommen
wurde, dass nur zwei der drei Matche - aus welchen Gründen auch immer -
gespielt werden können.)

Warum muss der Test mit drei Matches nicht optimal sein?
Das hängt vom Ziel ab.

* Wenn ein Wettkampf "A-B" bevorsteht, und der Tester darauf wetten will,
wer diesen Wettkampf gewinnt, dann macht es für ihn nur Sinn, frühere
Partien zwischen A und B zu berücksichtigen. Die Ergebnisse von A bzw. B
gegen C würden nur als Rauschen eingehen.

* Wenn andererseits der Tester/Trainer entscheiden soll, ob er in einer Entscheidungspartie
seinen Schützling A gegen "den Fremden C" antreten lässt oder seinen anderen
Schützling B (gegen C), so sind die (früheren) Ergebnisse der beiden gegen C von Bedeutung,
nicht aber, wie sie untereinander spielen.

Ingo Althöfer.
Parent - - By Benno Hartwig Date 2011-09-15 20:20
[quote="Ingo Althöfer"]Jetzt ist überhaupt nicht klar, ob Tester 1 oder Tester 2 den vernünftigeren Test durchgeführt hat.[/quote]Und während man sich darüber Gedanken macht, sollte man z.B. auch an
http://de.wikipedia.org/wiki/Intransitive_W%C3%BCrfel
denken. Zumindest ein Stück weit werden Schachprogramme solche Phänomene vermutlich auch zeigen.
Benno
Parent - - By Ingo Althöfer Date 2011-09-15 22:17
[quote="Benno Hartwig"]
[quote="Ingo Althöfer"]Jetzt ist überhaupt nicht klar, ob Tester 1 oder Tester 2 den vernünftigeren Test durchgeführt hat.
[/quote]

Und während man sich darüber Gedanken macht, sollte man z.B. auch an
http://de.wikipedia.org/wiki/Intransitive_W%C3%BCrfel
denken. Zumindest ein Stück weit werden Schachprogramme solche Phänomene vermutlich auch zeigen.
Benno
[/quote]

Richtig, im kleinen beschreiben transitive Würfel das,
was bei Schachpartien zwischen verschiedenen Spielern passiert.

Während aber solche anschaulichen transitiven Würfel nur je
sechs Seiten haben, sind es beim Schach mehr Seiten als
es Atome im Weltall gibt (siehe meine frühere Bemerkung
über etwa 40*Stellungsanzahl viele Parameter).

Ingo Althöfer.
Parent - - By Frank Brenner Date 2011-09-19 23:01
Gehe ich recht in der Annahme dass die "Spielstärke" sozusagen eine riesige Tabelle darstellt von allen möglichen Schachstellungen und den dazu gehörigen Zügen die derjenige Spieler in der Stellung spielen könnte mit der dazugehörenden Ausspielwahrscheinlichkeit für jeden Zug?
Parent - - By Ingo Althöfer Date 2011-09-20 11:28
Hallo Herr Brenner,

[quote="Frank Brenner"]
Gehe ich recht in der Annahme dass die "Spielstärke" sozusagen eine riesige Tabelle darstellt von allen möglichen Schachstellungen und den dazu gehörigen Zügen die derjenige Spieler in der Stellung spielen könnte mit der dazugehörenden Ausspielwahrscheinlichkeit für jeden Zug?
[/quote]

Genauso habe ich es gemeint, zumindest für einen statischen Spieler,
der nichts dazulernt und keine Gegner-Modellierung macht.

Hat man zwei solche Spieler und für jeden der beiden diese riesige
Tabelle, kann man mit Rückwärtsanalyse ermitteln, wie die beiden
gegeneinander spielen. (Kennt man die Parameter der beiden Spieler,
kann man natürlich mit Monte-Carlo eine Näherung dieses Wertes bestimmen:
man lässt die beiden 1.000 Mal gegeneinander spielen.)

Ingo Althöfer.
Parent - - By Frank Brenner Date 2011-09-21 02:53
Hallo Herr Althöfer,

So ist der Spieler nicht nur statisch (d.h. er lernt nichts dazu) sondern auch Bedenkzeitunabhängig.

Man kann leicht eine sehr große Anzahl von Spielern S1, ... Sn modellieren mit der Eigenschaft dass Si+1 stets gegen Si gewinnt (wirklich 100% und es können auch sehr viele unterschiedliche Spiele zustande kommen) aber Sn verliert sämtliche Spiele gegen S1.

Man kann sich sogar entartete Spieler vorstellen. Z.B. einen Spieler der jeden Gewinn ab 2 Zügen aufwärts perfekt spielt aber den finalen Mattzug niemals findet.

Wenn wir eine Spielstärke für jeden Spieler ausdrücken wollen die einen so hohen Informationsgehalt besitzt, dass es möglich ist rein anhand dieser Spielstärke die Chancen jedes beliebigen Matches zweier Spieler exakt vorhersagen zu können, so kann ich mir vorstellen dass  diese Tabelle fast notwendig ist.
Möglicherweise lassen sich einzelne Zeilen entfernen; nämlich dann wenn es sich bei der Zeile in der Tabelle um eine Position handelt die dieser Spieler mit den in seiner Tabelle zugrunde gelegten Ausspielwahrscheinlichkeiten (ausgehend von der Grundstellung) auf gar keinen Fall erreichen kann (egal wie konstruiert der Gegner spielt).

Größenordnungsmässig bleibt die Tabelle aber gleich groß.

Mehr Zeilen kann man nicht entfernen, weil man sonst einen Spieler finden kann der diese Positionen in einer Partie erreichen kann und genau dann ist das Matchergebnis halt nicht vorhersagbar, die Spielstärke wäre dann nicht vollkommen ausgedrückt.

Für praktische Zwecke könnte man aber die Anforderungen an ein Spielstärkemaß verringern, z.B mit folgender Idee:

Um die Spieltstärke eines Spielers S zu bestimmen lasse man ihn gegen alle anderen möglichen N Spieler spielen [Es gibt sehr viele, aber nur endlich viele Spieler],  addiere den Score und teile das Ergebnis durch N.

Dann erhält jeder Spieler S einen Prozentwert p im Bereich [0..100] mit der Eigenschaft, dass der Erwartungswert des Ausgangs einer Partie des Spielers S gegen einen beliebigen anderen Gegner genau p beträgt.

Den Ausgang eines  Matches  zwischen zwei beliebig ausgewählten Spielern mit Prozentwerten p und q lässt sich jetz aber nicht mehr genau vorhersagen.
Mfg Frank Brenner
Parent - By Ingo Althöfer Date 2011-09-21 11:01
Hallo Herr Brenner,

[quote="Frank Brenner"]
So ist der Spieler nicht nur statisch (d.h. er lernt nichts dazu) sondern auch Bedenkzeitunabhängig.


Richtig. Das gleiche Programm mit zwei verschiedenen Bedenkzeiten
würde man als zwei verschiedene Spieler modellieren.

Zitat:

Man kann leicht eine sehr große Anzahl von Spielern S1, ... Sn modellieren mit der Eigenschaft dass Si+1 stets gegen Si gewinnt (wirklich 100% und es können auch sehr viele unterschiedliche Spiele zustande kommen) aber Sn verliert sämtliche Spiele gegen S1.


Richtig.

Zitat:

Für praktische Zwecke könnte man aber die Anforderungen an ein Spielstärkemaß verringern, z.B mit folgender Idee:

Um die Spieltstärke eines Spielers S zu bestimmen lasse man ihn gegen alle anderen möglichen N Spieler spielen [Es gibt sehr viele, aber nur endlich viele Spieler],  addiere den Score und teile das Ergebnis durch N.

Dann erhält jeder Spieler S einen Prozentwert p im Bereich [0..100] mit der Eigenschaft, dass der Erwartungswert des Ausgangs einer Partie des Spielers S gegen einen beliebigen anderen Gegner genau p beträgt.

Den Ausgang eines  Matches  zwischen zwei beliebig ausgewählten Spielern mit Prozentwerten p und q lässt sich jetz aber nicht mehr genau vorhersagen.


Genau. Auch für einen neu dazukommenden Spieler liesse sich -
auch nachdem er schon gegen die Hälfte der anderen angetreten ist -
nicht sicher vorhersagen, was mit ihm gegen die andere Hälfte passiert.

***************************

Spannend finde ich folgende Fragen:
* Wenn man 1-dimensionale Ratings (wie Elo) durch
2-dimensionale oder 3-dimensionale oder 4-dimensionale
Bewertungen ersetzt, um wieviel besser kann man dadurch
Spielstärke annähern?
* Wie würden konkret gute k-dimensionale Ratings für kleine k aussehen?

Für k=2 wäre ein natürlicher Versuch, jedem Spieler ein Rating für
Weiss und eines für Schwarz zuzuordnen.

Bei menschlichen Spielern könnte man bei k=2 z.B. auch machen:
Rating 1 für Partien gegen Gegner, gegen die derjenige schon mindestens
drei Mal gespielt hat. Rating 2 für Partien gegen solche, gegen die
der Spieler bisher erst höchstens zwei Partien hatte.

Ingo Althöfer.
Parent - By Benno Hartwig Date 2011-09-21 13:07 Edited 2011-09-21 13:14
[quote="Frank Brenner"]Um die Spieltstärke eines Spielers S zu bestimmen lasse man ihn gegen alle anderen möglichen N Spieler spielen [Es gibt sehr viele, aber nur endlich viele Spieler],  addiere den Score und teile das Ergebnis durch N.[/quote]Wenn man so vorgeht, würde man aber 'Spielstärke' letztlich doch zurückführen einfach auf die Erfolgsquote, die eine Engine gegen jeweils einzelne andere Engines hat, und das bei endlichenr Gegnerzahl.
Die gesammt Informationsvielfalt, die in solch einer Tabelle stecken würde, würde dann doch reduziert auf eine einzige Zahl!
Haben wir den wirklich in Gedanken solch ein theoretisches Monstrum erdacht, welches sämtliche Spieleigenschaften der Engine beschreibt, um uns dann doch mit einer so simplen Information zufrieden zu geben?
Dann hätte ich lieber gleich formuliert:
"Die Spielstärke einer Engine ist die durchschnittliche Erfolgsquote gegen alle (endlich viele) ggw. existierenden Gegner" also letztlich doch nur eine einzige Zahl!
Dass die Tabellen theoretisch taugen, dies zu berechnen, stimmt zwar sicher. Dann wäre aber doch die Spielstärke jeder Engine (unter gegebenen Bedingungen) nur eine einzige Zahl.
Und man müsste sich nur noch Gedanken machen um eine geeigneter Wahl einer Stichprobe von Gegnerengines, und man hätte auch das passende, praktische Schätzverfahren.

Aber richtig befriedigen kann solch eine Definition nicht. Denn zwei Engines, die hier gleich bewertet werden, könnten gegen die Engine, die morgen erscheint, sehr unterschiedlich gut aussehen. 
Der hochtrabende Begriff 'die Spielstärke der Engine' wäre keine eigentliche Eigenschaft der Engine sondern nur ein Wert, der die Engine in Bezug setzt zur real existierenden Gegnerschaft.
Und die Gegnerschaft ändert sich beständig.

Und wollen wir wirklich gegen alle Gegner spielen lassen (tatsächlich, in Gedanken oder theoretisch per Tabellenauswertung)?
Dann würde auch die 'Spielstärke' der Top-Engines zu 99,9% gegen Engines ausgespielt, die weitaus schwächer sind, und zu 99% gegen Engines, die kaum die Regeln beherrschen.
(Ich unterstelle mal frech diverse nicht veröffentlichte Engines in den Schubladen der am-Rande-interessierten Hobbyprogrammierer )
Kann man so machen, finde ich aber schlecht.
Ich möchte bei der Gegnerschaft schon Gewicht legen auf die Gegner, die ungefähr gleich Spielstärke haben.
Mithin sollen die Spiele der Top-Engines gegen andere Top-Engines schon eine erhebliche Bedeutung haben!
"Ist doch egal, wie gegen die Guten gespielt wird, Hauptsache das riesengroße Heer der Anfänderengines wird sicher weggepuschert!" fänd ich blöd!

Benno
Parent - By Benno Hartwig Date 2011-09-20 13:12
[quote="Frank Brenner"]Gehe ich recht in der Annahme dass die "Spielstärke" sozusagen eine riesige Tabelle darstellt von allen möglichen Schachstellungen und den dazu gehörigen Zügen die derjenige Spieler in der Stellung spielen könnte mit der dazugehörenden Ausspielwahrscheinlichkeit für jeden Zug?[/quote]Mit solch einer Tabelle würdest du das gesamte Spielverhalten einer Engine darstellen können.
Sicher taugen theoretisch die Tabellen zweier solcher Engines zur Berechnung der Gewinnaussichten, mit widerstrebt es aber, solch eine Tabelle deshalb 'die Spielstärke der Engine' zu nennen.
Sicher könnte man meine und deine 'Spielstärke im TicTacToe' (besser: die unsere Spieleigenschaften) auch beschreiben durch eine ähnliche Tabelle.
Unsere Spielstärke wäre aber besser zu beschreiben mit "Wir halten sicher remis!"
Beim Schach ist es sicher viel komplizierter. So kompliziert, dass wir solch eine komplette Tabelle zu bemühen hätten, ist Schach aber sicher auch nicht.
Man kann solche eine Tabelle nehmen. (Man kann auch die Lage jedes einzelnen Atoms der Schachfiguren zur Beschreibung einer Stellung nehmen.) Es wäre aber unnötig aufwändig.

Ich möchte 'Spielstärke' gern auf reguläre Partien beziehen. (Du auch?)
Und die Engine könnte sicherstellen, dass bestimmte Stellungen überhaupt nicht erreicht werden. Dann bracht sie zu diesen Stellungen auch nichts sagen zu können.
Aus anderen Stellungen heraus wird locker gewonnen. Auch alle Folgestellungen wären in der Tabelle überflüssig.
Solch eine Tabelle enthält daher meiner Meinung nach weit mehr Informationen, als es für die 'Spielstärke' notwendig ist.

Benno
Parent - - By Benno Hartwig Date 2011-09-20 14:36 Edited 2011-09-20 14:45
[quote="Frank Brenner"]Gehe ich recht in der Annahme dass die "Spielstärke" sozusagen eine riesige Tabelle darstellt von allen möglichen Schachstellungen und den dazu gehörigen Zügen die derjenige Spieler in der Stellung spielen könnte mit der dazugehörenden Ausspielwahrscheinlichkeit für jeden Zug?[/quote]In meinem anderen Posting argumentierte ich, warum ich diese Tabelle als 'Spielstärke' für zu groß, für zu Informationsbeladen halte.
Warum dich diese Tabellen für 'Spielstärke' ablehne.
Aber hier will ich sie einfach mal akzeptieren und überlegen, was man damit anfangen kann.

Eine 'Spielstärke' ist durch die Tabelle nicht gegeben, so wie ich eine Vorstellung von einer Stärkebeschreibung habe. Sie ist nur eine Verhaltensbeschreibung für Situationen. Ob jedes Grundschulkind die Engine aushebelt oder ob GMs kaum eine Chance haben, ist aus der Tabelle (nur(!) aus dieser Tabelle) nur schwer ersichtlich.

Wenn ich aber zwei Engines und ihre Tabellen habe, gestatten diese dann aber die Berechnung der Aussichten für die Engines bei einer direkten Begegnung.
Das beschreibt aber immer noch nicht die Stärke der einzelnen Engines sondern bestenfalls deren Stärkedifferenz. (relative Spielstärke)

Um sowas wie "Die Stärke der Engine A" (ohne Bezug zu einem konkreten Gegner) zu erfassen, muss ich mir Gedanken machen, gegen welche Gegnerschaft derartige Tabellenberechnungen durchzuführen sein sollen.
Welche Engines, welche Versionen, welche Rahmenbedingungen (die können ja ggf. auch gern mal 10 mal so viel Zeit, oder auch 1/10 der Zeit haben), welche Gewichtung erfolgen soll.
Sollen Stellungen eine Rolle spielen, in die die Engine selbst nie(!) laufen würde?
Sollen konstruierte Stellungen eine Rolle spielen, die in keiner praktischen Partie eine Rolle spielen?
Soll eine Rolle spielen, ob eine Engine aus einer Stellung heraus das Matt schon in 30 oder erst in 40 erzwingt? Soll eine Rolle spielen, ob häufig kürzeste Gewinnwege gespielt werden?
Erst dann kann ich sowas errechnen wie einen 'mittleren Erfolg' gegen diese Gegnerschaft, was ich dann zunächst  tatsächlich 'Spielstärke' nennen könnte.

Nur wenn dann noch neue Engines hinzukommen, wenn die an der Gegnerschaft beteiligt werden?
Was haben dann noch jene älteren 'Spielstärke'-Werte mit den neueren zu tun?

Meines Erachtens liegen hier die eigentlichen Probleme für eine echte Definition eines Begriffes 'Spielstärke'.
'Spielstärke', die variabel ist und sich letztlich immer nur relativ zu einer sich ständig ändernden Gegnerschaft aktuell angeben lässt.

Benno
Parent - By Thorsten Czub Date 2011-09-21 15:39
unser gehirn denkt aristotelisch. das problem ist, das die welt dieser aristotelischen logik nur bedingt (im sonderfall) folgt.
d.h. wenn ich eine aussage mache, ist sie wahr, oder falsch, aber bildet nicht wirklich die wirklichkeit ab.

indem ich spreche, rede ich widersprueche.
deswegen ist das leben verbal oder auch logisch gesehen schwer vermittelbar.
kann man gut mit watzlawick, poincaree, goedel oder
exupery nachlesen. die haben das naemlich alle kapiert.
Parent - - By Werner Mueller Date 2011-09-21 16:13
@ Benno

Egal wie Du es drehst und wendest, eine scharfe Definition des Begriffes 'Spielstärke' macht keinen Sinn.

Du bist ja ein Freund nicht realisierbarer (oder verifizierbarer) Annahmen. Deshalb angenommen es gäbe die 32-Steiner (und die Grundstellung wäre Remis).

Wir konstruieren uns zwei Engines E+ und E-, wobei E+ eine Kombination aus den außerirdischen 32-Steinern und einer 'irdischen' Engine sei in dem Sinne, dass E+ die seiner 'irdischen' Meinung nach beste aus den angebotenen Alternativen der 32-Steiner auswählt, H- entsprechend die seiner 'irdischen' Meinung nach schlechteste. Wobei für beide bezgl. der angebotenen Alternativen gilt, dass die laut außerirdischen 32-Steinern maximale Bewertung beibehalten wird, d.h. in einer Remisstellung werden nur Remiszüge als Alternativen angeboten, in einer Gewinnstellung nur Gewinnzüge.

Beide Engines E+ und E- sind offensichtlich unschlagbar im jeweils direkten Vergleich mit allem was Schachfiguren bewegen kann - insbesondere auch im direkten Vergleich gegeneinander. E+ spielt (mit E als starker Engine) quasi wie Gott und dürfte die Spitze aller Ratinglisten zieren. Viel interessanter aber ist E- (ebenfalls mit E als starker Engine).

Diese Konstrukt macht (in Remisstellung) im Zweifel nur Züge, die nach Meinung der puren Engine saft- und kraftlos sind und nach 'irdischer' Beurteilung womöglich noch nicht mal gerade so eben das Remis halten. Gegen einen Gott spielt E- wie ein Gott, gegen einen GM wie ein GM und gegen einen guten Amateur wie ein guter Amateur, lediglich der Patzer findet natürlich auch unter diesen Bedingungen instinktsicher seinen Verlustzug. (Und btw.: das alles mit im Sinne der 32-Steiner stets optimalen Zügen - da könnte man direkt ein neues Fass aufmachen. )

Was schlägst Du vor, wie sollte man die Spielstärke von E- beurteilen oder gar quantifizieren?

Parent - - By Benno Hartwig Date 2011-09-21 17:33
[quote="Werner Mueller"]Du bist ja ein Freund nicht realisierbarer (oder verifizierbarer) Annahmen.[/quote]Ich bin sicher ein Freund auch solcher logischer Spielereien, die keinen rechten Bezug zur Realität haben. Schon war.
Solche Modelle sind halt oft durchschaubarer als die Wirklichkeit. Und gestatten eben oft auch Rückschlüsse.
Gedankenexperimente.

[quote="Werner Mueller"]Was schlägst Du vor, wie sollte man die Spielstärke von E- beurteilen oder gar quantifizieren?[/quote]Vielleicht habe ich dein Modell noch nicht genug verstanden.
Aber du stellst mit deinem Modell doch z.B. einfach die Frage
"Ist eine Remis-Vorstellung als 'spielstärker' zu bewerten, weil man dauernd dicht am Sieg war, als eine Remis-Vorstellung, bei der man gerade so die Niederlage verhindert hat"
Weiß nicht. Manche werden vielleicht sagen 'ja', andere 'nein'.
Angesichts des bisher Diskutierten, wo es nur um zählbare Erfolge ging, würde ich sagen 'nein'.

Ähnlich und dabei wohl praxisnäher verhält es sich mit der Frage:
Wenn zwei Engines ausgeglichen spielen, die eine aber bei Siegen meist in recht wenigen Zügen das Matt erzwang, die andere aber bei ihren Siegen elendig lange brauchte, ist dann die erste als stärker anzusehen?
Oder spitzer:
Ist die Engnne, die das mögliche 'Matt in 15' regelmäßig sieht und so ausspielt, 'spielstärker' als die Engine, die in solchen Stellungen zwar auch stets gewinnt, aber umständlich, mehrmals dicht an der 50-Zügeregel, und erst so spät, wenn die meisten Zuschauer längst ins Bett gegangen sind.

Benno
Parent - - By Simon Gros Date 2011-09-21 19:20
Ich sehe das alles lieber pragmatisch und stelle in den Raum, daß die Engine die stärkste/beste ist, welche gegen alle anderen und/oder einem Extrakt daraus (selbstverständlich nicht zu klein gewählt), das beste Resultat erzielt. Basta.
Simon_G
Parent - - By Benno Hartwig Date 2011-09-21 21:49
[quote="Simon Gros"]...Basta.[/quote]'Alle' bedeutet nun was? Auch Fritz1, Constellation, Mephisto2 und der erste ChessChallenger?
'Extrakt'? Nach welchen Kriterien erstellt?

Aber ich akzeptiere ja, dass ein guter Satz aktueller Engines eine sehr gute und vor allem akzeptierte Spielstärkeeinschätzung liefert.
Und dass das in den aktuellen Ratinglisten auch sehr gut praktiziert wird.
Wobei ich mich lieber stärker auf eine Gegnerschaft stützen würde, die ungefähr die Stärke der Prüfengine hat, als es häufig gemacht wird.

Benno

Parent - - By Simon Gros Date 2011-09-21 21:59
Ihnen ist aber schon bewußt, daß man für die stärkste/beste Engine kaum eine adäquate Gegnerschaft findet? Außer natürlich man geht den Weg der CEGT und läßt plötzlich 4-Core-Engines gegen den stärksten/besten 1-Core-Prüfling ran.
Simon_G
Parent - - By Benno Hartwig Date 2011-09-22 07:41
[quote="Simon Gros"]Ihnen ist aber schon bewußt, daß man für die stärkste/beste Engine kaum eine adäquate Gegnerschaft findet? Außer natürlich man geht den Weg der CEGT und läßt plötzlich 4-Core-Engines gegen den stärksten/besten 1-Core-Prüfling ran.[/quote]Ja, das ist mir bewusst. Ich würde in der Folge dann lieber eine kleinere Gegnerschaft akzeptieren als eine sehr große mit weitaus schwächeren Engines.
Und ich würde dies dann ggf. um mehrere Versionen (z.B. Rybka 4.1, Rybka 4, Rybka 3) dieser starken Gegner ergänzen.

Mir gefällt der Gedanke nicht wirklich, dass die Spielstärke der mich interessierenden Engines bisweilen zum überwiegenden Teil gegen Gegner ermittelt wird, die mich persönlich wenig interessieren. (Und ich hoffe, man wertet das nicht als Arroganz). So entsteht tatsächlich die resultieren ELO-Zahl zu einem übergroßen Anteil aus Begegnungen, bei denen dann bewertet wird, ob 95% oder nur 93% der Punkte geholt werden. Die Leistungsfähigkeit gegen gerade diese Gegnerschaft interessiert mich aber eher nur am Rande.

Benno
Parent - - By Simon Gros Date 2011-09-22 09:31

...So entsteht tatsächlich die resultieren ELO-Zahl zu einem übergroßen Anteil aus Begegnungen, bei denen dann bewertet wird, ob 95% oder nur 93% der Punkte geholt werden. Die Leistungsfähigkeit gegen gerade diese Gegnerschaft interessiert mich aber eher nur am Rande.

Nun, zumindest diese Ansicht scheint auch die CEGT zu teilen, weswegen wohl auch 4-Core-Varianten in den Test gegen Houdini Nummer 2 einbezogen werden. Der Grund wird mit Sicherheit der sein, damit zu vermeiden allzu hohe Scores dem Houdini abzuverlangen.
Simon_G
Parent - By Ingo Althöfer Date 2011-09-22 11:01
Hallo Herr Gros,

[quote="Simon Gros"]
Nun, zumindest diese Ansicht scheint auch die CEGT zu teilen, weswegen wohl auch
4-Core-Varianten in den Test gegen Houdini Nummer 2 einbezogen werden.
Der Grund wird mit Sicherheit der sein, damit zu vermeiden allzu hohe Scores dem Houdini abzuverlangen.
[/quote]

Das macht schon Sinn. Es hat aber auch Gefahren...

Betrachte man z.B. nur ein Programm A mit drei verschiedenen Bedenkzeitstufen,
also A(t), A(2t), A(4t),  für eine geeignete Basiszeit t.

Wenn man dann statistisch perfekte Ergebnisse kennt für
A(t) vs A(2t)
und
A(2t) vs A(4t),
so kann man daraus NICHT ableiten, wie A(t) gegen A(4t) abschneiden wird.

Das habe ich für eine Klasse von trivialen Spielen (Double-Step-Races)
mit statistisch signifikanten Testserien nachgewiesen: Dort schneidet
A(t) gegen A(4t) schlechter ab, als es nach den Ratings, die sich aus
den beiden anderen Paarungen ergeben, sein sollte.

Ingo Althöfer.

Ps. Die Double-Step-Races sind beschrieben in
http://www.althofer.de/mc-laziness.pdf .
Bei ihrer Kreierung ging es nicht darum, interessante Spiele zu schaffen,
sondern solche für die man gewisse Phänomene gut analysieren kann.
Parent - By Benno Hartwig Date 2011-09-22 13:24
[quote="Simon Gros"]Der Grund wird mit Sicherheit der sein, damit zu vermeiden allzu hohe Scores dem Houdini abzuverlangen.[/quote]Vor einiger Zeit befürchtete ich auch, dass es den starken Engines ggf. schwer fallen könnte, gegen die Schwachen tatsächlich so hoch zu gewinnen, wie es ihrer ELO-Überlegenheit entspricht.
Und als ich es analysierte, sah ich, dass Stockfish gegen die Schwachen sogar noch kräftiger punkten konnte als erwartet! 
Ggf. braucht Houdini auch keinen 'wohlmeinden Schutz vor den Schwachen'!

Nein mir geht es einfach darum, dass ich die Spielstärke nicht so gern vor allem gegen jene Engines ermittelt sehen möchte, die ich vglw. uninteressant finde.
Ob sie davon profitieren würden oder darunter leiden, bleibt aber zunächst ganz offen.

Benno
Parent - - By Thorsten Czub Date 2011-09-21 23:30
sag ich ja. jeder gegen jeden.
Parent - - By Peter Martan Date 2011-09-22 00:21
+1

Und dann noch: von jeder möglichen Stellung aus, eingedenk jeder möglichen daraus folgenden, in dem Fall müssten wir dann die Näherung von 1000 Partien pro Paar (und Ausgangsstellung? ) nicht mehr ausprobieren und uns nicht mit relativer Stärke von je zweien zueinander zufrieden geben.

Können wir's dann wieder für's Erste lassen?
Herr Prof. Althöfer hat sich wirklich Mühe gegeben, ich hab's ja auch nicht verstanden, wie's theoretisch ginge, aber dass es praktisch nur auf reine Willkür hinausläuft, darauf könnten wir uns doch schön langsam einigen und dann einfach wieder so tun, als wär's nicht so...

P.S. besonders interessant finde ich die Erkenntnis, dass das verpönte neue Version gegen Vorversion eng-eng einfach eine von unendlich vielen anderen möglichen Entwicklungskontrollen ist, die im Lichte der Intransitivität von rankings just genau so wertvoll ist, wie gegen ein beliebiges Kollektiv, das nur theoretisch mögliche Jeder gegen Jeden ist eine andere und der Unterschied ist...
...
Das eine ist machbar und ohnehin von jedem Entwickler beigesteuert und das andere eben nicht.
Parent - - By Thorsten Czub Date 2011-09-22 21:15
sorry aber es gibt einen mechanismus den wir noch nicht besprochen haben:
ähnliche engines ! liefern keine testergebnisse die sinn ergeben.

also vorgänger und nachfolger. wenn sie denn noch ähnlich sind
liefern m.E. nur schlecht einzuordnende ergebnisse. das ist ja auch verständlich.
man könnte es mit genen bei organismen vergleichen. bei "verwandten" treten ja auch ähnlichkeiten auf, sagen wir mal vater und sohn (also vorgänger und nachfolger) haben ähnliche ansätze.
daher ergibt sich zwischen vater und sohn ein ganz anderes spielstärkeverhältnis als zwischen 2 fremden.

ich denke das leuchtet ein.
Parent - - By Peter Martan Date 2011-09-22 21:54
Tut es, Thorsten!
Wie ähnlich einander aber die engines an der Spitze mittlerweile geworden sind, wissen wir ja auch. So gesehen dürftest du noch weniger von denen gegeneinander antreten lassen, als es selbst die Puristen tun.
Parent - - By Thorsten Czub Date 2011-09-22 22:49
hier bin ich anderer meinung.

es mag sein das houdini und critter und rybka einander ähnlich sind.

aber hiarcs, genius und stockfish oder komodo sind doch sehr anders als diese 3 verwandten.

ich spiele gerade auf meinen tablet PCs ein paar 40/120 partien. und man kann sehr schön sehen WIE unterschiedlich hiarcs ist, und vor allem WIE stark er auf den tablets ist.

da kommt keiner ran.

weil er nicht nur tief rechnet, sondern was weiss.

wenn du 2 ähnliche tief-rechner programme gegeneinander spielen siehst, denkst du doch, es gäbe nur remis

hiarcs nimmt die alle auf den tablets auseinander.
Up Topic Hauptforen / CSS-Forum / Spieglein, Spieglein an der Wand
1 2 3 Previous Next  

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill