Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Die ganze Welt der Schachcomputer / World of chess computers


Antwort
 
Themen-Optionen Ansicht

  #1  
Alt 01.07.2015, 09:50
Benutzerbild von Solwac
Solwac Solwac ist offline
Revelation
 
Registriert seit: 18.07.2010
Land:
Beiträge: 782
Abgegebene Danke: 189
Erhielt 338 Danke für 216 Beiträge
Aktivitäten Langlebigkeit
0/20 14/20
Heute Beiträge
0/3 ssssss782
AW: Warum Fidelity scheiterte!

 Zitat von Theo Beitrag anzeigen
Diese Behauptung halte ich für sehr gewagt. Schon allein, weil die Mitte der Zugfolge an einem früheren Zeitpunkt das Ende der Zugfolge war.
Hast Du Dir schon mal den Quellcode (oder auch Pseudocode) angeschaut? Dann siehst Du, dass die Grundidee unabhängig von der Zugfolge ist und nur den aktuellen Zug der Variante betrachtet.

 Zitat von Theo Beitrag anzeigen
Genau. Und das Erkennen von taktischen Wendungen auf dem Niveau der Klassenkameraden ist so ein Verhalten.
Könntest Du das mal bespielsweise formulieren? Ich sehe da nämlich keine Chance für eine Spezifikation.
Erst im nächsten Schritt der Entwicklung, der Konstruktion, könnte so etwas kommen.

 Zitat von Theo Beitrag anzeigen
Hast Du dafür eine Quelle oder ist es Deine Hypothese? Meinst Du die Singular Extensions kosten auf dem Großrechner +10% Rechenzeit und auf einem Mikro +50%, so ungefähr ?!
Dafür gibt es genug Quellen, hier noch einmal ein Link: https://chessprogramming.wikispaces....lar+Extensions
Ich habe das erste Mal über den Einsatz bei Deep Thought im Artikel im Scientific American/Spektrum der Wissenschaft (keine Ahnung ob deutsch oder englisch) gelesen. Da war von der deutlichen Steigerung bei Stellungstests und beim Selbstspiel die Rede. Erst später habe ich dann mitbekommen (das könnte nach dem 1997er Match gegen Kasparow gewesen sein), dass der Effekt doch nicht so groß wie zuerst gedacht war. Erfahrungen mit Singular Extensions haben noch die Teams von Hitech und Cray Blitz gemacht und veröffentlicht, von den Schachprogrammen von Mikros gibt es hingegen kaum Infos über die ursprüngliche Version (die Profis waren da immer schon verschlossen) und ab Mitte der 90er haben dann etliche mit Varianten experimentiert.

Zum Aufwand: Von Deep Thought kenne ich keine exakten Zahlen, aufgrund der Mischstruktur (die ersten paar Halbzüge wurden in Software auf einer Workstation berechnet, die letzten 4-6 Halbzüge in Hardware auf den Spezialchips) wäre es aber auch nicht so einfach übertragbar. Deep Thoughts Suchgeschwindigkeit wurde immer relativ merkwürdig beschrieben, die Spezialchips könnten durch die Wiederholungssuche also eventuell besser ausgenutzt werden und damit den Mehraufwand reduzieren.
Von Hitech kenne ich (ich glaube u.a. von Berliner "Oral History" http://archive.computerhistory.org/p....103630824.pdf) die Aussage, dass es einen Halbzug in der Suchtiefe kostet, ähnlich ist die Aussage von Bob Hyatt für Cray Blitz (bis zum Faktor 10).
Ed Schröder und Jonathan Schaeffer meinten 1996, dass sie aufgrund des enormen Mehraufwands andere Versionen testen würden.
Was bedeutet das? Für Hitech und Cray Blitz sind ein Halbzug tiefer etwa ein Faktor 6 in der Rechenzeit. Die Erfahrungen waren, dass ca. 9 Halbzüge tief brute force (also jede Variante wird mindestens 9 Halbzüge tief berechnet, einzelne Züge dann aber tiefer) ungefähr vergleichbar sind mit 8 Halbzügen brute force und zusätzlichen Vertiefungen durch die singular extensions. Letztere finden zwar einige spektakuläre Kombinationen, über das ganze Spiel niweg würde es sich aber ungefähr ausgleichen. Dies passt auch zu den Erfahrungen von Hsu, wie er sie z.B. in seinem Buch über Deep Blue (Hsu, F.: Behind Deep Blue: Building the Computer that Defeated the World Chess Champion. (Paperback)) beschrieben hat.
Mikrocomputer kamen damals eher auf 6 Halbzüge brute force, hätten also mit singular extensions nur noch etwa 5 Halbzüge tief suchen können. Der Verlust an Qualität ist dabei aber größer als beim Rückgang von 9 auf 8, vor allem wenn die Konkurrenz ungefähr die gleiche Rechenleistung zur Verfügung hat (Deep Thought sowieso, aber auch Hitech und Cray Blitz gehörten immer zu den jeweils rechenstärksten Teilnehmern).
Außerdem sind die Programme auf Mikrorechnern schon früh vom reinen brute force abgegangen. Dadurch erhöhten sich die Suchtiefen und der Verzweigungsfaktor sank (zu Lasten eines Risikos etwas zu übersehen stieg so auch die Spielstärke). Allerdings bedeutet ein um den Faktor 6 erhöhter Aufwand jetzt nicht mehr nur die Verringerung der Suchtiefe um 1 sondern ist größer. Auch sind die selektiven Techniken der letzten 25 Jahre teilweise ähnlich im Effekt auf den Suchbaum, d.h. die zusätzliche Verwendung von singular extensions bringen weniger Erfolg und werden damit unattraktiver.
Mit Zitat antworten
  #2  
Alt 01.07.2015, 13:56
Benutzerbild von spacious_mind
spacious_mind spacious_mind ist offline
Schachcomputer Koryphäe
 
Registriert seit: 29.06.2006
Ort: Alabama, USA
Land:
Beiträge: 1.967
Abgegebene Danke: 65
Erhielt 418 Danke für 232 Beiträge
Aktivitäten Langlebigkeit
10/20 18/20
Heute Beiträge
3/3 sssss1967
Re: AW: Warum Fidelity scheiterte!

 Zitat von Solwac Beitrag anzeigen
Hast Du Dir schon mal den Quellcode (oder auch Pseudocode) angeschaut? Dann siehst Du, dass die Grundidee unabhängig von der Zugfolge ist und nur den aktuellen Zug der Variante betrachtet.

Könntest Du das mal bespielsweise formulieren? Ich sehe da nämlich keine Chance für eine Spezifikation.
Erst im nächsten Schritt der Entwicklung, der Konstruktion, könnte so etwas kommen.

Dafür gibt es genug Quellen, hier noch einmal ein Link: https://chessprogramming.wikispaces....lar+Extensions
Ich habe das erste Mal über den Einsatz bei Deep Thought im Artikel im Scientific American/Spektrum der Wissenschaft (keine Ahnung ob deutsch oder englisch) gelesen. Da war von der deutlichen Steigerung bei Stellungstests und beim Selbstspiel die Rede. Erst später habe ich dann mitbekommen (das könnte nach dem 1997er Match gegen Kasparow gewesen sein), dass der Effekt doch nicht so groß wie zuerst gedacht war. Erfahrungen mit Singular Extensions haben noch die Teams von Hitech und Cray Blitz gemacht und veröffentlicht, von den Schachprogrammen von Mikros gibt es hingegen kaum Infos über die ursprüngliche Version (die Profis waren da immer schon verschlossen) und ab Mitte der 90er haben dann etliche mit Varianten experimentiert.

Zum Aufwand: Von Deep Thought kenne ich keine exakten Zahlen, aufgrund der Mischstruktur (die ersten paar Halbzüge wurden in Software auf einer Workstation berechnet, die letzten 4-6 Halbzüge in Hardware auf den Spezialchips) wäre es aber auch nicht so einfach übertragbar. Deep Thoughts Suchgeschwindigkeit wurde immer relativ merkwürdig beschrieben, die Spezialchips könnten durch die Wiederholungssuche also eventuell besser ausgenutzt werden und damit den Mehraufwand reduzieren.
Von Hitech kenne ich (ich glaube u.a. von Berliner "Oral History" http://archive.computerhistory.org/p....103630824.pdf) die Aussage, dass es einen Halbzug in der Suchtiefe kostet, ähnlich ist die Aussage von Bob Hyatt für Cray Blitz (bis zum Faktor 10).
Ed Schröder und Jonathan Schaeffer meinten 1996, dass sie aufgrund des enormen Mehraufwands andere Versionen testen würden.
Was bedeutet das? Für Hitech und Cray Blitz sind ein Halbzug tiefer etwa ein Faktor 6 in der Rechenzeit. Die Erfahrungen waren, dass ca. 9 Halbzüge tief brute force (also jede Variante wird mindestens 9 Halbzüge tief berechnet, einzelne Züge dann aber tiefer) ungefähr vergleichbar sind mit 8 Halbzügen brute force und zusätzlichen Vertiefungen durch die singular extensions. Letztere finden zwar einige spektakuläre Kombinationen, über das ganze Spiel niweg würde es sich aber ungefähr ausgleichen. Dies passt auch zu den Erfahrungen von Hsu, wie er sie z.B. in seinem Buch über Deep Blue (Hsu, F.: Behind Deep Blue: Building the Computer that Defeated the World Chess Champion. (Paperback)) beschrieben hat.
Mikrocomputer kamen damals eher auf 6 Halbzüge brute force, hätten also mit singular extensions nur noch etwa 5 Halbzüge tief suchen können. Der Verlust an Qualität ist dabei aber größer als beim Rückgang von 9 auf 8, vor allem wenn die Konkurrenz ungefähr die gleiche Rechenleistung zur Verfügung hat (Deep Thought sowieso, aber auch Hitech und Cray Blitz gehörten immer zu den jeweils rechenstärksten Teilnehmern).
Außerdem sind die Programme auf Mikrorechnern schon früh vom reinen brute force abgegangen. Dadurch erhöhten sich die Suchtiefen und der Verzweigungsfaktor sank (zu Lasten eines Risikos etwas zu übersehen stieg so auch die Spielstärke). Allerdings bedeutet ein um den Faktor 6 erhöhter Aufwand jetzt nicht mehr nur die Verringerung der Suchtiefe um 1 sondern ist größer. Auch sind die selektiven Techniken der letzten 25 Jahre teilweise ähnlich im Effekt auf den Suchbaum, d.h. die zusätzliche Verwendung von singular extensions bringen weniger Erfolg und werden damit unattraktiver.
Um etwas zu verstehen da muss ich das problem erst zerbrechen in kleine Stufen um ueberhaupt es zu verstehen. Hier versuche ich es mal zu verstehen.

Angenommen es Spielt ein 6502 1 MHz. Er schafft ca wie folgt:

3 Ply = @ 1 Minute
4 Ply = @ 3 Minutes

In ein spiel von 3 minute pro zug wuerde er dann mit Brute Force vielleicht 4 Ply schaffen.

1) Mit selektiv wo er nur den besten Zug weiter rechnet, damit koennte er vielliecht + 3 Ply gewinnen bei 3 Minuten pro Zug = 6 Ply

Problem = nur 1 Zug wird laenger gerechnet = sehr viele fehl entscheidungen.

2) Aber theoretisch geht auch mit diesen 6502 1 Mhz die besten 2 Zuege ab 3 Ply weiter zu rechnen bis auf 6 Ply. = 3 Minuten fuer 2 hochgerechnete Zuege.

Problem = nur 2 Zuege werden laenger gerechnet = wieder sehr viele fehl entscheidungen.

Das koennte vielleicht nur einigermassen ok klappen wenn man die besten 5 oder 6 zuege weiter rechnet aber dafuer waere als besipiel ein 6502 1 MHz sehr viel zu langsam.

Die Frage ist ab welcher geschwindigkeit waere es ein Akzeptabler weg?

Oder ist die Theorie anders wo ZB:

- alle zuege auf ZB 3 Ply gerechnet sind
- 9 Besten + 2 Ply weiter gerechnet sind
- 5 besten + weitere 2 Ply
- 2 besten + weitere 2 ply

= ca 9 Ply fuer die 2 besten zuege.

Gruss

Nick

Gruss
Mit Zitat antworten
  #3  
Alt 01.07.2015, 21:08
Benutzerbild von Theo
Theo Theo ist offline
Revelation
 
Registriert seit: 15.08.2004
Ort: Helmstedt
Land:
Beiträge: 673
Bilder: 23
Abgegebene Danke: 1.024
Erhielt 243 Danke für 146 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 ssssss673
AW: Warum Fidelity scheiterte!

 Zitat von Solwac Beitrag anzeigen
Hast Du Dir schon mal den Quellcode (oder auch Pseudocode) angeschaut? Dann siehst Du, dass die Grundidee unabhängig von der Zugfolge ist und nur den aktuellen Zug der Variante betrachtet.
Hast Du schon mal was vorzeigbares damit programmiert? Tue es und Du siehst die Sache vielleicht weniger einseitig.

 Zitat von Solwac Beitrag anzeigen
Könntest Du das mal bespielsweise formulieren? Ich sehe da nämlich keine Chance für eine Spezifikation.
Erst im nächsten Schritt der Entwicklung, der Konstruktion, könnte so etwas kommen.
Ähhhm. Ich helfe gern weiter: Teststellung --> Ergebnisse Konkurrenz --> Wieso können die das? --> Analyse Teil(Suchbäume) ---> Spezifikationen. Was denn sonst?!
__________________
Meine Schachfotos
Schachcomputer
Mit Zitat antworten
  #4  
Alt 30.06.2015, 08:39
Benutzerbild von Solwac
Solwac Solwac ist offline
Revelation
 
Registriert seit: 18.07.2010
Land:
Beiträge: 782
Abgegebene Danke: 189
Erhielt 338 Danke für 216 Beiträge
Aktivitäten Langlebigkeit
0/20 14/20
Heute Beiträge
0/3 ssssss782
AW: Warum Fidelity scheiterte!

 Zitat von Theo Beitrag anzeigen
Doch, genau so rechnen die meisten Programme und gerade die der Spracklens. Was da bewertet wird sind nichts anderes als Zugfolgen und ob und wann eine Zugfolge vertieft oder abgebrochen wird ist eine der zentralen Fragen.
Irgendwie scheinen wir ein unterschiedliches Bild von den Begrifflichkeiten zu haben.

Folgendes gilt für 95% der Schachprogramme:
Es wird bis zu einer bestimmten Suchtiefe gesucht, die von einer Iteration zur nächsten erhöht wird. Es wird also zuerst ein Halbzug tief gesucht, dann zwei , dann drei usw.
Es hängt hier also nicht vom Zug ab, ob vertieft wird oder nicht, es ist vorgegeben. In der Praxis wird die Suche meist rekursiv programmiert, d.h. bei einer vorgegebenen Suchtiefe von vier wird die Suche aufgerufen, ein Zug virtuell ausgeführt und die Suche in dieser virtuellen Position mit einer Restsuchtiefe von drei aufgerufen usw.

Jetzt wurde festgestellt, dass bei einer vertieften Suche von manchen Zügen die Spielstärke steigt. Dazu wird z.B. im Programm festgelegt, dass Züge aus einem Schachgebot heraus nicht für die Suchtiefe zählen sollen (so etwas wird dann check extension genannt, da die Suche hier erweitert wird). Wo also eine normale Suche in Iteration vier so aussieht: Zug1, Zug2, Zug3, Zug4, Bewertung (meist noch inklusive einer Ruhesuche), so sieht es bei einem Schachgebot in der Variante so aus: Zug1, Zug2+ (das Plus soll signalisieren, dass dieser Zug ein Schachgebot ist), Zug 2a, Zug 3, Zug4, Bewertung.
Diese Art von Vertiefung wurde auch für Schlagzüge und Bauernzüge auf die siebte (zweite) Reihe ausprobiert. Allerdings erhöht jede dieser Vertiefungen die benötigte Rechenzeit, es können also weniger Iterationen bei einer gegebenen Zeitkontrolle geschafft werden.

Es wird also nicht am Ende der Zugfolge entschieden ob weiter vertieft wird oder nicht, die Vertiefungen erfolgen jeweils mitten in der Zugfolge.

 Zitat von Theo Beitrag anzeigen
https://de.wikipedia.org/wiki/Programmfehler

".. wenn der Programmierer eine bestimmte Festlegung der Spezifikation nicht oder falsch umgesetzt hat"

Ich würde doch stark davon ausgehen, dass die Erkennung von taktischen Wendungen zu den Spezifikationen eines Schachprogramms gehört. Insofern gehören für mich taktische Patzer eines Schachprogramms zur Kategorie "Programmfehler".

Ausgenommen sind taktische Wendungen, die von vergleichbaren Schachcomputern auch nicht einfach entdeckt werden, denn in dem Fall kann man davon ausgehen, dass der Programmierer die technischen Möglichkeiten ausgereizt hat.
So funktioniert das nicht. Denn damit wird einem schwächeren Programm unterstellt, es enthielte Programmfehler.

Die Spezifikation eines Schachprogramms kann nur das Verhalten beschreiben und nicht jeden einzelnen internen Vorgang. In den meisten Fällen geht es aber auch nicht um Bugs (die sich dann aber gerne bei wichtigen Partien zeigen), sondern um ein technisch zwar richtiges Verhalten (also so programmiert wie gewollt), diese sich aber im Wettbewerb als schwächer als die Konkurrenz erweist.
Mit Zitat antworten
  #5  
Alt 30.06.2015, 20:30
Benutzerbild von Theo
Theo Theo ist offline
Revelation
 
Registriert seit: 15.08.2004
Ort: Helmstedt
Land:
Beiträge: 673
Bilder: 23
Abgegebene Danke: 1.024
Erhielt 243 Danke für 146 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
0/20 20/20
Heute Beiträge
0/3 ssssss673
AW: Warum Fidelity scheiterte!

 Zitat von Solwac Beitrag anzeigen
Es wird also nicht am Ende der Zugfolge entschieden ob weiter vertieft wird oder nicht, die Vertiefungen erfolgen jeweils mitten in der Zugfolge.
Diese Behauptung halte ich für sehr gewagt. Schon allein, weil die Mitte der Zugfolge an einem früheren Zeitpunkt das Ende der Zugfolge war.


 Zitat von Solwac Beitrag anzeigen
So funktioniert das nicht. Denn damit wird einem schwächeren Programm unterstellt, es enthielte Programmfehler.
Hmm, ich denke aus meinen Ausführungen lässt sich ganz sicher nicht sowas ableiten wie "Der Mephisto III hat Programmfehler, weil er schwächer spielt, als der Tasc R30".


 Zitat von Solwac Beitrag anzeigen
Die Spezifikation eines Schachprogramms kann nur das Verhalten beschreiben und nicht jeden einzelnen internen Vorgang.
Genau. Und das Erkennen von taktischen Wendungen auf dem Niveau der Klassenkameraden ist so ein Verhalten.
__________________
Meine Schachfotos
Schachcomputer
Mit Zitat antworten
Antwort


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Frage: Mephisto Rebell 5,0: LED neben dem Uhrensymbol blinkt immer - warum? pbandilla Die ganze Welt der Schachcomputer / World of chess computers 3 07.08.2013 06:50
Partie: Warum lieben wir die V11 so? Endspielgott Die ganze Welt der Schachcomputer / World of chess computers 27 16.08.2010 08:59
Tuning: Saitek Corona mit 8 MHz WDC Prozessor (warum Leistung verschenken) Mach2000 Die ganze Welt der Schachcomputer / World of chess computers 7 03.09.2009 21:52
Frage: Einziges Forum mit Java! Warum? mb1 Fragen / Questions - Forum + Wiki 16 28.07.2009 23:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:58 Uhr.



Powered by vBulletin (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
©Schachcomputer.info