|
||||||||||||
AW: Warum Fidelity scheiterte!
Das könnte ich mir auch gut vorstellen!
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 ?! |
|
||||||||||||
AW: Warum Fidelity scheiterte!
Zur Abwechslung und Ehrenrettung des Mach IV mal eine Partie gegen den nicht soo schwachen Revelation Polgar.
Polgar war nach 5 Zügen von Mach aus dem Buch und spielte 5...Se4, was in einem Stonewall hätte münden können. Allerdings zog es der Polgar stattdessen vor, die Stellung trotz schlechterer Entwicklung ordentlich aufzureissen, angefangen mit 8...c5?! Dann Schrecksekunde für den Mach: nach 13... b5 sahen beide den Polgar vorne, es sah nach Figurenverlust aus. Beide Geräte übersahen 17.Se5 und die Gefahr des Erstickten Matts. Polgar wollte allen Ernstes erst mit 17...Sd2 kontern, bis er dann nach langem Nachdenken und im 6. (!!) Halbzug plötzlich das Matt sah. Und wie es das Zeitmanagement des Polgar wollte, nahm er den nächstbesten Zug, 17...Le6, ohne alle anderen Züge der 6. Iteration durchzurechnen. 17...Le6 verschenkt eine Figur und verliert sofort. Jedenfalls, da haben wir eine Partie mit check extensions und einem möglichen Programmfehler im Zeitmanagement des Polgar ![]() [Date "2015.06.30"] [White "Fidelity Designer 2325"] [Black "Revelation Polgar"] [Comment "30min/game, 5/4 Buchzüge"] [Result "1-0"] 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.e3 O-O 5.Nf3 Ne4 6.Qc2 d5 7.Bd3 f5 8.O-O c5 9.cxd5 Bxc3 10.bxc3 exd5 11.Ba3 Qa5 12.Qb3 Rd8 13.c4 b5 14.cxb5 c4 15.Bxc4 dxc4 16.Qxc4+ Kh8 17.Ne5 Be6 18.Qxe6 g6 19.Be7 Nd7 20.Nxd7 Qxb5 21.Nc5 Qb6 22.Qe5+ Kg8 23.Ne6 Kf7 24.Nxd8+ |
|
||||||||||||
AW: Warum Fidelity scheiterte!
Erst im nächsten Schritt der Entwicklung, der Konstruktion, könnte so etwas kommen. 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. |
|
||||||||||||
Re: AW: Warum Fidelity scheiterte!
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. 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 |
|
||||||||||||
AW: Warum Fidelity scheiterte!
Ähhhm. Ich helfe gern weiter: Teststellung --> Ergebnisse Konkurrenz --> Wieso können die das? --> Analyse Teil(Suchbäume) ---> Spezifikationen. Was denn sonst?! |
|
||||||||||||
AW: Warum Fidelity scheiterte!
Na den Quellcode, den Du meinst. Ich habe das Gefühl Du hast das Prinzip Baumsuche bereits verstanden, aber noch nicht tief genug, um andere Perspektiven darauf zuzulassen.
Nur zu, wenn Dir was daran liegt, schaffst Du den Rest auch alleine. Threadtitel: "Warum Fidelity scheiterte!" ----> q.e.d. |
|
||||||||||||
AW: Warum Fidelity scheiterte!
Leute ich habe Schwierigkeiten euren Dialogen noch zu folgen.
Damals wurde jedenfalls gesagt das wären Singular extensions. Mag sein das die Formulierung nicht richtig war und dieser algo eigentlich anders war. Jedenfalls wurde das Programm bis zum Mach III mit unterschiedlichen Dingen verändert. Dann stagnierte es und nur noch die Hardware machte bei fidelity Fortschritte. Dann gingen die spracklens nach saitek und das sparc modul, das anders spielt, wurde entwickelt. Sowohl beim mach III und den v1-v11 Ablegern und beim sparc war EINES schon merkwürdig. Die obskure Bibliothek. Die mach III Programme sind teilweise nach 2-3 Zügen schon aus der turnierbibliothek. Z.B. Nach 1.e4 c5 2.Sf3 Sc6 3.c3 Out of Book (Corona d+ vs. Avantgarde v9) 1.c4 Sc6 2.d4 Out of Book (Avantgarde v9 vs. Simultano C) Niggemann sah sich genötigt für das Sparc Modul ein eigenes Turnierbuch zu erstellen, das hat IM Markus Schäfer gemacht, der damals bei Niggemann arbeitete. Markus spielt ein sehr scharfes Schach voll von Kombinationen. Entsprechend sein eröffnungsrepertoire. Markus erinnerte mich immer ein wenig an Tal. Ist m.E. Aber auch nicht viel besser geworden. Beim Sparc Modul gab es häufig merkwürdige springermanöver: Sa3-c2. Und habe sogar das berüchtigte Springer Fianchetto auf b2 etc. gesehen. Sa3-c4-b2. Richard lang hat mit seiner asymmetrischen Spielweise lange Zeit das Geschäft dominiert. Als dann der nullmove immer mehr eingesetzt wurde könnte lang nicht mehr konkurrieren da der Branchingfaktor des nullmoves viel geringer war als selbst Langs asymmetrischer Spielbaum. Zu Zeiten Langs wurde in insiderkreisen viel gerätselt wie Langs Programme funktionieren. Fakt ist das die lang Programme in den suchtiefen 1-3-5-7-9 etc. selektiv rechnen, d.h. Nicht alle Äste verfolgen. Während sie in den suchtiefen 2-4-6-8 etc. quasi alle notwendigen Äste durchgehen. Im Ergebnis spielten die Geräte in den ungeraden suchtiefen nicht immer präzise. Während sie Drohungen und Angriffe in den geraden suchtiefen berücksichtigten. Dieses schwammige in den eigenen plies führte zum lavierenden spielstil. Langs Programme waren in Maschinensprache geschrieben, benutzten für die damalige Zeit moderne Hardware und statt einer capture search hatte er eine statische Abschätzung bei den schlagzügen. SEE= static Exchange Evaluation. Das war auch der Grund warum bei lang die Bewertungen häufig bei schlagabtäuschen Fehler begeht bzw. warum nach dem Abtausch plötzlich die Bewertungen sich veränderten. Weil er beim durchrechnen der abtäusche die bewertungsfunktion in den endknoten , den ruhigen Stellungen gar nicht benutze , kam es nach Durchführung der abtäusche zu bewertungssprüngen als die bewertungsfunktion dann erstmalig die ruhige Stellung bewertete. Langs Ideen funktionierten. Aber der nullmove funktionierte besser. Hier brauchte man gar keine bewertungsfunktion mehr. Es gab nur ein pre Processing und den Rest machte der nullmove. Es wurden nur noch Bewertung relativ zum preprocessing durchgeführt. Die einzelnen Äste bekamen Malis oder Boni aber es wurde nicht mehr die ganze Stellung bewertet. Das war sehr viel effizienter. Die Programme kamen schnell auf Tiefe. Aber sie wurden auch mit jedem weiteren Halbzug immer dümmer. Weil sie ja nur in der Wurzelebene die volle bewertungsfunktion benutzten und nicht in den endstellungen. Richard Lang hat noch versucht sein Programm zu verändern und gegen die nullmover und andere Konzepte die ihn überholten anzugehen, aber es war sehr schwierig das Programm zu verändern. Es war alles so effizient programmiert, und fest verdrahtet, er hätte wieder bei Null anfangen müssen und der Ausgang wäre sehr ungewiss gewesen und sicherlich hätte ossi weiner da nicht mitgemacht. Also was tun ?! Mittlerweile ist es ja so das die Programmierer die außerhalb des Wettbewerbs sind bei den Tablet und Handy Apps weitermachen. Nur noch einige wenige sind bei den PC Programmen mit dabei.
__________________
Die ganze Welt des Computerschachs Geändert von mclane (01.07.2015 um 23:31 Uhr) |
|
||||||||||||
AW: Warum Fidelity scheiterte!
@Theo: Ganz schön großkotzig. So ist eine Diskussion sinnlos.
|
|
||||||||||||
AW: Warum Fidelity scheiterte!
Zu Zeiten Langs wurde in insiderkreisen viel gerätselt wie Langs Programme funktionieren.
Fakt ist das die lang Programme in den suchtiefen 1-3-5-7-9 etc. selektiv rechnen, d.h. Nicht alle Äste verfolgen. Während sie in den suchtiefen 2-4-6-8 etc. quasi alle notwendigen Äste durchgehen. Im Ergebnis spielten die Geräte in den ungeraden suchtiefen nicht immer präzise. Während sie Drohungen und Angriffe in den geraden suchtiefen berücksichtigten. Dieses schwammige in den eigenen plies führte zum lavierenden spielstil. Langs Programme waren in Maschinensprache geschrieben, benutzten für die damalige Zeit moderne Hardware und statt einer capture search hatte er eine statische Abschätzung bei den schlagzügen. SEE= static Exchange Evaluation. Das war auch der Grund warum bei lang die Bewertungen häufig bei schlagabtäuschen Fehler begeht bzw. warum nach dem Abtausch plötzlich die Bewertungen sich veränderten. Weil er beim durchrechnen der abtäusche die bewertungsfunktion in den endknoten , den ruhigen Stellungen gar nicht benutze , kam es nach Durchführung der abtäusche zu bewertungssprüngen als die bewertungsfunktion dann erstmalig die ruhige Stellung bewertete.
Langs Ideen funktionierten. Aber der nullmove funktionierte besser. Hier brauchte man gar keine bewertungsfunktion mehr. Es gab nur ein pre Processing und den Rest machte der nullmove. Es wurden nur noch Bewertung relativ zum preprocessing durchgeführt. Die einzelnen Äste bekamen Malis oder Boni aber es wurde nicht mehr die ganze Stellung bewertet.
Das war sehr viel effizienter. Die Programme kamen schnell auf Tiefe. Aber sie wurden auch mit jedem weiteren Halbzug immer dümmer. Weil sie ja nur in der Wurzelebene die volle bewertungsfunktion benutzten und nicht in den endstellungen. Die Verwendung von vorberechneten Tabellen anstelle einer größeren Bewertungsfunktion an den Endstellungen des Suchbaumes ist natürlich vor allem durch Fritz und die Werbeabteilung von Chessbase bekannt geworden (die taktische Schlagkraft war ja auch wirklich toll). Andere Programmierer waren da zurückhaltender und die Fritze in den 90ern eigentlich nie das stärkste Programm. Später wurde dann ja auch kräftig an der Bewertungsfunktion geschraubt. Aber da sind wir ja zeitlich schon hinter Fidelity... ![]() Zurück zu den Spracklens: Sind sie eigentlich wirklich gescheitert auch wenn ihre Programme nicht an Lang vorbei kamen? Auf der einen Seite stehen der doch wohl beträchtliche Aufwand und der kommerzielle Erfolg in den USA, auf der anderen Seite die offensichtliche Enttäuschung der Spracklens über die Ergebnisse ihres Sparc Modules und der kommerzielle Kleinkrieg der Hersteller (z.B. die Absagen zur WM 1987). Fidelity hat als erster Hashtables in kommerzielle Rechner gebaut und die ersten Mehrprozessorrechner serienreif bekommen. Ich halte das durchaus für einen Erfolg an sich. |
![]() |
|
|
![]() |
||||
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 |