Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   Tipp: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau (Der LC0 Thread) (https://www.schachcomputer.info/forum/showthread.php?t=5030)

Wolfgang2 13.12.2017 03:23

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Ich sehe das ein bisschen anders. Wenn Zugzwang nicht als strategisches Element erkannt oder hinreichend gewürdigt wird, ist das ein Mangel.
Genauso unbefriedigend ist es, wenn solche Situationen nicht beurteilt werden können.
https://www.schachcomputer.info/foru...5&postcount=24

Die klassischen Top-Engines mögen in einer kompletten Partie unschlagbar sein. Aber zur Perfektion fehlt noch ein gutes Stück. Und der Perfektion kommt AlphaZero meines Erachtens einen ganz gewaltigen Schritt näher.

Ich habe Stockfish 8 an der ersten Studie aus dem Video rechenen lassen.
Nach einer guten Stunde Rechenzeit und 8.316.830.017 Knoten zeigt er immer noch 1. ... Db4-f4 +0,35; Tiefe 48/77-

[Event "Computer Schach Partie"]
[Site "TOSHIBA"]
[Date "2017.12.13"]
[Round "?"]
[White "xxx"]
[Black "xxx"]
[Result "*"]
[Time "02:57:48"]
[TimeControl "0+6"]
[SetUp "1"]
[FEN "3r2kq/p2prp1p/1p4pP/2nR4/1Q6/1B3RP1/P4PK1/8 w - - 0 1"]
[Termination "unterminated"]
[PlyCount "11"]
[WhiteType "human"]
[BlackType "human"]

1. Rxc5 {!} bxc5 2. Qh4 Rde8 3. Rf6 d5 4. Bxd5 Rd7 5. Bc4 a5 6. Qf4 *


Über acht Milliarden Knoten sind schon eine Menge. Und wie gesagt: Txc5! nicht gefunden. Variante 1. Df4 Sxb3 (vorher 1. Df4 Tdf8)

Gruß
Wolfgang

Egbert 13.12.2017 05:31

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Hartmut (Beitrag 70795)
Hallo Kurt

Die "Verniedlichung" ist eigentlich keine sondern hat durchaus ihre Gründe

1. Die fehlende Bibliothek ist schon mal der erste Grund warum Stockfish in vielen Fällen in Nachteil kam. Die Eröffnungsbehandlung ist nun mal Grundlage jeder Partie. Kommt man schon in der Eröffnung unter die Räder oder schlägt dort die falschen Wege ein, ist der Gegner bereits in Vorteil. Bei einer vernünftigen Bibliothek muss AlphaZero erstmal die wirklich stabilen in jahrzehntelanger Arbeit aufgebaute Eröffnungstheorie mit Neuerungen bereichern um aus der Eröffnungsphase heraus in Vorteil zu kommen. Bisher musste AlphaZero dies jedoch nicht tun, da Stockfish ohne Buch zwar viele Standardvarianten ein paar Züge lang spielen konnte, an den entscheidenden Punkten jedoch eben Fehler machte. Das kann man in allen 10 Partien, die mir vorliegen sehr deutlich sehen.

2. Du hast recht, die gängigen Programme brauchen sehr lange um in den kritischen Situationen den Verlust zu sehen (wenn sie ihn denn sehen). Da muss man dann aber dagegenhalten, dass die Hardware noch nicht mal annäherungsweise vergleichbar ist. AlphaZero hatte eine Hardware basierend auf 4 TPUs für den Vergleichskampf. Zum Vergleich: Eine TPU hat in etwa die Rechengeschwindigkeit von 30 parallel geschalteten Intel Xeon E5-2699v3. Ein solcher Xeon-Prozessor hat bereits 18 Cores. Stockfish hatte insgesamt lediglich läppische 64 Cores zur Verfügung. Wir hatten also umgerechnet einen Wettkampf zwischen einer Maschine mit 4*30*18 = 2160 Cores gegen eine 64-Core Maschine. Wen verwundert es also dass wohl keines unserer Schachprogramme in den kritischen Stellungen irgendetwas sieht? Mich nicht! Die meisten von uns dürften noch nicht mal die Hardware zur Verfügung haben, die Stockfish in diesem Wettkampf hatte (Bei mir zumindest ist bei 8 Cores Schluss). Nehmen wir an, es gäbe einen Stockfish mit 2000 Cores und dieser hätte gegen einen Stockfish mit 64 Cores gekämpft. Wäre das Ergebnis bei einem 100-Partien Match ein anderes gewesen? Vermutlich nicht. Und wie wäre das Ergebnis eines Stockfish mit 64 Cores gegen einen mit 1 Core? Vermutlich ebenfalls nicht anders. So what?

Rechnet man jetzt noch dazu, dass der sowieso schon auf schwacher Brust kämpfende Stockfish mit seinen "mickrigen" 64 Cores gerade mal 1 GB Hashtables bekam (bei der Konstellation würde man eher mit 16 GB und mehr rechnen, zum Vergleich beim TCEC-Turnier hatte er mit 44 Cores 64 GB), dann bleibt von dem Erfolg AlphaZeros nicht mehr viel übrig.

Aus diesen Gründen kann ich nur wiederholen, was ich bereits gesagt habe. Das Ergebnis ist - Im Hinblick auf die KI-Forschung - beeindruckend. Rein schachlich ist es nicht beeindruckender als ein ähnliches Ergebnis zwischen Stockfish 64 Core und Stockfish 1 Core. Und wenn wir ehrlich sind, wäre zwischen diesen Konstellationen ein solches Ergebnis ebenfalls möglich.

Hallo Hartmut,

viele Deiner angeführten Argumente hinsichtlich der Wettkampfbedingungen sind nicht von der Hand zu weisen. Auf der anderen Seite spielt AlphaZero Chess unübersehbar ein intelligenteres Schach, Kurt hat zu Recht darauf hingewiesen. Wolfgang hatte hier gerade eine schöne Stellung mit Zugzwang-Motiv angebracht.

Wir haben eine belastbare Vorstellung was beispielsweise eine Verdopplung der Verarbeitungsgeschwindigkeit unserer "alten Schätze" gebracht hat. Je nach Programm waren das durchschnittlich ca. 70 Elo Punkte. Bekannt ist auch, dass dieser Zugewinn an Elo bei den heutigen PC-Spitzen Engines bedeutend geringer ausfällt. Ehrlich gesagt habe ich keine Vorstellung wie sich dies bei AlphaZero Chhess verhält. Sicher, innerhalb der Lernphase ist es von entscheidender Bedeutung möglichst starke Hardware zur Verfügung zu haben. Einmal angenommen den erreichten Programm-Stand von AlphaZero Chess nach dem Stockfish-Wettkampf auf eine wesentlich schwächere Hardware laufen lassen..., wie würde sich dies auswirken? Wie funktioniert die Suche des Programms genau? Fragen über Fragen. Hoffentlich lässt uns DeepMind nicht dumm sterben ;)

Gruß
Egbert

Egbert 13.12.2017 06:27

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Guten Morgen,

ganz aktuell ein sehr ausgewogener Artikel von ChessBase zu dem Wettkampf und AlphaZero Chess, welcher die ein oder andere Frage beantwortet:

https://de.chessbase.com/post/alpha-...ns-mit-aepfeln

Gruß
Egbert

applechess 13.12.2017 11:44

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70797)
Ich sehe das ein bisschen anders. Wenn Zugzwang nicht als strategisches Element erkannt oder hinreichend gewürdigt wird, ist das ein Mangel.
Genauso unbefriedigend ist es, wenn solche Situationen nicht beurteilt werden können.
https://www.schachcomputer.info/foru...5&postcount=24

Die klassischen Top-Engines mögen in einer kompletten Partie unschlagbar sein. Aber zur Perfektion fehlt noch ein gutes Stück. Und der Perfektion kommt AlphaZero meines Erachtens einen ganz gewaltigen Schritt näher.

Ich habe Stockfish 8 an der ersten Studie aus dem Video rechenen lassen.
Nach einer guten Stunde Rechenzeit und 8.316.830.017 Knoten zeigt er immer noch 1. ... Db4-f4 +0,35; Tiefe 48/77-

Gruß
Wolfgang

Hallo Wolfgang
Ich glaube, wir können Stockfish auch 5 Stunden rechnen lassen, ohne dass Dxc5 gefunden wird. AlphaZero spielt einfach ein anderes Schach. Natürlich wäre ein Vergleich unter besten Bedingungen für Stockfish reizvoll. Dazu wird es jedoch kaum kommen.
Gruss
Kurt

Wolfgang2 13.12.2017 14:01

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Egbert (Beitrag 70799)
Guten Morgen,

ganz aktuell ein sehr ausgewogener Artikel von ChessBase zu dem Wettkampf und AlphaZero Chess, welcher die ein oder andere Frage beantwortet:

https://de.chessbase.com/post/alpha-...ns-mit-aepfeln

Gruß
Egbert

Meiner Ansicht nach ist dieser Artikel mit Vorsicht zu genießen, da ChessBase selbst Schachprogramme vertreibt.
Es werden Ergebnisse nicht nur genannt, sondern auch bewertet bzw. gegen AlphaZero ausgelegt:

Eröffnungen
Da wird beispielsweise kritisiert, dass es in der "Trainingsphase" Niederlagen mit Schwarz im Damengambit oder Grünfeld-Indisch gab. Ja und ? Vielleicht sind diese Eröffnungen tendenziell schwach für Schwarz. Ich vermute, auf diesem Gebiet, was gute oder schlechte Eröffnungen sind, wird die nächsten Jahre mittels elektronischer Unterstützung noch viel mehr heraus kommen. Vieles ist ja heute schon auch nur deswegen gut spielbar, weil der (menschliche) Gegner sich damit nicht auskennt.

Gewinnquoten
Ist ein Vorwurf berechtigt, wenn es fast nur Siege mit Weiß gab ? Da bin ich mir nicht sicher. Es wurde, m.E. zurecht, auf die hohe Remisquote im Spitzenschach hin gewiesen. Denn wenn keine Fehler gemacht werden, wird der Aspekt der Remisbreite relevant. Und diese ist nicht so arg klein.
Außerdem kann es ja durchaus sein, dass Schwarz theoretisch bei bestem Spiel gar nicht gewinnen kann.

Der Hardware-Vorteil von AlphaZero o.k.
Andererseits ist ein 28:0 schon sehr eindeutig. Ich vermute, Kurt hat recht, wenn er oben sagt, dass man SF8 auch fünf Stunden geben könnte, und er Txc5! trotzdem nicht findet. Wenn dem so ist, dann wäre das Argument Rechengeschwindigkeit irgendwann auch eher dünn.

Insgesamt denke ich, muss man einfach konzidieren, dass hier ein "intelligenter" Schritt nach vorne gelungen ist.

Gruß
Wolfgang

Hartmut 13.12.2017 14:28

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70797)
Ich sehe das ein bisschen anders. Wenn Zugzwang nicht als strategisches Element erkannt oder hinreichend gewürdigt wird, ist das ein Mangel.
Genauso unbefriedigend ist es, wenn solche Situationen nicht beurteilt werden können.
https://www.schachcomputer.info/foru...5&postcount=24

Die klassischen Top-Engines mögen in einer kompletten Partie unschlagbar sein. Aber zur Perfektion fehlt noch ein gutes Stück. Und der Perfektion kommt AlphaZero meines Erachtens einen ganz gewaltigen Schritt näher.

Ich habe Stockfish 8 an der ersten Studie aus dem Video rechenen lassen.
Nach einer guten Stunde Rechenzeit und 8.316.830.017 Knoten zeigt er immer noch 1. ... Db4-f4 +0,35; Tiefe 48/77-

Dem will ich nicht widersprechen. Das solche Motive nicht oder nur schwer gefunden werden, ist nichts Neues und begegnet mir in der Fernschachpraxis immer wieder. Ein Grund, weswegen mir Fernschach nach wie vor Spaß macht, denn die dummen Engines sehen eben doch nicht alles. Insofern hast Du schon recht.

Ich will aber an dieser Stelle eben betonen, dass sich mein letzter Post eben auf das Ergebnis in Bezug auf die unterschiedliche Hardware bezog. Und hier ist das Ergebnis von 28 Gewinnpartien aus 100 insgesamt erstmal nicht erstaunlich. Da ist es fast schon bemerkenswerter dass ein um den Faktor 50 langsameres Gerät (man beachte: keine Eröffnungsbibliothek und eine absolut katastrophale Hashtableeinstellung) 72mal Remis gehalten hat.

Wir wissen bereits seit den Zeiten unserer Oldies, das manche Programme taktische Stellungen besser behandeln, manche eher positionell geprägt sind. Das ist heute nicht anders als damals. Das Problem ist, dass an dieser Front von den Programmierern - aus welchem Grund auch immer - nur darauf geschaut wird, die Gesamtspielstärke im einstelligen Elo-Bereich zu steigern um sagen zu können "Ich bin 10 Elo-Punkte besser". Die Behandlung einzelner Stellungstypen (In deinem Beispiel ein Zugzwangmotiv) bleibt dabei außen vor und ist auch für die Steigerung der Gesamtspielstärke im Vergleich zu anderen Engines wenig relevant. Auch das merke ich in meiner Fernschachpraxis immer wieder. Stockfish ist eine - vielleicht die stärkste - Eingine unter vielen. Benutzt mein Gegner im Fernschach "nur" Stockfish dann freue ich mich, denn ich werde die Partie aller Voraussicht nach gewinnen.

Es stimmt allerdings - und da gebe ich Egbert recht - dass AlphaZero ein weit intelligenteres Schach zu spielen scheint welches - im Gegensatz zu den gängigen Engines - auch sehr planvoll aussieht. Aber genau das ist gerade mein Problem. Gerade weil AlphaZero "anders" spielt wurmt es mich, dass der Vergleich hardwaremäßig derart unfair durchgeführt und Stockfish durch falsche Einstellungen noch gebremst wurde.

Man sieht an der Art der Partieanlage dass AlphaZero einiges sehr gut kann. Warum hat man dann den ehrlichen Vergleich gescheut nur um publikumswirksam dann berichten zu können, man habe das beste Schachprogramm hoch abgeschlagen? Warum hat man den hardwaremäßig schwächeren Gegner dann noch durch falsche Hashtable-Einstellung künstlich zusätzlich weiter ausgebremst? Für mich sieht das - auch wenn ich das intelligente Spiel von AlphaZero durchaus zu schätzten weiss - nicht sehr seriös aus und es bleibt das Geschmäckle, dass man um schnell Ergebnisse präsentieren zu können - den fairen Vergleich gescheut hat. Und damit begibt man sich leider auf das Niveau der "Ich bin 10 Elo besser"-Programmierer.

Vielleicht 4 Tage statt 4 Stunden Training und ein Wettkampf auf Augenhöhe mit vergleichbarer Hardware und man hätte (vielleicht) wirklich etwas seriöses zu berichten gehabt. Das hätte mich dann überzeugt. So bleibt erstmal nur die Feststellung, dass AlphaZero gewisse Stellungen besser behandelt als die gängigen Engines und wohl auch gezielt auf diese Stellungen hinarbeitet. Ob das ausreicht die TopEngines auf Augenhöhe zu schlagen? Den Beweis ist uns die Firma DeepMind bisher leider schuldig geblieben und hat erstmal - frei nach dem Forschergrundsatz "Publish or perish" eine angreifbare Studie geliefert.

@Kurt

Es gibt übrigens Engines die in der geposteten Stellung Txc5 finden. Das uralte Programm AnMon 5.75 braucht keine 2 Sekunden dafür, findet dann nach 1. ...bxc5 2. Dh4 nicht. Auch Rybka 4 findet Txc5 den Zug sofort braucht dann aber eine Weile um 2. Dh4 zu finden. Stockfish allerdings findet es tatsächlich nicht. Für die Gesamtspielstärke sagt das allerdings wenig aus. Was nutzt es, wenn ich Stellungen finden kann, die Rybka und der alte AnMon in weniges Sekunden lösen können, die Stockfish nicht findet, wenn Stockfish in einem Wettkampf trotzdem haushoch gewinnen würde? Nichts. Das einzige was ich dadurch erfahre ist:

1. für gewisse Stellungen brauche ich gewisse Engines
2. für andere Stellungen brauche ich andere Engines.
3. Für einen Wettkampf ist es irrelevant welche speziellen Stellungen einer bestimmten Engine liegen.

Und das wusste ich ehrlich gesagt vorher schon.

Egbert 13.12.2017 14:28

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70801)
Meiner Ansicht nach ist dieser Artikel mit Vorsicht zu genießen, da ChessBase selbst Schachprogramme vertreibt.
Es werden Ergebnisse nicht nur genannt, sondern auch bewertet bzw. gegen AlphaZero ausgelegt:

Eröffnungen
Da wird beispielsweise kritisiert, dass es in der "Trainingsphase" Niederlagen mit Schwarz im Damengambit oder Grünfeld-Indisch gab. Ja und ? Vielleicht sind diese Eröffnungen tendenziell schwach für Schwarz. Ich vermute, auf diesem Gebiet, was gute oder schlechte Eröffnungen sind, wird die nächsten Jahre mittels elektronischer Unterstützung noch viel mehr heraus kommen. Vieles ist ja heute schon auch nur deswegen gut spielbar, weil der (menschliche) Gegner sich damit nicht auskennt.

Gewinnquoten
Ist ein Vorwurf berechtigt, wenn es fast nur Siege mit Weiß gab ? Da bin ich mir nicht sicher. Es wurde, m.E. zurecht, auf die hohe Remisquote im Spitzenschach hin gewiesen. Denn wenn keine Fehler gemacht werden, wird der Aspekt der Remisbreite relevant. Und diese ist nicht so arg klein.
Außerdem kann es ja durchaus sein, dass Schwarz theoretisch bei bestem Spiel gar nicht gewinnen kann.

Der Hardware-Vorteil von AlphaZero o.k.
Andererseits ist ein 28:0 schon sehr eindeutig. Ich vermute, Kurt hat recht, wenn er oben sagt, dass man SF8 auch fünf Stunden geben könnte, und er Txc5! trotzdem nicht findet. Wenn dem so ist, dann wäre das Argument Rechengeschwindigkeit irgendwann auch eher dünn.

Insgesamt denke ich, muss man einfach konzidieren, dass hier ein "intelligenter" Schritt nach vorne gelungen ist.

Gruß
Wolfgang

Hallo Wolfgang,

ja, kommerzielle Interessen können auch hier mit reinspielen. Dennoch wird in dem Artikel sehr viel rein sachlich dargestellt. Der Geschwindigkeitsvorteil von AlpaZero Chess ist sicher erheblich. Dennoch, auch ich bin der Meinung dass das Programm von DeepMind ohne Frage eine neue Qualität im Schach erreicht hat. Es würde mich wundern, wenn diese Weiterentwicklung nicht noch weiter vorangetrieben wird. Jedenfalls freue ich mich auch hier auf weitere Fortschritte und ganz ehrlich...beim Analysieren der veröffentlichten Partien ist mir das Herz schon das ein oder andere mal aufgegangen :)

Gruß
Egbert

Hartmut 13.12.2017 14:50

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70801)
Eröffnungen
Da wird beispielsweise kritisiert, dass es in der "Trainingsphase" Niederlagen mit Schwarz im Damengambit oder Grünfeld-Indisch gab. Ja und ? Vielleicht sind diese Eröffnungen tendenziell schwach für Schwarz. Ich vermute, auf diesem Gebiet, was gute oder schlechte Eröffnungen sind, wird die nächsten Jahre mittels elektronischer Unterstützung noch viel mehr heraus kommen. Vieles ist ja heute schon auch nur deswegen gut spielbar, weil der (menschliche) Gegner sich damit nicht auskennt.

Tja, man könnte daraus aber auch andere Schlüsse ziehen. AlphaZero hatte durch das Training Eröffnungswissen, Stockfish hatte im folgenden Wettkampf aber kein Buch. Folge: AlphaZero hat bewusst die Eröffnungen vermieden, die für ihn "nicht gut" waren während Stockfish eröffnungstheoretisch nicht dagegen halten konnte. Ein Schelm wer Böses dabei denkt.

Zitieren:

Gewinnquoten
Ist ein Vorwurf berechtigt, wenn es fast nur Siege mit Weiß gab ? Da bin ich mir nicht sicher. Es wurde, m.E. zurecht, auf die hohe Remisquote im Spitzenschach hin gewiesen. Denn wenn keine Fehler gemacht werden, wird der Aspekt der Remisbreite relevant. Und diese ist nicht so arg klein.
Außerdem kann es ja durchaus sein, dass Schwarz theoretisch bei bestem Spiel gar nicht gewinnen kann.
War es denn ein Vorwurf? Für mich ist das erstmal eine Feststellung. Ich habe das nicht als Vorwurf empfunden, allenfalls als eine sehr stark ins Auge fallende Tatsache.

Zitieren:

Der Hardware-Vorteil von AlphaZero o.k.
Andererseits ist ein 28:0 schon sehr eindeutig.
Er liegt aber in der Erwartungsquote. Wie gesagt, lass einen 64-Core Stockfish gegen einen 1-Core Stockfish antreten und das Ergebnis wird ählich aussehen. Im übrigen war es ja kein 28:0 sondern das Ergebnis lautete +28 =72 -0, also 64:36, das heisst eine Erfolgsquote von 64 %. Eine Gewinnerwartung von 64 % entspricht einem Elo-Unterschied von etwas über 100 Punkten. 100 Punkte Elo-Differenz bei weit überlegener Hardware, wohlgemerkt. Sehe ich mir z.B. die CCRL Liste an
http://www.computerchess.org.uk/ccrl..._list_all.html
so fällt mir auf. Die Differenz z.B. zwischen asmFish 4 Core und asmFish 1 Core liegt bei 74 Punkten, bei Kommodo 11.2 4 Core und Kommodo 11.2 1 Core sind es sogar fast 80 Punkte. Bereits bei einem Unterschied 4:1 Core ist also bereits eine Elo-Steigerung von 80 Punkten möglich.

Zwischen AlphaZero und Stockfish war das Geschwindigkeitsverhältnis in der Prozessorleistung sogar bei 50:1 Da ist angesichts des Hardwareunterschied eine Erfolgsquote von 64% also etwas über 100 Elo-Punkten nun nicht wirklich überraschend, ganz im Gegenteil, sie ist sogar enttäuschend.

Nimmt man den Geschwindigkeitsunterschied als Basis, dann hätte das Ergebnis weit deutlicher ausfallen müssen. Und leider wurden ja nur 10 Partien veröffentlicht. Wir wissen nicht, ob bei höherer Rechenleistung nicht weit mehr für Stockfish drin gewesen wäre oder unter welchen Umständen die Remis erzielt wurden. Wir haben 10 Beispielpartien aus einem Wettkampf, dessen Ergebnis angesichts des Geschwindigkeitsunterschieds zu erwarten war, bzw. das sogar zu niedrig für AlphaZero ausgefallen ist und können daraus allenfalls entnehmen dass AlphaZero bestimmte Stellungstypen sehr gut beherrscht und in diesen Stellungen überlegen ist. Unter welchen Umständen die anderen Siege errungen wurden wissen nicht. Ob Stockfish in den verbliebenen 72 Remispartien das eine oder andere Mal nicht vielleicht sogar die bessere Stellung hatte und diese aufgrund zu langsamer Hardware nicht zum Gewinn führen konnte wissen wir ebenfalls nicht. Eigentlich wissen wir so gut wie gar nichts. Deswegen sollte man das Ergebnis erstmal lieber etwas nüchtern betrachten, auch wenn ich als Informatiker es durchaus auch gerne durch die rosa Brille sehen möchte. Aber ich beschäftige mich leider schon zu lange mit dem Thema Wissenschaft um die Schwächen dieser Studie nicht zu sehen. Und sie hat erhebliche Schwächen.

Zitieren:

Ich vermute, Kurt hat recht, wenn er oben sagt, dass man SF8 auch fünf Stunden geben könnte, und er Txc5! trotzdem nicht findet. Wenn dem so ist, dann wäre das Argument Rechengeschwindigkeit irgendwann auch eher dünn.
Nö, andere und teilweise viel ältere Engines als Stockfish finden den Zug ja ebenfalls. Das sagt erstmal nur aus, dass Stockfish mit dieser speziellen Stellung nicht umgehen kann. Nicht mehr und nicht weniger. Andere schlechtere Engines finden den Zug, würden aber im Wettkampf gegen Stockfish trotzdem unterliegen. Das Beherrschen einer bestimmten Situation sagt erstmal nichts über die Gesamtspielstärke aus. Gerade deswegen wäre ein Wettkampf mit vergleichbarer Hardware wichtig gewesen. Und die Chance hat man - bewusst oder unbewusse - vertan. Und ehrlich gesagt, wenn ich bedenke wie die Hashtables eingestell wurden, möchte ich fast eher "bewusst" unterstellen.

Zitieren:

Insgesamt denke ich, muss man einfach konzidieren, dass hier ein "intelligenter" Schritt nach vorne gelungen ist.
Naja... es ist eher ein "Back to the roots". Man hat festgestellt, dass Stellungen die ältere Schachprogramme mal lösen konnten (Rybka, Anmon) herbeigeführt werden müssen, die Stockfish nicht lösen kann und dann mittels einem neuronalen Netz ein Programm geschaffen, dass genau das beherrscht. (Man hat das Netz ja auch mit Partien von Stockfish trainiert...). Daneben hat man bewiesen, dass so ein Programm in Verbindung mit weit überlegener Hardware in der Lage ist einen Stockfish in ungünstiger Konfiguration zu schlagen. Dazu hätte ich die Google-Cloud für das Neuronale Netz nun nicht wirklich gebraucht. Ein entsprechender Server mit entsprechend vielen Kernen und Rybka 4 drauf gegen einen 1-Core Stockfish hätte das vermutlich auch zeigen können.

Eskimo 13.12.2017 18:28

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Also: sollte diese Studie und das Ergebnis nicht gefälscht sein, dann bin ich mir sicher:
Nehmt Komodo oder gar Houdini 6.03, gebt ihm ein gutes Buch, zig Cores, HashTables und Tablebases und meinetwegen eine andere Bedenkzeit ... es würde von Alpha Zero genauso pulverisiert werden (erst recht wenn man jenes längert "trainiert")!!! Diese neue Technologie ist einfach sensationell bahnbrechend.

Falls der Bericht und das Match allerdings ein Fake war, sieht das natürlich ganz anders aus ... fänd ich aber schade.

Was spricht dagegen, Deepmind anzuschreiben und ein neues derartiges Match vorzuschlagen?

Hartmut 13.12.2017 18:53

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Eskimo (Beitrag 70807)
Also: sollte diese Studie und das Ergebnis nicht gefälscht sein, dann bin ich mir sicher:

Gefälscht ist da sicherlich nichts. Nur die Testbedingungen der Studie sind eben absolut unseriös und das Ergebnis damit natürlich nichtssagend.

Zitieren:

Nehmt Komodo oder gar Houdini 6.03, gebt ihm ein gutes Buch, zig Cores, HashTables und Tablebases und meinetwegen eine andere Bedenkzeit ... es würde von Alpha Zero genauso pulverisiert werden (erst recht wenn man jenes längert "trainiert")!!!
Da wäre ich mir nicht so sicher. Das haben sie ja ohne tricksen noch nicht mal seriös bei Stockfish beweisen können.

Zitieren:

Diese neue Technologie ist einfach sensationell bahnbrechend.
Ganz unabhängig davon inwieweit die Testbedingungen jetzt fair waren und wie stichhaltig das Ergebnis der Studie war... in diesem Punkt gebe ich Dir recht. Nach so kurzer Trainingszeit auf solch ein Spielniveau zu kommen wäre auch bahnbrechend, wenn AlphaZero diesen Wettkampf knapp verloren hätte. Aber haushoch gewonnen liest sich halt besser...

Zitieren:

Falls der Bericht und das Match allerdings ein Fake war, sieht das natürlich ganz anders aus ... fänd ich aber schade.
Wie gesagt, ein Fake war das sicherlich nicht. Aber angesichts der unfairen und undurchsichtigen Testbedingungen hat die Meldung halt für mich das Niveau eines reisserischen Bild-Zeitungs-Artikels. Die Partien und vor allem wie sie gewonnen wurden sind - ich kann es ohne Übertreibung sagen - spitze. Andererseits kannte AlphaZero die Schwächen von Stockfisch da auch mehrere Etappen von Trainingspartien mit vorgegebenen Eröffnungen eben gegen Stockfish durchgeführt wurden bevor der eigentliche Wettkampf stattgefunden hat. Da kann man dann leicht auf die Schwächen des Programms spielen. Hat der Gegner jedoch eine gute Eröffnungsbibliothek so muss AlphaZero erstmal da hin kommen, dass er solche Traumstellungen bekommt. Und das ist eine erheblich schwerere Aufgabe. Mag sein, dass er sie bewältigen kann, der Beweis steht aber noch aus. Und das ist das Wesen der wissenschaftlichen Forschung. Ich kann zwar alles behaupten, ich muss es aber auch beweisen. Ist der Beweis nicht erbracht, bleibt es erstmal nur eine Theorie. Und genau das ist hier - zumindest noch - der Fall.

Zitieren:

Was spricht dagegen, Deepmind anzuschreiben und ein neues derartiges Match vorzuschlagen?
Keiner wird dich dran hindern. Aber ich denke nach den ersten kritischen Artikeln, die nach der "Erfolgsmeldung" im Netz erschienen sind, ist das wohl nicht mehr nötig. Ich traue den Programmierern bei DeepMind durchaus zu, dass sie auch die kritischen Artikel auf ihre Pressemeldung lesen und eventuell beantworten werden.

Wolfgang2 14.12.2017 02:35

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Hartmut (Beitrag 70802)
...
Ich will aber an dieser Stelle eben betonen, dass sich mein letzter Post eben auf das Ergebnis in Bezug auf die unterschiedliche Hardware bezog. Und hier ist das Ergebnis von 28 Gewinnpartien aus 100 insgesamt erstmal nicht erstaunlich. Da ist es fast schon bemerkenswerter dass ein um den Faktor 50 langsameres Gerät (man beachte: keine Eröffnungsbibliothek und eine absolut katastrophale Hashtableeinstellung) 72mal Remis gehalten hat.
...

Nur mal zur Veranschaulichung, wie wenig schnellere Hardware in der Oberklasse bringt:
Auszug aus der SSDF-Liste: https://ssdf.bosjo.net/long.txt

Deep Hiarcs 14 16GB 1800X 3,6 GHz 3207 41 -42 280 43% 325

Hiarcs 14 256MB Athlon 1200 MHz 3106 34 -33 440 62% 3019


Der AMD Ryzen 1800x bringt nach www. cpubenchmark.net 15433 Punkte. Der Athlon 1200 MHz dürfte, wenn man Vergleichswerte der low-end-Tabelle heran zieht, allerhöchstens bei 250 liegen.

Dann bringt also ein Faktor von zirka 60 in der CPU-Leistung, und angepasster schnellerer Hardware, gerade mal etwa 100 Punkte mehr Spielstärke.

Die meisten Partien gehen sowieso Remis aus. Es bleibt reine Spekulation, wie AlphaZero auf 50x langsamerer Hardware abgeschnitten hätte. 28:0 Gewinnpartien wären es wohl nicht geworden, aber vielleicht 20:0 oder 15:1.

Ich gehe davon aus, wenn Houdini 6 oder Stockfish 8 oder Komodo 11 die veröffentlichten AlphaZero-Glanzleistungen in vertretbarer Zeit - sagen wir eine Stunde pro Zug - ebenfalls gefunden hätten, hätte uns das Chessbase bestimmt nicht verschwiegen.
Meine Meinung: Fa. Chessbase = Schlechter Verlierer!

Gruß
Wolfgang

Lucky 14.12.2017 05:38

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Lucky (Beitrag 70775)
wenn ich die sache recht verstanden habe, spielt alphazero keine partien gegen sich selbst ---

sorry für den irrtum hatte da was missverstanden

Hartmut 14.12.2017 13:40

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70813)
Nur mal zur Veranschaulichung, wie wenig schnellere Hardware in der Oberklasse bringt:
Auszug aus der SSDF-Liste: https://ssdf.bosjo.net/long.txt

Deep Hiarcs 14 16GB 1800X 3,6 GHz 3207 41 -42 280 43% 325

Hiarcs 14 256MB Athlon 1200 MHz 3106 34 -33 440 62% 3019


Der AMD Ryzen 1800x bringt nach www. cpubenchmark.net 15433 Punkte. Der Athlon 1200 MHz dürfte, wenn man Vergleichswerte der low-end-Tabelle heran zieht, allerhöchstens bei 250 liegen.

Dann bringt also ein Faktor von zirka 60 in der CPU-Leistung, und angepasster schnellerer Hardware, gerade mal etwa 100 Punkte mehr Spielstärke.

Die meisten Partien gehen sowieso Remis aus. Es bleibt reine Spekulation, wie AlphaZero auf 50x langsamerer Hardware abgeschnitten hätte. 28:0 Gewinnpartien wären es wohl nicht geworden, aber vielleicht 20:0 oder 15:1.

Ich gehe davon aus, wenn Houdini 6 oder Stockfish 8 oder Komodo 11 die veröffentlichten AlphaZero-Glanzleistungen in vertretbarer Zeit - sagen wir eine Stunde pro Zug - ebenfalls gefunden hätten, hätte uns das Chessbase bestimmt nicht verschwiegen.
Meine Meinung: Fa. Chessbase = Schlechter Verlierer!

Gruß
Wolfgang

Eigentlich bestätigst Du, was ich oben bereits gesagt habe. Der Unterschied der von Dir genannten Geräte bei ca. 60facher CPU-Leistung liegt um die 100 Elo-Punkte. Das Ergebnis AlphaZero - Stockfish impliziert ebenfalls einen Unterschied von ca. 100 Elo-Punkten ausgehend von den Gewinnwahrscheinlichkeiten der ELO-Berechnung.

Im Umkehrschluss heisst das, bei selber CPU-Leistung wäre es eine Begegnung auf Augenhöhe gewesen. Gibt man dann Stockfish noch eine vernünftige Eröffnungsbibliothek, eine vernünftige Hash-Tableeinstellung und Tablebases, also all die netten kleinen Dinge, die die Spielstärke nochmals steigern, dann läge Stockfish rein rechnerisch sogar vorne.

By the way: Du darfst bei deinem Vergleich auch nicht vergessen, dass die SSDF-Liste auf Wettkämpfen basiert in denen die Hash-Tables optimal eingestellt sind und ein Eröffnungsbuch vorhanden ist. Im Wettkampf AlphaZero-Stockfish hatte Stockfish kein Buch, während AlphaZero aus der Lernphase durchaus Eröffnungswissen hatte. Wie sähe die Liste wohl aus, wenn man z.B. dem kleinen Athlon noch die Tablebases und das Eröffnungsbuch weggenommen hätte?

Ob und was Chessbase in diesem Zusammenhang veröffentlicht... Was sollen sie denn veröffentlichen? Das Houdini 6 oder Kommodo 11 den einen oder anderen Zug vielleicht gefunden hätten und den einen oder anderen eben nicht? Was soll das bringen?

In Bezug auf die weiter oben genannten Stellung habe ich bereits aufgezeigt dass einige ältere Programme den Schlüsselzug Txc5 in wenigen Sekunden finden und z.B. Rybka auch richtig weiterspielt. Und? Was sagt das aus? Nichts. Weil man erst mal in diese Stellung kommen muss.

Fakt ist: Chessbase kann vielleicht durchaus zeigen dass der eine oder andere Zug von anderen Programmen ebenfalls gefunden wird. Das bedeutet aber nicht dass diese Programme auch zu dieser Stellung gekommen wären. Insofern wäre jede Darstellung von Chessbase ebenso nichtssagend bezüglich der wahren Programmstärke wie es der Wettkampf AlphaZero - Stockfish unter den gegebenen Bedingungen ist.

Das Zugzwangmmotiv kann man natürlich auch in normale Schachprogramme einbauen. Es wird aber die Gesamtspielstärke eher mindern als erhöhen. Das ist der Vorteil der KI. Das Schachprogramm rechnet, die KI plant. Die Schlüsselstellungen in denen die KI dann gewonnen hat (wie eben in der oben gezeigten Stellung) hätte ein Magnus Carlsen wahrschenlich auch gelöst. Hätte er deswegen einen Wettkampf gegen einen optimal konfigurierten Stockfish gewonnen? Vermutlich nicht. Wie gesagt. Als Forschungsergebnis im Bezug auf Neuronale Netze ist AlphaZero ein Meilenstein. Und möglicherweise hätte sie auch gegen einen optimal konfigurierten Stockfish gewonnen. Vielleicht hätte sie dann ein paar Tage Training mehr gebraucht. Wir wissen es nicht und werden es vielleicht auch nie erfahren. Und die Aussage, dass das Ergebnis zu einem bestimmten Termin veröffentlicht wurde, weil DeepMind irgendwo Sponsor ist (so wie es Chessbase aussagt) ist nun mal nicht von der Hand zu weisen. Genau deswegen bleibt eben ein "Gschmäckle".

Ich bin selbst ein Fan von Neuronalen Netzen und glaube auch, dass AlphaZero mit z.B. 2 Wochen Training auch gegen jedes andere Programm gewinnen kann. Genau deswegen finde ich es traurig, dass man sich mit dieser Studie jetzt angreifbar gemacht hat. Ein falsch konfigurierter Stockfish ohne Eröffnungsbuch ist eben ein anderer Gegner als ein richtig konfigurierter mit Eröffnungsbuch. Und bei aller Liebe zu neuronalen Netzen... das bleibt eben hängen und sorgt zu Recht für Kritik. Hätte man den Kritikern von vornherein einen fairen Wettkampf geliefert, dann wäre vielleicht der Termin der veröffentlichung ein paar Tage später gewesen, aber man hätte wirklich einen unangreifbaren Erfolg vorweisen können. Diese Chance hat man leider verpasst.

rollinghills 14.12.2017 17:44

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Gibt es jemanden, der schätzen kann oder sogar weiß, wie viele Partien Alpha Zero in den 4 Stunden Lernzeit gegen sich selbst gespielt haben mag?

Egbert 15.12.2017 09:06

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Guten Morgen Allerseits :)

nachstehend ein Link zu einer weiteren Wettkampf-Betrachtung aus Sicht von ChessBase:

https://de.chessbase.com/post/alpha-...unter-der-lupe

Gruß
Egbert

Gast 15.12.2017 12:35

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von rollinghills (Beitrag 70824)
Gibt es jemanden, der schätzen kann oder sogar weiß, wie viele Partien Alpha Zero in den 4 Stunden Lernzeit gegen sich selbst gespielt haben mag?

Soweit ich mitbekommen habe, hat Alpha Zero ein paar hundert Partien !pro Sekunde! gegen sich selbst gespielt. Dabei ist zu beachten, dass mehrere Partien gleichzeitig gespielt wurden.

Wenn man davon ausgeht, dass Alpha Zero nur die einfachen Schachregeln als Ausgangspunkt hatte, stellt sich für mich die Frage, wie Alpha Zero aus diesen gespielten Partien "Wissen" und "Fähigkeiten" extrahieren kann.

Ich bin mir ziemlich sicher, dass dies nur durch das Wissen des Endzustandes (Matt) zustande kommen kann.

Stellen wir uns einfach mal vor, dass wir einen Teller auf den Boden werfen und dieser in tausend kleine Einzelteile zerbricht. Nun setzen das neuronale Netzwerk von Google auf diese Scherben mit der Bedingung, Ordnung zu schaffen. Ohne das Wissen, dass der "Normal"-Zustand (Ordnung) ein Teller ist, wird auch ein Alpha-Irgendwas aus den Scherben keinen Teller erzeugen können. Man könnte aus den Scherben wohl alles Mögliche erzeugen.

Wenn Alpha-Irgendwas nun das Wissen hat, aus den Scherben einen Teller zu erzeugen und damit das Wissen des Normalzustandes (Ordnung) vorhanden ist, kann er mit Sicherheit diesen Teller aus den Scherben erzeugen. Viel interessanter ist wohl aber, dass Alpha-Irgendwas nicht nur einfach diesen Teller erzeugt, sondern auch den Weg von der Unordnung (Scherben) bis zur Ordnung (Teller) nachvollziehen und wiedergeben kann.

Im Sinne von unseren Schachpartien extrahiert Alpha-Zero also den Weg zurück vom Matt (Ordnung) zur Ausgangsstellung (Unordnung) und erkennt in diesem "Puzzle" die zielführenden Notwendigkeiten. Aus diesen Informationen erstellt eine Alpha Zero dann Logiken und diese wären für uns Schachcomputer-Freunde unglaublich interessant.

Auch wenn ich an eine Fortsetzung von Google im Schach-Bereich nicht ausgehe, hoffe ich dennoch, dass wir irgendwann mehr Infos zu der Sache bekommen, als bisher.

Wolfgang2 15.12.2017 16:33

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Ich habe mal diese Stellung von Stockfish 8 rechnen lassen, in der AlphaZero das unglaubliche Lc1-g5 !! spielte.
Nach über zwölf Stunden und etwa 55 Milliarden untersuchten Positionen (ca. 1,27 Mio. Knoten/Sekunde) habe ich ergebnislos abgebrochen (b2-b4, Tiefe 51/84).


applechess 15.12.2017 16:40

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70832)
Ich habe mal diese Stellung von Stockfish 8 rechnen lassen, in der AlphaZero das unglaubliche Lc1-g5 !! spielte.
Nach über zwölf Stunden und etwa 55 Milliarden untersuchten Positionen (ca. 1,27 Mio. Knoten/Sekunde) habe ich ergebnislos abgebrochen (b2-b4, Tiefe 51/84

Hallo Wolfgang
Eine Bestätigung meiner Vermutung, dass allerbeste Bedingungen für Stockfish wohl zu einem besseren Resultat für SF geführt hätten, dass aber über den Sieg von AlphaZero auch dann keine Zweifel entstehen können. Das von AZ demonstrierte Schach in gewissen Stellungen offenbart einen grösseren Fortschritt als derjenige zwischen einem Fidelity Elite V6 zum heutigen Stockfish.
Gruss
Kurt

Egbert 15.12.2017 17:25

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Wolfgang2 (Beitrag 70832)
Ich habe mal diese Stellung von Stockfish 8 rechnen lassen, in der AlphaZero das unglaubliche Lc1-g5 !! spielte.
Nach über zwölf Stunden und etwa 55 Milliarden untersuchten Positionen (ca. 1,27 Mio. Knoten/Sekunde) habe ich ergebnislos abgebrochen (b2-b4, Tiefe 51/84).


Vielen Dank Wolfgang für den (rechen-)zeitaufwendigen aber aufschlussreichen Test. :)

Gruß
Egbert

Solwac 15.12.2017 18:28

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
AlphaZero hat eine gute Struktur und soundso viele Mannjahre bei der Entwicklung des Go-Meisters. Offenbar sind die zwei neuronalen Netze für Strategie und Bewertung gut balanciert. Die so gewonnenen Daten aus vier Stunden Rechnerei sind ja dann die Basis für eine Suche, die gegenüber der klassischen Baumsuche mindestens deutlich anders, wahrscheinlich aber sehr sensitiv auf zu geringe Rechenleistung reagiert. Dieser Ansatz ergibt ein für den Menschen attraktiveres Schach, leider können wir die Spielstärke nicht wirklich beurteilen. Die Kritikpunkte wurden hier ja schon diskutiert.

Das Ergebnis des Wettkampfs ist vom Ergebnis her überraschend (nur Weißsiege) und deutlich. Das erinnert mich an Deep Thought/Blue. Der Ansatz einer komplexen Bewertungsfunktion bei Deep Blue ist durch die Hardware mit nur wenig Konkurrenz zur Suche ganz anders als bei "normaler" Software wo die Rechenleistung zwischen Suche und Bewertung aufgeteilt wird. Allerdings haben wir bei den wenigen Erkenntnissen zu Deep Blue gar keine mit wirklich geringer Bedenkzeit. Der Grafik im Paper zufolge würde AlphaZero da deutlich in Nachteil kommen.

Die Präsentation des Projekts im Paper ist anscheinend üblich, andere Paper über Schachprogramme drucksen ähnlich herum und machen eine Wiederholung sehr schwer (von spezieller Hardware, die keiner von uns hat mal ganz abgesehen). Aber unabhängig davon soll hier (was die Wissenschaft angeht) ein Verfahren beschrieben werden, kein sportlicher Wettkampf.

Das deutliche Ergebnis lässt sich darüber hinaus natürlich toll bewerben und mit etwas Pech ist Schach damit (für die Öffentlichkeit) tot. Stockfish gilt als stärkste Engine, tritt aber nicht bei offiziellen Turnieren an. AlphaZero könnte hier bei Nichtantritt und nicht einmal inoffiziellen Wettkämpfen eine verheerende Wirkung haben.

Hartmut 16.12.2017 00:41

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von applechess (Beitrag 70833)
Hallo Wolfgang
Eine Bestätigung meiner Vermutung, dass allerbeste Bedingungen für Stockfish wohl zu einem besseren Resultat für SF geführt hätten, dass aber über den Sieg von AlphaZero auch dann keine Zweifel entstehen können. Das von AZ demonstrierte Schach in gewissen Stellungen offenbart einen grösseren Fortschritt als derjenige zwischen einem Fidelity Elite V6 zum heutigen Stockfish.
Gruss
Kurt

Das ist halt die Frage. Wie man aus den beiden analsierten Partien auf der Stockfish-Seite sieht machte Stockfish Fehler die im Endeffekt mit Tablebases und Eröffnungsbuch hätten ausgeschaltet werden können. AlphaZero konnte davon natürlich profitieren, denn dadurch kam Stockfish in Situationen, die AlphaZero gut beherrschte. Insofern... ja, nein, vielleicht. Es ist höchst ungewiss, wie ein solcher Wettkampf ausgegangen wäre.

Andererseits... selbst wenn AlphaZero gegen einen bestens konfigurierten Stockfish nicht gewonnen hätte... dann hätte man eben noch 2-3 Stunden Training drangehängt und spätestens dann hätte Stockfish auch bestens konfiguriert kein Land mehr gesehen. Gerade Wolfgangs Beispiel zeigt, dass Stockfish manche Dinge einfach nicht sehen kann, weil zugunsten von Geschwindigkeit der Suchbaum oft zu früh beschnitten wird.

Das sind aber genau die Stellungen, die man braucht um gegen einen Stockfish zu gewinnen. Du sagtest mir einmal dass Dir Fernschach nicht mehr so viel Spaß macht, wegen der Maschinendominanz. Spätestens wenn man die Partien von AlphaZero sieht, kann man vielleicht erahnen, warum mir hingegen Fernschach immer noch Spaß macht. Weil ich gerne experimentiere und nicht alles der Maschine überlasse. Weil ich gerne selber versuche Stellungen herbeizuführen, die die Kiste nicht begreift. In dem oben geposteten Link zu den Chessbase-Analysen wurde gesagt dass AlphaZero Französisch für schlecht für Schwarz hält. Nun... ich weiss nicht ob es stimmt. Im Fernschach jedoch weiss ich dass meine Gegner sich auf den Compi verlassen und freue mich über jeden, der Französisch gegen mich spielt.

Bei unseren Bretties haben wir oft festgestellt: Sie verstehen Französisch nicht. Daran hat sich auch bei Stockfish und Co nichts geändert. Sie verstehen es immer noch nicht. Es ist schwerer geworden, weil die taktische Rechentiefe uns Menschen vor gewaltige, teils unlösbare Probleme stellt und der kleinste Fehler eine lange Planung mit einem Zug zerstören kann. Deswegen könnten wir im Turnierschach gegen die Kisten auch nicht gewinnen. Aber wenn man mit Enginehilfe verschiedene Varianten durchspielt, merkt man immer noch dass die Maschine die Eröffnung nicht fehlerfrei spielen kann und einige Dinge nicht durchschaut. Verlässt sich der Fernschachgegner dann nur auf die Engine, kann er die Partie eigentlich gleich abschreiben.

Gerade aus dieser Sichtweise heraus, ist es schon enorm, was hier geschaffen wurde. Und wie ich schon vorher einmal sagte: Es ist eigentlich egal, ob Alpha Zero jetzt 64:36 gewonnen hat, oder ob es niedriger gewesen wäre. Entscheidend ist für mich einerseits dass es in dieser kurzen Zeit möglich war und vor allem der Gewinn, der für das Schachspiel als solches erzielt wurde. Entscheidend ist bei Ansicht der Partien nicht dass sie gewonnen wurden, sondern wie sie gewonnen wurden. Und gerade das ist für mich der große Gewinn. Ein Programm das die taktische Tiefe eines Stockfish einerseits erreicht, andererseits aber auch das postionelle Verständnis mitbringt, dass Stockfish für seine taktischen Fähigkeiten opfern musste.

Wenn man das ganze jetzt noch auf normaler Hardware unterbringen könnte... (mir doch egal, ob ich das Programm jetzt 4 Stunden oder 4 Monate trainieren müsste... die Stockfish-Programmierer brauchen sicherlich länger... bzw. müssten das Programm komplett neu schreiben um so eine Mischung aus Taktik und Wissen zu erhalten). Auf jeden Fall wird es die Programmiererwelt aufgerüttelt haben und vielleicht neue Wege weisen. DeepMind wird sich vermutlich eher anderen Aufgaben zuwenden. Sowas wie ein Schachprogramm kommerziell zu vertreiben liegt wohl eher weniger in ihrem Fokus.

applechess 16.12.2017 13:13

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von Hartmut (Beitrag 70845)
Das ist halt die Frage. Wie man aus den beiden analsierten Partien auf der Stockfish-Seite sieht machte Stockfish Fehler die im Endeffekt mit Tablebases und Eröffnungsbuch hätten ausgeschaltet werden können. AlphaZero konnte davon natürlich profitieren, denn dadurch kam Stockfish in Situationen, die AlphaZero gut beherrschte. Insofern... ja, nein, vielleicht. Es ist höchst ungewiss, wie ein solcher Wettkampf ausgegangen wäre.

Andererseits... selbst wenn AlphaZero gegen einen bestens konfigurierten Stockfish nicht gewonnen hätte... dann hätte man eben noch 2-3 Stunden Training drangehängt und spätestens dann hätte Stockfish auch bestens konfiguriert kein Land mehr gesehen. Gerade Wolfgangs Beispiel zeigt, dass Stockfish manche Dinge einfach nicht sehen kann, weil zugunsten von Geschwindigkeit der Suchbaum oft zu früh beschnitten wird.

Dem kann man nur zustimmen.

Zitieren:

Das sind aber genau die Stellungen, die man braucht um gegen einen Stockfish zu gewinnen. Du sagtest mir einmal dass Dir Fernschach nicht mehr so viel Spaß macht, wegen der Maschinendominanz. Spätestens wenn man die Partien von AlphaZero sieht, kann man vielleicht erahnen, warum mir hingegen Fernschach immer noch Spaß macht. Weil ich gerne experimentiere und nicht alles der Maschine überlasse. Weil ich gerne selber versuche Stellungen herbeizuführen, die die Kiste nicht begreift. In dem oben geposteten Link zu den Chessbase-Analysen wurde gesagt dass AlphaZero Französisch für schlecht für Schwarz hält. Nun... ich weiss nicht ob es stimmt. Im Fernschach jedoch weiss ich dass meine Gegner sich auf den Compi verlassen und freue mich über jeden, der Französisch gegen mich spielt.
Als Französisch-Spieler tun mir solche Aussagen weh :) Vielleicht könnten wir ja bei irgend einer Gelegenheit, wenn deine grossen Turniere gelaufen sind, mal formlos ein solches Match für/gegen die Französische Verteidigung auf dem ICCF-Server durchführen. Da würde ich mich bestimmt wahnsinnig anstrengen, um deinen Optimismus ad absurdum zu führen :)

Zitieren:

Bei unseren Bretties haben wir oft festgestellt: Sie verstehen Französisch nicht. Daran hat sich auch bei Stockfish und Co nichts geändert. Sie verstehen es immer noch nicht. Es ist schwerer geworden, weil die taktische Rechentiefe uns Menschen vor gewaltige, teils unlösbare Probleme stellt und der kleinste Fehler eine lange Planung mit einem Zug zerstören kann. Deswegen könnten wir im Turnierschach gegen die Kisten auch nicht gewinnen. Aber wenn man mit Enginehilfe verschiedene Varianten durchspielt, merkt man immer noch dass die Maschine die Eröffnung nicht fehlerfrei spielen kann und einige Dinge nicht durchschaut. Verlässt sich der Fernschachgegner dann nur auf die Engine, kann er die Partie eigentlich gleich abschreiben.

Gerade aus dieser Sichtweise heraus, ist es schon enorm, was hier geschaffen wurde. Und wie ich schon vorher einmal sagte: Es ist eigentlich egal, ob Alpha Zero jetzt 64:36 gewonnen hat, oder ob es niedriger gewesen wäre. Entscheidend ist für mich einerseits dass es in dieser kurzen Zeit möglich war und vor allem der Gewinn, der für das Schachspiel als solches erzielt wurde. Entscheidend ist bei Ansicht der Partien nicht dass sie gewonnen wurden, sondern wie sie gewonnen wurden. Und gerade das ist für mich der große Gewinn. Ein Programm das die taktische Tiefe eines Stockfish einerseits erreicht, andererseits aber auch das postionelle Verständnis mitbringt, dass Stockfish für seine taktischen Fähigkeiten opfern musste.
Noch immer bin ich teilweise erschlagen ob der Spielweise von Alpha Zero.

Zitieren:

Wenn man das ganze jetzt noch auf normaler Hardware unterbringen könnte... (mir doch egal, ob ich das Programm jetzt 4 Stunden oder 4 Monate trainieren müsste... die Stockfish-Programmierer brauchen sicherlich länger... bzw. müssten das Programm komplett neu schreiben um so eine Mischung aus Taktik und Wissen zu erhalten). Auf jeden Fall wird es die Programmiererwelt aufgerüttelt haben und vielleicht neue Wege weisen. DeepMind wird sich vermutlich eher anderen Aufgaben zuwenden. Sowas wie ein Schachprogramm kommerziell zu vertreiben liegt wohl eher weniger in ihrem Fokus.
Ich zweifle, ob dieses Match zu neuen Erkenntnissen für die Programmierung nach der herkömmlichen Art führen wird. KI-basiertes Lernen lässt sich so wohl nicht in übliche Schachprogramme implementieren und dürfte insbesondere höchste Ansprüche an die Hardware voraussetzen, Hardware die den normalen Usern nie zur Verfügung stehen wird. Hoffentlich irre ich mich mit dieser Beurteilung :)

Hartmut 16.12.2017 15:00

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Zitieren:

Zitat von applechess (Beitrag 70848)
Als Französisch-Spieler tun mir solche Aussagen weh :) Vielleicht könnten wir ja bei irgend einer Gelegenheit, wenn deine grossen Turniere gelaufen sind, mal formlos ein solches Match für/gegen die Französische Verteidigung auf dem ICCF-Server durchführen. Da würde ich mich bestimmt wahnsinnig anstrengen, um deinen Optimismus ad absurdum zu führen :)

Naja, ich sag ja nicht, dass man deswegen als Weisser immer gewinnen kann. Aber die Chancen steigen schon enorm an, wenn der Gegner sich ausschließlich als Enginebediener verdingt. Aber ja, ich wäre bei einem solchen Match gerne dabei.


Zitieren:

Ich zweifle, ob dieses Match zu neuen Erkenntnissen für die Programmierung nach der herkömmlichen Art führen wird. KI-basiertes Lernen lässt sich so wohl nicht in übliche Schachprogramme implementieren und dürfte insbesondere höchste Ansprüche an die Hardware voraussetzen, Hardware die den normalen Usern nie zur Verfügung stehen wird. Hoffentlich irre ich mich mit dieser Beurteilung :)
Naja, ich bin da zuversichtlich. Neuronale Netze kann man auch auf handelsüblichen Rechnern aufbauen. Nicht jede Uni, die sich mit dem Thema beschäftigt hat zich Spezialrechner zur Verfügung. Zudem werden die Rechner ja immer schneller, die Speicher immer größer, etc. Ich hab noch auf alten 386er-Rechnern und 486-ern gegen MChess gespielt und wenn ich mir dagegen heute ansehe mit was für Kisten z.B. die TCEC-Turniere durchgeführt werden (44 Kerne...). Hätte ich solche Rechenleistung damals gesehen, hätte ich vermutlich gedacht Star Trek ist Wirklichkeit geworden. Insofern... es wird nicht von heute auf morgen gehen, aber lass mal noch ein paar Jahre ins Land gehen...

kgvetter 18.12.2017 20:46

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Hallo Hartmut und sonstige Schachinteressierte, also alle.

Ich gehe im Fernschach ähnlich vor wie Du und glaube den engines nicht alle Vorschläge. Hier eine Partie, die noch läuft, weswegen ich die Partiedaten im pgn-Kopf weggelassen habe. An 3 Stellen in der Partie hätten die engines ins remis verpatzt!

<!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>,aeromotor</o:Author> <o:Version>16.00</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings> </xml><![endif]--> (1) Vetter,Gerhard (2327) - ................. (2318) [E11]


[,aeromotor]
1.d4 Sf6 2.c4 e6 3.Sf3 d5 4.g3 Lb4+ 5.Ld2 Le7 6.Lg2 c6 7.0–0 0–0 8.Sa3N der Zug ist nicht besser oder schlechter als andere, die in dieser Stellung gespielt worden sind, dient aber dem Zweck, den Gegner von theoretischen Pfaden abzuschneiden. 8...Se4 9.Lf4 Sd7 10.Dc2 g5 11.Le3 f5 12.Tad1 De8 13.Sb1 Dg6 14.Sc3 Sd6 15.b3 dxc4 16.Se5 Sxe5 17.dxe5 Sf7 18.f4 gxf4 19.gxf4 cxb3 20.axb3 Kh8 21.Kh1 Sh6 22.Lg1 Tg8 23.Lf3 Sg4 24.e4 Df7 25.Se2 fxe4 26.Lxe4 c5 27.b4! Ein Bauernopfer auf Position, welches im ersten Moment paradox anmutet. Weiss läßt die Bildung dreier Freibauern am Damenflügel zu mit der Kompensation, die Dame nach c7 bringen zu können. 27...cxb4 28.Tf3 Sh6 29.Th3 Sf5 30.Dc7 die Dame hat ihr angestrebtes Feld erreicht. 30...Dg7 31.Lf2 Lf8 32.Dxg7+ Txg7 33.Td8 Tg8 34.Sd4 [34.Lxf5? ist der Vorschlag der engines, aber exf5 35.e6 Lxe6 36.Ld4+ Lg7 37.Lxg7+ Kxg7 38.Tg3+ Kh6 39.Tgxg8 Lxg8 40.Txa8 Lc4 41.Sd4 b3 42.Sxb3 Lxb3 43.Txa7 Ld5+ 44.Kg1 Kh5 45.Ta5 Le4 46.h3 Kh4 versandet im remis] 34...b3 35.Sxe6 Lxe6 36.Txa8 b2 37.Td8 Lh6 38.Td2 Sd4 39.Te3 Lxf4 40.Txd4 Lxe3 41.Lxe3 b5 42.Td2 Tg4 43.Lb1 a5 44.h3 Tg3 45.Lf2 schwer zu finden [45.Ld4 gibt wieder den Gewinn aus der Hand wegen 45...a4 46.Txb2 b4 47.h4 a3 48.Txb4 Tg4 49.h5 Kg8 50.Tb8+ Kg7 51.Lc3 a2 52.Tb7+ Kf8 53.Lxa2 Lxa2 54.Txh7 Kg8 55.Th6 Lf7 56.e6 Lxe6 57.Txe6 Th4+ 58.Kg2 Txh5] 45...Txh3+ [45...Tb3 war etwas schwerer zu widerlegen, aber 46.Ld4 Txh3+ 47.Kg2 sollte auch hier Klarheit schaffen] 46.Kg2 a4 47.Td6 [47.Txb2 wäre wiederum voreilig wegen 47...a3 48.Txb5 Tc3 49.Ta5 Tc1 50.Ld3 a2 51.Ld4 Td1 52.Ta3 h5] 47...Th6 48.Lc5 Kg7 49.La3 Kf7 50.Lxb2 Th4 51.Td4 Txd4 52.Lxd4 h5 53.Kg3 alle engines (außer Komodo) sehen immer noch nur minimalen Vorteil für weiss, obwohl die Stellung strategisch gewonnen ist 53...Ld7 [53...b4 sieht wie eine letzte Chance aus, wird aber von 54.Kh4 mit folgendem Kg5 widerlegt ähnlich wie in der Partie.] 54.Le4 Ke6 55.Kf4 Das Kronjuwel, der Bauer auf e5, ist vom König zuverlässig gedeckt. 55...Le8 56.Lc5 h4 57.Ld6 Lh5 58.Kg5 Le8 59.Lf5+ Kd5 60.Kf6 Lc6 61.Lc8 Le8 62.Lb7+ Kc4 63.e6 h3 64.Ke7 Lh5 65.Lc6 mit gewonnener Stellung


Es wäre interessant zu wissen, wie die selbstlernende KI mit der Partie umgegangen wäre, aber wahrscheinlich wäre es garnicht zu den kritischen Stellungen gekommen!


Gerhard

<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>DE</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false" DefSemiHidden="false" DefQFormat="false" DefPriority="99" LatentStyleCount="375"> <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 6"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 7"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 8"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index 9"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" Name="toc 9"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Normal Indent"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="footnote text"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="annotation text"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="header"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="footer"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="index heading"/> <w:LsdException Locked="false" Priority="35" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="caption"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="table of figures"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="envelope address"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="envelope return"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="footnote reference"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="annotation reference"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="line number"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="page number"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="endnote reference"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="endnote text"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="table of authorities"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="macro"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="toa heading"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Bullet"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Number"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Bullet 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Bullet 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Bullet 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Bullet 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Number 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Number 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Number 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Number 5"/> <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Closing"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Signature"/> <w:LsdException Locked="false" Priority="1" SemiHidden="true" UnhideWhenUsed="true" Name="Default Paragraph Font"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text Indent"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Continue"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Continue 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Continue 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Continue 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="List Continue 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Message Header"/> <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Salutation"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Date"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text First Indent"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text First Indent 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Note Heading"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text Indent 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Body Text Indent 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Block Text"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Hyperlink"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="FollowedHyperlink"/> <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Document Map"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Plain Text"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="E-mail Signature"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Top of Form"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Bottom of Form"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Normal (Web)"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Acronym"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Address"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Cite"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Code"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Definition"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Keyboard"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Preformatted"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Sample"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Typewriter"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="HTML Variable"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Normal Table"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="annotation subject"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="No List"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Outline List 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Outline List 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Outline List 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Simple 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Simple 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Simple 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Classic 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Classic 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Classic 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Classic 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Colorful 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Colorful 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Colorful 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Columns 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Columns 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Columns 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Columns 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Columns 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 6"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 7"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Grid 8"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 4"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 5"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 6"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 7"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table List 8"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table 3D effects 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table 3D effects 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table 3D effects 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Contemporary"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Elegant"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Professional"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Subtle 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Subtle 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Web 1"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Web 2"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Web 3"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Balloon Text"/> <w:LsdException Locked="false" Priority="39" Name="Table Grid"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Table Theme"/> <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" Name="Light List"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/> <w:LsdException Locked="false" Priority="34" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" SemiHidden="true" UnhideWhenUsed="true" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" SemiHidden="true" UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/> <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/> <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/> <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/> <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/> <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/> <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light Accent 1"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful Accent 1"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful Accent 1"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light Accent 2"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful Accent 2"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful Accent 2"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light Accent 3"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful Accent 3"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful Accent 3"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light Accent 4"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful Accent 4"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful Accent 4"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light Accent 5"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful Accent 5"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful Accent 5"/> <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light Accent 6"/> <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/> <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/> <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/> <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/> <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful Accent 6"/> <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful Accent 6"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light Accent 1"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful Accent 1"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful Accent 1"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light Accent 2"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful Accent 2"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful Accent 2"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light Accent 3"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful Accent 3"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful Accent 3"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light Accent 4"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful Accent 4"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful Accent 4"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light Accent 5"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful Accent 5"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful Accent 5"/> <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light Accent 6"/> <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/> <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/> <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/> <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/> <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful Accent 6"/> <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful Accent 6"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Mention"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Smart Hyperlink"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Hashtag"/> <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" Name="Unresolved Mention"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Normale Tabelle"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0cm; line-height:107%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-fareast-language:EN-US;} </style> <![endif]-->

Hartmut 18.12.2017 22:22

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Hallo Gerhard. Ich habe mir mal erlaubt, deine sehr interessante Partie in unser pgn2-Format zu bringen, damit interessierte sie auch nachspielen können.


[Site "?"]
[Date "2017.12.09"]
[Round "?"]
[White "Vetter, Gerhard"]
[Black "NN"]
[Result "?"]
[ECO "?"]
[WhiteElo "2327"]
[BlackElo "2318"]
[Annotator "Vetter, Gerhard"]
[PlyCount "?"]
[EventDate "2017.??.??"]

1. d4 Nf6 2. c4 e6 3. Nf3 d5 4. g3 Bb4+ 5. Bd2 Be7 6. Bg2 c6 7. 0-0 0-0 8. Na3 {Neuerung. Der Zug ist nicht besser oder schlechter als andere, die in dieser Stellung gespielt worden sind, dient aber dem Zweck, den Gegner von theoretischen Pfaden abzuschneiden.} Ne4 9. Bf4 Nd7 10. Qc2 g5 11. Be3 f5 12. Rad1 Qe8 13. Nb1 Qg6 14. Nc3 Nd6 15. b3 dxc4 16. Ne5 Nxe5 17. dxe5 Nf7 18. f4 gxf4 19. gxf4 cxb3 20. axb3 Kh8 21. Kh1 Nh6 22. Bg1 Rg8 23. Bf3 Ng4 24. e4 Qf7 25. Ne2 fxe4 26. Bxe4 c5 27. b4! {Ein Bauernopfer auf Position, welches im ersten Moment paradox anmutet. Weiss läßt die Bildung dreier Freibauern am Damenflügel zu mit der Kompensation, die Dame nach c7 bringen zu können.} cxb4 28. Rf3 Nh6 29. Rh3 Nf5 30. Qc7 {die Dame hat ihr angestrebtes Feld erreicht.} Qg7 31. Bf2 Bf8 32. Qxg7+ Rxg7 33. Rd8 Rg8 34. Nd4 {[34.Lxf5? ist der Vorschlag der engines, aber exf5 35.e6 Lxe6 36.Ld4+ Lg7 37.Lxg7+ Kxg7 38.Tg3+ Kh6 39.Tgxg8 Lxg8 40.Txa8 Lc4 41.Sd4 b3 42.Sxb3 Lxb3 43.Txa7 Ld5+ 44.Kg1 Kh5 45.Ta5 Le4 46.h3 Kh4 versandet im remis]} b3 35. Nxe6 Bxe6 36. Rxa8 b2 37. Rd8 Bh6 38. Rd2 Nd4 39. Re3 Bxf4 40. Rxd4 Bxe3 41. Bxe3 b5 42. Rd2 Rg4 43. Bb1 a5 44. h3 Rg3 45. Bf2 {schwer zu finden [45.Ld4 gibt wieder den Gewinn aus der Hand wegen 45...a4 46.Txb2 b4 47.h4 a3 48.Txb4 Tg4 49.h5 Kg8 50.Tb8+ Kg7 51.Lc3 a2 52.Tb7+ Kf8 53.Lxa2 Lxa2 54.Txh7 Kg8 55.Th6 Lf7 56.e6 Lxe6 57.Txe6 Th4+ 58.Kg2 Txh5]} Rxh3+ {[45...Tb3 war etwas schwerer zu widerlegen, aber 46.Ld4 Txh3+ 47.Kg2 sollte auch hier Klarheit schaffen]} 46. Kg2 a4 47. Rd6 {[47.Txb2 wäre wiederum voreilig wegen 47...a3 48.Txb5 Tc3 49.Ta5 Tc1 50.Ld3 a2 51.Ld4 Td1 52.Ta3 h5]} 47. Rh6 48. Bc5 Kg7 49. Ba3 Kf7 50. Bxb2 Rh4 51. Rd4 Rxd4 52. Bxd4 h5 53. Kg3 {alle engines (außer Komodo) sehen immer noch nur minimalen Vorteil für weiss, obwohl die Stellung strategisch gewonnen ist } Bd7 {[53...b4 sieht wie eine letzte Chance aus, wird aber von 54.Kh4 mit folgendem Kg5 widerlegt ähnlich wie in der Partie.]} 54. Be4 Ke6 55. Kf4 {Das Kronjuwel, der Bauer auf e5, ist vom König zuverlässig gedeckt.} Be8 56. Bc5 h4 57. Bd6 Bh5 58. Kg5 Be8 59. Bf5+ Kd5 60. Kf6 Bc6 61. Bc8 Be8 62. Bb7+ Kc4 63. e6 h3 64. Ke7 Bh5 65. Bc6 {mit gewonnener Stellung}


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:23 Uhr.

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