Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Zufallszahlen
1 2 Previous Next  
- - By Willi Prinz Date 2010-10-09 21:32
Hallo Frank ich habe mir mal den Spass gemacht,mit dem Exel 1000000 Zufallszahlen zu produzieren.
Und zwar immer in einer Serie von 1000.
Es kommt entweder 0 oder 1.
Also Engine a gegen b jeweils 1000 Spiele wenn sie gleich stark sind,was man ja bei Zufallszahlen voraussetzen kann.
Ich habe das dann tausend mal wiederholt,so das eine Gesamtsumme von 1000000 Spielen rauskommt.
Ich wollte mal wissen wie die grössten Abweichungen bei den verschiedenen Serien ausfallen.(1 Serie 1000 Spiele)

Die grösste von mir erzielte Abweichung bei einer Serie  von tausend =463 zu 537.
Der Mittelwert bei allen Spielen also 10000000 ist nach dieser Serie 498 zu 502.

Wenn man davon ausgeht das ja eigentlich jeder 500 gewinnen müsste,gibt es aber bei einer Serie von tausend Spielen,tausend mal wiederholt eine Maximalabweichung
von  463 zu 537.
Ich weiss nicht wie man unter Arena die Elozahl ausrechnet bei vorgegebenen Ergebnis.In dem Fall Engine a 463 Engine b 537.
Das wäre die Maximalabweichung bei 1000000 Spielen in Serien von tausend.

Als reine Zahl vom Mittelwert 500 für jeden,sind das bis zu 6 Prozent.

Ob das bei Elo auch 6 Prozent sind,kann ich nicht prüfen weil ich nicht weiss wie ich das in Arena eingeben soll.
Villeicht kannst du das mal machen,das Ergebnis würde mich interessieren.
Gruss Willi
Parent - By Benno Hartwig Date 2010-10-10 09:50
Wenn ein Spiel vom ersten Spieler mit Wahrscheinlichkeit p gewonnen wird (hier also p=1/2),
dann wirst du bei n Spielen das Ergebnis g : n-g mit folgender Wahrscheinlichkeit erhalten:
(n über g) * p^g * (1-p)^(n-g)
hier also einfach
(1000 über g) /2^1000.

Interessant sind aber eigentlich nicht diese Einzelwahrscheinlichkeiten sondern solche Wahrscheinlichkeiten wie
"Wahrscheinlichkeit dass einer der beiden 463 oder weniger Punkte bekommt"
Da muss dann vielleicht mit einem kleinen Skript etwas aufsummiert werden.

Benno
Parent - - By ernst happe Date 2010-10-10 12:09
hallo willi.

ein super versuch! kannst du bitte diese ergebnisse auch mal graphisch aufarbeiten und hier hineinstellen?
bin gespannt wie die kurven aussehen.

grüsse ernst
Parent - - By Willi Prinz Date 2010-10-10 13:30
Hallo Ernst,
Das war ja nur ein Versuch um festzustellen welche Maximalabweichung bei diesen Bedingungen möglich sind.
Die Warscheinlichkeit das dieses Ergebnis auftritt ist ja sehr gering.
Die Mittelwerte liegen etwa bei 515 zu 485.
Aber es ist ja durchaus möglich das ein Tester 1000 Spiele macht,mit etwa gleichstarken Engines,und durch Zufall dieses Ergebnis auftritt.
Deshalb auch meine Frage an den Frank,diese Maximalabweichung die da aufgetreten ist irgenwie in Elos umzurechnen.
Ich weiss nicht wie man das machen könnte.
Du kannst ja auch selbst mal mit dem Excel diesen Versuch wiederholen.
Um das Programm zu schreiben dauert es keine 10 Minuten.
Gruss Willi
Parent - - By ernst happe Date 2010-10-12 19:52
ein experiment dazu:

zwei absolut identische engines mit denselben settings spielen gegeneinander mit folgendem ergebnis:

was sagt die statistik dazu?

1-1a

PlatzMotorPunkte%11aS-B
11 49,0/8061,2· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ··11==10111=11==1111=====01010==101=====1==01=11=11===11=100====0======0011====1=1 1519,00 
21a31,0/8038,700==01000=00==0000=====10101==010=====0==10=00=00===00=011====1======1100====0=0· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· ·· 1519,00 


80 Partien gespielt / Turnier beendet

Beginn des Turniers: 2010.08.28, 17:33:07
Letzte Aktualisierung: 2010.10.12, 18:50:51
Ort/ Land: XEON, Deutschland
Spielstufe: Blitz 1/0
Hardware: Intel(R) Xeon(TM) CPU 3.06GHz mit 2.048 MB Speicher
Betriebssystem: Microsoft Windows XP Professional Service Pack 2 (Build 2600)
Bedingungen: Hash: 256MB, Tablebases: Ein, Rechnen auf Gegnerzeit Aus, Anfangsstellung Noomen-Select.pgn
Tabelle erstellt mit: Arena 2.0.1
Parent - - By Willi Prinz Date 2010-10-15 20:00
Die Statistik sagt dazu das es durchaus möglich ist ein solches Ergebnis zu erzielen.
Beispiel du gehts mit deiner Frau ins Casino du setzt immer auf schwarz,und deine Frau immer auf rot.
Dann habt ihr ja nichts verloren ,weil die Verluste des einen,kompensieren die Gewinne des anderen.
Wenn da nur nicht die 1 oder 2 nullen wären die nur den Casinos gehört.
Bei Schachprogrammen gibt es aber keine Zahlen fürs Casino.
Deshalb ist es auch nicht möglich Schachprogramme sagen wir mit 10 Spielen zu testen.
Im Casino ist es durchaus möglich,und nicht unnormal das 10 mal hintereinander  zB rot kommt.
Man könnte es villeicht so sagen,mache ich 1000000 Spiele wird der Mittelwert sich bei 50 prozent für beide Seiten einpendeln,und das schon nach 1000 Spielen.
Wenn allerdings auf Schachengines bezogen eine Engine stärker ist als die andere,ist das so als wenn rot im Casino 20 Zahlen hält,und schwarz nur 16.
Bei gleichem einsatzt versteht sich.
Dann ist der Mittelwert auch nicht mehr die hälfte von allen Spielen sondern verschiebt sich auf die eine oder andere Seite.
Bei Zufallszahlen ergibt sich immer eine Normalkurve vom Gauss.Weil eben Zufallszahlen gleich stark sind,wie auch gleich starke Engines.
Wenn allerdings einer 20 Zahlen hält und der andere nur 16 ist das eben kein Zufall,und nur zu erklären das eben der ,der 20 Zahlen hält die bessere Engine ist,aufs Schachbezogen.
Versuchen wir es nochmal,Du hast schwarz und deine Frau rot,selbst wenn du diese Roulette also die Hardware irgenwie manipuliert hast,(sagen wir 20 zahlen gegen 16) kannst du bei wenigen Spielen immer noch deutlich verlieren.
Je mehr Spiele du machst,um so deutlicher wird deine Überlegenheit,weil du eben sagen wir besser bist,auf Engines bezogen.
willi
Parent - By Urs Maier Date 2010-10-16 15:34
du hast das zeug zum kinderbuchautor!
Parent - - By Jens Hartmann Date 2010-10-10 20:49
Hallo,
das ist ein interessanters Experiment, sehr lehrreich für viele Enginetester, die meinen, nach 100 Spielen eine Aussage treffen zu können.
Gib doch bitte noch bekannt, wie oft von Deinen 1000 Versuchen das Ergebnis GENAU 500-500 war. Das sollten sich viele Enginetester dann ausdrucken, einrahmen und aufhängen.
Jens
Parent - By Werner Mueller Date 2010-10-10 21:12
[quote="Jens Hartmann"]
Hallo,
das ist ein interessanters Experiment, sehr lehrreich für viele Enginetester, die meinen, nach 100 Spielen eine Aussage treffen zu können.
Gib doch bitte noch bekannt, wie oft von Deinen 1000 Versuchen das Ergebnis GENAU 500-500 war. Das sollten sich viele Enginetester dann ausdrucken, einrahmen und aufhängen.
Jens
[/quote]
Das ist nur
a) Willis fixe Idee - wann ist ein Zufall noch Zufall und ab wann ist er es nicht mehr und
b) kann man mit einem Würfel prinzipiell keine Elo-auswertbaren Ereignisse simulieren (nicht allem wo hinten 1 oder 0 rauskommt kann man mit Prof. Elo zu Leibe rücken)
Parent - - By Willi Prinz Date 2010-10-11 14:45
Keins.
Gruss willi
Parent - By Benno Hartwig Date 2010-10-11 15:21
[quote="Willi Prinz"]Keins.[/quote]Du hast 1000 Durchläufe gemacht, wobei für die erste Engine jeweils einen der Werte 0 bis 1000 herauskam. !000 Werte, die sich um 500 herum häufen, und du hast tatsächlich kein einziges mal 500:500 gesehen? 
Welche Werte hast du denn gesehen, wo häuften die sich denn womöglich?
Bei 1000 Durchläufen sollte gut 25 mal ein genaues 500:500 herausgekommen sein
und gut 75 mal '499 oder 500 oder 501'.

Benno
Parent - By Benno Hartwig Date 2010-10-11 15:13 Edited 2010-10-11 15:22
[quote="Jens Hartmann"]Gib doch bitte noch bekannt, wie oft von Deinen 1000 Versuchen das Ergebnis GENAU 500-500 war.[/quote]Das sollte in ungefähr 2,52% der Fälle auftreten.
Bei 1000 Durchläufen wäre also der Erwartungswert gut 25.
Dasss Willi vermeldete, dies sei ihm kein mal passiert, verwundert mich.
Benno
Parent - - By Benno Hartwig Date 2010-10-10 23:11
Weil mich solche Fragen auch interessierten, bin ich ihr mi einem VBscript zuleibe gerückt.
In einem Antwortposting auf mich selbst, poste ich es hier gleich mal.
Vielleicht will es ja mal jemand ausprobieren.
Man gibt im Script oben die Anzahl der Spiele vor und die Wahrscheinlichkeiten für Sieg, Remis und Niederlage (die Summe muss 1 sein) des ersten Spielers.
Und natürlich kann hier auch 0.5, 0,0 0.5 gesetzt werden, wie du es ansprachst.

Das Prinzip ist einfach folgendes: P(k,n) sei die Wahrscheinlichkeit für genau k Punkte in n Spielen der beiden Kontrahenten. dann gilt

P(0,0) = 1
P(k,0) = 0    falls k ungleich 0 ist
P(k,n) = P(k,n-1)*pNiederlage + P(k-0.5,n-1)*pRemis + P(k-1,n-1)*pSieg    falls n>0


Es wird dann für den ersten Spieler ausgegeben die Wahrscheinlichkeit
- dass er eine ganz bestimmte Punktzahl erreicht
- dass er höchstens diese Punktzahl erreicht
- dass er mindestens diese Punktzahl erreicht
Am Ende werden Erwartungswert, Varianz, Standardabweichung, und der Erwartungswert des Fehlerbetrages ausgegeben.

Bei 1000 Spielen ergibt sich 0,00163 als Wahrscheinlichkeit für 463
Als Erwartungswert für den Fehlerbetrag erhalte ich aber 12,61
Die Wahrscheinlichkeit, dass einer der beiden höchstens 463 Punkte bekommt ist 2*0,01046 = 0,0209

Benno
Parent - - By Benno Hartwig Date 2010-10-10 23:19 Edited 2010-10-10 23:24
Das VBscript könnte in einer Datei match.vbs gespeichert werden
Code:
anzahl=10
pGewinn=0.50
pRemis=0.30
pVerlust=0.20

wscript.echo "######## Wahrscheinlichkeiten berechnen"
dim feld(20005)
feld(0)=1
for i=1 to anzahl
for j=2*i to 2 step -1
  feld(j) = feld(j-2)*pGewinn + feld(j-1)*pRemis + feld(j)*pVerlust
next
feld(1) = feld(0)*pRemis + feld(1)*pVerlust
feld(0) = feld(0)*pVerlust
next

wscript.echo "######## Erwartungswert, Varianz, Standaradabweichung, Erwartungswert des Fehlerbetrages"
for p=0 to 2*anzahl
erw=erw+p*feld(p)/2
next
for p=0 to 2*anzahl
var=var+feld(p)*(p/2-erw)^2
eFehler=eFehler+feld(p)*abs(p/2-erw)
next
stAbw=sqr(var)

wscript.echo "######## Ergebnis ausgeben"
genau=15
set FSO=createObject ( "Scripting.FileSystemObject")
set aus = FSO.openTextfile("match.txt",2,true)
aus.writeLine "Anzahl Spiele                   : " & anzahl
aus.writeLine "Wahrsch. (Gewinn/Remis/Verlust) : " & pGewinn & " / " & pRemis & " / " & pVerlust
aus.writeLine
aus.writeLine " Punkte Erfolg      Wahrsch.genau       W.hoechstens       W.mindestens  "
aus.writeLine "---------------------------------------------------------------------------"
for j=0 to 2*anzahl
  mind=1-hoechst
  hoechst=hoechst+feld(j)
  s = form(j/2,5,1) & form(100*j/2/anzahl,5,1) & form(feld(j),3,genau) & form(hoechst,3,genau) & form(mind,3,genau)
  aus.writeLine s
next
aus.writeLine
aus.writeLine "Erwartungswert     : " & erw
aus.writeLine "Varianz            : " & var
aus.writeLine "Standardabweichung : " & stAbw
aus.writeLine "Erwartung.Fehler   : " & eFehler
aus.close

function form (z,v,n)
form=right("                    " & formatnumber(z,n),v+1+n)
end function


Gestartet könnte die Berechnung mit einer Batch-Datei match.bat im selben Verzeichnis:
Code:
cscript /Nologo match.vbs
notepad match.txt


Dann kann ein Ergebnis batch.txt kommen:
Code:
Anzahl Spiele                   : 10
Wahrsch. (Gewinn/Remis/Verlust) : 0,5 / 0,3 / 0,2

Punkte Erfolg      Wahrsch.genau       W.hoechstens       W.mindestens 
---------------------------------------------------------------------------
    0,0    0,0  0,000000102400000  0,000000102400000  1,000000000000000
    0,5    5,0  0,000001536000000  0,000001638400000  0,999999897600000
    1,0   10,0  0,000012928000000  0,000014566400000  0,999998361600000
    1,5   15,0  0,000076032000000  0,000090598400000  0,999985433600000
    2,0   20,0  0,000345024000000  0,000435622400000  0,999909401600000
    2,5   25,0  0,001267315200000  0,001702937600000  0,999564377600000
    3,0   30,0  0,003884304000000  0,005587241600000  0,998297062400000
    3,5   35,0  0,010118592000000  0,015705833600000  0,994412758400000
    4,0   40,0  0,022685538000000  0,038391371600000  0,984294166400000
    4,5   45,0  0,044101206000000  0,082492577600000  0,961608628400000
    5,0   50,0  0,074671794900000  0,157164372500000  0,917507422400000
    5,5   55,0  0,110253015000000  0,267417387500000  0,842835627500000
    6,0   60,0  0,141784612500000  0,409202000000000  0,732582612500000
    6,5   65,0  0,158103000000000  0,567305000000000  0,590798000000000
    7,0   70,0  0,151730625000000  0,719035625000000  0,432695000000000
    7,5   75,0  0,123761250000000  0,842796875000000  0,280964375000000
    8,0   80,0  0,084234375000000  0,927031250000000  0,157203125000000
    8,5   85,0  0,046406250000000  0,973437500000000  0,072968750000000
    9,0   90,0  0,019726562500000  0,993164062500000  0,026562500000000
    9,5   95,0  0,005859375000000  0,999023437500000  0,006835937500000
   10,0  100,0  0,000976562500000  1,000000000000000  0,000976562500000

Erwartungswert     : 6,5
Varianz            : 1,525
Standardabweichung : 1,23490890352285
Erwartung.Fehler   : 0,97820625


Vielleicht hilft es ja mal bei der Übersicht weiter,
Benno
Parent - By Benno Hartwig Date 2010-10-11 08:08
Die Zeile
Code:
   3,5   35,0  0,010118592000000  0,015705833600000  0,994412758400000
bedeutet dabei dann beispielsweise einfach:

Das Ereignis "3.5 Punkte aus 10 Partien" (das heißt ein Ausgang 3.5 zu 6.5)
bedeutet eine Ausbeute von 35.5 Prozent der erreichbaren Punkte
und tritt mit Wahrscheinlichkeit 0,010118592000000 auf.
Mit Wahrscheinlichkeit 0,015705833600000 tritt eine Ereignis "Der erste Spieler hat höchstens 3.5 Punkte" auf, also eines der Ereignisse 0.0 zu 10.0 bis 3.5 zu 6.5
Mit Wahrscheinlichkeit 0,994412758400000 tritt eine Ereignis "Der erste Spieler hat mindestens 3.5 Punkte" auf, also eines der Ereignisse 3.5 zu 6.5 bis 10.0 zu 0.0


Benno
(sorry, vielleicht war das etwas zu knapp erklärt gewesen)
Parent - - By Ingo Bauer Date 2010-10-11 08:42
Hallo

Das hat jetzt nichts mit der Mathematik zu tun, aber ist das ein Experiment das irgendetwas über Schachengines aussagt?

Es gibt verschiedenste Methoden Zufallszahlen zu erzeugen, manche machen dies besser, manche schlechter. Der windowseigene Generator stand schon öfter mal in der Kritik das seine Zahlen vorhersehbar sind. Ob das für den W95/98/XP/2000 oder W7 Generator gilt weiß ich nicht. Allen gemein ist, das sie per Definition in ihren Ergebnissen streuen sollen.

Die Erwartungshaltung an eine Engine (zumindest im Singlebereich, aber auf lange Sicht auch bei MP) ist, dass sich gleiche Enignes möglichst deterministisch verhalten, ihre Ergebnisse also reproduzierbar sind.

Die Annahme das etwas das streuen soll, womöglich anders in die Breite streut als eine Engine die möglichst nicht streuen soll, schein mir berechtig. Natürlich können wir nicht wissen WIE breit eine Engine  oder der Generator streut aber wir können vermuten das EINE von beiden Berechnungen "mehr falsch" ist als die andere. (Welche lasse ich mal dahingestellt)

Ich verstehe zwar, dass zwischen diesen beiden Ansätzen gewisse Ähnlichkeit besteht aber sie sind bei weitem nicht gleich. Ich habe Zweifel ob das was hier per Zufallszahlengeneratoren ermittelt wurde und/oder wird, wirklich 1:1 auf Engines/Ranglisten übertragbar ist!

Gruß
Ingo
Parent - - By Benno Hartwig Date 2010-10-11 10:55 Edited 2010-10-11 10:58
[quote="Ingo Bauer"]Ich habe Zweifel ob das was hier per Zufallszahlengeneratoren ermittelt wurde und/oder wird, wirklich 1:1 auf Engines/Ranglisten übertragbar ist![/quote]Die Betrachtung der Wahrscheinlichkeiten (und die Nachbildung mittels Zufallszahlen) macht z.B. dann Sinn, wenn man die Begegnung zweier Engines als ein Zufallsexperiment betrachtet mit bestimmten Wahrscheinlichkeiten für Sieg, Remis und Niederlage der ersten Engine. In welchem Ausmaß diese Sicht gerechtfertigt ist, mag ja diskutiert werden (Buchlernen...),
Nicht das Verhalten der Engines wird durch Zufallszahlen beschrieben, sondern nur Partie-Ausgänge (Sieg, Remis, Niederlage)
Reproduzierbarkeit gut und schön. Wenn du z.B. die Zeiten nur etwas änderst, wirst du meist auch bei gleicher Ausgangsstellungen zwischen zwei Engines bald eine andere Partie auf das Brett bekommen.
Ich denke diese Sicht 'Zufallsexperiment mit 3 möglichen Ausgängen' ist schon sehr passend.

Wenn ich ein Ergebnis "A gewann gegen B mit 12.0 zu 8.0" sehe, dann interessiert mich die Wahrscheinlichkeit dafür, dass bei gleichstarken Engines A und B ein Ergebnis mit einem so deutlichen oder noch deutlicheren Sieger herauskommt. Hier also ca. 0.31 (bei Annahme 0.40 für Remis).
Ich würde in diesem Falll z.B. werten wollen "Dieses Ergebnis lässt zwar irgendwie vermuten, dass A stärker ist, es widerspricht der These 'A und B gleich stark' aber nicht deutlich genug."
Die These "Trotzdem ist B der A um 12:8 überlegen" möchte ich aber als widerlegt ansehen, denn ein so deutlicher oder noch deutlicherer Sieg von A wäre dann nur mit Wahrscheinlichkeit 0.0135 zu erwarten.
Und wäre eine These "Trotzdem ist B der A um 11:9 überlegen" nun auch bereits widerlegt? Immerhin würde dann mit Wahrscheinlichkeit 0.055 tatsächlich passieren können, dass A mit mindestens 12:8 siegt.

Benno
Parent - - By Ingo Bauer Date 2010-10-11 11:48
Hallo Benno,

Wahrscheinlich geht das alles schlicht über meinen Horizon - ich nehme es stark an

ich hänge definitiv nicht tief genug in der Mathematik um dir sicher überall zu folgen, aber schon die Annahme der 0.4 für ein Remis ist reine Spekulation die mit dem Ausgang EINES Matches nichts zu tun hat. Sie ist vielleicht richtig über einen MIX von vielen Enignes. Wenn der obige Test für Schach eine Gültigkeit hat dann doch nur für tausend Spiele gleicher Engines und nicht gleich starker Engines. Im letzten Fall habe ich doch für jede Kombination unterschiedliche Wahrscheinlichkeiten für 1/=/0 ...!? (Bsp. Kommodo Naum haben eine Remiswahrscheinlichkeit von 0.4, aber bei Spike Rybka sieht die Sache anders aus ...)

Wie gesagt, die Mathematik für Zufallszahlen ist ok (nehme ich an), aber ich sehe immer noch nicht die Vergleichbarkeit mit einer kompletten Rangliste da dort sozusagen mehrere Zufallszahlerzeuger am Werk sind die auch noch interagieren. Für meine Liste bräuchtest du 60+ verschieden Zufallszahlgeneratoren, die interaktiv (irgendwie) das Ergebiss 1/=/0 aushandeln ... im obigen Bsp ist es eher so als wenn ich in  der Classic einen Shootout mit der selben Enigne die auch noch den selben Hash enthält, mache.

Platisch ausgedrückt: Deine Annahme für Wahrscheinlichkeiten zum Ergebniss 12:8 zw. Engine A und B ist eigentlich nur aus Ergebnissen von Engine C gegen sich selbst ermittelt ...

Gruß
Ingo
Parent - - By Benno Hartwig Date 2010-10-11 12:38
[quote="Ingo Bauer"]schon die Annahme der 0.4 für ein Remis ist reine Spekulation die mit dem Ausgang EINES Matches nichts zu tun hat.[/quote]Richtig.

[quote="Ingo Bauer"]Sie ist vielleicht richtig über einen MIX von vielen Enignes. Wenn der obige Test für Schach eine Gültigkeit hat dann doch nur für tausend Spiele gleicher Engines und nicht gleich starker Engines. Im letzten Fall habe ich doch für jede Kombination unterschiedliche Wahrscheinlichkeiten für 1/=/0 ...!? (Bsp. Kommodo Naum haben eine Remiswahrscheinlichkeit von 0.4, aber bei Spike Rybka sieht die Sache anders aus ...)[/quote]Klar. Meine Berechnungen zielen auf das Duell zweier Engines, die allerdings nicht gleichstark zu sein brauchen. Wenn man zwei Engines hat, dann gibt es (bei definierten Nebenbedingungen) Wahrscheinlichkeiten für Sieg, Remis und Niederlage. Und wie sich dies auswirkt bei mehren oder auch sehr vielen Begegnungen, betrachtet meine Berechnung.

Bei kompletten Ranglisten, wo ein Feld unterschiedlich starker Engines aufeinander trifft, sieht die Sache komplizierter aus.
Wie da ein exaktes Berechnungsmodell sinnvollerweise sein könnte, weiß ich nicht.
Vielleicht kommt man da durch eine große Anzahl von Simulationen mit angeneommenen jeweiligen Spielstärken am schnellsten zu vernünftigen Einschätzungen.
Aber vielleicht fällte einem ja doch noch eine plietsche Erweiterung der Idee ein, und man bekommt auch hier exakte Wahrscheinlichkeiten geliefert.
Aber du hast recht, das macht mein Skript nicht.
Willis Idee hatte ich aber auch einfacher verstanden, und dafür und etwas mehr wollte ich mit meinem Skript eine vollständige Lösung bieten.

[quote="Ingo Bauer"]Platisch ausgedrückt: Deine Annahme für Wahrscheinlichkeiten zum Ergebniss 12:8 zw. Engine A und B ist eigentlich nur aus Ergebnissen von Engine C gegen sich selbst ermittelt ...[/quote]Nein, das sicher nicht. Sie ist aus gar keiner Engine ermittelt.
Sie legt nur zugrunde, dass für je zwei Engines A und B derartige Wahrscheinlichkeiten pSieg, pRemis und pNiederlage (aus sicht von A) existieren, die ich nicht unbedingt kenne (meist nur grob kenne).
Und ich denke, das ist recht dicht an der Wirklichkeit. Diese Wahrscheinlichkeiten mögen bei Blitz und Turnier etwas unterschiedlich sein. Das Modell und die aus ihm gewonnenen Aussagen passen aber bei beidem.
Und das Skript ermittelt die Wahrscheinlichkeiten für Resultate von mehrrundigen Begegnungen dieser beiden. Basierend nur auf diesen 3 Wahrscheinlichkeiten. Das aber exakt.
(Ob sie allerdings Schach spielen, würfeln oder MauMau ist dabei Wurst)

Benno
Parent - - By Ingo Bauer Date 2010-10-11 13:11
Hallo Benno

[quote="Benno Hartwig"]
...
Willis Idee hatte ich aber auch einfacher verstanden, und dafür und etwas mehr wollte ich mit meinem Skript eine vollständige Lösung bieten.

...

[quote="Ingo Bauer"]Platisch ausgedrückt: Deine Annahme für Wahrscheinlichkeiten zum Ergebniss 12:8 zw. Engine A und B ist eigentlich nur aus Ergebnissen von Engine C gegen sich selbst ermittelt ...[/quote]Nein, das sicher nicht. Sie ist aus gar keiner Engine ermittelt.
Sie legt nur zugrunde, dass für je zwei Engines A und B derartige Wahrscheinlichkeiten pSieg, pRemis und pNiederlage (aus sicht von A) existieren, die ich nicht unbedingt kenne (meist nur grob kenne).
Und ich denke, das ist recht dicht an der Wirklichkeit. Diese Wahrscheinlichkeiten mögen bei Blitz und Turnier etwas unterschiedlich sein. Das Modell und die aus ihm gewonnenen Aussagen passen aber bei beidem.

Und das Skript ermittelt die Wahrscheinlichkeiten für Resultate von mehrrundigen Begegnungen dieser beiden. Basierend nur auf diesen 3 Wahrscheinlichkeiten. Das aber exakt.
(Ob sie allerdings Schach spielen, würfeln oder MauMau ist dabei Wurst)
...
[/quote]

Ok, damit kann ich mich anfreunden, auch mit dem was du schriebst und das ich gelöscht habe. Für ein einzelnes Match einfach "anzunehmen" das das Gewürfelte stimmt (einem echten Resultat entspricht und so weit weg sind die 1000-"Extreme" nicht) ist etwas das ich mit meiner Liste auch mache
Parent - - By Willi Prinz Date 2010-10-11 15:20
Warum macht nicht einer mal ein Experiment,sagen wir Stockfish gegen Rybka,Zeit pro zug 1 Sekunde auf einem schnellen Rechner der mehrere Partien gleichzeitig spielen kann.
Es geht dann nicht darum das Rybka oder Stockfish gewinnt,es geht nur darum wie gross die Unterschiede bei sagen wir 10 Serien a 100 Spiele sind.
Das würde ja auch Elounterschiede zeigen bei den Serien.
Nochmal ich habe nichts gegen Rybka oder Stockfish,der mittlere Elounterschied nach diesen Serien interessiert mich auch nicht,ich möchte nur die Maximalabweichung kennenlernen.
Ich habe keinen solchen Rechner,nur einen Laptop,und dem möchte ich das nicht zumuten,weil der dafür nicht gemacht ist.
Gruss Willi
Parent - - By Benno Hartwig Date 2010-10-11 16:39
[quote="Willi Prinz"]...ich möchte nur die Maximalabweichung kennenlernen.[/quote]Jedes Extremergebnis ist möglich, von 0.0 zu 100.0 bis 100.0 zu 0.0.
Jedes.
Allerdings sind die Wahrscheinlichkeiten für extreme Ausgänge klein bis winzigklein.

Wenn ich Rybka4 mal 25 ELO vor Stockfish 1.9 annehme (CEGT 64bit 6 Kerne), also Erwartungswert für Rybka4: 53.5% der Punkte
dann ergibt sich u.a. Folgendes:

Code:

   22,5   22,5  0,000000000000000  0,000000000000000  1,000000000000000
   23,0   23,0  0,000000000000000  0,000000000000001  1,000000000000000
   23,5   23,5  0,000000000000001  0,000000000000002  0,999999999999999
   24,0   24,0  0,000000000000004  0,000000000000006  0,999999999999998
...
   37,5   37,5  0,000009578450008  0,000021961910096  0,999987616539912
   38,0   38,0  0,000016325866739  0,000038287776835  0,999978038089904
   38,5   38,5  0,000027337707169  0,000065625484004  0,999961712223165
...
   46,5   46,5  0,010006837349988  0,040305919450411  0,969700917899577
   47,0   47,0  0,012535306406376  0,052841225856786  0,959694080549589
   47,5   47,5  0,015443091169240  0,068284317026027  0,947158774143214
...
   51,5   51,5  0,045044996853004  0,324584721870360  0,720460274982645
   52,0   52,0  0,047785835546112  0,372370557416471  0,675415278129640
   52,5   52,5  0,049857316652815  0,422227874069287  0,627629442583529
   53,0   53,0  0,051159766388655  0,473387640457942  0,577772125930713
   53,5   53,5  0,051628483976127  0,525016124434069  0,526612359542058
   54,0   54,0  0,051239038729755  0,576255163163824  0,474983875565931
   54,5   54,5  0,050009364526260  0,626264527690084  0,423744836836176
   55,0   55,0  0,047998403477068  0,674262931167152  0,373735472309916
   55,5   55,5  0,045301440206519  0,719564371373671  0,325737068832848
...
   81,5   81,5  0,000000000000015  0,999999999999999  0,000000000000016
   82,0   82,0  0,000000000000005  1,000000000000000  0,000000000000001
   82,5   82,5  0,000000000000001  1,000000000000010 -0,000000000000004
   83,0   83,0  0,000000000000000  1,000000000000010 -0,000000000000005


Dass Rybka4 22,5 oder weniger Punkte bekommt, ist zwar möglich, aber so unwahrscheinlich, dass die Rechengenauigkeit meines Skriptes nicht ausreicht. Erst wenn du 10^15 Durchläufe machst, hast du eine gute Chance sowas wenigstens einmal zu sehen.
Dass Rybka4 38,0 oder weniger Punkte bekommt, ist möglich, aber mit Wahrscheinlichket 0,000038 immer noch seehr unwahrscheinlich.
Dass Rybka4 47,0 oder weniger Punkte bekommt, ist mit ungefähr Wahrscheinlichket 0,05 schon einigermaßen wahrscheinlich. Man würde nicht aus allen Wolken fallen, wenn sowas passiert. Wer 20 derartige Tests macht kann gut davon ausgehen, dass eines seiner Ergebnisse in dieser Heftigkeit verfälscht ist.
Und dass Rybka4 mindestens 83,0 Punkte macht ist auch möglich, nur ist die Wahrscheinlichkeit wieder so klein, dass unsere Rechengenauigkeit hier versagt. (Und hier sehe ich gere: ein Rundungsfehler. Ich sollte die Anzeigegenauigkeit um 2 reduzieren, also  'genau=13' im Skript)

Die häufiger eintretenden Ereignisse (Ergebnisse) kann man wohl auch mit Simulationen ergründen.
Die sehr seltenen Bereiche bekommt man wohl nur über die Theorie gezeigt.
Aber: Jedes Ergebnis ist möglich.

Benno  
Parent - By Bert Rinzel Date 2010-10-11 17:42
Bei mir ist es zufall, wenn meine frau abends das kocht, was sie morgens ankündigt.

Kann man das genau berechnen?

   
Parent - - By Willi Prinz Date 2010-10-11 18:03
Ja das ist ja toll.
Frage, wieviel Spiele muss man machen um sagen zu können,egal bei welcher Zeit,Engine a ist besser als Engine b.
Mit einer Sicherheit,sagen wir von 90 prozent.
Bei Zufallszahlen ergibt sich natürlich immer die Normalverteilung vom Gauss.
Diese Grafik ist natürlich allen bekannt.
Ich kenne das aus meinem Beruf,sagen wir Sondermaschinen.
In allen Zeichnungen stehen irgenwelche Toleranzen die diese Maschine erreichen muss.
Es ist aber gang und gebe diese Toleranzen mit statistischen Massnahmen einzuschränken.
Das hat den Vorteil für den Kunden das er weniger prüfen muss,um seine Qualität zu erhalten.
Das bedeutet aber für den Hersteller der Maschine, das er je nach statistischer Einschränkung villeicht mehr Arbeitsprozesse braucht,um diese statistische Einschränkung zu garantieren.
Da sich alle Hersteller dieser Maschinen inzwischen an diesen Prozess gewöhnt haben,ist dem Kunden inzwischen aufgefallen,das je grösser die statistische Einschränkung dieser Toleranzen je teurer die Maschine.
Das alles hat natürlich nichts mit Schachprogrammen zu tun,oder villeicht doch?
Also in meinem Beruf,je grösser die statistische Einschränkung je teurer wird es für den Kunden.
Bei Schachprogrammen scheint das nicht zu stimmen,da es ja kommerziele und freie Programme gibt.
Die sind aber ungefähr gleich stark.
Ich will auch nicht eure Ergebnisse von Enginen Test in Frage stellen,ob nun Rybka Nummer 1 ist oder Houdini ist mir egal.
Mir ist allerdings nicht egal,das Rybka 90 Euro kostet,und Houdini garnichts.
Aber das kann ja jeder sehen wie er will.
Gruss willi
Parent - - By Benno Hartwig Date 2010-10-11 21:09
[quote="Willi Prinz"]Mir ist allerdings nicht egal,das Rybka 90 Euro kostet,und Houdini garnichts.[/quote]Ist dir auch die Herkunft von Houdini egal?
Benno
Parent - - By Willi Prinz Date 2010-10-12 14:50
Ja die herkunft von Houdini ist mir egal.Das ist ein Problem von dem Vasik,nicht meins.
Ich kann nicht beweisen das es ein Clone ist,will ich auch garnicht.
Bei dem Vasik ist das anders,der wills villeicht beweisen,aber kann es nicht.
Gruss willi
Parent - By Benno Hartwig Date 2010-10-12 16:18
[quote="Willi Prinz"]Ja die herkunft von Houdini ist mir egal.Das ist ein Problem von dem Vasik,nicht meins.[/quote]OK.
Ich kaufte mir Deep Rybka 4. Und ich habe nun auch irgendwie kein schlechtes Gewissen, mich mit Houdini zu beschäftigen.
Aber da muss natürlich jeder seine eigene Sicht finden. Und mir dies übel nehmen, wenn er dies möchte.
Benno
Parent - - By Benno Hartwig Date 2010-10-12 12:40
[quote="Willi Prinz"]Frage, wieviel Spiele muss man machen um sagen zu können,egal bei welcher Zeit,Engine a ist besser als Engine b. Mit einer Sicherheit,sagen wir von 90 prozent.[/quote]So wirst du auf diese Frage keine Antwort finden, denn welche Partienzahl sollte dir schon die Sicherheit für eine 50,001 zu 49,999 Überlegenheit geben können.

Statistik arbeitet gern mit Hypothesen, die das Gegenteil ausdrücken, was man meint, und die dann eventuell mit einiger Sicherheit widerlegt werden können.
Die Hypothese könnte lauten "B ist mindestens so gut wie A". Und dann machst du eine Testreihe.
Wenn das Ergebnis schon bei einer kleinen Testreihe (vielleicht 50 Spiele) sehr deutlich für A ausfällt (vielleicht 32:18), dann kann man die Hypothese als widerlegt betrachten, da die Wahrscheinlichkeit bei gleichstarken Engines für eine mindestens so deutliche Führung von A nur weniger als 0,01 ist. Bei welcher Grenz-Wahrscheinlichkeit du 'Widerlegung' entscheidest, hängt von deiner Strenge ab. (deinen Möglichkeiten, den Kosten, dem Schaden bei einem Fehlurteil)
Andererseits können 1000 Spiele ein 520 zu 480 ergeben, und du möchtest die Hypothese 'gleichstark' dann vielleicht nicht als widerlegt ansehen, weil auch bei gleicher Stärke ein mindestens so deutlicher Vorsprung von A bei 1000 Partien mit mehr als 5% noch zu wahrscheinlich ist. Schlimmer noch: die Wahrscheinlichkeit, dass du irgendeine der beiden Engines bei gleicher Stärke so deutlich in Führung siehst, ist sogar mehr als 10%

Benno
Parent - - By Willi Prinz Date 2010-10-12 15:11
Hallo Benno,ich mit dir einer Meinung das es sehr schwer ist zu beweisen wer nun die bessere Engine ist wenn sie etwa gleich stark sind.
Villeicht mit einem maximalen Eloabstand von +-40.
Aber jetzt habe ich andere Frage die ich bei den Zufallzahlen nicht angesprochen habe.
Sagen wir seriöse Enginetester machen etwa 1000 Spiele um die Stärke auszuloten.
Es können auch weniger sein,villeicht 500,aber auf keinen Fall 100 oder sowas.
Wie ist es dann möglich das bei diesen Tests sagen wir mal immer Rybka vorne liegt ?
Warum ist nicht mal Stockfish vorne ?
Ist es villeicht möglich das durch Buchzüge,die sagen wir mal immer Bestmove sind,die grössten Fehler vermeiden,die bei Zufallszahlen auftreten.
So könnte ja die Sache eingeschränkt werden.
Durch die Tbs könnte die Fehlerquote ja nochmal eingeschränkt werden.
Ich weiss es auch nicht,was mich stört an dieser ganzen Statistik von Zufallszahlen,ist eben das Rybka in allen Ratinglisten vorne liegt.

Bei Zufallszahlen ist es nicht möglich das Rybka immer vorne liegt.
Gruss Willi
Parent - - By Benno Hartwig Date 2010-10-12 16:15
Auch gemäß den gängigen Rating-Listen ist der Vorsprung von Rybka4 gegenüber Stockfish1.9 sehr unterschiedlich bei verschiedenen Zeiten.
Ich denke, das liegt nicht an den Zeiten sondern ist die Streuung durch den Zufall. Der Spielstärkeabstand  ist vermutlich groß genug, sodass diese Streuung immer noch Rybka oben lässt.
Mal nur 25 ELO, mal auch 50 ELO

Mein Skript betrachtet zunächst mal nur Begegnungen zweier Engies. In vielleicht noch ganz anständiger Näherung können wir den Gegner mal als die 'Allgemeinheit' setzen.
Eine Engine bekommt gegenüber dem Gesamtfeld glückliche ca. 3.5 ELO mehr, wenn sie gegen ihre Gegner 51%:49% besiegt. Dies oder noch was besseres gelingt ihr bei 3000 Spielen noch mit Wahrscheinlichkeit 7%
25 ELO erarbeitet sie sich nur, wenn sie den Gegner ein 57%:43% abnimmt. Die Chance dazu: kleiner als meine Rechengenauigkeit.
OK, manche Werte beruhen auch nur auf z.B. 500 Partien: Die Chance für die glücklichen 3.5 ELO mehr sind dann immerhin 29% (also sehr häufig) und für 25 ELO mehr aber nur 0,0000064.

Gerade diese Rechnungen ergeben, dass die 3000 Spiele schon sehr genaue Abschätzungen ermöglichen ("Um 25 ELO vertan? so gut wie unmöglich!" und "Um 3.5 ELO vertan? Kann sein, aber schon recht unwahrscheinlich!")
und dass 500 Spiele genauere Aussagen nicht ermöglichen ("Um 3.5 ELO vertan? kann sehr gut sein!"), bei grundsätzlichen Aussagen aber auch schon viel Sicherheit bieten ("Um 25 ELO vertan? Nein, auch schon einigermaßen unmöglich!" Sorry für diese Formulierung)

Wenn der Abstand real so bei 35 ELO liegt, dann verwundert es gar nicht, dass die Streuung nicht so groß ist, dass die Reihenfolge bisweilen umgekehrt ist.
Bei anderen, dichter beieinander liegenden Engines im Feld wird man vermutlich aber zwichen CCRL und CEGT verdrehte Reihenfolgen finden.

Benno
Parent - - By Willi Prinz Date 2010-10-12 18:06
Bist du Statistiker oder ist das nur dein Hobby ?
Auf jeden Fall meine Hochachtung.
Willi
Parent - - By Benno Hartwig Date 2010-10-12 18:21
[quote="Willi Prinz"]Bist du Statistiker oder ist das nur dein Hobby ?[/quote]Ich bin Informatiker mit Nebenfach Mathe.
Und die Standardvorlesungen für Stochastik und Statistik hatte ich damals schon genossen.
Aber die 80er sind schon eine Weile her...
Benno
Parent - - By Werner Mueller Date 2010-10-12 22:41
[quote="Benno Hartwig"]
[quote="Willi Prinz"]Bist du Statistiker oder ist das nur dein Hobby ?[/quote]Ich bin Informatiker mit Nebenfach Mathe.
Und die Standardvorlesungen für Stochastik und Statistik hatte ich damals schon genossen.
Aber die 80er sind schon eine Weile her...
Benno
[/quote]
Dann müsstest Du aber nachvollziehen können, dass die 'Elo'-Statistik der Ranglisten eine Statistik (mit echten Elo-Zahlen als Datenmaterial) außerhalb des Elo-Systems ist, die 'Elo'-Zahlen der Ranglisten also streng genommen (und nicht nur streng genommen) keine Elo-Zahlen sind.

Zwar habe ich mittlerweile die Hoffnung fast aufgegeben, das allgemein verständlich rüberbringen zu können - trotzdem (wenigstens zum Nachdenken) ein kleines Gedankenexperiment:

Angenommen einer Engine würde sozusagen die Flucht aus dem Test-Labor gelingen und sie würde, die gewonnene Freiheit nutzend, endlich mal an einem normalen Turnier mit normaler Elo-Auswertung teilnehmen. Sagen wir, die Engine performt ganz gut und sie bekommt - wenn man für einen Augenblick ihre 'Elo'-Zahl als echte Elo-Zahl nimmt - nach Elo-Auswertung des Turniers eine neue Elo-Zahl, die vielleicht um 30 Punkte höher ist als die alte. So weit so gut.

Wie würden aber die Labor-Tester das Turnier auswerten? Das Ergebnis würde eingepickt, die 'Elo'-Zahl, wenn überhaupt, sich im Bereich einiger Stellen hinter dem Komma verändern und die Error-Bars womöglich noch kleiner.

Eine Elo(?!)-Zahl -> Auswertung eines Turniers -> zwei voneinander verschiedene Elo(?!)-Zahlen. Hmm...
Parent - - By Benno Hartwig Date 2010-10-13 08:59
[quote="Werner Mueller"]Wie würden aber die Labor-Tester das Turnier auswerten? Das Ergebnis würde eingepickt, [/quote]Ich denke nicht, dass das einer so machen würde.
Jeder weiß, dass die ELO-Zahlen von Menschen und Conmputerlisten kaum vergleichbar sind, dass da mindestens eine erhebliche Verschiebung bestehen kann.
Die gegen solche ELO-Werte erspielten Ergebnisse sollten nicht so verrechnet werden. Das wäre, als würde man den durchschnittlichen VW-Golf-Preis ermitteln wollen, indem man die Zahlen vor dem Euro-Betrag und dem Yen-Betrag als Basis für den Mittelwert nimmt.

Man würde sich über diese ernsthaften Menschen-Engines-Partien freuen und dann versuchen, wenigstens etwas mehr Harmonisierung der ELO-Listen zu erreichen. Ein klein wenig Vergleichbarkeit.
Der Abstand der Engines untereinander würde sich nicht ändern. (so würde ich es machen).

In diesem Zusammenhang aber die Frage:
Angenommen die Engine spielt gegen eine Gruppe gleichstarker Menschen ausgeglichen,
und wir betrachten nun Engines mit 200 Computer-ELO weniger als die erste Engine,
und wir betrachten Menschen mit 200 ELO weniger als obige Gruppe.
Wären diese schwächeren Gruppen dann ungefähr gleich stark? Wäre hier auch ein ungefähr ausgeglichenes Ergebnis zu erwarten?
Oder wären die Computer stärker (das raunt mir mein Bauchgefühl zu), oder schwächer?

Benno
Parent - - By Werner Mueller Date 2010-10-13 11:27
[quote="Benno Hartwig"]
[quote="Werner Mueller"]Wie würden aber die Labor-Tester das Turnier auswerten? Das Ergebnis würde eingepickt, [/quote]Ich denke nicht, dass das einer so machen würde.
Jeder weiß, dass die ELO-Zahlen von Menschen und Conmputerlisten kaum vergleichbar sind, dass da mindestens eine erhebliche Verschiebung bestehen kann.
...
[/quote]
Diese Frage spielt doch in diesem Zusammenhang überhaupt keine Rolle.

Wenn Du da Probleme siehst, dann stell' Dir eben vor, sämtliche Engines wären dem Versuchslabor entwischt (dazu gibt's doch genug Schwarz-Weiß-Horror-Klassiker mit 'nem schrägen Wissenschaftler und seinen Monstern in den Käfigen).
Und dann würden diese Engines, weil ihnen langweilig ist und sie ja sonst nichts können, ein Turnier (vielleicht einrundig Jeder gegen Jeden) veranstalten, und die Ergebnisse bei der FIDE zur Auswertung einreichen (oder Dir zum Auswerten im DWZ-Rechner).

Und dann hast Du folgende Auffälligkeit eben x-mal, wobei x die Anzahl der entwischen Engines ist:
Eine Elo(?!)-Zahl -> Auswertung eines Turniers -> zwei voneinander verschiedene Elo(?!)-Zahlen. Hmm...
Parent - - By Benno Hartwig Date 2010-10-13 12:47 Edited 2010-10-13 12:50
[quote="Werner Mueller"]Und dann würden diese Engines, weil ihnen langweilig ist und sie ja sonst nichts können, ein Turnier (vielleicht einrundig Jeder gegen Jeden) veranstalten, und die Ergebnisse bei der FIDE zur Auswertung einreichen (oder Dir zum Auswerten im DWZ-Rechner).[/quote]Und was würde die FIDE machen mit solchen einem Turnierergebnis, bei dem nicht ein einziger eine gültige ELO-Zahl mitbringt? 
Es gibt keine anerkannte Beziehung zwischen den Computer-ELO- und ELO-Werten. Vielleicht haut das auf 50 ELO genau hin, vielleicht auch nicht mal auf 200 ELO.
Würde die FIDE auf sowas eingehen, könnte ich sonst ja auch ein Turnier mit meinen vereinslosen Hobby-Freunden veranstalten, und entsprechend den Eregebnissen ELO-Zahlen zuordnen, die zwischen 3000 und 3500 liegen, und dann aber von der FIDE ein Einpflegen in die ELO-Listen fordern, die Zuordnung einer gültigen FIDE-ELO-Zahl verlangen.
Derartige Forderungen werden vermutlich nicht erst seit dem Auftauchen von Schachcomputern freundlich lächelnd abgewiesen.

Benno
Parent - - By Werner Mueller Date 2010-10-13 13:04
[quote="Benno Hartwig"]
[quote="Werner Mueller"]Und dann würden diese Engines, weil ihnen langweilig ist und sie ja sonst nichts können, ein Turnier (vielleicht einrundig Jeder gegen Jeden) veranstalten, und die Ergebnisse bei der FIDE zur Auswertung einreichen (oder Dir zum Auswerten im DWZ-Rechner).[/quote]Und was würde die FIDE machen mit solchen einem Turnierergebnis, bei dem nicht ein einziger eine gültige ELO-Zahl mitbringt? 
Es gibt keine anerkannte Beziehung zwischen den Computer-ELO- und ELO-Werten. Vielleicht haut das auf 50 ELO genau hin, vielleicht auch nicht mal auf 200 ELO.
Würde die FIDE auf sowas eingehen, könnte ich sonst ja auch ein Turnier mit meinen vereinslosen Hobby-Freunden veranstalten, und entsprechend den Eregebnissen ELO-Zahlen zuordnen, die zwischen 3000 und 3500 liegen, und dann aber von der FIDE ein Einpflegen in die ELO-Listen fordern, die Zuordnung einer gültigen FIDE-ELO-Zahl verlangen.
Derartige Forderungen werden vermutlich nicht erst seit dem Auftauchen von Schachcomputern freundlich lächelnd abgewiesen.

Benno
[/quote]
Mensch Benno,
das ist doch ein Gedankenexperiment, und da kommst Du mit dem Argument, die FIDE würde eine solche Turnierauswertung abweisen!?!
Dann nimm halt den DWZ-Rechner und mach' es selbst.

Es geht doch darum, dass, wenn man die Ranglisten-'Elos' als echte Elos Ernst nimmt, man mit ihnen auch innerhalb des Elo-Systems arbeiten können müsste, was sich allerdings sofort ad absurdum führt.
Parent - - By Benno Hartwig Date 2010-10-13 13:29
[quote="Werner Mueller"]das ist doch ein Gedankenexperiment, und da kommst Du mit dem Argument, die FIDE würde eine solche Turnierauswertung abweisen!?!
Dann nimm halt den DWZ-Rechner und mach' es selbst.
Es geht doch darum, dass, wenn man die Ranglisten-'Elos' als echte Elos Ernst nimmt, man mit ihnen auch innerhalb des Elo-Systems arbeiten können müsste, was sich allerdings sofort ad absurdum führt.[/quote]Ich wollte ja gerade darauf hinaus, dass es Irrsinn ist, Computer-ELOs mit FIDE-ELOs zu verrechnen. Die Skalen sind einigermaßen willkürlich. Nur grob aneinander angepasst (wenn überhaupt).
Natürlich kann ich sowas trotzdem rechnen. Zumindest ich hätte dann aber nicht die Erwartung, dass dabei etwas Sinnvolles herauskommt.

Vielleicht habe ich dich ja auch nicht richtig verstanden.
Welche Erkenntnis würdest du denn aus solch einem Zusammenrechnen erwarten? Ggf. auch nur: "nein, eigentlich war das gar nicht sinnvoll."?

Benno
Parent - - By Werner Mueller Date 2010-10-13 15:03
[quote="Benno Hartwig"]
[quote="Werner Mueller"]das ist doch ein Gedankenexperiment, und da kommst Du mit dem Argument, die FIDE würde eine solche Turnierauswertung abweisen!?!
Dann nimm halt den DWZ-Rechner und mach' es selbst.
Es geht doch darum, dass, wenn man die Ranglisten-'Elos' als echte Elos Ernst nimmt, man mit ihnen auch innerhalb des Elo-Systems arbeiten können müsste, was sich allerdings sofort ad absurdum führt.[/quote]Ich wollte ja gerade darauf hinaus, dass es Irrsinn ist, Computer-ELOs mit FIDE-ELOs zu verrechnen. Die Skalen sind einigermaßen willkürlich. Nur grob aneinander angepasst (wenn überhaupt).
Natürlich kann ich sowas trotzdem rechnen. Zumindest ich hätte dann aber nicht die Erwartung, dass dabei etwas Sinnvolles herauskommt.

Vielleicht habe ich dich ja auch nicht richtig verstanden.
Welche Erkenntnis würdest du denn aus solch einem Zusammenrechnen erwarten? Ggf. auch nur: "nein, eigentlich war das gar nicht sinnvoll."?

Benno
[/quote]
Der Vergleich Computer-Elos mit FIDE-Elos ist wirklich nicht der Punkt.

Stell Dir vor, die Labor-Engines wären nicht entflohen, sondern wären eines Tages an ihren Meister mit der Bitte herangetreten: "Bitte, bitte Meister, lass uns ein einrundiges Turnier, Jeder gegen Jeden spielen - und Meister, bitte, bitte nimm nach Ende des Turniers mal eine Turnierauswertung nach Prof. Elo vor."

Also nichts anderes als:
Elo-Zahl -> Turnierauswertung -> neue Elo-Zahl (das ist kein Geheimnis, dazu taugt z.B. jeder DWZ-Rechner)

Und jetzt kommts:
WENN der Meister die alte Elo-Zahl VOR dem Turnier als echte Elo-Zahl ernst genommen wissen will, DANN muss er auch die Auswertungmethode bzw. die neue Elo-Zahl nach dem Turnier anerkennen.
Kann er aber natürlich nicht, denn das würde die Ergebnisse seiner Mittelwertsstatistik hoffnungslos über den Haufen werfen.
Parent - - By Benno Hartwig Date 2010-10-13 16:17
[quote="Werner Mueller"]WENN der Meister die alte Elo-Zahl VOR dem Turnier als echte Elo-Zahl ernst genommen wissen will, DANN muss er auch die Auswertungmethode bzw. die neue Elo-Zahl nach dem Turnier anerkennen.
Kann er aber natürlich nicht, denn das würde die Ergebnisse seiner Mittelwertsstatistik hoffnungslos über den Haufen werfen.[/quote]Sorry, möglicherweise hatte ich falsch verstanden gehabt, worauf du hinaus willst.
Natürlich, einfach mal ein Turnier mehr spielen dürfen die Engines und ihr Herrchen schon wollen. Wie weit die gängigen Auswertungsmethoden der ELO-Praxis bei den Menschen entprechen, weiß ich ehrlich gesagt nicht. Und wenn sie sich unterscheiden, dann weiß ich nicht, welche Methode dem ursprünglichen Ziel einer Spielstärkekennziffer am besten nahe kommt. Da müsste nicht unbedingt die Praxis bei den Menschen vorn liegen.
Was du nun meintest mit dem über den Haufen werfen der Ergebnisse seiner Mittelwertsstatistik, verstehe ich leider noch gar nicht. Denkst du, bei den Computer-ELO-Berechnungen treten andere Probleme auf als bei denen der Menschen? Würde da etwas grundsätzlich anderes passieren als wenn 40 GM sich auf Mallorka treffen und mal schnell ein zusätzliches Turnier spielen, welches in die ELO-Wertung eingeht?
Was wäre ggf. anders?

Benno
Parent - By Werner Mueller Date 2010-10-15 01:15
Hallo Benno,
Du hast es nicht anders gewollt

1. Warum sagen wir, ein Spieler habe eine bestimmte Spielstärke?
Wir sehen seine Resultate aus der Vergangenheit.

2. Und was sagen wir mit (implizieren wir), wenn wir sagen, ein Spieler habe eine bestimmte Spielstärke?
Wir denken nicht nur an die Vergangenheit, sondern auch an die Zukunft und dass beide doch irgendwie zusammenhängen und sagen mit, das Abschneiden dieses Spieler z.B. in seinem nächsten Turnier (bei bekannter Gegnerschaft, mit ebenfalls 'bekannter' Spielstärke) 'ungefähr' voraussagen zu können.

Zur Beschreibung dieses zunächst mal schwammig ausgedrückten Sachverhalts stellt die Theorie nach Prof. Elo ein mehr oder weniger adäquates mathematisches Modell zur Verfügung.

Im Folgenden ist mir vor allem der Punkt 2 wichtig:

Es ist klar, ob es sich um eine Engine oder einen Menschen handelt: die Leistung (Performance) in einem zukünftigen Turnier kann nicht exakt vorhergesagt werden.
Tagesform, Eröffnungswahl, Gegner, das zum Tragen kommen von bestimmten taktischen oder strategischen Stärken oder Schächen in bestimmten Stellungen, überhaupt das auf das Brett kommen von subjektiv angenehmen oder unangenehmen Stellungen, Zeiteinteilung, Bugs, ..., oder einfach nur Glück, Pech und der Stand der Gestirne . Alles mehr oder weniger zufällig auftretende Parameter (und alle außer vielleicht Tagesform oder Bugs sowohl bei Menschen als auch bei Engines anzutreffen).

Und wenn ein Sache von vielen Parametern, deren Existenz man möglicherweise noch nicht mal kennt, in komplexer Weise abhängig ist, greift man zum Strohhalm der Statistik, welcher sich zum Glück oft als kräftiges Seil erweist (mein Beispiel mit dem sicherheitsrelevanten Flugzeugteil) - oder sozusagen andersherum und wie in unserem Fall, man nimmt ein (aus derartigen Statistiken gewonnenes) Modell an (d.h. setzt es voraus) und hofft, dass bei der praktischen Anwendung nicht allzuviel Unsinn dabei herauskommt.

Um es kurz zu machen: das Elosche Modell zur Spielstärke und damit eben auch zur Vorhersage einer Performance ist eine Normalverteilung mit einer Standardabweichung von 200 ELO, wobei der Maximalwert dieser sog. Gaußschen Glocke 'über' der aktuellen Elo-Zahl liegt.
Mit Hilfe dieses Modells werden aus dem schwammigen das_Abschneiden_ungefähr_voraussagen_können konkrete Wahrscheinlichkeitsangaben zur vorherzusagenden Performance innerhalb eines bestimmten Intervalls (z.B. kann man angeben, mit welcher Wahrscheinlichkeit ein Spieler mit einer Elo-Zahl von 1800 im nächsten Turnier eine Performance zwischen 1720 u. 1730, zwischen 1900 u. 1950 oder von mir aus auch zwischen 2000 u. 2300 zeigen wird).

Nach Beendigung eines tatsächlich gespielten Turniers wird für jeden Spieler eine neue Elo-Zahl berechnet und das Ganze beginnt sozusagen wieder von vorne.
Insbesondere sind diese neuen Elo-Zahlen nicht irgendwie 'schärfer' oder aussagekräftiger und schon gar nicht gibt es irgendwelche Error-Bars, die Standardabweichung (und damit die Form der Gaußschen Glocke) bleibt weiterhin bei 200 ELO (warum auch sollte man plötzlich die Performance eines Spielers im nächsten Turnier genauer vorhersagen können).

Soweit die Elosche Theorie, nun zur 'Elo'-Berechnung der Ranglisten-Ersteller.

Im Grunde ihrer Seele ist ihnen diese Standardabweichung von 200 ELO ein Dorn im Auge, geradezu ein Pfahl im Fleisch. Denn wer lässt schon gern 10.000 Partien pro Engine spielen und hat dann nichts in der Hand?
Und sie können tatsächlich 10.000 Partien pro Engine spielen lassen, sie können sich auf den Kopf stellen und können doch die Performance ihrer Engines in einem anstehenden konkreten Turnier (das sie auch gerne selbst und unter ihren Bedingungen veranstalten dürften) nicht besser vorhersagen als das Elosche Modell.
Diese Tatsache ist offensichtlich und deshalb auch nicht strittig - hier ist dann immer die Stelle für 'viel zu wenig Partien, statistisch völlig irrelevant' - als wenn das Elosche Modell, welches diese (fast schon naturgesetzliche) Schranke einer Standardabweichung von 200 ELO setzt, nicht eben gerade ein statistisches Modell wäre!?!

Und nun zum statistischen Indianertrick der Ranglisten-Ersteller:

Die 'Philosophie' zur Spielstärke (Punkt 1 und 2) wird ersetzt durch: es gibt eine 'wahre', in einer nackten Zahl ausdrückbare Spielstärke. Punkt. Es gibt keine Vergangenheit und keine Zukunft (die Spiele der Engines finden ja sozusagen zeitgleich (genauer: außerhalb der Zeit) statt. Das Ziel ist die Jagd und eine Einsortierung nach dieser nackten Zahl.

Und was wird aus der Standardabweichung der Eloschen Theorie? Diese prinzipielle Schranke wird uminterpretiert als zufälliger Messfehler. Die Tatsache, dass die in einer überschaubaren Anzahl von Partien gezeigte Performance einer Engine högschtwahrscheinlich nicht gleich ihrer Elo-Zahl (und auch nicht ihrer 'wahren' 'Elo'-Zahl) sein wird, gilt nicht mehr als prinzipieller Natur sondern als zufälliger Messfehler.
Diese Uminterpretation ist alles andere als unproblematisch. In meinem Beispiel vom Flugzeugteil war es fatal und führte zum Flugzeugabsturz, bei menschlichen Spielern ist es bestenfalls sinnfrei, bei Engines immerhin und zugegebenermaßen nicht völlig von der Hand zu weisen.
Das Weitere ganz kurz: zufälligen Messfehlern rückt man mit Mittelwertsstatistiken zu Leibe, mit Error-Bars - und vor allem mit in der Tat VIELEN Messungen.

Jedenfalls ergibt sich als Konsequenz dieser Uminterpretation und dem Umstieg weg vom Eloschen auf ein anderes statistisches Modell, dass derart berechnete 'wahre' 'Elo'-Zahlen keine Elo-Zahlen im Sinne der Eloschen Theorie sind. Und auch, dass Aussagen zur statistischen Relevanz einer Partienanzahl ausschließlich auf dieses Modell der zufälligen Messfehler zu beziehen sind.

Und warum schreibe ich das alles, warum interessiert mich das überhaupt? Weil die Leier von den statistisch völlig irrelevanten wenigen Partien - so, als wäre die ganze Schachgeschichte eine Aneinanderreihung von Zufällen - einfach immer wieder nervt.   
Parent - By Frank Quisinsky Date 2010-10-12 14:55
Hallo Willi,

ich schrieb Dir ja schon eine PM zu dem Thema.
Bin derzeit etwas im Stress und habe nicht so viel Zeit.
Werde mir das aber auch alles genauer ansehen, auch was Benno hierzu geschrieben hat.
Habe den Thread nur kurz überflogen.

Bin überhaupt froh, dass ich die SWCR updates machen kann, viel um die Ohren ... gibt ja in der Tat auch noch andere Dinge als Schach

Gruß
Frank
Parent - - By Urs Maier Date 2010-10-12 20:45
du testest doch damit nur die qualität des zufallsgenerators. alle wahrscheinlichkeiten kannst du ja von hand ausrechnen.
Parent - - By Willi Prinz Date 2010-10-14 16:23
Ich möchte mal eine andere Frage hier zu diesem Thema stellen.
Der Orlando dela Vega testet ja auch Engines.
Er macht das aber immer mit sagen wir wenigen Spielen,50 oder 100.
Ich habe mir mal einige Tabellen von dem angeschaut,und mir ist aufgefallen,das der relativ wenig daneben liegt,wenn man es mit anderen Testergebnissen vergleicht,die wesentlich mehr Spiele machen.
Das sollte doch eigentlich unmöglich sein.
Ich will dem Orlando auch keinensfalls unterstellen das er irgenwas manipuliert.
Oder hat einer von euch schonmal gesehen das der Orlando total daneben liegt ?
Wie ist das möglich bei so wenigen Spielen,wenn man sagt Orlando macht das ohne manipulation.
Gruss Willi
Parent - - By Urs Maier Date 2010-10-14 16:29
außerdem veröffentlicht er die partien nicht. gibt's da nen zusammenhang?
Parent - - By Willi Prinz Date 2010-10-14 17:13
Ich möchte dazu noch eine Frage stellen.
Sagen wir Schach de Computersaal.(Nichts gegen Schach de.)
Es gibt da Rybcas die haben sagen haben sagen wir 2750 Elos andere nur 2400.
Ok,unterschiedliche Hardware.
Wenn ich aber hier im Forum lese,von single auf quad macht etwa 80 Elos aus.
Wie kommt dann der Unterschied von 250 Elos zustande ?
Liegt es daran das bei tausenden von Spielen die da gemacht werden sich die Ergebnisse irgendwie addieren,und die Unterschiede immer größer werden?
Parent - - By Urs Maier Date 2010-10-14 17:35
schau mal nach was elo bedeutet. von ein auf 4 kerne macht etwas mehr als 80 elo aus. dann gibt es noch den unterschied von 32 auf 64 bit und es gibt noch die eröffnungsbücher, die einen nicht unerheblichen unterschied ausmachen können.
Parent - By Benno Hartwig Date 2010-10-14 17:56
Ich kann mir auch vorstellen, dass von einigen Teilnehmern eine Engine, die schlecht startete, auch fix aus dem Rennen genommen wird.
Eine gut startende Engine wird weiterbetrieben, bis die große Anzahl der Spiele dann doch das eigentliche Niveau hervorzaubert.
Er wird dann meist mit einer überdurchschnittlichen ELO-Zahl einherschreiten.

Ich weiß nicht, wie Orlando reagierte, wenn er 50 Partien spielte, das Ergebnis betrachtete und zumindest mal kurz dabei dachte "Ne, die Leute im CSS-Forum lachen mich doch aus, wenn ich denen damit komme"...
Vielleicht glaubte er dann auch manchmal an einen Fehler im Ablauf, hat die Begegnung lieber wiederholt, und er erhielt dann ein Ergebnis, welche in die Szene passt. Weiß ich aber natürlich nicht.
Und schließlich ist normalerweise ja auch niemand gezwungen, hier ein Posting abzusetzen.

Benno
Parent - - By Willi Prinz Date 2010-10-14 18:32
Es wird immer interessanter,ich komme immer mehr zu der Überzeugung das Zufallszahlen durchaus geeignet sind Schachengines zu simulieren.
Ich werde mal versuchen meine Meinung zu vertreten.
Bei meinem Versuch kahm 463 zu 537 raus,also ein Zufallsergebnis bei etwa 1000000 Spielen,und zwar das maximal bei 1000000 Spielen.
Wenn man das nun fortsetzen würde mehrere Millionen mal dann geht vielleicht auch noch 450 zu 550.
Dann wären das etwa +/-10 Prozent vom Mittelwert 500.
Das wäre dann die Normalverteilung vom Gauss.
Wenn man nun davon ausgeht,das Enginetester ja immer ein gutes Buch für beide benutzen,dann wird vielleicht diese Statistik durch die Buchzüge um 50 Prozent verbessert.(Annahme,keine Ahnung ob das stimmt).
Also das sinkt von +-10 Prozent auf +- 5 Prozent.
Dann wäre das maximal Ergebnis nur noch 485 zu 515.
Legen wir einfach mal fest,das dieses Ergebnis etwa 50 Elos entspricht. (Ich weiss das ist alles nur eine Hypothese)
Es wäre also möglich das Rybka gegen Rybka bei 1000 spielen Unterschiede von 50 Elos ergeben könnte.
Wenn nun aber Rybka gegen alle anderen Engines in allen Tests immer gewinnt,muss er im Durschnitt 10 Prozent besser sein als die anderen.
Sonst ist diese Differenz ja nicht zu kompensieren.

Das wäre dann so wie im Roulett,einer spielt rot,der andere schwarz,nur rot in diesem Fall Rybka hat 20 Zahlen,und schwarz nur 16.

Das würde auch erklären das der Orlando so ähnliche Ergebnisse erzielt bei geringen Spielen wie andere mit vielen Spielen.
Man könnte es dann so ausdrücken,bei geringen Anzahlen von Spielen und Elounterschieden von mindestens über 50 ist eine Aussage schon relativ gut.
Ob das nun alles stimmt weiss ich auch nicht,aber ich finde sonst keine Erklärung.
Parent - - By Ernest Bonnem Date 2010-10-14 18:51
[quote="Willi Prinz"]Das würde auch erklären das der Orlando so ähnliche Ergebnisse erzielt bei geringen Spielen wie andere mit vielen Spielen.[/quote]
Wie bei Stockfish 1.9 JA against Naum 4.2 ???
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=31117#pid31117

HaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHaHa!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                                       
Up Topic Hauptforen / CSS-Forum / Zufallszahlen
1 2 Previous Next  

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill