Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Umfrage: Konditionen für Test
- - By Timo Haupt Date 2012-10-03 13:56
Hallo zusammen,

zwar habe ich vor einiger Zeit schon Partien für meinen bereits lang angekündigten Eröffnungstest (250 sorgsam ausgewählte Eröffnungsstellungen, die einen möglichst großen ECO-Bereich abdecken) gespielt, doch musste ich aus verschiedenen Gründen stoppen - u.a. wird im Sommer mein Arbeitszimmer zu heiß. Nun sind die Temperaturen allerdings wieder auf einem Niveau angekommen, bei welchem etwas zusätzliche Heizkraft aus den Rechnern willkommen ist...

Da die bislang gespielten Partien teilweise auf nun schon veralteten Engine-Versionen basierten, habe ich vor, den Test noch einmal neu zu starten. Zum Einsatz sollen zunächst einmal 10 Engines kommen: Houdini, Komodo, Critter, Stockfish, Rybka, Chiron, Fritz, Hiarcs, Shredder, Junior. Später können weitere Engines hinzugenommen werden - doch mit diesen, die auch relativ regelmäßig aktualisiert werden, möchte ich starten. Ich warte noch auf die neuen Versionen von Houdini und Shredder, die hoffentlich noch in diesem Herbst erscheinen werden - zunächst werden dann die anderen Matches gespielt.

Bei den Gedanken an eine Neuauflage des Tests musste ich auch nochmal über die Konditionen nachdenken, die ich gewählt hatte: 1 thread pro Engine, 85m+5s, Ponder=On. Dies sichert im Mittel bei einer 60-Züge Partie eine BZ von 90min. Nun wäre es allerdings auch möglich, andere Konditionen zu wählen. Konkret schweben mir folgende Möglichkeiten vor:
a) 1 thread pro Engine, 85m+5s, Ponder=On (bisherige Konditionen)
b) 2 threads pro Engine, 85m+5s, Ponder=Off (erfordert gleiche Ressourcen wie bei a)
c) 2 threads pro Engine, 55m+5s, Ponder=On (erfordert doppelt so viele Ressourcen wie a, deshalb kürzere BZ von ~60min / 60 Züge Partie)
d) 1 thread pro Engine, 115m+5s, Ponder=Off (erfordert halb so viele Ressourcen wie a, deshalb längere BZ von ~ 120min / 60 Züge Partie)

Ich finde, jede der Varianten hat seine Vor- und seine Nachteile. Wenn man nur die opimale Auslastung der vorhandenen Ressourcen im Blick hat, ist Variante d) natürlich am effektivsten und c) am wenigsten effektiv. a) und b) stellen jeweils gemischte Lösungen dar, in der zwar jeweils etwas Rechenzeit "verschwendet" wird (sei es durch nicht erfolgte Pondertreffer oder durch Search-Overhead bei MP-Suche), dies aber noch in Maßen geschieht.

Mich würde es freuen, wenn hier möglichst viele ihre Gedanken dazu äußern, damit sich meine Meinung darüber besser "bilden" kann und ich zu einer ausgewogenen Entscheidung gelange. Das soll jetzt nicht heißen, dass ich mich zwingend nach dem Urteil der Mehrheit richten werde o.ä. Ich würde nur gerne wissen, wie andere Leute diesen Sachverhalt sehen, ob es noch weitere Argumente für oder gegen die aufgezeigten Varianten gibt oder ob noch andere Vorschläge gemacht werden.

Viele Grüße
Timo
Parent - - By Ingo Bauer Date 2012-10-03 15:36
Hallo Timo

Ich glaube nicht, dass du mit einer Umfrage herrausfinden kannst was dich am laengsten motiviert dabei zu bleiben ...
Deine 60 Zuege pro Partie halte ich aber fuer zu wenig, was bedeuten wuerde das dein Zeitaufwand evtl. groesser ist ...

Was deine Increments betrifft halte ich die fuer zu kurz oder zu lang. Entweder sie dienen nur dazu Lag auszugleichen, dann sind sie zu lang, oder sie sollten einen nennenswerten Anteil der Partie pro Zug ausmachen - zb Zeit pro Spiel in Sekunden durch durchschnittliche Anzahl an Zuegen = Increment. Das musst du natuerlich hin und her basteln bis deine beabsichtigte Zeit pro Spiel wieder stimmt.

Gruss
Ingo
Parent - By Timo Haupt Date 2012-10-03 18:09
Hi Ingo,

auch danke für deine Kommentare. Es geht mir weniger um meine eigene Motivation, sondern darum, mir selbst eine Meinung darüber zu bilden, welche Konditionen für den Test ideal wären. An die Sache mit dem höheren Inkrement habe ich gar nicht gedacht, deshalb war es gut, dass Frank Brenner und du mich darauf hingewiesen habt.

Viele Grüße
Timo
Parent - - By Clemens Keck Date 2012-10-03 16:49
HAllo Timo

bezüglich des Mittelwertes an Zügen pro Partie: 70 Züge wenn Endspieldatenbanken (mind. 5 Steiner, oder gar den Endspiel Turbo 3) im Spiel sind. Und ca. 90 Züge ohne EGTB. So sieht es bei meinen Enginematches/Turnieren aus.
Zum Rest kann ich nix sagen, da mir unklar ist was Du eigentlich testen oder rausfinden willst.

Gruß, Clemens
Parent - - By Timo Haupt Date 2012-10-03 18:07
Hallo Clemens,

danke für die Daten mit den 70 / 90 Zügen. Hätte das geringer eingeschätzt (zw. 50 und 60 Züge im Schnitt). Da ich 5-Steiner TBs mitlaufen lasse, wird sich der Durchschnitt hoffentlich nicht über 70 Züge hinaus bewegen.

Meine Erläuterungen zum Test habe ich unten angefügt, bzw. den Link zum damaligen Thread.

Viele Grüße
Timo
Parent - - By Clemens Keck Date 2012-10-04 08:03
Moin Timo

bei nur 2 Spielen pro engine und Stellung wird am Ende die Aussagekraft des Tests fraglich sein. Selbst wenn DU alle engines als SP Version laufen lässt wird nicht immer die selbe Fortsetzung aufs Brett kommen. Spiele mit 2 engines eine einzige Eröffnung 10 Mal(20 Partien), und dann mal schauen wie stark die PArtien voneinander abweichen. Ich fürchte selbts bei höherer Partienanzahl wird es schwierig deutliche Tendenzen zu erkennen. Ich würde vielleicht mal mit DF13 und Hiarcs 14 anfangen, oder ein anderes aktuelles "Pärchen" das nahe beieinander liegt, und dann den ganzen Test mal durchspielen, aber mit mehr Partien. Dann siehst Du ob es überhaupt Sinn macht, oder ob die Abweichung zu stark sind bei den Wiederholungen.
Bei meinem K.O. Turnier waren ja nur 5 Buchzüge erlaubt. Da ergab sich auch ein intresanntes Eröffnungsverhalten der Engines zu beobachten. z.B. die Schlüsselstellung im Najdorf Sizilianer:
[Event "Wertungspartie, 5 min"]
[Site "Maschinenraum"]
[Date "2012.10.02"]
[Round "?"]
[White "xxx"]
[Black yyy"]
[Result "1-0"]
[ECO "B90"]
[WhiteElo "2667"]
[BlackElo "2608"]
[Annotator "0.84;1.10"]
[PlyCount "103"]
[EventDate "2012.10.03"]
[TimeControl "300"]


  1. e4 {B/0 0} c5 {B/0 0} 2. Nf3 {B/0 0} d6 {B/0 0}
3. d4 {B/0 0} cxd4 {B/0 0} 4. Nxd4 {B/0 0} Nf6 {B/0 0} 5. Nc3 {B/0 0} a6 {B/0 0


hier werden die Weichen gestellt. Die allermeisten engines spielen hier 6. Le2. Es kam aber auch Le3 vor und Lg5, was komplett andere Partien ergibt.

MfG Clemens
Parent - By Timo Haupt Date 2012-10-04 08:54
Hallo Clemens,

ich weiß nicht, ob das klar rübergekommen ist: Es sind insgesamt 250 Stellungen quer durch alle ECO-Bereiche. D.h. es sind insgesamt z.B. über 50 verschiedene Sizilianisch-Varianten dabei. Diese Stellungen muss jede Engine gegen jede andere einmal mit Weiß und einmal mit Schwarz spielen. Natürlich ist mir klar, dass es bei einer einzelnen Stellung im Verlauf Abweichungen geben wird, wenn man genau diese eine Stellung gegen genau denselben Gegner wiederholt. Doch diese Abweichungen muss ich in Kauf nehmen, ansonsten müsste ich 10mal soviele Partien spielen und das wäre vollkommen unrealistisch mit meinen verfügbaren Ressourcen. Allein mit den 10 Startengines müssen insgesamt 22.500 Partien gespielt werden!

Es geht mir auch weniger darum, die absolute Wahrheit für jede einzelne Stellung herauszufinden, sondern eher, ein stimmiges Gesamtbild zu erzeugen. Wenn bei einer einzelnen Stellung 9 von 10 Engines die Fortsetzung X wählen und nur eine die Fortsetzung Y, reicht mir das, um aussagekräftig zu sein. Weiterhin wird man am Ende sagen können, Engine A kommt z.B. in Nimzoindisch-Systemen besser zurecht als bei Königsindern o.ä. Man kann dies möglicherweise nicht auf einzelne Stellungen, aber wohl auf bestimmte Eröffnungstypen herunterbrechen.

Viele Grüße
Timo
Parent - - By Jörg Oster Date 2012-10-04 09:39
Hallo Timo,

bei dem Zügedurchschnitt rechnest du galube ich mit viel zu wenig!
Ich habe ja gerade einige Testpartien für Stockfish gespielt mit einer Zeit von 90 sec + 0.5 sec.
Hier die Verteilung bei 500 Partien (bitte auf 'Alle Partien' schauen, die Berichtspartien sind nur Weißspiele von SF):
Code:
                   Punkte      Partielänge            Häufigkeit      
                             1-0    =-=    0-1    1-0     =-=     0-1 
Berichtspartien    72.6%     71    101     89   55.2%   34.8%   10.0%
Alle Partien       53.7%     73     98     76   36.2%   35.0%   28.8%

Wie du siehst, ist hier schon der Durchschnitt bei entschiedenen Partien bei über 70, bei Remispartien an die 100!
Bei deiner wesentlich längeren BZ würde ich mal locker davon ausgehen, dass du mit 90 bis 130 Zügen im Schnitt rechnen solltest.

Wenn du nun jeder Engine ca. 1 min zum Rechnen geben willst, dann bist du schon bei ca. 4 Std. pro Partie!
Wenn du 'nur' ca 2 Std. pro Partie rechnest, dann würde ich zu sowas wie 40 min für die ersten 30 Züge + 20 min für den Rest tendieren. Evtl. mit kleinem Inkrement, um ZÜ zu vermeiden. Auch wenn ich denke, dass bei solch langen BZ keine Engine auf Zeit verlieren sollte.

Just my 2 cents.

Gruß, Jörg.
Parent - By Timo Haupt Date 2012-10-05 08:12
Hallo Jörg,

danke für deine Auswertungen (handfeste Daten sind immer willkommen) und Kommentare. Ob Partien mit längerer Bedenkzeit wirklich eine höhere Zügezahl haben müssen, davon bin ich noch nicht so ganz überzeugt (denn es steigt ja das Niveau von beiden Gegnern), aber trotzdem zeigen deine Daten, dass man von deutlich höheren Zahlen ausgehen muss, als ich zunächst gedacht hatte.

Das lässt mich mehr und mehr denken, dass ein zu hohes Inkrement dafür sorgen würde, remisliche Seeschlangen nur unnötig in die Länge zu ziehen. Ein kleines Inkrement hingegen ist wohl sinnvoll und notwendig - und sei es nur, um einerseits mögliche Lags auszugleichen.

Viele Grüße
Timo
Parent - - By Frank Brenner Date 2012-10-03 17:04
Hallo Timo

ich bin grundsätzlich immer für Ponder Off, da in vielen Fällen, wenn der gedachte zug nicht gespielt wird, die Ponderrechenzeit vergeudet ist.
Das Niveau der Partie wird also im Durchschnitt  höher bei Ponder Off und doppelter Bedenkzeit.

Bei der Wahl der Bedenkzeit  (Grundzeit + Inkrement) würde ich wie folgt vorgehen:

Die durchschnittliche Bedenkzeit pro Zug über die gesamte Partie  sollte in der späteren Phase der Partie niemals in ein Blitzgefecht enden. D.h. der Inkrement sollte höher sein.
Wenn also sagen wir in den ersten 40 Zügen mit 30 Sekunden Pro Zug gerechnet wird, so soll auch für folgenden 40 Züge und für die darauf folgenden 40 züge die Bedenkzeit pro zug nicht deutlich unterhalb 30Sekunden rutschen.

Bei Menschen mach es vielleicht aus sportlicher Sicht einen Sinn bei einer langen Partie in Zeitnot zu geraten und dann eine zusätzliche Komponente des Zeitstresses zu integrieren.

Da dein Zweck bei Engine Turnieren aber in der Ermittlung der Spielstärke bei längeren Bedenkzeiten besteht sollte die hohe Bedenkzeit erhalten bleiben, auch bei sehr langen Partien.
Ein bisschen schneller kann es dabei wohl schon werden, da im durchschnitt eine Partie in der Endphase bereits häufiger schon entschieden ist als in der Anfangsphase (z.b. tot remis)

Ich bevorzuge Bedenkzeiten in der Art:  40 Minuten für 40 züge  + 30 Sekunden Inkrement.

Oder 60 minuten für die Partie + 30 Sek. ink. Also allgemein große Inkrements.

Ich wäre also für

e) 1 thread pro Engine, 60m + 30s (ponder off)

Bei der Frage ob 1 thread oder zwei threads ....
Ich würde 1 thread nehmen um von einer weiteren "störung" nämlich der qualität der Parallelen implementierung zu abstrahieren. 
Wenn es darum geht die Qualität der Multiprozessor Implementierung einer Engine zu testen sind meiner Meinung nach 8 oder 12 oder 16 Threads pro Engine  viel besser geeignet die Qualität zu testen. Denn erst bei 8+ Cpus stellt die Programmierung eine starke Herausforderung dar.

Was Shredder angeht: Ich gucke gelegentlich in allen Foren und habe nirgendwo etwas gehört dass SMK noch an Shredder programmiert und ich habe auch keine Ankündigung gehört. Wärend Vas sich ein halbes Jahr nicht mehr zu Wort gemeldet hat, kann ich mich an eine letze Äusserung von SMK nicht mehr erinnern.

Es kann also noch 70 Jahre dauern bis ein neuer Shredder kommt. Auch etwas vages wie "in diesem Herbst" oder "kommt bald" , würde ich dann eher mit irgendwann nächstes Jahr interpretieren. Darauf würde ich nicht warten.

Gruß
Frank
Parent - - By Timo Haupt Date 2012-10-03 17:57
Hallo Frank,

danke für deine konstruktiven Anregungen. Ich werde es mir durch den Kopf gehen lassen mit dem höheren Inkrement - dein Argument dafür ist nicht von der Hand zu weisen. Andererseits möchte ich vermeiden, dass lange Seeschlangen sich durch ein hohes Inkrement noch mehr in die Länge ziehen - das wäre dann wieder die Gefahr bei großem Inkrement.

Auch deine Kommentare zu Ponder On/Off und 1 thread / 2 threads habe ich begrüßt - diese waren mir als Denkanstöße sehr willkommen.

Was Shredder angeht, habe ich ziemlich gesicherte Informationen, dass SMK noch an Shredder für PCs arbeitet (er ist also definitiv noch aktiv in diesem Bereich und hat sich nicht nur auf Shredder Mobile o.ä. spezialisiert). Ob ein neuer Shredder noch in diesem Jahr kommt, weiß ich natürlich nicht genau - ich rechne allerdings damit. Ich wollte allerdings den Test vorher schon starten und wenn Shredder 13 dann erschienen ist, dessen Partien dann nachspielen lassen.

Viele Grüße
Timo
Parent - - By Ingo Bauer Date 2012-10-04 09:10 Edited 2012-10-04 09:13
Hallo TImo, Hallo Frank

Ich stimme Frank in weiten Bereichen zu, insbesondere seine Betrachtung zu 1, 2, vielen Kernen hat Hand und Fuß, seine Ansicht über Ponder teile ich nicht (wen wundert das ). Eine Engine die einen "falschen" Zug gepondert hat, bekommt aus ihrer Sicht nicht den optimalen Zug zurück. Ich denke schon das eine Engine, die also der Meinung ist das ein anderer Zug besser war diesen "schlechten" Zug, insbesondere viele davon, diesen auch zum Gewinn verwerten können muß. Ponder ist Teil des Spiels. NIEMAND spielt im echten LEben ohne. Wenn eine Engine immer suboptimale Züge pondert gehört auch das zum Spiel. Entwickler stecken Arbeit in die Fähigkeit einer ENgine zu Pondern, soll dieser Teil der Arbeit nicht getestet werden? Ponder OFF Spiele erzeugen weniger Partien, das ist logisch und richtig, sind für das wirkliche Leben aber eben nur halbes Schach.

Gruß
Ingo
Parent - By Timo Haupt Date 2012-10-05 08:20
Hallo Ingo,

wie du weißt, bin ich auch ein großer Fan von Ponder=On - ich würde reine Enginetests auch nie ohne Ponder spielen. Schon deshalb, weil es mit Ponder meiner Meinung nach viel interessanter ist, den Partien zuzuschauen.

Auch nochmal zu Franks Kommentar:
Aber hier geht es ja vor allem darum, zu schauen, wie sich die Engines in verschiedenen Eröffnungen schlagen. Der Fokus liegt also nicht auf einem Test der reinen Enginestärke (diese wird schon von so vielen guten Listen getestet). Deshalb wäre es für mich auch nicht so wichtig, dass man mit 2 CPUs auch die MP-Implementierung mittestet und somit möglicherweise eine "Verzerrung" der reinen Enginestärke mit enthalten ist. Es geht um eine möglichst hohe Partienqualität. Und da könnte MP durchaus helfen, denn MP bedeutet ja nicht nur mehr Rechenzeit, sondern ggf. auch ein größerer Suchbaum. D.h. es werden auch mal Züge ausgespielt, die die Single-Suche grundsätzlich abgeschnitten hätte. Wie groß dieser Faktor bei nur 2 CPUs ist, weiß ich hingegen nicht - vielleicht kommt das erst richtig zum Tragen, wenn man mit deutlich mehr Threads spielt.

Viele Grüße
Timo
Parent - By Jochen Peussner Date 2012-10-06 10:22
Hallo Ingo,

du hast geschrieben: Wenn eine Engine immer suboptimale Züge pondert gehört auch das zum Spiel. Absolut richtig,
aber eine Engine "pondert" auch ohne Ponder ON, d.h. sie füllt ihre Hashtables mit dem erwarteten Gegnerzug
und wenn der nicht eintritt, kann sie bei Ponder OFF genauso aus dem Tritt kommen. Für Engine-Programmierer ist
Ponder On einfach eine weitere Ursache für  Rauschen in den Testergebnissen und macht Resultate noch schlechter
nachvollziehbar.

Gruß,
Jochen
Parent - By Thomas Schoennegger Date 2012-10-03 17:57
Also bezüglich Threads kommt für mich bei deiner Engine-Wahl 1 in Frage. Damit für ALLE gleiche Bedingungen und besonders Vergleichbarkeit gilt. Wäre eine interessante Rangliste wenn du dich für eine solche mit langer BZ entscheidest. Bereits die Matches der Houdini 3 Beta mit langer BZ erfreute sich großer Ressonanz.
Thomas
Parent - - By Stefan Pohl Date 2012-10-05 11:03
[quote="Frank Brenner"]
Hallo Timo

ich bin grundsätzlich immer für Ponder Off, da in vielen Fällen, wenn der gedachte zug nicht gespielt wird, die Ponderrechenzeit vergeudet ist.
Das Niveau der Partie wird also im Durchschnitt  höher bei Ponder Off und doppelter Bedenkzeit.

[/quote]

Tröstlich, daß ich nicht der einzige bin, der Pondern für Ressourcenvergeudung hält. Ich würde allerdings statt doppelter Bedenkzeit lieber doppelt so viele Partien spielen, dann wird zwar nicht das Niveau der Partien höher (denn das ist heutzutage sowieso unfassbar hoch), aber dafür das Niveau der Testergebnisse und ihrer statistischen Sicherheit (und das kann gar nicht hoch genug sein!).

Gruß - Stefan
Parent - - By Timo Haupt Date 2012-10-05 17:37
[quote="Stefan Pohl"]
Tröstlich, daß ich nicht der einzige bin, der Pondern für Ressourcenvergeudung hält.
[/quote]

Ich würde es etwas defensiver formulieren: Ponder=On Tests nutzen die vorhandenen Ressourcen suboptimal aus. Vergeudung wäre es m.E.n. nur, wenn Pondern gar nichts bringen würde. Bei einer geschätzten durchschnittlichen Ponderhit-Rate von 60% und dem zusätzlichen Effekt, dass auch ein Rechenvorgang, der keinen Ponderhit erzeugt, durch die angelegten Hasheinträge Vorteile bringen könnte, würde ich die Rechenzeit nicht als vergeudet ansehen.

[quote="Stefan Pohl"]
Ich würde allerdings statt doppelter Bedenkzeit lieber doppelt so viele Partien spielen, dann wird zwar nicht das Niveau der Partien höher (denn das ist heutzutage sowieso unfassbar hoch), aber dafür das Niveau der Testergebnisse und ihrer statistischen Sicherheit (und das kann gar nicht hoch genug sein!).
[/quote]
Ich weiß nicht, ob du das explizit auf meinen Test bezogen hast, aber wenn doch, dann kann ich nur erwidern, dass es schon anstrengend genug war, die 250 Eröffnungsstellungen mit Bedacht auszuwählen (hier wurden viele, viele Stunden Arbeit investiert). Es wäre absolut keine Option für mich, weitere 250 Stellungen aussuchen zu müssen. Der Test ist, so wie er jetzt ist, für mich umfangreich genug. Jede Engine spielt gegen jeden andere 500 Partien. Bei einem anfänglichen Testset von 10 Engines sind das für jede Engine 4500 Partien. Für den Anfang finde ich das vollkommen ausreichend. Es werden ja auch noch weitere Engines hinzukommen, so dass ich am Ende von ca. 7000-8000 Partien pro Engine ausgehe.

Gruß
Timo
Parent - - By Michael Scheidl Date 2012-10-05 17:52
Zitat:
(...) für jede Engine 4500 Partien.

Das dürfte genügen!

Im Thread gehts um Bedenkzeit und Ponder on/off, aber was ist mit den anderen Rahmenbedingungen? Eröffnungsvorgabe ist klar, aber da gibt es ja noch mehr, z.B. Endgametables, Hashgröße, Stellungslernen...
Parent - - By Timo Haupt Date 2012-10-05 18:14
[quote="Michael Scheidl"]
Im Thread gehts um Bedenkzeit und Ponder on/off, aber was ist mit den anderen Rahmenbedingungen? Eröffnungsvorgabe ist klar, aber da gibt es ja noch mehr, z.B. Endgametables, Hashgröße, Stellungslernen...
[/quote]

EGTB: Sofern unterstützt werden 5-Steiner (Nalimov oder Gaviota) verwendet, liegen auf einer SSD.
Stellungslernen: Ausgeschaltet, da dies die Ergebnisse verzerren könnte.
Hashgröße: Wahrscheinlich 512MB (reicht für 1 Thread aus).
CPUs: AMD Phenom II X4 bzw. X6 @ 3GHz

Apropos Stellungslernen: Wäre zwar im Prinzip ganz interessant, bei so einem Anlasse mal die Wirksamkeit vom Stellungslernen zu untersuchen, aber nur im Rahmen eines separaten Tests. Möglicherweise teste ich das mal bei Hiarcs gegen ein bestimmtes Gegnerset nachträglich und schaue, wie sich Hiarcs mit im Vergleich zu Hiarcs ohne Stellungslernen geschlagen hat.
Parent - By Frank Brenner Date 2012-10-05 18:54
[quote="Timo Haupt"]
[quote="Michael Scheidl"]
Im Thread gehts um Bedenkzeit und Ponder on/off, aber was ist mit den anderen Rahmenbedingungen? Eröffnungsvorgabe ist klar, aber da gibt es ja noch mehr, z.B. Endgametables, Hashgröße, Stellungslernen...
[/quote]

EGTB: Sofern unterstützt werden 5-Steiner (Nalimov oder Gaviota) verwendet, liegen auf einer SSD.
Stellungslernen: Ausgeschaltet, da dies die Ergebnisse verzerren könnte.
Hashgröße: Wahrscheinlich 512MB (reicht für 1 Thread aus).
CPUs: AMD Phenom II X4 bzw. X6 @ 3GHz

[/quote]

Hi Timo,

Egal für welche Konditionen du dich letzlich Entscheidest, ich freue mich schon sehr auf den Start und werde die ganzen Monate  gespannt dem Turnier folgen.

btw: Stellungslernen würde ich auch ausschalten .... und eine hohe Bedenkzeit ist prima, da die meisten anderen Tester blitzschnelle Bedenkzeiten haben

Gruß
Frank
Parent - - By Michael Scheidl Date 2012-10-06 01:46
Zitat:
Stellungslernen: Ausgeschaltet, da dies die Ergebnisse verzerren könnte.

Das ist diskutabel. Eine bestimmte Enginefähigkeit ist eine Verzerrung? Welche Enginefähigkeit ist dann keine Verzerrung, was muß man noch alles abwürgen das in einer Normalpraxis selbstverständlich eingeschaltet bleibt und dort zur Wirkung gelangt...?

Werden "komplette" Engines mit dem Gesamtumfang ihres Könnens getestet, oder irgendwelche Kastrateln?
Parent - - By Timo Haupt Date 2012-10-06 12:43
Lieber Michael,

gerade von dir als erfahrenem Computerschach-Experten hätte ich erwartet, dass du die Verzerrung erkennst, die sich ergeben würde. Aber gerne erkläre ich es dir einmal:
Engine A beherrscht Stellungslernen. Da am Beginn des Tests noch keine Lerndatei vorhanden ist, beginnt die Engine quasi "jungfräulich", was dieses Feature angeht. A spielt also gegen B seine 500 Partien und lernt dabei fleißig. Nun ist als Gegner Engine C an der Reihe. Im Gegensatz zum Match gegen Engine B beginnt aber Engine A nicht mehr jungfräulich, sondern darf bereits auf die bislang gelernten Positionen zurückgreifen. Folglich wird A anders spielen. Dies ist eine Benachteiligung von Engine C (oder von A, falls das Stellungslernen schlecht funktioniert). Und die Benachteiligung der Gegner wird stetig zunehmen, je später sie gegen A zum Spielen kommen.

Diskutabel finde ich es höchstens, das Lernen innerhalb eines Matches eingeschaltet zu lassen und sie dann vor jedem neuen Gegner wieder zu löschen. Nur frage ich mich, was das bringen soll, denn die Engine wird sich ja jedesmal einer anderen Eröffnung vorgesetzt sehen - folglich wird es wohl unwahrscheinlich sein, dass sie sich in einer Partie gegen denselben Gegner mal der gleichen (schon gelernten) Stellung gegenüber sieht.

Gruß
Timo
Parent - - By Michael Scheidl Date 2012-10-06 15:51
Zitat:
Dies ist eine Benachteiligung von Engine C (oder von A, falls das Stellungslernen schlecht funktioniert). Und die Benachteiligung der Gegner wird stetig zunehmen, je später sie gegen A zum Spielen kommen.

Meine Perspektive ist quasi umgekehrt: Was spricht dagegen, daß Engines die lernen können, dadurch einen Vorteil gegenüber Engines erhalten die nicht lernen können? Das ist doch der Sinn jeder Leistungskomponente die Engines haben oder auch nicht.

Manches ist offensichtlicher und abschaltbar bzw. irgendwie lahmlegbar, anderes ist "intern". Beispielsweise (A) viel oder (B) wenig Endspielwissen: Darf man dann mit A gegen B keine Endspiele auswerten, weil das wäre ja eine Benachteiligung von B... Das klingt absurd, aber wieso soll dann Stellungslernen prinzipiell anders zu betrachten sein?

Das Problem der Gegnerreihenfolge würde ich schlicht ignorieren. Vereinzelte Abweichungen (erwartungsgemäß nahe der Eröffnungsvorgabe) sind nicht zwangsläufig tatsächliche Verbesserungen. Weiters tritt in Deinem Beispiel eine Auswirkung auf (C) nur ein, wenn bzw. solange (C) der Zugfolge von (B) folgt, und (A) einen Grund hat von ihren vorigen Zugentscheidungen abzuweichen.

Eigentlich rechne ich nur mit geringen "statistischen" Auswirkungen innerhalb der Meßtoleranz. Jedoch könnten bei solch großen Partienzahlen einige schöne Einzelbeispiele für einen erfolgreichen Lerneffekt entstehen.
Parent - - By Michael Scheidl Date 2012-10-06 20:38
Entschuldigung, ich bin schon so alt daß ich mich im Recht fühle wenn kurzfristig keine Gegenreaktionen kommen. Also, wenn's keine wirklich überzeugenden Argumente gibt um Stellungslernen bei Enginetests auszuschalten, ist ab jetzt der Normalstandard daß man Stellungslernen laufen läßt und nicht abwürgt.

Ist jemand anderer Meinung?

Können wir uns darauf einigen?
Parent - By Timo Haupt Date 2012-10-07 14:21
In einem Engineturnier, welches einen Sieger ermitteln soll, würde ich immer dafür plädieren, jegliche Lernfeatures eingeschaltet zu lassen. In meinem Test soll etwas anderes ermittelt werden - der Test zielt auch nicht primär darauf ab, die reine Enginestärke zu testen. Aus den schon vorher erläuterten Gründen werde ich deshalb ein Lernfeature, sofern vorhanden, ausschalten.
Parent - - By Kurt Utzinger Date 2012-10-06 13:59
[quote="Timo Haupt"]
[...]
Apropos Stellungslernen: Wäre zwar im Prinzip ganz interessant, bei so einem Anlasse mal die Wirksamkeit vom Stellungslernen zu untersuchen, aber nur im Rahmen eines separaten Tests. Möglicherweise teste ich das mal bei Hiarcs gegen ein bestimmtes Gegnerset nachträglich und schaue, wie sich Hiarcs mit im Vergleich zu Hiarcs ohne Stellungslernen geschlagen hat.
[/quote]

Hallo Timo
Da ich an einen positiven Effekt mit Stellungslernen nicht glaube, wäre ich natürlich interessiert an
einem nachträglichen Match von Hiarcs gegen bestimmte Gegnerschaft, um endlich einmal einen
Anhaltspunkt bezüglich des Einflusses von Stellungslernen zu haben.
Mfg
Kurt
Parent - - By Clemens Keck Date 2012-10-06 18:04
HAllo Kurt

im Falle von Hiarcs wird nur sehr wenig in das Learnfile geschrieben. Bis man da überhaupt mal 1 MB drinne hat sind das bestimmt > 1500 PArtien. Der Author selbst schreibt zum Learnfile das es selten mal zu besserem Spiel führt.
Ich schätze es ist mehr eine Glaubensfrage was der Learnfile bringt...

Gruß, Clemens
Parent - - By Kurt Utzinger Date 2012-10-06 18:46
[quote="Clemens Keck"]
HAllo Kurt

im Falle von Hiarcs wird nur sehr wenig in das Learnfile geschrieben. Bis man da überhaupt mal 1 MB drinne hat sind das bestimmt > 1500 PArtien. Der Author selbst schreibt zum Learnfile das es selten mal zu besserem Spiel führt.
Ich schätze es ist mehr eine Glaubensfrage was der Learnfile bringt...

Gruß, Clemens
[/quote]

Hallo Clemens
Dann müsste man eine Engine nehmen, die viel in das Learnfile schreibt.
Gruss
Kurt
Parent - By Michael Scheidl Date 2012-10-06 20:43
Das ist alles nicht die Frage, sondern es ist viel einfacher:

Kann man einen objektiven Test einer Engine durchführen, indem man ein Haupt-Leistungsfeature dieser Engine abwürgt??
Parent - By Stefan Pohl Date 2012-10-06 08:20
[quote="Timo Haupt"]

Ich weiß nicht, ob du das explizit auf meinen Test bezogen hast, aber wenn doch, dann kann ich nur erwidern, dass es schon anstrengend genug war, die 250 Eröffnungsstellungen mit Bedacht auszuwählen (hier wurden viele, viele Stunden Arbeit investiert). Es wäre absolut keine Option für mich, weitere 250 Stellungen aussuchen zu müssen. Der Test ist, so wie er jetzt ist, für mich umfangreich genug. Jede Engine spielt gegen jeden andere 500 Partien. Bei einem anfänglichen Testset von 10 Engines sind das für jede Engine 4500 Partien. Für den Anfang finde ich das vollkommen ausreichend. Es werden ja auch noch weitere Engines hinzukommen, so dass ich am Ende von ca. 7000-8000 Partien pro Engine ausgehe.

Gruß
Timo
[/quote]

Hi Timo,

ich weiß genau, wovon du sprichst. Hätte ich nicht die ausgezeichnete Frank Q.-Datenbank als Ausgangsbasis gehabt, weiß ich nicht, wie ich die 500 Vorgabestellungen für meine LS-Rangliste je hätte zusammenstellen sollen...War auch so schon sehr aufwendig. Hätte ich bei Null beginnen müssen - nicht auszudenken.
4500 Partien sind eine Menge, das stimmt. Bei den langen Bedenkzeiten die du anpeilst wird das mal richtig lange dauern. Schon das Neu-Ausspielen meiner LS-Rangliste mit 11 Engines und 10000 Partien pro Engine wird bei meinem schnellen Tempo (45''+500ms) auf 4 Cores (und ohne Pondern - also 4 Partien laufen parallel) knapp 30 Tage dauern...

In diesem Sinne wünsche ich dir viel Durchhaltevermögen - du wirst es brauchen !!!

Gruß - Stefan
Parent - - By Timo Haupt Date 2012-10-03 18:05 Edited 2012-10-03 18:12
Hallo nochmal,

für alle, die nicht mehr wissen, um welchen Test es sich handelt, habe ich den alten Thread wieder rausgesucht:
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=34759

Die 250 Stellungen habe ich schon seit letztem Jahr zusammen, ein erfahrener FS-Spieler aus Österreich hat mich da tatkräftig unterstützt. Es geht mir wie schon vielfach erläutert darum, zu schauen, ob und wenn ja wie die teilnehmenden Engines in bestimmten Eröffnungssystemen zurechtkommen. Ob es (große) Unterschiede gibt, ob die Engines die Theorie weitestgehend nachspielen oder neue Wege erforschen etc.

Viele Grüße
Timo

P.S.: Ziel des Tests ist vor allem auch eine hohe Qualität der Partien bei gleichzeitig ökonomischem Umgang mit den verfügbaren Ressourcen. Da es ziemlich viele Partien werden (500 pro Einzelbegegnung), kann die BZ auch nicht zu lang gewählt werden bzw. nicht mit zu vielen Threads gespielt werden. Der Test wird ohnehin einige Monate an Rechenzeit kosten, aber es darf nicht so ausarten, dass erst nach einem Jahr (oder länger) eine genügend breite Partienbasis vorliegt.
Parent - - By Stefan Schiffermueller Date 2012-10-04 01:27
Wenn es darum geht, zu schauen, wie die Engines in bestimmten Eröffnungssystemen zurechtkommen, dann ist eine hohe Qualität in der Eröffnungsphase wichtigerj als im Endspiel. Das würde bedeuten,  ein kleines Inkrement zu wählen. Oder eine Zeitkontrolle der folgenden Art: 25/60' + 30' Rest.
Parent - - By Timo Haupt Date 2012-10-04 08:58
Das ist korrekt, in der Eröffnungsphase sollte mehr Zeit zur Verfügung stehen - allein schon deshalb, weil die Engines oftmals recht früh sich selbst überlassen werden (im Schnitt so um den 6. Zug herum - manchmal früher, manchmal später). Trotzdem sollte ja am Ende auch ein vernünftiges (d.h. aussagekräftiges) Ergebnis stehen. D.h. wenn sich Engine A in der Eröffnung und anschließend im Mittelspiel einen Vorteil erarbeitet hat, soll möglichst nicht die Gefahr bestehen, diesen Vorteil am Ende wieder zu verspielen, weil zu wenig Zeit im Endspiel zur Verfügung steht.

Ich weiß, es ist schwierig, alles unter einen Hut zu bringen. Man wird immer Kompromisse machen müssen. Aber dieser Kompromiss soll so ausgewogen wie möglich sein.
Parent - By Timo Haupt Date 2012-10-05 08:13
Korrektur: Die Stellungen enden im Schnitt so um den 7. Zug herum.
Parent - - By Timo Haupt Date 2012-10-07 15:30
Hallo zusammen,

vielen Dank an alle, die Ihre Meinung hier kundgetan haben und Argumente für bzw. gegen bestimmte Konditionen geliefert haben! Das hat mir sehr geholfen, mich auf bestimmte Einstellungen festzulegen.

Nach reiflicher Überlegung habe ich mich für folgende Konditionen entschieden:
a) 1 Thread pro Engine
b) Ponder=Off
c) Bedenkzeit: 100min für die ersten 40 Züge, 50min für den Rest (+1s Inkrement um Lags abzufangen)

Begründung:
zu a) Auf Multithreading verzichte ich, da die Ergebnisse sonst weniger reproduzierbar sind. Bei dem Test soll es ja gerade darum gehen, zu schauen, welche Engine in welcher Eröffnung bestimmte Züge spielt. Auch mit nur einem Thread wird es durch verschiedene Gegner und andere Zufallsfaktoren schon Abweichungen geben, aber mit mehr als einem Thread ist dem Zufall erst Recht Tür und Tor geöffnet. Zwar würde durchschnittlich die Qualität der Partien durch 2 Threads höher sein, aber das erreiche ich hoffentlich auch mit der gewählten Bedenkzeit (siehe c). Ein weiteres Argument für mich war, dass ich so auch SP-Engines aufnehmen kann, ohne dass diese von vornherein benachteiligt sind.

zu b) Nur schweren Herzens habe ich mich gegen das Pondern entschieden, da ich eigentlich ein Fan von "Rechnen auf Gegnerzeit" bin. Normales Schach funktioniert nun mal so, dass ich nicht mein Gehirn abschalte, wenn der Gegner am Zug ist, sondern weiterhin nachdenke. Bei Ranglisten, die reine Enginestärke testen, bevorzuge ich Ponder=On und werde deshalb weiterhin gerne in die IPON, sowie die CEGT 40/20 PB=ON Listen schauen. Doch mein Test soll ja bekanntlich nicht vorrangig die reine Enginestärke messen, sondern das Verhalten von Engines in bestimmten Eröffnungssystemen. Es werden sehr viele Partien zu spielen sein, deshalb möchte ich die vorhandenen Rechner-Ressourcen möglichst optimal ausnutzen. Dies erreiche ich nur, wenn ich auf Pondern und Multithreading verzichte.

zu c) Die BZ-Einteilung mag einigen recht künstlich bzw. willkürlich erscheinen. Ingos Argument, dass eine möglichst gute Zeiteinteilung zu den Stärken einer Engine zählt und es ihr deshalb selbst überlassen sein sollte, wie sie sich die Zeit einteilt, halte ich für sehr stichhaltig. Deshalb sollte man in Ranglisten, die reine Enginestärke abbilden wollen, auf solche Konstrukte vielleicht besser verzichten und lieber sudden death wählen. Ich habe dennoch so ein Konstrukt gewählt, weil es mir hier um eine möglichst hohe Partiequalität in der Eröffnungsphase bzw. im daraus resultierenden Mittelspiel geht. Deshalb zwinge ich die Engines quasi dazu, sich ausreichend Zeit für diese Spielphase(n) zu lassen. Ich nehme dabei in Kauf, dass dadurch die Güte des Zeitmanagement der Engines kaum oder nur unzureichend getestet wird. Wie schon erwähnt, werden in den gewählten Teststellungen die Engines durchschnittlich im 7. Zug sich selbst überlassen. Im Schnitt bleiben also noch 33 Züge bis zur Zeitkontrolle. Somit können sich die Engines bei 100min für die Zeitkontrolle bis zum 40. Zug also ca. 3min Zeit pro Zug nehmen, was allgemein als Turnierbedenkzeit bezeichnet wird. Nach der Zeitkontrolle bleibt dann hingegen weniger Bedenkzeit - bei einer 75-Züge-Partie sind es noch 2min pro Zug, bei 90 Zügen immerhin noch 1min. Somit sollte sichergestellt sein, dass auch im späten Mittelspiel bzw. Endspiel noch genügend Zeit vorhanden ist, um die Partie ohne Zeitnot zuende zu spielen. Das kleine Inkrement dient nur dazu, eventuelle Lags abzufangen. Selbst bei einer Seeschlange dauert eine Partie somit kaum länger als insgesamt 300min=5h. Dies ist immer noch eine ziemlich lange Zeitspanne, doch meine damals gewählten Konditionen waren vom Gesamtaufwand her vergleichbar: 85m+5s bei Ponder=On. Hier war ich von 2,5-3h pro Partie ausgegangen, konnte aber wegen Pondern nur halb so viele Partien gleichzeitig spielen lassen.

Sicherlich werden die von mir gewählten Konditionen nicht allen Interessierten gefallen, doch man muss beim Testen immer Kompromisse eingehen. Schließlich stehen mir keine unbegrenzten Ressourcen zum Testen zur Verfügung - ansonsten würde ich den Test selbstverständlich mit möglichst vielen Threads, Ponder=On und ultralanger Bedenkzeit durchführen.

Viele Grüße
Timo
Parent - - By Clemens Keck Date 2012-10-07 15:45
Hallo Timo

ich biete Dir einen zusätzlichen Rechner an, der "streng" Deinen Bedingungen folgen würde. 2 Rechner zur Auswahl:

1) Ein AMD Phenom II x6 1090T 8 GB RAM Takt 3,2 Ghz
oder
2) ein Intel i5 2500 mit 4 GB RAM (hab bestimmt irgendwo noch RAM Riegel "rumfliegen" um auf 8 GB aufzurüsten) Takt 3,3 Ghz

Ich würde wenn Dir das zusagt einzelne Matches übernehmen. Für besonders lange reicht meine Geduld meistens nicht. Aber vielleicht schaffe ich wenigstens 500 oder gar 1000 Partien.



beste Grüße, Clemens
Parent - - By Timo Haupt Date 2012-10-07 17:38
Hallo Clemens,

vielen Dank für dein Angebot. Ggf. werde ich später darauf zurück kommen. In Frage käme allerdings nur der Phenom II, den du dann auf genau 3GHz takten könntest. Die Intel-CPU verhält sich wiederum ganz anders, deshalb passt sie nicht in meinen Test.

Viele Grüße
Timo
Parent - By Klaus Ritter Date 2012-10-07 21:34
Hallo Timo,
dir ist wie mir bekannt das einige Engines wieso auch immer auf einen AMD anders Spielen wie auf einen Intel...

see u,
klausi
Parent - By Jörg Oster Date 2012-10-07 16:32
Hallo Timo,

ein guter Kompromiss, wie ich finde.
Auf die Ergebnisse darf man gespannt sein.

Ich wünsche dir jedenfalls viel Erfolg bei deinem Vorhaben.

Gruß, Jörg.
Up Topic Hauptforen / CSS-Forum / Umfrage: Konditionen für Test

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill