Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Wieviel bringt der Einsatz mehrerer Cores?
1 2 Previous Next  
- - By Simon Gros Date 2012-07-16 21:02
Ich habe mal nachgesehen was die Nutzung von "MP" bringt, hier am Beispiel der CEGT-Blitz-Rangliste, da diese sehr viele Fundstellen bietet:
Ein paar Beispiele:
Houdini 1.5 mit einem Core = 3019
Houdini 1.5 mit vier Cores = 3115, also 96 Punkte besser.
.
Critter 1.4 mit einem Core = 2978
Critter 1.4 mit vier Cores = 3063, also 85 Punkte besser.
.
Shredder 12 mit einem Core = 2800
Shredder 12 mit vier Cores = 2890, also 90 Punkte besser.
.
Hiarcs 13.1 mit einem Core = 2747
Hiarcs 13.1 mit vier Cores = 2870, also 123 Punkte besser!

Junior 12 mit einem Core = 2688
Junior 12 mit vier Cores = 2838, also 150 Punkte besser!!
Es scheint doch deutliche Unterschiede zu geben was die Einbindung von "MP" anbelangt.
Simon_G
Parent - - By Benno Hartwig Date 2012-07-17 13:40
[quote="Simon Gros"]Es scheint doch deutliche Unterschiede zu geben was die Einbindung von "MP" anbelangt.[/quote]Das wäre eine interessante Frage.
Jeder ELO-Wert ist mit einer Ungenauigkeit behaftet.
Die Differenz ist somit mit einer deutlich noch größeren Ungenauigkeit gestraft.
Und wenn du diverse ELO-Differenzen betrachtest, wirst du auch rein Zufallsbedingt besonders kleine und besonders große finden.

Ob die von die gefundenen Werte wirklich mehr Rückschlüsse gestatten?

Mein Vorurteil:
gutet Implementierungen realisieren bei Core-Verdopplung eine effektive Geschwindigkeitssteigerung um den Faktor 1,7 (mögen auch geniale 1,8 erreicht werden können).
also ca. 50 ELO bei Kern-Verdopplung.
Jede ELO-Differenz, die darüber hinausgeht (z.B. 75 ELO) halte ich grundsätzlich(!) für auch deutlich zufallsverursacht. Sie müssten ansonsten zeigen, dass auch eine CPU-Geschwindigkeitsverdopplung sehr deutlich mehr als 70 ELO bringt!
Und es mag weniger prominente Engines geben, deren Mehrkernnutzung ggf. deutlich schlechter implementiert ist. Dass die dann weniger ELO gewinnen, mag sein. Aber dass davon eine der 'großen' Engines betroffen ist, wäre mir neu.

Benno
Parent - - By Ingo Bauer Date 2012-07-17 18:33
[quote="Benno Hartwig"]
[quote="Simon Gros"]Es scheint doch deutliche Unterschiede zu geben was die Einbindung von "MP" anbelangt.[/quote]Das wäre eine interessante Frage.
Jeder ELO-Wert ist mit einer Ungenauigkeit behaftet.
Die Differenz ist somit mit einer deutlich noch größeren Ungenauigkeit gestraft.
Und wenn du diverse ELO-Differenzen betrachtest, wirst du auch rein Zufallsbedingt besonders kleine und besonders große finden.

Ob die von die gefundenen Werte wirklich mehr Rückschlüsse gestatten?

Mein Vorurteil:
gutet Implementierungen realisieren bei Core-Verdopplung eine effektive Geschwindigkeitssteigerung um den Faktor 1,7 (mögen auch geniale 1,8 erreicht werden können).
also ca. 50 ELO bei Kern-Verdopplung.
Jede ELO-Differenz, die darüber hinausgeht (z.B. 75 ELO) halte ich grundsätzlich(!) für auch deutlich zufallsverursacht. Sie müssten ansonsten zeigen, dass auch eine CPU-Geschwindigkeitsverdopplung sehr deutlich mehr als 70 ELO bringt!
Und es mag weniger prominente Engines geben, deren Mehrkernnutzung ggf. deutlich schlechter implementiert ist. Dass die dann weniger ELO gewinnen, mag sein. Aber dass davon eine der 'großen' Engines betroffen ist, wäre mir neu.

Benno
[/quote]

Alles richtig, würde ich so unterschreiben (!) nur als Ergänzung: Die erste Verdopplung ist am effektivsten, jede weitere weniger. Sozusagen ein abnehmender Grenznutzen. Wenn 1 auf 2 Kerne z.B. 50 Elo bringt, dann bringt 2 auf 4 nur noch 40, 4 auf 8 nur noch 30 ...! Je nach Implementierung fällt das zwar mehr oder weniger groß aus, der Effekt muß aber da sein weil der "interne Verwalltungsaufwand" mit mehr Kernen größer wird. Und auch da gibt es unterschiedlich gute Implementierungen. Die eine Engine macht bei 4 Kernen schlapp, die andere vielleicht erst bei 64 ...

Gruß
Ingo
Parent - - By Simon Gros Date 2012-07-17 20:00
@Benno Hartwig + @Ingo Bauer
Vielen Dank für die Antworten. Eine Erklärung der doch sichtbaren Unterschiede kann ich daraus jedoch nicht finden. Die Anzahl an Spielen ist wohl auch groß genug, ebenso die Anzahl der verschiedenen Gegnerprogramme. Für mich persönlich sieht es so aus, daß sowohl Hiarcs als auch Junior eine bessere "MP" Einbindung haben als die anderen aufgeführten Schachengines.
Simon_G
Parent - By Benno Hartwig Date 2012-07-17 21:16
[quote="Simon Gros"]Eine Erklärung der doch sichtbaren Unterschiede kann ich daraus jedoch nicht finden. Die Anzahl an Spielen ist wohl auch groß genug, ebenso die Anzahl der verschiedenen Gegnerprogramme. Für mich persönlich sieht es so aus, daß sowohl Hiarcs als auch Junior eine bessere "MP" Einbindung haben als die anderen aufgeführten Schachengines.[/quote]Ja?
CEGT gibt 95%-Intervalle so mit +-10ELO bis +-20ELO an
In jedem 20. Fall wirst du also Abweichungen >10ELO bzw. >20 ELO haben.
Die Differenzen werden dann ca. um +-15 bzw +-30ELO falsch liegen. (Müsste man mal genauer nachrechnen)
Lass die Differenz einer Engine um 30 zu groß sein, die einer anderen um 30 zu klein.
Entspricht diese doch gar nicht so abstruse Situation nicht doch recht gut dem, was du beobachtet hast?

Benno
Parent - - By Benno Hartwig Date 2012-07-17 21:08
[quote="Ingo Bauer"]...Wenn 1 auf 2 Kerne z.B. 50 Elo bringt, dann bringt 2 auf 4 nur noch 40, 4 auf 8 nur noch 30 ...! Je nach Implementierung fällt das zwar mehr oder weniger groß aus, der Effekt muß aber da sein weil der "interne Verwalltungsaufwand" mit mehr Kernen größer wird....[/quote]Du könntest recht haben.
Hier würde mich aber schon sehr interessieren, ob die Praxis deine These bestätigt.
Benno
Parent - - By Simon Gros Date 2012-07-17 21:13
Meine These? Ich habe lediglich Resultate von der CEGT hier zur Diskussion gestellt und nach Erklärungen gefragt bzw. erhofft welche zu bekommen. Kam dies anders herüber? Ich hoffe nicht...
Simon_G
Parent - By Simon Gros Date 2012-07-17 21:37
Sorry, nicht aufgepaßt. War nicht für mich gedacht.
Simon_G
Parent - - By Ingo Bauer Date 2012-07-17 21:22 Edited 2012-07-17 21:31
[quote="Benno Hartwig"]
[quote="Ingo Bauer"]...Wenn 1 auf 2 Kerne z.B. 50 Elo bringt, dann bringt 2 auf 4 nur noch 40, 4 auf 8 nur noch 30 ...! Je nach Implementierung fällt das zwar mehr oder weniger groß aus, der Effekt muß aber da sein weil der "interne Verwalltungsaufwand" mit mehr Kernen größer wird....[/quote]Du könntest recht haben.
Hier würde mich aber schon sehr interessieren, ob die Praxis deine These bestätigt.
Benno
[/quote]

"Könntest"? Ich dachte das wäre informationstechnische Realität. Schach skaliert nicht so gut. Je mehr Kerne desto schwieriger. Das ist offensichtlich. Wenn die Praxis (aka Ranglisten) etwas anderes zeigt ist nicht die Theorie das Problem sondern erstmal eine ungenügende Spieleanzahl.

Interessant sind die Ergebnisse mancher Listen. Die hatten (haben? Ich Habe LAAANGE nicht mehr kontroliert) nämlich früher größere Gewinne bei mancher Engine von 2 auf 4 als von 1 auf 2 gezeigt - und das widerspricht jeder Intuiton da es bedeuten würde das die Engine immer besser skaliert je mehr Kerne sie bekommt . De fakto heißt es aber nur, dass für Ihr Setup aber viel zu wenig Spiele vorhanden waren - was wiederum das Rating bei MP zweifelhaft erscheinen läßt ....

Gruß
Ingo

PS: Übrigens ist obiges ein Grund warum ich wirklich zweifele ob es Sinn macht sich für viel Geld CPUs mit X-Kernen zuzulegen wenn sozusagen Jedes zusätzliches Elo deutlich mehr Geld kostet - und wir nicht mal wissen OB es zusätzliche ELo gibt. (Nur MEHR Knoten heißt ja nicht gleichzeitig mehr Elo ...)
Parent - - By Simon Gros Date 2012-07-17 21:45
"Nur MEHR Knoten heißt ja nicht gleichzeitig mehr Elo ...".
Nun, mehr Knoten bedeutet i.d.R. aber mehr Tiefe, irgendwann halt. Und mehr Tiefe wird ja gerade hier im Thread auch als mehr ELO (wieviel will keiner sagen) verkauft. Was denn nun?
Simon_G
Parent - - By Ingo Bauer Date 2012-07-17 22:28 Edited 2012-07-17 22:31
[quote="Simon Gros"]
Nun, mehr Knoten bedeutet i.d.R. aber mehr Tiefe, irgendwann halt. ...
[/quote]

Nein, es kann auch heißen das der Baum breiter, aber vergebens, durchsucht wurde. Viele Knoten, ohne Resultat!

Ingo
Parent - - By Simon Gros Date 2012-07-18 09:26
Ich habe gestern Abend versucht so viele Daten wie nur möglich zu sichten und bin dabei durch (so denke ich wenigstens) alle öffentlich verfügbaren Listen gegangen. Ich konnte nicht ein einziges Beispiel von "negativer Skalierung" finden, nicht mal im Ansatz. Der kleinste Unterscheid von einem auf zwei Cores war +36 von einem Programm namens Delphil.
Um zum Ausgangsposting zurückzukommen habe ich mal in der CEGT 40/20 nachgesehen:
Deep Junior 13 mit einem Core = 2762
Deep Junior 13 mit vier Cores = 2884, also + 122
.
Deep Shredder 12 mit einem Core = 2800
Deep Shredder 12 mit vier Cores = 2873, also + 73
Auch in dieser Liste gibt es deutliche Unterschiede. Alles wirklich nur Zufall?
Simon_G
Parent - - By Simon Gros Date 2012-07-18 19:55
Keine Antwort ist auch eine Antwort... Ich hatte dies ehrlich gesagt fast vermutet.
Simon_G
Parent - - By Ingo Bauer Date 2012-07-18 21:25
?

Geh woanders trollen!
Parent - By Simon Gros Date 2012-07-19 09:15
Trollen?
Danke für das Gespräch.
Simon_G
Parent - By Benno Hartwig Date 2012-07-19 11:09
[quote="Simon Gros"]Auch in dieser Liste gibt es deutliche Unterschiede. Alles wirklich nur Zufall?[/quote]Dass unter sehr vielen Differenzen solche auftreten, die sich um 50 ELO unterscheiden, sollte meiner Meinung nach geradezu erwartet werden!
Bedeutet es doch nur, dass ggf. einige um 25 zu groß, andere um 25 zu klein angegeben wurden, und die Fehlerhaftigkeit der Differenzen ist sowieso noch einmal deutlich größer als die zugrundeliegenden ELO-Werte, deren 95%-Errorbar ja auch häufig bei 20 liegt.

Benno
Parent - - By Benno Hartwig Date 2012-07-17 22:43
[quote="Ingo Bauer"]"Könntest"? Ich dachte das wäre informationstechnische Realität. Schach skaliert nicht so gut. Je mehr Kerne desto schwieriger. Das ist offensichtlich. [/quote]Oh, solch ein Argument scheint mir dann doch bei weitem nicht überzeugend genug.
So selbstverständlich oder gar offensichtlich ist solch eine Aussage sicher nicht.
Trotzdem könnte sie natürlich korrekt sein. Ich weiß es nicht.
Da bedarf es aber eines deutlich besseren Argumentes, oder einer statistisch aussagekräftigen Erfahrung.

Benno
Parent - - By Michael Scheidl Date 2012-07-17 23:09
Ich weiß nicht ob ich für eine Mehrheit spreche, aber ich finde dieses Thema uninteressant.

Begründungen:

1. Mehr Cores sind stärker, auch wenn je Engine in Frage steht um wieviel. Der Rest sind minor details.
2. Duelle mit extrem vielen Cores (16+) sind sehr selten. Wer das macht muß selbst sehen was es bringt.
3. Leute die sich Computer mit 12+ Cores leisten sind selten. Deren Probleme möchte ich haben...
Parent - By Benno Hartwig Date 2012-07-18 00:11
[quote="Michael Scheidl"]Ich weiß nicht ob ich für eine Mehrheit spreche, aber ich finde dieses Thema uninteressant.
Solch ein Thread hat aber trotzdem seine Daseinsberechtigung, finde ich.
Es muss ja nicht jeder mitlesen.

Zitat:
1. Mehr Cores sind stärker, auch wenn je Engine in Frage steht um wieviel. Der Rest sind minor details.
Ähnlich interessant/uninteressant wie die Frage nach dem Einfluss der CPU-Geschwindigkeit oder des Hauptspeichers. Es gehört dazu, aber man muss sich nicht drum kümmern.

Zitat:
2. Duelle mit extrem vielen Cores (16+) sind sehr selten. Wer das macht muß selbst sehen was es bringt.
Ich erlebte das aufkommen der ersten 2-CPU-Maschinen, heute sind 4 Kerne Standard (selbst Telefone können schon so ausgerüstet sein), und der Trend wird weitergehen, ich vermute: fix weitergehen.
Man kann sich dafür interessieren, was das bedeutet, oder man kann es lassen.

Zitat:
3. Leute die sich Computer mit 12+ Cores leisten sind selten. Deren Probleme möchte ich haben...
Im Computerschach hat mich schon immer auch das interessiert, was ich mir nicht leisten konnte. Auch die Berichte über die Cray waren interessant. Mein Portemonaie und was unter deinem oder meinem Schreibtisch steht, ist hingegen tatsächlich ziemlich Wurst.

Aber jeder darf und sollte gern unterschiedliche Interessen haben.

Benno
Parent - - By Ingo Bauer Date 2012-07-18 07:36
[quote="Michael Scheidl"]
Ich weiß nicht ob ich für eine Mehrheit spreche, aber ich finde dieses Thema uninteressant.
[/quote]
Ich nicht.

[quote="Michael Scheidl"]
1. Mehr Cores sind stärker, ...
[/quote]
Unbewiesen. Je nach Implementierung könnte Schach auch negative Skalieren. Dann wären mehr Cores schwächer.

[quote="Michael Scheidl"]
2. Duelle mit extrem vielen Cores (16+) sind sehr selten. Wer das macht muß selbst sehen was es bringt.
[/quote]
Es wird doch schon diskutiert ob bei Engine X 8 Kerne noch etwas bringen, und das ist fast Alltag. 6 Kerne gibts zum Schnäppchenpreis (verglichen mit Rechnerpreisen vor 5, 10, 15 ... Jahren). Wieviel bringt der SPrung von 4 auf 6 Kerne, von 4 auf 8. Lohnt das für Engine X überhaupt ... alles hochinteressante Fragen wie ich finde.

[quote="Michael Scheidl"]
3. Leute die sich Computer mit 12+ Cores leisten sind selten. Deren Probleme möchte ich haben...
[/quote]
Ich könnte (glücklicherweise), und habe mich aus obigen Gründen dagegenentschieden. Der Gewinn war mir bei dem Preis zu klein. Da kaufe ich mir lieber mehr Einzelrechner (besser: Ich nutze lieber mehr Einzelkerne).

Ich finde es interessant und es beschäftigt mich schon länger. Nicht ohne Grund mache ich eine Rangliste auf Single Core antstatt mich mit der schweren Beweisbarkeit von MP und der damit verbundenen Resourcenverschwendung rumzuplagen ...

Gruß
Ingo
Parent - - By Ludwig Bürgin Date 2012-07-18 08:55
Hallo Ingo

....................................................................................................................................................................................................

Es wird doch schon diskutiert ob bei Engine X 8 Kerne noch etwas bringen, und das ist fast Alltag. 6 Kerne gibts zum Schnäppchenpreis (verglichen mit Rechnerpreisen vor 5, 10, 15 ... Jahren). Wieviel bringt der SPrung von 4 auf 6 Kerne, von 4 auf 8. Lohnt das für Engine X überhaupt ... alles hochinteressante Fragen wie ich finde.

....................................................................................................................................................................................................

Solche Fragen können sich durchaus bei Arbeiten mit Comp.Schach stellen.Im Maschienenraum sind sie schon lange gelöst.

Gruß Ludwig
Parent - By Ingo Bauer Date 2012-07-18 09:43 Edited 2012-07-18 09:52
[quote="Ludwig Bürgin"]
....Im Maschienenraum sind sie schon lange gelöst.
[/quote]

Der ist gut! Da schlägt sich die Informatik mit grundlegenden Problemen der Skalierbarkeit von Algorithmen rum. Schreibt Papers für Fachmagazine, Bachlor-, Master-, Dipl. Ing- und Doktorarbeiten die sich auch um Schach drehen, setzt ganze Programmiersprachen und Konzepte neu auf um Parallelisierung zu optimieren und die im Maschinenraum haben das schon lange gelöst! Warum sagt das keiner den Informatikern?

Köstlich!

Gelöst ist da nichts, da MEINT man was gelöst zu haben weil alle in Ehrfurcht vor den Vielkernern erstarren. Frei nach dem Motto "meiner ist länger".

Gruß
Ingo
Parent - - By Ingo Bauer Date 2012-07-18 07:24
[quote="Benno Hartwig"]
[quote="Ingo Bauer"]"Könntest"? Ich dachte das wäre informationstechnische Realität. Schach skaliert nicht so gut. Je mehr Kerne desto schwieriger. Das ist offensichtlich. [/quote]Oh, solch ein Argument scheint mir dann doch bei weitem nicht überzeugend genug.
..
[/quote]

Grundlagen der Informatik, aber das habe ich mir schon gedacht :

1. http://de.wikipedia.org/wiki/Skalierbarkeit#Skalierungsfaktor (Hier konnte der Absatz über negative Skalierbarkeit sogar interessant sein)
2. http://de.wikipedia.org/wiki/Amdahls_Gesetz und ergänzend http://de.wikipedia.org/wiki/Gustafsons_Gesetz
und am meisten auf Schach bezogen:
3. http://chessprogramming.wikispaces.com/Parallel+Search

Irgendwo in diesem Spannungsfeld liegt Schach in der Skalierbarkeit. Sicher ist, das Schach in der Skalierbarkeit abflacht und nicht linear verläuft! Wo and wann ist Sache der Implementierung (Siehe Punkt 3)

Übrigens mit ein Grund warum nichtverifizierbare Aussagen über Elozuwächse bei Clustern bis zu ihrem externen Beweis nichts sind als "Dauerwerbesendung"

Gruß
Ingo

PS: DIe Knotenzahl ist dabei übrigens nur sekundär. Ich habe gestern mal ein bisschen rumprobiert und eine Engine gefunden die von 1 auf 2 und von 2 auf 4 jeweils einen Knotenfaktor von 1.99 hatte. Dummerweise auch noch eine der Engines der anhaftet nicht so gut in ELo zu skalieren. (und dazu ist das noch schwierig zu messen, da auch bei MP unterschiedliche Knotenzahlen herrauskommen können wenn man die Messung wiederholt. Obiges war also mehr eine "Über den Daumen" Messung )
Parent - - By Benno Hartwig Date 2012-07-18 09:11
[quote="Ingo Bauer"]Grundlagen der Informatik, aber das habe ich mir schon gedacht : [/quote]Faszinierend, was heute so zu den Grundlagen der Informatik gehört. 
Aber du hast schon recht. Insbesondere Roberts Tabelle führt bis zu 16 Kernen die Effektivität verschiedener konkreter Algorithmen vor.

Benno
Parent - By Ingo Bauer Date 2012-07-18 09:49
Ok Ok, ob das "Grundlagen" sind sei mal dahingestellt. Parallelisierung ist jedenfalls ein ganz heißes Thema momentan.

Übrigens ist mir ein schönes Bsp eingefallen:

1 Person kann ein Auto zusammenbauen. 10 Personen sind schneller, 100 Personen stehen sich im Weg rum ... Von 1 auf 2 ist die Parallelisierung noch ziemlich gut, von 10 auf 20 muß schon einer/mehrere abgestellt werden die den Ablauf koordieren ...

Der Prozess des Autobauens läßt sich auch nicht beliebig parallelisiseren, irgendwann ist Schluß.

Gruß
Ingo
Parent - - By Ingo Bauer Date 2012-07-18 10:38 Edited 2012-07-18 10:42
Hi

   
Algorithm
1
2
4
8
16
PVS
1.0
1.8
3.0
4.1
4.6
EPVS
1.0
1.9
3.4
5.4
6.0
DTS
1.0
2.0
3.7
6.6
11.1


Dabei ist noch interessant das du davon bei allem was du käuflich erwerben kannst wahrscheinlich "höchstens" ein PVS antriffst und ein gut Teil sogar "nur" Shared Hash Tables benutzt. Wenn man dann den Gewinn von 8 auf 12 betrachtet und mit Geld gegenrechnet ... (oder 4 auf 8, doppelte Kerne und nur 33% mehr Leistung - 33% sind gut gerechnet 20 Elo - teurer Spaß!)
Die Engine von der ich vermute das sie etwas mehr "sophisticated" macht wäre Zappa, aber der ist leider nicht mehr auf der Höhe der Zeit.

Weiß jemand welches Verfahren die freie Stockfishimplemantation oder die Ivans benutzen?

Gruß
Ingo

PS: Das erklärt vielleicht auch die Probleme von Komodo. Wenn man da sehr ambitioniert ist wird es schwierig ...
Parent - By Ingo Bauer Date 2012-07-18 11:19
Hi.

[quote="Ingo Bauer"]
Hi

   
Algorithm
1
2
4
8
16
PVS
1.0
1.8
3.0
4.1
4.6
EPVS
1.0
1.9
3.4
5.4
6.0
DTS
1.0
2.0
3.7
6.6
11.1


Dabei ist noch interessant das du davon bei allem was du käuflich erwerben kannst wahrscheinlich "höchstens" ein PVS antriffst und ein gut Teil sogar "nur" Shared Hash Tables benutzt. Wenn man dann den Gewinn von 8 auf 12 betrachtet und mit Geld gegenrechnet ... (oder 4 auf 8, doppelte Kerne und nur 33% mehr Leistung - 33% sind gut gerechnet 20 Elo - teurer Spaß!)
Die Engine von der ich vermute das sie etwas mehr "sophisticated" macht wäre Zappa, aber der ist leider nicht mehr auf der Höhe der Zeit.

Weiß jemand welches Verfahren die freie Stockfishimplemantation oder die Ivans benutzen?

Gruß
Ingo

PS: Das erklärt vielleicht auch die Probleme von Komodo. Wenn man da sehr ambitioniert ist wird es schwierig ...
[/quote]

Hier: http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=5820&p=28224#p28224 habe ich gerade gelernt das Glaurung wohl "sort of YBWC" war und ich mal annehme das Stockfish das ähnlich implementiert. Insofern sind meine obigen Annahmen vielleicht zu pessimistisch (hoffen wir es )

Gruß
Ingo
Parent - - By Jörg Oster Date 2012-07-18 11:24
[quote="Ingo Bauer"]
Hi

   
Algorithm
1
2
4
8
16
PVS
1.0
1.8
3.0
4.1
4.6
EPVS
1.0
1.9
3.4
5.4
6.0
DTS
1.0
2.0
3.7
6.6
11.1


Dabei ist noch interessant das du davon bei allem was du käuflich erwerben kannst wahrscheinlich "höchstens" ein PVS antriffst und ein gut Teil sogar "nur" Shared Hash Tables benutzt. Wenn man dann den Gewinn von 8 auf 12 betrachtet und mit Geld gegenrechnet ... (oder 4 auf 8, doppelte Kerne und nur 33% mehr Leistung - 33% sind gut gerechnet 20 Elo - teurer Spaß!)
Die Engine von der ich vermute das sie etwas mehr "sophisticated" macht wäre Zappa, aber der ist leider nicht mehr auf der Höhe der Zeit.

Weiß jemand welches Verfahren die freie Stockfishimplemantation oder die Ivans benutzen?

Gruß
Ingo

PS: Das erklärt vielleicht auch die Probleme von Komodo. Wenn man da sehr ambitioniert ist wird es schwierig ...
[/quote]

Hallo Ingo,

soweit ich weiß, benutzt Stockfish, so wie die meisten Engines, im Grunde das YBW-Konzept. (Young Brothers Waiting)

DTS (Dynamic Tree Splitting) skaliert wesentlich besser mit steigender Anzahl von Cores, ist aber auch schwieriger zu implementieren.

Gruß,
Jörg.
Parent - - By Ingo Bauer Date 2012-07-18 12:58
Hallo

Für Glaurung/Stockfish hatte ich das ja schon rausgefunden. Das "... wie die meisten Engines" will ich nach ein paar oberflächlichen Test jetzt nicht bestreiten, aber gibt es diese Info irgendwo noch speziel für bestimmte Engines (am besten als Aussage des Autors) oder ist das eine fundierte Annahme ("educated guess" auf Neudeutsch)?

Gruß
Ingo
Parent - - By Jörg Oster Date 2012-07-18 15:23
Hallo,

ist eher eine fundierte Annahme von mir.
Z. B. Arasan benutzt YBW (steht in den Sourcen). Crafty natürlich auch.
Und ich denke mal, nicht zu Unrecht, dass sich viele an der Implementierung von Bob Hyatt orientiert haben.

Gruß,
Jörg.
Parent - By Ingo Bauer Date 2012-07-18 17:54
OK, Danke.

Was sagen die IVAN-Sourcen?

Gruß
INgo
Parent - - By Benno Hartwig Date 2012-07-18 16:08
[quote="Ingo Bauer"]   
Algorithm
1
2
4
8
16
PVS
1.0
1.8
3.0
4.1
4.6
EPVS
1.0
1.9
3.4
5.4
6.0
DTS
1.0
2.0
3.7
6.6
11.1
[/quote]Und das bedeutet, dass bei Kernverdopplung folgende effektive Faktoren wirksam werden:
   
Algorithm
1
2
4
8
16
PVS

1.8
1,67
1,37
1,12
EPVS

1.9
1,79
1,59
1,11
DTS

2.0
1,85
1,78
1,68

Schade, besonders mit Blick auf PVS und EPVS.
Nun will ich aber bei Gelegenheit doch noch mal einen Blick darauf werfen, wie man zu diesen (in dieser Heftigkeit überraschenden?) Ergebnissen gekommen ist...
Benno
Parent - - By Ingo Bauer Date 2012-07-18 17:59 Edited 2012-07-18 18:07
[quote="Benno Hartwig"]
Und das bedeutet, dass bei Kernverdopplung folgende effektive Faktoren wirksam werden:
   
Algorithm
1
2
4
8
16
PVS

1.8
1,67
1,37
1,12
EPVS

1.9
1,79
1,59
1,11
DTS

2.0
1,85
1,78
1,68

Schade, besonders mit Blick auf PVS und EPVS.
Nun will ich aber bei Gelegenheit doch noch mal einen Blick darauf werfen, wie man zu diesen (in dieser Heftigkeit überraschenden?) Ergebnissen gekommen ist...
Benno
[/quote]

Um zum Ausgangspunkt (meines ersten Postings) zurückzukommen: Schön zu sehen dass, egal welcher Algorithmus, jede weitere Verdopplung weniger effektiv ist.

Und nochmal, um das korrekt zu messen hilft es natürlich nicht Knoten zu zählen, sondern nur "Time to depth" ist relevant. Und diese Messung muß man für eine Stellung auch noch mehrmals (je mehr desto besser) wiederholen und den Durchschnittswert nehmen. Und eine Stellung ist natürlich viel zu wenig ...

Am besten ist eigentlich der schöne Spruch "Ignorance is bliss". Wenn man von alle dem nichts weiß, kann man sich an seinen Boliden viel mehr freuen

Gruß
Ingo
Parent - - By Benno Hartwig Date 2012-07-19 11:34
[quote="Ingo Bauer"]Um zum Ausgangspunkt (meines ersten Postings) zurückzukommen: Schön zu sehen dass, egal welcher Algorithmus, jede weitere Verdopplung weniger effektiv ist. [/quote]Stimmt. Und die Heftigkeit, mit der es bereits bei 16 Kernen uneffektiv wird, überrascht mich sehr.

Was trieb auf den letzten WM-Teilnahmen mit 48(?) Kernen Vas eigentlich mit seinen Rybka?
Was leistet seine Cluster-Rybka mit 296 Kernen eigentlich so?
Ist er denn zu blöd zu wissen, dass er keinen Erfolg haben kann? 
Oder hat er doch Nutzen durch die sehr große Kern-Anzahl und den Aufwand bei der WM deshalb betrieben? 
Ggf. weil er eine deutlich bessere Implementierung schuf (und das auf nebeneinanderstehenden Rechnern, AFAIK lediglich mit Netzkabel verkorkt? Mir fehlt da der Glaube!)
Oder weil Roberts Anayse doch nicht so verlässlich oder realitätsbezogen ist? (Behaupten will ich andererseits auch das nicht!)

Aber irgendwie passt das nicht zusammen, scheint mir!

Benno
Parent - - By Ingo Bauer Date 2012-07-19 13:37
[quote="Benno Hartwig"]
Was trieb auf den letzten WM-Teilnahmen mit 48(?) Kernen Vas eigentlich mit seinen Rybka?
[/quote]

Eine "Clusterimplementierung" ist schon ein bisschen anderes als das was wir die ganze Zeit diskutiert haben. Wenngleich es auch da mit jedem Kern komplizierter wird und auch da jede Verdopplung weniger effizient ist! Ich kann da nur auf die Doktorarbeit von Kai Himstedt verweisen: http://www.shaker.de/de/content/catalogue/index.asp?lang=de&ID=8&ISBN=978-3-8440-0803-6 Habe ich hier stehen und auch wenn vielles über meinen Horizint geht ist es doch sehr lesenswert! (Z.B wird auf mehr Züge im CLuster gepondert um die Kerne optimal auszunutzen - man hat praktisch IMMER einen Ponderhit. Man ponder eben auf mehr Züge weil man weiß das das mehr bringt als alle (dann ineffizienten) 128 Kerne an einem Zug lutschen zu lassen der dann nicht kommt ..., auch wird über mehrere Züge im vorraus gepondert ... "An Optimistic Pondering Approach for Asynchronous Distributed Games. ICGA Journal, Vol. 28, No. 2, pp. 77-90. von Kai Himstedt)

Es gibt einige Clusterimplementierungen nicht nur die von Rybka. Leider ist die ganze Sache nicht trivial. Das beste was ich bisher gesehen habe war die von Gian Carlo Pascutto. Die war eigentlich 'ready to release' fand ich!

[quote="Benno Hartwig"]
Was leistet seine Cluster-Rybka mit 296 Kernen eigentlich so?
[/quote]

Um das jenseits der Werbeblasen rauszufinden mußt du ihn mieten und dann lange und ausgiebig testen. Die freuen sich! Die Ergebnisse mußt du aber für dich behalten. Es ist nicht erlaubt darüber zu diskutieren.

[quote="Benno Hartwig"]
Ist er denn zu blöd zu wissen, dass er keinen Erfolg haben kann? 
Oder hat er doch Nutzen durch die sehr große Kern-Anzahl und den Aufwand bei der WM deshalb betrieben? 
[/quote]

"Keinen" Erfolg? Er hat einen effektiven Algorithmus geschrieben um das Schach in Cluster zu packen. Gewonnen hat er mit dem Cluster zu Zeiten als die Engine auf gleicher Hardware schon 100 Elo vor allen anderen war. Ob der Cluster da nötig war - wer weiß. Tolle Werbung waren die Titel und die Clustergeschichte allemal. (Und VR hat ja auch nciht persönlich hunterte Kerne da hingestellt, das war ein begeisterter Fan und Betatester ... ich glaube kaum das sich VR daran gestört hat - hätte ich auch nicht)

[quote="Benno Hartwig"]
Ggf. weil er eine deutlich bessere Implementierung schuf (und das auf nebeneinanderstehenden Rechnern, AFAIK lediglich mit Netzkabel verkorkt? Mir fehlt da der Glaube!)
Oder weil Roberts Anayse doch nicht so verlässlich oder realitätsbezogen ist? (Behaupten will ich andererseits auch das nicht!)
[/quote]

Nun ja, noch ehe die Rybkaaffäre hoch kam hat er ja bei CCT Turnieren mitgespielt, wo er die Varianten kibitzen mußte. Die Werbeaussagen über seine Skalierung wurden da von Hyatt (und der kennt sich aus) und ein paar anderen aufgrund dieser Knoten und HV doch arg bezweifelt.
Ich weiß es nicht 100%, aber so wie ich den LC einschätze hat er die mit Infiniband vernetzt. Bei einem Cluster ist es weniger die Übertragungsrate, als viel mehr die Reaktionszeit (Latenz). Cluster Sjeng hat das allerdings sehr clever auf einem normalen Netz gelöst, vielleicht hat VR das ja auch ... noch so ein "Wer weiß!?".

Ich hatte mal den Cluster-Toga bei mir laufen (@40 Core, leider das Setup kaputtgespielt). Wenn man mal davon ausgeht das Kai Himstedt da nicht völligen Müll programmiert hat und VR nicht den Stein der Weisen gefunden hat (unwahrscheinlich, weil mit einer solchen Implementierung könnte er in der Informatik massig Geld verdienen und Renomee sammeln) sind die Gewinne bis 40 schon vorhanden - aber auch da wird bei 80 dann nicht einfach das doppelte rauskommen.

Gruß
Ingo
Parent - By Benno Hartwig Date 2012-07-19 21:22
[quote="Ingo Bauer"]Eine "Clusterimplementierung" ist schon ein bisschen anderes als das was wir die ganze Zeit diskutiert haben... [/quote]Thanx für deine Ausführungen.
Falls es aber auf einem Cluster mit seinen weit schlechteren Möglichkeiten gelingt, eine Implementierung zu schaffen, die auch gut von z.B. einer Verdopplung von 24 auf 48 Kerne profitiert, dann erwarte ich unbedingt, dass dies auf einem Rechner mit gleich viel Kernen und den hier vermutlich weit besseren Möglichkeiten auch gelingt, und zwar in mindestens ebenso gutem Maße.

Benno
Parent - - By Ingo Bauer Date 2012-07-18 10:22
[quote="Ingo Bauer"]
Sicher ist, das Schach in der Skalierbarkeit abflacht und nicht linear verläuft!
[/quote]

Das muß ich präzisieren: ... mit den heute bekannten Algorithmen.
Wer weiß was Morgen erfunden wird?!

Gruß
Ingo
Parent - By Benno Hartwig Date 2012-07-18 16:17
[quote="Ingo Bauer"]Das muß ich präzisieren: ... mit den heute bekannten Algorithmen.
Wer weiß was Morgen erfunden wird?![/quote]Wohl war.
In den 80ern, als ich anfing auf das Thema zu achten, kalkulierten manche Computerschachexperten klug, welche Rechentiefen und Spielstärken erreichbar sein werden, wenn die Maschinen denn um den Faktor z.B. 1000 schneller sein werden. Und der Fortschritt war gar nicht sooo umwerfend.
Welchen Fortschritt aber die Algorithmen machten, auch wenn es immer noch auf alpha-beta basiert, haben sich sehr viele der damals Schreibenden in jenen Tagen nicht ausmalen können.

"Mindestens n^2 Stellenmultiplikationen habe ich auszuführen, wenn ich zwei n-Stellige Zahlen multiplizieren will!"
hatte ich mal gedacht.
"Und ich brauche o(Wurzel(N)) Probedivisionen, wenn ich feststellen will, ob ein beliebiges N eine Primzahl ist."
meinte ich mal.
Und dann kam alles anders.

Benno
Parent - - By Stefan Pohl Date 2012-07-20 09:25
[quote="Benno Hartwig"]
[quote="Ingo Bauer"]"Könntest"? Ich dachte das wäre informationstechnische Realität. Schach skaliert nicht so gut. Je mehr Kerne desto schwieriger. Das ist offensichtlich. [/quote]Oh, solch ein Argument scheint mir dann doch bei weitem nicht überzeugend genug.
So selbstverständlich oder gar offensichtlich ist solch eine Aussage sicher nicht.
Trotzdem könnte sie natürlich korrekt sein. Ich weiß es nicht.
Da bedarf es aber eines deutlich besseren Argumentes, oder einer statistisch aussagekräftigen Erfahrung.

Benno
[/quote]

Hi Benno,

da hat Ingo durchaus Recht. Schach zu parallelisieren ist extrem schwierig, da der zugrunde liegende Alpha/Beta-Algorithmus rekursiv ist (d.h. er ruft sich selber immer wieder auf mit Ergebnissen, die er zuvor errechnet hat). Einen rekursiven Algorithmus zu parallelisieren ist extrem schwierig (widerspricht nämlich eigentlich total dem Prinzip einer Rekursion) und umso ineffizienter je stärker die Parallelisierung ist, d.h. je mehr Cores man nutzen will. Das ist eine informationstechnische Realität, wie Ingo sehr treffend schrieb. Ich geh da sogar noch eine Begriffsstufe höher und behaupte hier mal, daß das geradezu axiomatisch ist...

Gruß - Stefan
Parent - By Benno Hartwig Date 2012-07-21 10:47
[quote="Stefan Pohl"]da hat Ingo durchaus Recht. Schach zu parallelisieren ist extrem schwierig,...[/quote]Stimmt schon
[quote="Stefan Pohl"]...da der zugrunde liegende Alpha/Beta-Algorithmus rekursiv ist [/quote]Nein, an dieser Rekursivität an sich liegt es ganz sicher überhaupt nicht.
Im Gegenteil: Prinzipiell lassen sich gerade rekursive Algorithmen sehr gut parallelisieren (klassisches Beispiel: Türme von Hanoi).
Beim Spiel(also minimax)-Suchbaum ist es aber so, dass der Aufwand für eine Teilbaumanalyse so sehr stark abhängt von den Ergebnissen von anderen (ggf. eben am besten vorher ausgeführten) Teilbaumanalysen (eben vor allem für die klassischen beta-cuts).
Wie ich es verstehe, macht eine kluge Verwaltung dieser Informationen, eine kluge Auswahl der Reihenfolge der Teilanalysen, die Schwierigkeit bei der Schach-Parallelisierung aus.
(Aber richtig Fachmann bin ich hier sicher nicht)

Benno
Parent - - By Timo Haupt Date 2012-07-18 21:52
Hallo zusammen,

vielleicht darf ich noch einen Aspekt mit in die Runde einbringen, der bislang noch nicht zur Sprache gekommen ist: Zwar bietet time-to-depth einen guten Anhaltspunkt für den Speedup einer Engine, aber die Auswirkungen der Parallelisierung in Elo korreliert nicht immer 100%ig mit diesem Speedup. Nehmen wir an, ein Speedup x, der über time-to-depth ermittelt wurde, bringt bei Engine A ca. 50 Elo. Es könnte sein, dass derselbe Speedup x bei Engine B nur 40 Elo bringt und bei Engine C hingegen sogar 65 Elo.

Der Grund dafür ist in den Parallelisierungsalgorithmen zu finden. Denn eine MP-Engine, die auf 2 Cores einen Speedup von 1,8 erfährt, ist nicht nicht gleichzusetzen mit derselben Engine, die nur auf einem Core läuft, aber 1,8mal soviel Bedenkzeit bekommt. Die MP-Suche ist nicht-deterministisch, kommt also nach Zeit x nicht immer zum selben Ergebnis. Eine SP-Suche wird hingegen in Zeit x immer wieder reproduzierbare Ergebnisse liefern. Dies kann bei der MP-Suche positive und negative Effekte haben. Im negativen Fall dauert bei MP das Finden eines bestimmten Zuges z in Stellung s trotz eines Speedups von 1,8 fast so lange (im Extremfall, der allerdings wohl sehr selten ist, sogar länger) wie bei SP. Im positiven Fall kann es auch mal schneller als 1/1,8 gehen, aber was noch hinzu kommt, ist, dass manche Züge überhaupt nur von einer MP-Suche gefunden werden (dies leider auch nicht-deterministisch, d.h. die Suche findet den Zug z in Zeit x nicht immer), da der entsprechend vorteilhafte Teilbaum bei der SP-Suche unterhalb eines cut-Knotens lagen. Die MP-Suche sucht hingegen breiter (was meistens ein Nachteil ist, daher auch der abnehmende Grenznutzen der Parallelisierung) und findet dadurch auch mal einen guten Zug, der von einer SP-Suche vorher schon durch Pruning abgeschnitten worden wäre.

Fazit für mich: Die einzig faire Methode, um zu messen, wie gut eine Parallelisierung funktioniert, ist in Elo zu messen. Time-to-depth kann gute Anhaltspunkte liefern, wird aber letztendlich nicht genau genug Aufschluss darüber geben können, wieviel stärker eine Engine mit p Prozessoren wirklich spielt.

Viele Grüße
Timo
Parent - By Michael Scheidl Date 2012-07-18 23:41 Edited 2012-07-18 23:43
Im Hinblick auf den (oft kontroversiell diskutierten, aber m.E. Substanz habendenden) Begriff der Analysestärke würde ich mein Vertrauen in "time to solution" bewährter, schwieriger und zahlreicher Testpositionen setzen.

P.S. Was wurde aus "unserem" (es gibt ja mehrere) Mikhail Gurevitch? Ist irgend etwas bekannt?
Parent - - By Peter Martan Date 2012-07-19 06:20 Edited 2012-07-19 06:27
Hallo Timo!

[quote="Timo Haupt"]
Fazit für mich: Die einzig faire Methode, um zu messen, wie gut eine Parallelisierung funktioniert, ist in Elo zu messen. [/quote]

Genau das halte ich aber für die Schwachstelle schlechthin und nicht erst seit gestern, heute aber schon ganz und gar.
Die Elosion verblasst einfach mehr und mehr, diese völlig nebulosen Werte, die immer schon völlig beliebig waren dadurch, dass man bestimmte Vergleichsengines zur Eichung heranziehen musste und denen Daumen mal pi Werte zumessen, hängen jetzt einfach schon nur mehr davon ab, welches Teilnehmerfeld man nimmt, dagegen werden sogar Dinge wie Bücher nebensächlich, die es natürlich auch absolut nicht sind, wenn man wirkliche schachliche Kriterien anlegen wollte.
Wie sehr sie aber heute von der Wahl der Probanden abhängt, sagen Leute wie Larry Kaufman auch immer deutlicher:

http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=474573&t=44274
Man müsste zu jedem Celowert dazusagen, nicht nur welche (einheitliche ) hardware (gerade haben wir wieder festgestellt, wie sich das bei Einzelstellungen auswirkt, dass MP nicht deterministisch ist, ist bekannt, es deshalb einfach nicht in die Celoermittlung einzubeziehen, ist unzeitgemäß, die Ära der Cluster steht unmittelbar bevor), welche Bedenkzeiten, welcher hash, ponder on off, welche Eröffnungsstellungen, sondern immer auch welches Teilnehmerfeld.
Mit solchen Werten könnte man dann vielleicht darangehen, weiterzurechnen und die Parallelisierung von SMP- engines untereinander zu vergleichen.
Wieder hat man aber vor Allem diesen selection bias auszuschalten oder zum Prinzip zu machen:
Testet man eine engine in mehreren MP- Konfigurationen mit mehr und weniger Kernen, hat man andere Ergebnisse, als gegen eine Vergleichsgruppe von verschieden gut parallelisierten anderen engines.
Viel Spass mit der Celolitis in solchen Fragen weiterhin.
Michael Scheidl traut sich im Antwortposting endlich mal wieder den guten alten Stellungstest als Alternative zu erwähnen.
Der hätte den Riesenvorteil, dass man all die oben genannten Selektionskriterien überhaupt anlegen könnte (hardware, hash...) und sich dafür halt auf bestimmte Stellungen beschränken müsste. (Muss man eh für eng-eng auch )
Ich glaube überhaupt nicht, dass man ein Riesenkollektiv an Stellungen haben müsste, wenn man sich, was ohnehin auch nicht wegzuleugnen ist, darüber klar ist, dass jede Wertungszahl stellungsabhängig ist.
Die SMP- Fähigkeiten von engines anhand einzelner Stellungen zu vergleichen, bei denen es völlig belanglos ist, was es für welche sind, wenn man sich über "Lösungs"züge, Abspielvarianten und deren schachlich überprüfbare zu erwartenden Bewertungskurven über den Verlauf der Varianten klar ist, (der Kurvenverlauf wäre dabei von den ausgegeben Absolutwerten der evals zu unterscheiden, die können dann ruhig viel mehr auseinanderklaffen, wenn die Verlaufskurven und nur die verglichen werden) und sich den Teufel drum zu scheren zunächst, dass das jeweils nur für die eine Stellung gilt, das ist reproduzierbar, mindestens so sehr, wie Teststellungen für eng-eng willkürlich auszuwählen, die natürlich nicht bekannt geben zu dürfen und damit auch die Partien nicht, sich willkürlich auf ein Teilnehmerfeld festzulegen, eine bestimmte hardware, ponder on or off (beides macht natürlich Sinn und beantwortet andere Fragen) und single core.
Ja deterministischer, dafür halt ohne Aussage über MP
Außerdem warum überall sonst König Zufall Regie führen lassen, nur das bisschen Indeterminism von MP, das darf nicht sein  )

P.S. Ich will gar nicht wieder die heilige Kuh Rangliste antasten, irgendwoher muss die Elosion weiter ihre Nahrung beziehen, dass habe ich mittlerweile schon auch internalisiert, ich rede nur von den Möglichkeiten, die Frage nach der SMP- Implementierung von einzelnen engines gegeneinander zu vergleichen, ich glaube nicht, dass man da an Einzelstellungsvergleichen vorbei kommt, dass damit nur Aussagen über einzelne Stellungen herauskommen, schert mich einen D...eut, ich leide nicht unter Celolitis.
Parent - - By Michael Scheidl Date 2012-07-19 18:00
Zitat:
ich rede nur von den Möglichkeiten, die Frage nach der SMP- Implementierung von einzelnen engines gegeneinander zu vergleichen

Das hatte ich mit meiner obigen Anmerkung ebenfalls (nur) im Sinn, nicht die Spielstärke - so heldenhaft bin ich auch wieder nicht. Aber um einen "tatsächlichen" MP-Nutzen zu dokumentieren, fände ich Lösungzahlen von großen, guten Stellungstests sehr anschaulich sozusagen. Die Tests von Walter Eigenmann zum Beispiel kommen hierfür sehr in Betracht.

Time to depth ist demgegenüber "technischer", aber dafür schneller zu ermitteln. Dazu reicht eine Handvoll möglichst unterschiedlicher Positionen. M.E. der zweitbeste Benchmark, denn: Eine identische Beschleunigung zweier Engines heißt nicht automatisch, daß sie auch gleich viele zusätzliche starke Züge finden. Das ist nur eine, allerdings sehr "plausible" wie ich gerne sage, Annahme. Ein Stellungstestvergleich hingegen liefert die jeweilige Anzahl solcher Züge direkt.

Im übrigen könnte man manchmal denken, Computerschach ist ein Gebiet wo die (vermeintlich) gesicherten Erkenntnisse im Lauf der Zeit immer weniger werden, statt umgekehrt... Doch das erzeugt eine eigene Art von fortwährendem Interesse.
Parent - - By Peter Martan Date 2012-07-19 19:04
[quote="Michael Scheidl"]
Zitat:
ich rede nur von den Möglichkeiten, die Frage nach der SMP- Implementierung von einzelnen engines gegeneinander zu vergleichen

Das hatte ich mit meiner obigen Anmerkung ebenfalls (nur) im Sinn, nicht die Spielstärke - so heldenhaft bin ich auch wieder nicht. Aber um einen "tatsächlichen" MP-Nutzen zu dokumentieren, fände ich Lösungzahlen von großen, guten Stellungstests sehr anschaulich sozusagen. Die Tests von Walter Eigenmann zum Beispiel kommen hierfür sehr in Betracht.


Du sagst es, lassen wir mal die hehren Aufgaben, the one and only Elo counting, beiseite. Die taktischen best move Aufgaben sind sicher am besten geeignet, die Effektivität der Suche verschiedener hard- und software anhand von Lösungszeiten zu vergleichen. Walters Brillanten sind sehr sorgfältig ausgewählt, an Schweregrad kaum zu überbieten.
Will man außer den taktischen Fähigkeiten auch die positionellen testen, ist ein sample wie das von Swaminathan und Corbit ein gutes Beispiel, finde ich, da kommt's halt wieder praktisch nicht auf die hardware an, scheint mir. Beides zu kombinieren wäre wieder ein unnötiges Möchtegernelotesten, ansonsten auch mal eine Überlegung wert, ich meine nur für Zeiten, in denen sich dann die ersten 200 engines, weil die Oldies auch endlich alle aufgeholt werden haben, jenseits der 3200 auf 20 Elopunkten zusammendrängen.



[quote="Michael Scheidl"]
Time to depth ist demgegenüber "technischer", aber dafür schneller zu ermitteln. Dazu reicht eine Handvoll möglichst unterschiedlicher Positionen. M.E. der zweitbeste Benchmark, denn: Eine identische Beschleunigung zweier Engines heißt nicht automatisch, daß sie auch gleich viele zusätzliche starke Züge finden. Das ist nur eine, allerdings sehr "plausible" wie ich gerne sage, Annahme. Ein Stellungstestvergleich hingegen liefert die jeweilige Anzahl solcher Züge direkt.


Genau.

[quote="Michael Scheidl"]
Im übrigen könnte man manchmal denken, Computerschach ist ein Gebiet wo die (vermeintlich) gesicherten Erkenntnisse im Lauf der Zeit immer weniger werden, statt umgekehrt... Doch das erzeugt eine eigene Art von fortwährendem Interesse.


Naja, gesichert wird deshalb immer schwerer, weil die Sicherheit immer nur für die Menschen interessant ist.
So lange sie durch einfaches Mattsetzen und Mattgesetztwerden den Blechis ihre eigenen Elo spenden konnten, hatte man  einfach Freude an 2000 einer engine zugestandenen solchen, über die die guten Vereinsspieler lästern konnten, das seien niemals echte Menschenelo.

Jetzt werden die Stellungen, die die engines auf durchschnittlicher hardware nicht sofort durchschauen immer weniger, die Remishäufigkeit der einander immer ähnlicher werdenden engines steigt, die Bücher werden auch immer mehr unter engine- Einfluss geschrieben, ausprobiert und editiert, woher sollen noch Erkenntnisse kommen, von denen Menschen und insbesonders auch solche, die keine Sonderbegabung im Schach haben und nicht Zeit ihres Lebens professionell daran gearbeitet haben, meinen, sie seien gesichert?

Gesichert für mich wird mehr und mehr das: kein Mensch und keine engine kann anders als anhand einzelner Stellungen Spielstärke unter Beweis stellen, der Mensch lernt sein Eröffnungsrepertoire, die engine bekommt ihr Buch oder ihre Startstellungen vorgesetzt, was heraus kommt, ist quantitativ auswertbar auf die verschiedensten Arten, je nachdem wie viele Stellungen und wie gut ausgesucht sie sind, kann man dann vielleicht auch von mehr oder weniger repräsentativem Querschnitt reden, das Prinzip bleibt, das was berechnet werden muss, hängt davon ab, was bereits gewusst wird.
Parent - By Michael Scheidl Date 2012-07-19 20:18
Zitat:
(...) das was berechnet werden muss, hängt davon ab, was bereits gewusst wird.

Bzw. davon, was alles richtig bewertet und nicht erst durch (sehr) tiefe Berechnung erkannt werden muß.

Im CCC hatte ich unlängst einen interessanten Dialog mit Don Dailey, weil ich kritisierte daß der bekannte Similaritytest praktisch nur die Bewertungen vergleicht. Es ist ja so, daß die hierbei angewandte Methode die Spielstärke quasi zu neutralisieren versucht, indem je nach Engine unterschiedliche Bedenkzeiten eingeräumt werden. Siehe hierzu http://top-5000.nl/clone.htm

Meines Erachtens ist das ein logischer Fehler und ich lehne diese Vorgangsweise ab.

Obiger Gedankenaustausch mit dem Komodo-Programmierer endete hingegen damit, daß er mir folgende Zusammenfassung seiner Darstellung bestätigte:  Die Bewertung ist der Fingerabdruck.

http://talkchess.com/forum/viewtopic.php?p=464607&highlight=#464607

Doch ich bin nicht überzeugt. Möglicherweise sehen das verschiedene Programmierer unterschiedlich. Man liest soviel über zahlreiche Suchtechniken und -Tricks, daß ich nicht glauben kann daß das kein relevanter Unterscheidungsfaktor wäre. Ich verstehe natürlich nichts davon...
Parent - - By Ingo Bauer Date 2012-07-19 08:21
Hallo Timo,

Das scheint mir nur logisch. Genau so wie jede SP-Engine bei verdoppelter CPU Geschwindigkeit unterschiedliche Spielstärkegewinne (in Elo) gewinnen wird, wierden auch bei gleichem Speedup (sofern der vorkäme) unterschiedliche MP-Engines verschiedene Elogewinne verbuchen.

Das Problem ist, dass das Ganze nur sehr schwer (wenn überhaut) nachweisbar ist. Alleine einen Speedup für eine Engine zu messen, mit vielen Stellungen die viele Male gemessen werden müssen, scheint mir mit vernünftigem Aufwand unlösbar.

Interessant wäre noch folgendes:
1. Ermitteln des Elogewinnes einer SP-Engine bei einem Speedup von 2 (2GHz auf 4GHz)
2. Ermitteln des Speedups der selben Engine als MP (z.B von 1 auf 2 Kerne)
3. Ermitteln des Elogeinnes dieser Engine als MP (z.B. von 1 auf 2 Kerne)

Die Frage ist nun: In wie weit weicht der Elogewinn aus 3 von dem theoretisch errechneten aus den Infos in 1 und 2 ab? Ich würde, wie du oben auch schriebst, nicht erwarten das die Werte (a. Theorie aus (1+2) gegen b.3) identisch sind, aber es würde mich interessieren ob er sehr weit abweicht. Ich schätze mal das unsere Abweichung nicht soo groß ist.

Und nach all dem Aufwand, den man als Tester kaum stemmen kann, wüßten wir es für EINE Engine. Die nächste kann sich ganz anders Verhalten

Gruß
Ingo
Parent - - By Karl Heinz Krasser Date 2012-07-19 11:44
Und noch was wird bei der ganzen Speed/Core-verdopplungsdiskussion gerne vergessen: die Einschränkungen durch das Schachspiel an sich! Remisstellungen können auch von x-fach stärken Maschinen nicht mehr gewonnen werden und daher muss die Elodifferenz bei steigender Spielstärke auch noch sinken. Denn sobald der schwächere Part den Weg zum Remis findet, den die Stellung vorgibt, hat der stärkere Part keine Möglichkeit mehr zu gewinnen und kann seine Stärke nicht ausnutzen!
Parent - - By Benno Hartwig Date 2012-07-19 13:03
[quote="Karl Heinz Krasser"] Remisstellungen können auch von x-fach stärken Maschinen nicht mehr gewonnen werden[/quote]Bei dieser Gelegenheit würden mich schon interessieren, ob nicht bisweilen (oder oft?) Stellungen auftauchen, die nur bei sehr gutem Spiel Remis gehalten werden können (also durchaus Remisstellungen), die aber auch leicht mal versiebt werden, wenn man nicht wirklich gut ist.

[quote="Karl Heinz Krasser"] ... und daher muss die Elodifferenz bei steigender Spielstärke auch noch sinken.[/quote]Ist denn geklärt, dass die Ausgangsstellung eine Remisstellung ist?
OK, der Anteil der Remisen steigt erfahrungsgemäß bei größeren Zeiten. Aber muss das deshalb so weitergehen? Solch ein Schluss erscheint mir mutig.

Benno
Parent - - By Karl Heinz Krasser Date 2012-07-19 13:53
[quote="Benno Hartwig"]Ist denn geklärt, dass die Ausgangsstellung eine Remisstellung ist? :-[/quote]

JA es ist geklärt - nur wir wissen es eben nicht! - Für jede Stellung gilt: sie kann gewonnen, verloren oder remis sein - etwas anderes lassen die Regeln nicht zu!

Praktische Erfahrungen zeigen uns aber, dass ein Trend zum Remis bestehen könnte (siehe u.a. letzter WM-Kampf, usw) und daher ist es logisch, dass mit zunehmender Spielstärke die Remisbreite zunimmt bzw. wir in eine Beschränkung laufen.
Möglicherweise ist die Ausgangsstellung aber gewonnen oder verloren - aber bis zu diesem Nachweis dauert es wohl noch ein wenig

[quote="Benno Hartwig"](... Remisstellungen), die aber auch leicht mal versiebt werden[/quote]

Genau das nicht mehr versieben ist die untere Schwelle - ab diesem Zeitpunkt bringt Mehrleistung keinen Zugewinn mehr.
Um einen Kasten Bier auf den Tisch zu heben reichen meine Kräfte noch locker - natürlich schafft dies ein 40t Kran auch mit Leichtigkeit   
Up Topic Hauptforen / CSS-Forum / Wieviel bringt der Einsatz mehrerer Cores?
1 2 Previous Next  

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill