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)

kgvetter 19.12.2017 03:25

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Hallo Hartmut,

danke für die Konversion, sieht natürlich viel besser aus...

Gerhard

Doubledizzy 19.12.2017 10:36

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
1 Anhang/Anhänge
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).


Hm... guckt euch das Bild mal an - ist etwas klein, aber ich denke, man sieht was.

Gruß
Tom(mi)

Wolfgang2 19.12.2017 11:28

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
1 Anhang/Anhänge
Zitieren:

Zitat von Doubledizzy (Beitrag 70884)
Hm... guckt euch das Bild mal an - ist etwas klein, aber ich denke, man sieht was.

Gruß
Tom(mi)

Auf meinem Bild sieht man besser, dass das stimmt, was ich gepostet habe. ;)
Ob Stockfish 32bit sich anders verhält als die 64bit-Version ?
Vielleicht wird Lc1-g5 erkannt - und wieder verworfen !?

Eher vermute ich bei Deinem SF8 eine andere Einstellung:
Denn "nur" Tiefe 37/72 bei 14,7 Mrd Knoten fallen auf. Wie meinem Bild (letzte Zeile) zu entnehmen ist, wurden bei 28,9 Mrd Knoten bereits 50/82+ angezeigt.

Theo 19.12.2017 12:05

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

Zitat von Doubledizzy (Beitrag 70884)
Hm... guckt euch das Bild mal an - ist etwas klein, aber ich denke, man sieht was.

Gruß
Tom(mi)

Interessant! D.h. Stockfish kann den Zug zumindest teilweise nachvollziehen.

Doubledizzy 19.12.2017 13:33

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
1 Anhang/Anhänge
Zitieren:

Zitat von Wolfgang2 (Beitrag 70886)
Auf meinem Bild sieht man besser, dass das stimmt, was ich gepostet habe. ;)
Ob Stockfish 32bit sich anders verhält als die 64bit-Version ?
Vielleicht wird Lc1-g5 erkannt - und wieder verworfen !?

Eher vermute ich bei Deinem SF8 eine andere Einstellung:
Denn "nur" Tiefe 37/72 bei 14,7 Mrd Knoten fallen auf. Wie meinem Bild (letzte Zeile) zu entnehmen ist, wurden bei 28,9 Mrd Knoten bereits 50/82+ angezeigt.


Bei mir findet die 32-Version den Lg5 auch nicht!
Einstellungen sind nicht gemacht worden – so wie SF8 ist entpackt
und unter UCI installiert im Programm Arena 3.5.1.

Wie Theo schon schrieb – interessant!

@Wolfgang:
Das sollte auch keine Kritik an Deiner Aussage sein, nur Darstellung von Fakten.
Und diese sind sehenswert.

Gruß
Tom(mi)

spacious_mind 19.12.2017 15:02

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

Zitat von Wolfgang2 (Beitrag 70886)
Auf meinem Bild sieht man besser, dass das stimmt, was ich gepostet habe. ;)
Ob Stockfish 32bit sich anders verhält als die 64bit-Version ?
Vielleicht wird Lc1-g5 erkannt - und wieder verworfen !?

Eher vermute ich bei Deinem SF8 eine andere Einstellung:
Denn "nur" Tiefe 37/72 bei 14,7 Mrd Knoten fallen auf. Wie meinem Bild (letzte Zeile) zu entnehmen ist, wurden bei 28,9 Mrd Knoten bereits 50/82+ angezeigt.

Hallo Wolfgang,

SF8 hat macken in sein search! Er zeigt Bg5 als den 4ten besten Zug.

38/71 3:41:08 102,925,643k 7,757k 0.00 1.Bg5 f5 2.Qf4 hxg5 3.Nxg5 Qxh5 4.Bf3 Qg6 5.Kg2 Kg8 6.Re7 Qd6 7.Qh4 Qh6 8.Qf4 Qd6
38/71 3:41:08 102,925,643k 7,757k 0.00 1.Nc3 Bd3 2.b4 Bf5 3.Qe2 Be6 4.Bf4 d5 5.Rad1 Qf5 6.b5 Na5 7.bxc6 Nbxc6 8.Nxd5 Rad8 9.Be4 Qh3 10.Bxh6 Bxd5 11.Bxd5 gxh6 12.Qf3 Kh7 13.Be4+ Kg8 14.Bxc6 Nxc6 15.Qxc6 Qxh5 16.Rxd8 Rxd8 17.Qc7 Rd1 18.Qc8+ Kg7 19.Qc3+ Kg8 20.Qc8+
38/71 3:41:08 102,925,643k 7,757k 0.00 1.b3 d5 2.Ba3 Rd8 3.Nd2 Nc5 4.Nf3 Nbd7 5.Bxc5 bxc5 6.Qf4 Bd3 7.Qxf7 Qf5 8.Qxf5 Bxf5 9.Nh4 Bg4 10.Ng6+ Kh7 11.Ne7 Re8 12.Nxc6 Rxe1+ 13.Rxe1 Nf6 14.Re5 a5 15.Ne7 Re8 16.f4 Nd7 17.Re1 Nf6 18.Re5
38/71 3:41:08 102,925,643k 7,757k +0.24 1.b4 d5 2.Nd2 Bd3 3.Bb2 Nd8 4.Nf3 Bf5 5.Qh4 Nd7 6.Nd4 Nf6 7.b5 c5 8.Nxf5 Qxf5 9.Bxf6 gxf6 10.Rad1 Qg5 11.Qa4 Ne6 12.Bxd5 Nd4 13.Bxa8 Rxa8 14.Rxd4 cxd4 15.Qxd4 Rc8 16.Kg2 Kg7 17.Rh1 Rc1 18.Rxc1 Qxc1 19.a4 Qg5 20.g4 Qe5 21.Qxe5 fxe5 22.Kh3 Kh7 23.Kh4 f6 24.Kg3 Kg7 25.Kf3 Kf7 26.Ke3 Ke6

Spiele mal vorwaetz ein Paar zuege 1. bg5! f5 2. Qf4 dann sieht er es schnell das er verliert nach den Zug mit unter 30 ply. Das bedeutet mit normale rechnung sollte er den Zug Bg5 sehen. Da er Ihn nicht sieht bedeutet er hat Fehler in seine search methoden oder andere macken wie vielleicht im cache... Wer weiss.

Alpha zeigt schon schoen die Macken aber mit der Rechentiefe die SF hat muesste er es alles selber sehen koenen.

Das gleiche mit dein anderen Beispiiel auf seite 6 in diesen Post.

37/74 4:18:52 138,402,631k 8,911k -0.06 g3-g4 Rd8-f8 Rd5-d1 Qh8-e5 Rf3-e3 Qe5-f6 Re3xe7 Qf6xe7 Qb4-d4 Nc5-e6 Bb3xe6 f7xe6 Qd4xd7 Qe7-f6 f2-f4 g6-g5 Rd1-d6 g5xf4 Qd7xe6+ Qf6xe6 Rd6xe6 f4-f3+ Kg2-f2 Rf8-f4 Re6-e7 Rf4xg4 Re7xa7 Rg4-h4 Kf2xf3 Rh4xh6 a2-a4 Rh6-f6+ Kf3-g4 Rf6-f7 Ra7-a8+ Kg8-g7 a4-a5 b6xa5 Ra8xa5 Rf7-f6 Kg4-g5 h7-h6+ Kg5-h5 Rf6-c6 Ra5-a4 Kg7-f7 Ra4-a7+ Kf7-f6 Ra7-a5 Rc6-b6 Ra5-a7 Rb6-d6 Ra7-a3 Rd6-c6 Ra3-f3+ Kf6-g7
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5-d4 Kg8-f8 Rd4-d5 f7-f5 Qb4-f4 Rd8-c8 g3-g4 Qh8-f6 Rd5-d6 Nc5-e6 Qf4-d2 Qf6-g5 Qd2-b2 Qg5xg4+ Kg2-h2 Qg4-h4+ Kh2-g2 Qh4-g4+
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5-d2 Kg8-f8 Rd2-d5 f7-f5 Qb4-f4 Rd8-c8 g3-g4 Qh8-f6 Rd5-d6 Nc5-e6 Qf4-d2 Qf6-g5 Qd2-b2 Qg5xg4+ Kg2-h2 Qg4-h4+ Kh2-g2 Qh4-g4+
37/74 4:18:52 138,402,631k 8,911k 0.00 Bb3-d1 Kg8-f8 Bd1-b3 f7-f5 Qb4-f4 Rd8-c8 g3-g4 Qh8-f6 Rd5-d6 Nc5-e6 Qf4-d2 Qf6-g5 Qd2-b2 Qg5xg4+ Kg2-h2 Qg4-h4+ Kh2-g2 Qh4-g4+
37/74 4:18:52 138,402,631k 8,911k 0.00 Rf3-c3 Kg8-f8 Rc3-f3 f7-f5 Qb4-f4 Rd8-c8 g3-g4 Qh8-f6 Rd5-d6 Nc5-e6 Qf4-d2 Qf6-g5 Qd2-b2 Qg5xg4+ Kg2-h2 Qg4-h4+ Kh2-g2 Qh4-g4+
37/74 4:18:52 138,402,631k 8,911k 0.00 Rf3-d3 Kg8-f8 Rd3-f3 f7-f5 Qb4-f4 Rd8-c8 g3-g4 Qh8-f6 Rd5-d6 Nc5-e6 Qf4-d2 Qf6-g5 Qd2-b2 Qg5xg4+ Kg2-h2 Qg4-h4+ Kh2-g2 Qh4-g4+
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5xc5 b6xc5 Qb4xc5 Rd8-e8 Bb3xf7+ Re7xf7 Qc5-d5 Re8-f8 Rf3xf7 Rf8xf7 Qd5-a8+ Rf7-f8 Qa8-d5+ Rf8-f7
37/74 4:18:52 138,402,631k 8,911k 0.00 Qb4-g4 Nc5xb3 a2xb3 Qh8-b2 Qg4-f4 Rd8-e8 Rf3-d3 d7-d6 Rd3-d2 Qb2-a1 Rd2-d1 Qa1-c3 Rd1-d3 Qc3-a1 Rd3-d1
37/74 4:18:52 138,402,631k 8,911k 0.00 Kg2-h1 Rd8-e8 Kh1-g2 Qh8-a1 Qb4-f4 Nc5xb3 a2xb3 d7-d6 g3-g4 f7-f5 g4xf5 Re7-f7 Qf4xd6 Qa1-f6 Qd6xf6 Rf7xf6 f5xg6 Rf6xg6+ Rf3-g3 Rg6xg3+ Kg2xg3 Kg8-f7 f2-f4 Kf7-g6 Rd5-d6+ Kg6-f5 Rd6-d7 Re8-e3+ Kg3-h4 Kf5-g6 Rd7-d6+ Kg6-f5 Rd6-d7
37/74 4:18:52 138,402,631k 8,911k 0.00 Bb3-c2 Rd8-e8 Qb4-f4 Re8-f8 Bc2-b3 Nc5xb3 Rf3xb3 Re7-e1 Rd5xd7 Qh8-a1 Rb3-d3 Re1-g1+ Kg2-f3 Rg1-e1 Kf3-g2
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5-g5 d7-d6 Rg5-d5 Kg8-f8 Qb4-c4 Nc5xb3 a2xb3 Qh8-a1 g3-g4 Kf8-g8 Qc4-f4 Rd8-e8 g4-g5 Re8-d8 Rf3-d3 Re7-e1 Rd5xd6 Rd8-f8 Rd6-d8 Qa1-e5 Qf4xe5 Re1xe5 f2-f4 Re5-e1 Kg2-f3 a7-a5 Rd8-d7 Re1-f1+ Kf3-g3 Rf1-g1+ Kg3-f2 Rg1-b1 Kf2-g3 Rb1-g1+
37/74 4:18:52 138,402,631k 8,911k 0.00 a2-a3 Rd8-f8 Qb4-h4 Rf8-e8 Qh4-f4 Nc5xb3 Rf3xb3 f7-f5 Rb3-d3 Qh8-f6 Rd5-d6 Qf6-e5 Qf4-c4+ Kg8-f8 Rd3-d4 Re7-f7 Rd6xd7 Rf7xd7 Rd4xd7 Re8-e7 Rd7-d8+ Re7-e8 Rd8-d7
37/74 4:18:52 138,402,631k 8,911k 0.00 Qb4-b5 Qh8-a1 Qb5-b4 Qa1-h8
37/74 4:18:52 138,402,631k 8,911k 0.00 Kg2-h3 Qh8-a1 Kh3-g2 Qa1-h8
37/74 4:18:52 138,402,631k 8,911k 0.00 Rf3-f4 Qh8-a1 Rf4-f3 Qa1-h8
37/74 4:18:52 138,402,631k 8,911k 0.00 a2-a4 Rd8-f8 a4-a5 Re7-e6 Qb4-b5 Re6-f6 Rf3-e3 Rf6-e6 Re3-f3
37/74 4:18:52 138,402,631k 8,911k 0.00 Bb3-c4 Qh8-a1 Bc4-b3 Qa1-h8
37/74 4:18:52 138,402,631k 8,911k 0.00 Qb4-a3 d7-d6 Qa3-b4 Kg8-f8 Qb4-c4 Nc5xb3 a2xb3 Qh8-a1 g3-g4 Kf8-g8 Qc4-f4 Rd8-e8 g4-g5 Re8-d8 Rf3-d3 Re7-e1 Rd5xd6 Rd8-f8 Rd6-d8 Qa1-e5 Qf4xe5 Re1xe5 f2-f4 Re5-e1 Kg2-f3 a7-a5 Rd8-d7 Re1-f1+ Kf3-g3 Rf1-g1+ Kg3-f2 Rg1-b1 Kf2-g3 Rb1-g1+
37/74 4:18:52 138,402,631k 8,911k 0.00 Kg2-h2 Qh8-a1 Rd5-d1 Qa1-e5 Rd1-d5 Qe5-a1
37/74 4:18:52 138,402,631k 8,911k 0.00 Kg2-f1 Rd8-e8 Kf1-g2 Qh8-a1 Qb4-f4 Nc5xb3 a2xb3 d7-d6 g3-g4 f7-f5 g4xf5 Re7-f7 Qf4xd6 Qa1-f6 Qd6xf6 Rf7xf6 f5xg6 Rf6xg6+ Rf3-g3 Rg6xg3+ Kg2xg3 Kg8-f7 f2-f4 Kf7-g6 Rd5-d6+ Kg6-f5 Rd6-d7 Re8-e3+ Kg3-h4 Kf5-g6 Rd7-d6+ Kg6-f5 Rd6-d7
37/74 4:18:52 138,402,631k 8,911k 0.00 Qb4-c4 Rd8-f8 Qc4-b4 Qh8-a1 Rd5-d1 Qa1-h8 Rd1-d5
37/74 4:18:52 138,402,631k 8,911k 0.00 Kg2-g1 Rd8-e8 Kg1-g2 Qh8-a1 Qb4-f4 Nc5xb3 a2xb3 d7-d6 g3-g4 f7-f5 g4xf5 Re7-f7 Qf4xd6 Qa1-f6 Qd6xf6 Rf7xf6 f5xg6 Rf6xg6+ Rf3-g3 Rg6xg3+ Kg2xg3 Kg8-f7 f2-f4 Kf7-g6 Rd5-d6+ Kg6-f5 Rd6-d7 Re8-e3+ Kg3-h4 Kf5-g6 Rd7-d6+ Kg6-f5 Rd6-d7
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5-d6 Qh8-a1 Rd6-d1 Qa1-e5 Rd1-d5 Qe5-h8
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5-d3 Kg8-f8 Rd3-e3 f7-f5 Re3xe7 Kf8xe7 Rf3-e3+ Ke7-f8 Qb4-h4 Rd8-e8 Qh4-c4 Re8-e6 Qc4-f4 Re6xe3 Qf4-b8+ Re3-e8 Qb8-d6+ Re8-e7 Qd6-b8+ Re7-e8
37/74 4:18:52 138,402,631k 8,911k 0.00 Qb4-h4 Rd8-e8 Qh4-f4 Nc5xb3 a2xb3 Qh8-b2 Rf3-d3 d7-d6 Rd3-d2 Qb2-a1 Rd2-d1 Qa1-c3 Rd1-d3 Qc3-a1 Rd3-d1
37/74 4:18:52 138,402,631k 8,911k 0.00 Rd5-d1 Qh8-e5 Rd1-d5 Qe5-h8
37/74 4:18:52 138,402,631k 8,911k 0.00 Qb4-d2 Qh8-a1 Qd2-f4 Rd8-f8 Rd5-d1 Qa1-b2 Rd1-d5 Re7-e4 Qf4-c7 Re4-e7 Qc7xa7 Nc5xb3 a2xb3 Qb2-b1 Qa7xb6 Re7-e1 Rf3-d3 Re1-h1 Rd3-d1 Rh1xd1 Rd5xd1 Qb1xd1 Qb6-f6 Qd1-d5+ Kg2-g1 Qd5-d1+ Kg1-g2
37/74 4:18:52 138,402,631k 8,911k +0.22 Qb4-f4 Rd8-f8 Qf4-d6 Rf8-e8 Qd6-c7 Qh8-b2 Qc7xa7 Qb2-c1 Rd5-e5 Nc5-e6 Qa7xb6 Qc1xh6 Qb6-b4 Kg8-h8 Qb4-d6 g6-g5 Kg2-g1 Kh8-g7 Re5-d5 g5-g4 Rf3-e3 Ne6-g5 Qd6xh6+ Kg7xh6 Re3xe7 Re8xe7 Kg1-g2 Re7-e2 Rd5-d6+ f7-f6 Rd6xf6+ Kh6-g7 Rf6-d6 Re2xf2+ Kg2xf2 Ng5-e4+ Kf2-e3 Ne4xd6 Ke3-f4 Nd6-b5 Bb3-a4 Nb5-c3 Ba4xd7 Nc3xa2 Kf4xg4 Na2-b4 Bd7-f5

Er sieht den schoenen Zug Rxc5! einfach nicht weil er Ihn als zweit besten Zug bewertet zusammen mit 27 andere Kandidaten. Gleiche search Macke!

Spiele nach vorne diese 5 Zuege: 1. Rxc5 bxc5 2. Qh4 Rde8 3. Rf6

Dann sieht SF es mit schon 25 ply. Also 5+25 ply = 30 ply = unter 1 minute rechen zeit.

25/56 00:03 30,456k 9,339k -8.18 Re8-f8 Qh4-f4 d7-d5 Bb3xd5 Re7-d7 Bd5-c4 Rd7-c7 Qf4-d6 Rf8-e8 Bc4-d5 c5-c4 g3-g4 c4-c3 g4-g5 Qh8xf6 Qd6xf6 Kg8-f8 Qf6-g7+ Kf8-e7 Bd5xf7 Ke7-d8 Bf7xe8 Rc7xg7 h6xg7 c3-c2 Be8xg6 c2-c1Q g7-g8Q+ Kd8-c7 Qg8-g7+ Kc7-d8 Qg7-h8+ Kd8-d7 Qh8-e8+ Kd7-d6 Qe8-d8+ Kd6-e6 Qd8-f6+ Ke6-d7 Bg6-f5+ Kd7-e8 Qf6-e5+ Ke8-f8 Qe5-h8+ Kf8-e7 Qh8xh7+ Ke7-d6

3 Sekunden Rechenzeit fuer 25 ply. Er selber bewerten den gespielten zug im match Rf8? mit minus -8.18 nach 3 sekunden und zeigt selber den Zug Kf8! als beste verteidigung. Daher auch in dieses spiel hat der SF einiege search Fehler.

Es ist gut das Alpha diese Fehler findet aber bis jetzt sehe ich nicht wieso ein programm mit 30+ ply rechnungen sie selber nicht findet. Ich denke mal das Alpha programmierer es herausgefunden haben die Fehler von den besten heutigen search engines zu exploitieren mit Ihren system. Alle besten heutigen search engines benuetzen ziemlich die gleichen search methoden. Daher koennte mann vermuten das sie alle die gleichen macken haben :)

Gruss

Nick

Hartmut 19.12.2017 15:50

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

Zitat von Wolfgang2 (Beitrag 70886)
Auf meinem Bild sieht man besser, dass das stimmt, was ich gepostet habe. ;)
Ob Stockfish 32bit sich anders verhält als die 64bit-Version ?
Vielleicht wird Lc1-g5 erkannt - und wieder verworfen !?

Eher vermute ich bei Deinem SF8 eine andere Einstellung:
Denn "nur" Tiefe 37/72 bei 14,7 Mrd Knoten fallen auf. Wie meinem Bild (letzte Zeile) zu entnehmen ist, wurden bei 28,9 Mrd Knoten bereits 50/82+ angezeigt.

OK, dann will ich bei Dir und Doubledizzy mal etwas zur Aufklärung beitragen

Nein, im Grunde verhält sich die 32bit-Version von Stockfish 8 nicht viel anders als die 64bit-Version. Abgesehen davon, dass bei gleichem Prozessor die 64bitVersion etwa um Faktor 4 schneller ist.

Was auffällt ist die Anzahl der untersuchten Züge in Verbindung mit der Suchtiefe, die Stellungsbewertung und das Ergebnis. Ind genau da muss man mal etwas aufklären.

Ihr habt beide dieselbe Stellung analysiert aber auf unterschiedliche Art.

Wolfgang hat die Stellung eingegeben und die Kiste einfach rechnen lassen ohne irgendwelche "Tricks", also so, wie die Kiste in einer Turnierpartie rechnen würde. Ich habe es bei mir ebenfalls ausprobiert und komme zum selben Ergebnis. Stockfish findet Lg5 definitiv nicht. Vermutlich wird der Zug schon früh verworfen und aufgrund der Abschneidungen, die gemacht werden um das Programm auf seine enormen Suchtiefen bringen von der weiteren Suche dann ausgeschlossen. Da hilft es dann auch nicht, wenn ich die Kiste wochenlang bis Tiefe 80 rechnen lasse. Solange kein "fail low" erfolgt, wird der Suchbaum in der Breite nicht erweitert. Erst, wenn jetzt in der Bewertung ein sogenannter "fail low" kommen würde, also die Bewertung des bisher priorisierten Zuges stark abfallen würde, dann werden vorher ausgeschlossene Züge wieder aufgenommen.

Soweit so gut. Warum aber dann das andere Ergebnis bei Tommi? Ganz einfach. Er hat Stockfish gezwungen den Suchbaum auch in der Breite zu erweitern, indem er den Multivariantenmodus (soweit ich der Grafik entnehme mit 5 Varianten) aktiviert hat. Das heisst. Würde Stockfish im Normalmodus vielleicht (geschätzt) 3 Kandidatenzüge tiefer untersuchen (Der Bestmove und vielleicht noch 2 andere), so sind es hier jetzt mindestens 7 (5 Erzwungene Varianten und vielleicht erneut 2 weitere). Der Suchbaum ist damit breiter und der Zug Lg5 wird eben nicht aus dem Suchbaum entfernt. Dadurch dass er dann erzwungenermaßen auch tiefer untersucht wird, findet das Programm dann sogar bald heraus, dass es tatsächlich der Beste Zug ist. Etwas das mit der normalen Suchfunktion nicht gefunden werden kann. Da nun 5 statt 1 Varianten erzwungenermaßen tiefer untersucht werden, ist auch die Zahl der untersuchten Züge (trotz weit geringerer Tiefe) entsprechend hoch, da einfach in der Breite eben mehr Berechnungen anfallen.

Man sieht wie böse es ausgehen kann wenn man den Zugbaum zu früh beschneidet und wie schwer sich auch ein Stockfish damit tut, so einen Zug zu erkennen. Wenn man jetzt begriffen hat, wie diese ganze Abschneiderei funktioniert, dann kann man sich nun vorstellen um wieviel schwieriger es für Stockfish ist, nun zu erkennen, dass der Gegner diesen genialen Zug hat. Er muss ja nun nicht nur diesen Zug finden, sondern er muss im Rahmen seiner eigenen Zugermittlung diesen Zug als mögliche Antwort in Erwäguing ziehen. Und da wird es dann richtig schwierig.

Insgesamt das Problem aller gängiger Schachprogramme. Der Suchbaum wird in der Breite recht früh beschnitten. Dadurch kommen die Programme in unglaubliche Rechentiefen. In 9 von 10 Fällen funktioniert das im Angriff ganz gut. In der Verteidigung klappt es immer noch in 4 von 5 Fällen und das Programm wird durch die frühe Beschneidung im Durchschnitt stärker spielen als wenn es jedesmal einen breiteren Zugbaum berechnen müsste. Aber dann kommt eben dieser eine verflixte 10. Fall (bzw. 5. Fall) und es geht ganz gewaltig schief. Und genau das ist es was ich als die höhere Kunst des Fernschachs betrachte, gezielt auf diese Fälle spielen zu können. Nicht immer klappt es, aber im Gegensatz zu Stockfish und Co sind wir Menschen (und natürlich Alpha Zero) ja lernfähig.

spacious_mind 19.12.2017 16:05

Re: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Hallo Hartmut,

Wie Alpha es beschreibt und wie du beschreibst ist ja genau der trick.

Die brauchen nicht 50 Tief gehen. Das lassen sie den SF tun. Kein problem. Sie muessen nur mit Ihre tausend cores die Zweige ruhig einzeln untersuchen waeharend SF seine paar Zweigen 50 Tief rechnet. Fuer Alpha reicht 30 ply :)

Alpha weiss ja so wie so was von SF bewertet ist auch wenn ab und zu 30 Kandidaten sind :)

Dann waehlt man ruhig die 30 je 1 core mal vieliecht im extrem fall ein tief weiter von mir aus = 30x30 = 900 cores = 32 ply tief und mit millipawn rechnung nimmt man schoen jedesmal den besten zweig.

Und so gibt es dann am besten fuer SF nur remis und verluste. Gewinnen wird es ja nie geben koennen sollte man das rechenen kennen von den Gegner wissen.

Schoener Trick.....

Gruss
Nick

Hartmut 19.12.2017 16:11

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

Zitat von spacious_mind (Beitrag 70890)
Hallo Wolfgang,

SF8 hat macken in sein search! Er zeigt Bg5 als den 4ten besten Zug.

Ung genau deswegen findet er ihn in der normalen Suche nicht sondern eben nur im Multivarioantenmodus. In der normalen Suche hat er, wie Deine Feststellung (4ter bester Zug) bestätigt maximal 3 Kandidatenzüge. Alles andere schneidet er weg.

Zitieren:

Spiele mal vorwaetz ein Paar zuege 1. bg5! f5 2. Qf4 dann sieht er es schnell das er verliert nach den Zug mit unter 30 ply.
Ja, auch wenn man nun weiterspielt und dann die Züge zurücknimmt, wird er bei erneuter Berechnung aus dem Cache dann sofort sehen, wie gut Lg5 war, wenn man den Cache nicht löscht.

Zitieren:

Das bedeutet mit normale rechnung sollte er den Zug Bg5 sehen. Da er Ihn nicht sieht bedeutet er hat Fehler in seine search methoden oder andere macken wie vielleicht im cache... Wer weiss.
Wie würde man bei Microsoft sagen... It's not a bug, it's a feature. Gerade weit der Zug eben nur die Nr. 4 ist, kann er ihn nicht sehen. Streng genommen darf er ihn nicht sehen, weil er sonst eben nicht auf Tiefe kommt. Das ist von den Programmierern so gewollt. Irgendwo muss man den Baum beschneiden. Beschneidet man ihn erst nach Nr. 4 und der 5. Zug ist der Starke hat man wieder Pech...

Zitieren:

Alpha zeigt schon schoen die Macken aber mit der Rechentiefe die SF hat muesste er es alles selber sehen koenen.
Das ist ja gerade der Witz bei der Sache. Gerade weit er diese enorme Rechentiefe hat, kann er es nicht sehen. Würde er es sehen, dann wäre der Suchbaum in der Breite weniger stark beschnitten, was dann wieder heisst, er kommt nicht so schnell in die Tiefe.


Zitieren:

Er sieht den schoenen Zug Rxc5! einfach nicht weil er Ihn als zweit besten Zug bewertet zusammen mit 27 andere Kandidaten. Gleiche search Macke!
Wie gesagt... kein bug, sondern ein feature und gewollt.

Zitieren:

Spiele nach vorne diese 5 Zuege: 1. Rxc5 bxc5 2. Qh4 Rde8 3. Rf6

Dann sieht SF es mit schon 25 ply. Also 5+25 ply = 30 ply = unter 1 minute rechen zeit.
Nein, das stimmt so nicht. Da die Züge schon nach vorne gespielt wurden und dann wieder zurückgenommen wurden, "sieht" er es bei einer erneuten nicht, sondern holt sich die Daten schlicht aus dem Cache. Das "Sehen" ist hier also schon keine Eigenleistung mehr. Man hat ihn durch das Vorspielen ja erst draufgestossen und seinen Cache entsprechend gefüllt.

Zitieren:

3 Sekunden Rechenzeit fuer 25 ply. Er selber bewerten den gespielten zug im match Rf8? mit minus -8.18 nach 3 sekunden und zeigt selber den Zug Kf8! als beste verteidigung. Daher auch in dieses spiel hat der SF einiege search Fehler.

Es ist gut das Alpha diese Fehler findet aber bis jetzt sehe ich nicht wieso ein programm mit 30+ ply rechnungen sie selber nicht findet. Ich denke mal das Alpha programmierer es herausgefunden haben die Fehler von den besten heutigen search engines zu exploitieren mit Ihren system. Alle besten heutigen search engines benuetzen ziemlich die gleichen search methoden. Daher koennte mann vermuten das sie alle die gleichen macken haben :)
Wie gesagt, es sind keine Fehler. Es ist programmiertechnisch eine Kosten/Nutzen-Abwägung. Da die Programme nicht wie AlphaZero auf ein neuronales Netz und Erfahrung zurückblicken können, muss der Programmierer abwägen was ihm mehr bringt. in jedem 5. oder 10. Fall daneben liegen und dafür die restlichen Züge recht tief untersuchen zu können oder in keinem Fall so tief zu kommen wie bisher und dafür in der Breite mehr sehen. Im Spiel gegen andere Computer hat sich ersteres als sinnvoller erwiesen, zumal man ja nur noch die Spielstärke gegen andere Engines misst und es hier nur darum geht in der Liste xyz 2 Elo-Punte besser zu sein. Der für uns menschliche Spieler praktische Nutzen (z.B. für den Fernschachspieler) geht dem Programmierer diesbezüglich am A.... vorbei. Er lässt sich nicht in irgendwelchen Elo-Listen messen und ist daher uninteressant.

spacious_mind 19.12.2017 16:15

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

Zitat von Hartmut (Beitrag 70893)
Nein, das stimmt so nicht. Da die Züge schon nach vorne gespielt wurden und dann wieder zurückgenommen wurden, "sieht" er es bei einer erneuten nicht, sondern holt sich die Daten schlicht aus dem Cache. Das "Sehen" ist hier also schon keine Eigenleistung mehr. Man hat ihn durch das Vorspielen ja erst draufgestossen und seinen Cache entsprechend gefüllt.

Ja genau das ist ja der bewusster vorteil (trick) von Alpha die Leute haben die probleme von SF erkennt und es geklaert.

Spile mal die zuege nach vorne und dann zurueck...Dann siehst du das der SF sein cache auch aendert. Bei mir tut er es.

Gruss
Nick

Hartmut 19.12.2017 16:24

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

Zitat von spacious_mind (Beitrag 70894)
Ja genau das ist ja der bewusster vorteil (trick) von Alpha die Leute haben die probleme von SF erkennt und es geklaert.

Spile mal die zuege nach vorne und dann zurueck...Dann siehst du das der SF sein cache auch aendert. Bei mir tut er es.

Gruss
Nick

Naja, das ist ja kein Trick, sondern das ist das prinzip eines neuronalen Netzes oder auch einfach das Prinzip des "Lernen könnens". Etwas das uns Menschen gegeben ist, Stockfish jedoch nie beherrschen wird. Wenn Du dir die auf Seite 2 von einem Fernschachkollegen gespielte Partie ansiehst wirst Du feststellen dass auch wir Menschen das leisten können. Wir Menschen verstehen Muster und können aus Fehlern lernen. Die Maschine rechnet einfach nur und versteht eigentlich nichts vom Schach. Das reicht im Turniersaal aus, weil wir gar nicht so schnell taktisch rechnen können, wie Stockfish es tut und egal wie viele geniale Züge wir finden, irgendwann werden wir bei beschränkter Bedenkzeit taktisch patzen. Im Fernschach bei entsprechender Analysezeit reicht Stockfishs Können jedoch nicht mehr. Da muss man auch wissen was man tut. Und das kann Stockfish nicht leisten.

Wolfgang2 19.12.2017 17:47

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

Zitat von Hartmut (Beitrag 70891)
OK, dann will ich bei Dir und Doubledizzy mal etwas zur Aufklärung beitragen
...

Vielen Dank, Hartmut, für die Erläuterungen.
Mit dem MV-Modus, das kannte ich nicht. Und mir ist bei der Gelegenheit (d.h. Foto von Tom) auch aufgefallen, dass meinen Engines nur ein Prozessorkern zugeteilt war.

Gruß
Wolfgang

applechess 19.12.2017 21:00

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

Zitat von Wolfgang2 (Beitrag 70896)
[...]
Mit dem MV-Modus, das kannte ich nicht.
[...]
Gruß
Wolfgang

Hallo Wolfgang
Ist das so zu verstehen, dass du den MV-Modus nicht kanntest ... kann ich nicht glauben.
Gruss
Kurt

Hartmut 19.12.2017 21:04

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

Zitat von Wolfgang2 (Beitrag 70896)
Vielen Dank, Hartmut, für die Erläuterungen.
Mit dem MV-Modus, das kannte ich nicht. Und mir ist bei der Gelegenheit (d.h. Foto von Tom) auch aufgefallen, dass meinen Engines nur ein Prozessorkern zugeteilt war.

Gruß
Wolfgang

Multivariantenmodus. Falls Du den nicht kennst. In Fritz und Chessbase erfolgt das über die Plus bzw. Minus Buttons bei der Engineausgabe. Bei Arena über die Einstellungen des Motors.

Dass nur ein Kern zugeteilt war hätte bei Deiner Berechnung vermutlich wenig geändert. Er hat ja schon tief gerechnet. Hättest Du ihm jetzt z.B. 4 Kerne zugewiesen hätte er halt 2-3 Halbzüge tiefer nichts gefunden... lach. Wenn eine Engine in der Breite zu stark abschneidet kann man sie nur dann dazu bewegen, dies einzischränken wenn man in den Engineeinstellungen auf "Tactical Mode" schaltet (oder bei Raubfisch ICCF-Mode). Dann rechnet er wie eine sehr schnelle BruteForce Engine kommt aber nur langsam in die Tiefe. Die Alternative ist eben der Multivariantenmodus den fast alle modernen UCI-Engines unterstützen. Aber auch das geht eben auf die Rechentiefe. Will man - so wie ich fürs Fernschach - eine Stellung analysieren, dann muss man halt abwägen, wie man analysiert. Braucht man Tiefe? Oder hat man den EIndruck, dass da mehr geht, als die Engine ausrechnet, dann wählt man den MV-Modus um sich eventuell ein paar Ideen zu holen. Unter manchen Oberflächen (z.B. Aquarium) kann man auch einen Analysebaum erstellen, in dem man ganz bestimmte Abspiele prüft, etc. Da gibt es viele Möglichkeiten.

Im praktischen Spiel gegen andere Engines geht eben nur ein Modus und in dem wird halt zwar tief gerechnet, aber oftmals läuft die Engine halt mit verbundenen Augen durch den Variantendschungel und verläuft sich manchmal auch ganz gehörig

Wolfgang2 19.12.2017 21:11

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Doch Kurt, ist so. Kann man nichts machen. ;) Ich bin für den Hausgebrauch, d.h. Kommentieren eigener Partien für das Forum, ohnehin nicht der Freund der starken Engines. Wenn die bei der Nach-Analyse etwas "finden", dann muss ich jedes Mal abwägen, ob das jetzt schwer oder sehr schwer war für einen Normalsterblichen, auch zu entdecken.
Wenn ich SOS 5.1 oder Rybka 2.2 nehme - und die benötigen ein paar Sekunden länger, dann weiß ich immerhin, dass die Situation nicht ganz trivial ist.

Gruß
Wolfgang

spacious_mind 20.12.2017 02:04

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

Zitat von Hartmut (Beitrag 70895)
Naja, das ist ja kein Trick, sondern das ist das prinzip eines neuronalen Netzes oder auch einfach das Prinzip des "Lernen könnens". Etwas das uns Menschen gegeben ist, Stockfish jedoch nie beherrschen wird. Wenn Du dir die auf Seite 2 von einem Fernschachkollegen gespielte Partie ansiehst wirst Du feststellen dass auch wir Menschen das leisten können. Wir Menschen verstehen Muster und können aus Fehlern lernen. Die Maschine rechnet einfach nur und versteht eigentlich nichts vom Schach. Das reicht im Turniersaal aus, weil wir gar nicht so schnell taktisch rechnen können, wie Stockfish es tut und egal wie viele geniale Züge wir finden, irgendwann werden wir bei beschränkter Bedenkzeit taktisch patzen. Im Fernschach bei entsprechender Analysezeit reicht Stockfishs Können jedoch nicht mehr. Da muss man auch wissen was man tut. Und das kann Stockfish nicht leisten.

Ich Weiss nicht so....alles hat tolle nahmen heutzutage so wie Muellsammler heist heute Environmental Engineer :)

Bei Trick meine ich das SF vieleicht sogar gegen sich selbst spielt und die ergebnisse waeren gleich ohne Tolle Nahmen wie Neuronalen Netzes :) 1000 cores = 1000 SF's gleichzeiting wobei ein core als Leiter mit ein Leitprogramm alles fuehrt und den Zug entscheidet (=A0) mit das wissen im voraus was SF selber spielen wuerde. Und so gibt es dann ein ergebniss wie + 27 = 73 - 0.

Betr. Koresspondenz spieler das sehe ich auch so. Computer und Mensch sind partner aber der Mensch hat den Stadtplan und beschreibt die richtung durch die Stadt. Sonst verliert er gegen gute Korrespondenzspieler. Und dazu muss man ja auch selber das Schachspielen selber verstehen :)

Veile Gruesse

Wolfgang2 20.12.2017 11:42

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

Zitat von Hartmut (Beitrag 70891)
...
Nein, im Grunde verhält sich die 32bit-Version von Stockfish 8 nicht viel anders als die 64bit-Version. Abgesehen davon, dass bei gleichem Prozessor die 64bitVersion etwa um Faktor 4 schneller ist.

Da möchte ich noch einmal nachhaken. Nach den Screenshots von Tom bringt das nur etwa 50 Prozent. Ich habe auf einem zweiten Rechner mit einem i5-2400s verglichen.
Der schafft bei den vier aktivierten Kernen in aus der Grundstellung etwa 2.850 kKn (32 bit) und 3.850 kKn (64bit).
Demnach liegt der Vorteil nur bei Faktor 1,4 bis 1,5.

Gruß
Wolfgang

Hartmut 20.12.2017 11:55

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

Zitat von Wolfgang2 (Beitrag 70909)
Da möchte ich noch einmal nachhaken. Nach den Screenshots von Tom bringt das nur etwa 50 Prozent. Ich habe auf einem zweiten Rechner mit einem i5-2400s verglichen.
Der schafft bei den vier aktivierten Kernen in aus der Grundstellung etwa 2.850 kKn (32 bit) und 3.850 kKn (64bit).
Demnach liegt der Vorteil nur bei Faktor 1,4 bis 1,5.

Gruß
Wolfgang

Hi Wolfgang

Das kann durchaus auch rechnerabhängig oder Konfigurationsabhängig sein Ich habe hier 2 identische Rechner. Selbes Mainboard, selber Prozessor. Auf dem einen ist noch ein altes XP 32bit installiert, auf dem anderen Windows 7 64bit. Der einzige Unterschied neben dem Betriebssystem ist der, dass die 64bit-Kiste mehr Speicher für Hashtables hat (mit 64bit kann man halt mehr adressieren. Mit 32bit ist bei 4GB Schluss). Und da macht der Unterschied in der Geschwindigkeit bei mir etwa Faktor 3-4 aus. Mag sein dass mein AMD-Prozi da einfach anders reagiert, mag sein, dass es mit dem Speicher zusammenhängt... keine Ahnung. Unter dem 32bit-Rechner hat man auch nur Zugriff auf die 5Steiner, während der 64bit-Rechner auch die 6-Steiner benutzen kann (zumindest bei den syzygys, bei den Nalimovs gehen die 6steiner auch unter 32bit). Auch das kann sich auf die Rechengeschwindigkeit auswirken. Da gibt es viele Faktoren die hier reinspielen. Deswegen würde ich den Geschwindigkeitsunterschied auch nur als ungefähren und sehr ungenauen Richtwert sehen, der sich durchaus von Fall zu Fall verschieben kann.

spacious_mind 20.12.2017 14:12

Re: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Lass mich noch einen Schritt weiter gehen mit meiner Spielerei Gedanken und dich als Korrespondenz Spieler was Fragen. Wenn du deine Spielpositionen analysierst mit deinen computer, siehst du natürlich alle möglichen Zug Alternativen und dabei sind Zuege die deine erfahrenen Schachspieler Augen besonders reizen. diejenigen, die bei 0,00 oder sogar -0,20 bewertet sind und höher, vor allem in Positionen, in denen das Spiel viele nicht so offensichtlich Ueberblickbaren Zug Möglichkeiten hat.

Als erfahrener Spieler, der aufgewachsen ist, hast du die erfahrung von sehr viele selbst spiele und tausende von nachgespielten Meister-Spiele. Deine Augen, mit Blick auf die Auswertungsliste sofort bewegt sich an Zuege wie Rxc5 und Lg5 und dein Geist sagt sofort sagt Wow, dass ist interessant. (Computer und Mann arbeiten zusammen)

So, jetzt erforscht du diese Variation und siehst sofort nach 2 oder 3 Züge vorwärts spielen, dass der Zug nicht nur interessant ist, aber er gewinnt auch!

Das prüfen jetzt mit ein paar andere Programme, wie zum Beispiel Komodo und Houdini diese überraschend benehmen sich gleich wie SF. Sie zeigen den Zug hoch auf Ihre Analyse, aber nicht als das beste. Aber genau wie SF, wie SF wenn du die Zuege Schritt für Schritt nach vorne spielst da sehen sie auch schnell, dass Sie verloren haben.

Haettest du zwei oder drei schnelle Computer dann könntest du einige analiesen gleichzeiting ausfuehren und sparst eine Menge Zeit hunderte von Korrespondenz Stunden so gar. Dein Schachspielwissen lenkt und die Computer erledigen die harte Arbeit für dich.

Naturlich schickst diesen Zug dann an deinen Gegner mit Schmunzeln weil du hoffst und erwartest das dein Gegner sofort WOW sagen wird und nach schneller eigener Ueberpruefung in Krise kommt. Du wartest sogar spannend und ungeduldig an seine Antwort!! :)

Das Es hört sich alles wie A0 an oder nicht :)

Auch wenn es vielleicht kein Menschen Dirigent gibt (wer weiss). die ausgewählten Spiele stammen von einen Mensch der die Schachmenscheit gut versteht und hat sie fuer den Wow-Faktor per Hand gewählt um die Weltnachricht Reaktion zu maximieren! :)

Angekündigt waren es 100 Spiele und so glaubt man es weil es so in der Zeitung steht geschrieben aus dem Mund eines Politikers.

Vielleicht hat ein Korrespondenz-Spieler wie du Sie unterstützt:) (ich scherze).

Best regards

Hartmut 20.12.2017 18:13

AW: Re: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Naja, es gibt verschiedene Methoden wie verschiedene Fernschachspieler analysieren. Es gibt sogar verschiedene Methoden, wie ich an eine Stellung rangehe und oft benutze ich nicht in allen Partien oder Stellungen die gleiche Methode. Das zu erklären führt jetzt zwar in diesem Thread etwas in den off-topic-Bereich aber naja.

Erstmal profitiere ich natürlich erstmal von dem Wissen anderer, wie ein Computer eben auch. Ich benutze Eröffnungsbücher. Allerdings erstmal keine von Carlsen, Kasparov und Co sondern Bücher die aus reinen Fernpartien entstanden sind. Wichtig dabei auch... keine Partie darf älter sein als 10 Jahre. Dem liegt zugrunde, dass zumindest jenseits der ersten 10 Züge viel bereits mit Computern analysiert wurde. Analysen von Computern die vor 10 Jahren im Fernschach eingesetzt wurden sind zwar nicht wertlos, aber eben auch nicht mehr "auf der Höhe der Analysefähigkeiten heutiger Programme". Gibt es in einem Abspiel maximal nur noch 2 Empfehlungen der Bücher wird bereits der Compi eingesetzt und die Varianten tiefer geprüft. Bereits hier schaue ich dann auch schon auf Alternativideen zu den Vorschlägen der Datenbanken. Dabei kommt dann eventuell auch eine Datenbank mit Partien von Carlsen und Co als Ideenlieferant ins Spiel. Aber eben erst dann.

Ansonsten gehe ich an Stellungen einerseits so ran, dass ich erstmal eigene Ideen entwickle, ganz ohne Compi. Dann werden Varianten, die ich als gut erachte mit dem Compi durchgespielt. Dabei verwende ich ausschließlich Engines bei denen es möglich ist, die Daten aus dem Hash-Speicher in eine Datei abzuspeichern.

Im 2. Schritt wird wieder auf die Ursprungsstellung zurückgegangen und die Hash-Datei eingelesen. Nun darf der Compi erstmal im Multivariantenmodus eine zeitlang rechnen. Dabei profitiert er auch aus den Werten, die durch die vorher geschaffene Hash-Datei bereits vorhanden sind. Er "kennt" also bereits einige Bewertungen und wird sich erst dann von diesen trennen, wenn er entweder einen fail-low hat oder etwas eindeutig besseres findet. Nach dieser Analyse wird wieder der Hash abgespeichert und ich schaue mir die Varianten aus dem Multivariantenmodus nochmal selber an. Eventuell entwickle ich auch aus diesen Varianten wieder neue Ideen und wiederhole den letzten Vorgang nochmals

Der letzte Schritt ist dann die Hash-Datei wieder einzulesen und die Kiste jetzt nochmals im "Normalmodus" rechnen zu lassen. Da der Compi nun seine Analysen von vorher aus dem Hash bereits hat, kann er nun noch in die Tiefe rechnen. Hier kann er dann die vorherigen Analysen entweder bestätigen oder aber es stellt sich in der Tiefe dann raus, dass die Variante doch nichts taugt und er findet etwas besseres. Erst wenn dieses Ergebnis dann feststeht, wird der Zug an meinen Gegner geschickt.

Insgesamt also eine Menge Arbeit, vor allem wenn man wie ich derzeit etwa 45 Partien gleichzeitig am Laufen hat. Es ist also wirklich so wie Du es festgestellt hast. Ich lenke und die Compis sind halt die taktischen Analysesklaven, die die harte Arbeit machen müssen. Aber nur so kommt man zu Gewinnpartien. Auf die Art habe ich schon so manche Stellung in denen die reinen Computeranalysen mehrere Züge lang 0,00 anzeigten dann für mich noch drehen können. Nur weil Stockfish sagt "Das ist Remis" ist es eben noch lange nicht remis. Deswegen gilt bei mir (was manche Fernschachkollegen so gar nicht verstehen wollen) auch die eiserne Regel: "Kein Remis vor dem 40. Zug, es sei denn es ist eine Tablebasestellung oder die Zugwiederholung ist unausweichlich", denn gerade in dieser Phase, wo andere früh remis schieben, nur weil der Compi so eine Bewertung anzeigt, kann man die Partien der Stockfishsklaven meistens drehen. Ist jedenfalls meine Erfahrung.

Natürlich gibt es auch Stellungen in denen ich sofort nur die Engine rechnen lasse. Das ist dann aber meistens nur eine taktische Überprüfung in der ich mir die ausführliche Analyse spare und kommt meist nur zum Einsatz, wenn die Situation entweder klar ist, oder ich in einer Partie aufgrund von Zeitnot oder anderem keine ausführliche Analyse machen kann oder will.

In Bezug zu AlphaZero kann man sagen: Natürlich, die ausgesuchten Partien stammen logischerweise von einem Menschen und natürlich hat man die eindrucksvollsten ausgewählt. Da bin ich auch sicher, dass hier jemand mit S(ch)achverstand die Auswahl getroffen hat. Bei jeder Buchveröffentlichung würde man das ja genauso machen. Ich denke aber auch, dass die anderen Gewinnpartien mit Sicherheit für den einen oder anderen Wow-Effekt gesorgt hätten. Aber die Motive dieser Gewinnpartien dürften ähnlich gewesen sein. Unterschätzung positioneller Opfer und Zugzwangsituationen. Das ist meistens das Motiv mit denen man Partien, deren Analysen so in die Tiefe gehen, gegen ein Schachprogramm gewinnen kann. Hingegen wird man vermutlich kaum eine Partie finden, in der Stockfish rein taktisch unter die Räder kommt. Wenn dann kann man ihn meist nur mit "stillen" Zügen kriegen oder mit Zügen die er erstmal als fehlerhaft ansieht, weil er die positionellen Gegebenheiten unterschätzt.

Und ja, du hast natürlich recht. Die Analysemethode die ich für meine Fernschachpartien durchführe hat gewisse Ähnlichkeiten damit, wie ein neuronales Netz arbeitet. Komisch... ich hatte das vorher nie so gesehen... Aber es ist trotzdem irgendwie etwas anders.

Im neuronalen Netz hat die Kiste zehntausende von Partien gegen sich selbst gespielt und daraus gelernt. Eine solche MonteCarlo-Analyse kann auch z.B. Fritz durchführen. Nur... er kann daraus dann zwar einen Variantenbaum erstellen und Häufigkeiten ermitteln welche Züge nun zum Sieg geführt haben oder nicht, aber er kommt bei diesen Analysen nicht sehr in die Tiefe weil da einfach die Rechenleistung nicht langt. AlphaZero hat jedenfalls sicher keine Partien gespielt die mit maximaler Suchtiefe 5 durchgeführt wurden (Standardeinstellung für MonteCarlo bei Fritz). Auch würde Fritz aus diesem Variantenbaum dann nichts lernen können (im Gegensatz zum neuronalen Netz, dass dann auch seine Bewertungskriterien ändern kann, aus dem Ergebnis also Erfahrung gewinnt). Er liefert erstmal nur einen Variantenbaum mit einer Statistik deren Wert aufgrund geringer Suchtiefe bei der Erstellung eher zweifelhaft ist. Ich verwende diese Funktion aber trotzdem gerne, wenn ich ein Remisangebot bekomme oder wenn ein Turnier zu einem bestimmten Zeitpunkt beendet werden muss und danach abgeschätzt werden soll. Dann baue ich durch 24 Stunden MonteCarlo einen Variantenbaum auf, der mir eventuell eine Hilfestellung gibt, warum ich auf Gewinn oder Remis reklamieren könnte.

Das einzige wo ich als Fernschachspieler Ähnlichkeiten meiner Arbeitsweise mit AlphaZero sehe ist, dass hier verschiedene Analyseschritte (erst eigene Varianten, dann Multivariantenmodus, dann in die Tiefe) letztlich eine Hashdatei "trainieren". Ich mache also im Kleinen und auf eine bestimmte Stellung bezogen fast dasselbe, was AlphaZero im Großen gemacht hat. Nur eben nicht mit einer MonteCarlo Analyse sondern es geht von Anfang an mein eigenes Schachwissen in die Analyse ein, denn jedem Zug, den ich bei der Analyse vorgebe, liegt ja eine gewisse Idee zu Grunde. (Ich habe ja schon ein trainiertes biologisches neuronales Netz im Kopf). Bei der in der Lernphase verwendeten MonteCarlo Analyse von AlphaZero gibt es aber keine Ideen. Das ist erstmal nur zocken und daraus dann etwas lernen. Hat aber, wie das Ergebnis zeigt, ebenfalls sehr gut funktioniert... Aber soviel Rechenpower hat mein kleines menschliches Gehirn leider nicht, lach.

Wolfgang2 20.12.2017 19:35

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

Zitat von Hartmut (Beitrag 70911)
Hi Wolfgang

..... Deswegen würde ich den Geschwindigkeitsunterschied auch nur als ungefähren und sehr ungenauen Richtwert sehen, der sich durchaus von Fall zu Fall verschieben kann.


Hallo Hartmut,

ich habe zwei sehr unterschiedliche Rechner, aber trotzdem absolut zueinander stimmige Ergebnisse. Habe extra für den Zweck noch ein zweites BS auf der Xeon-Kiste installiert, um zu messen.




<table cols="8" border="0" rules="NONE" frame="VOID" cellspacing="0"><colgroup><col width="145"><col width="142"><col width="57"><col width="86"><col width="86"><col width="86"><col width="86"><col width="86"></colgroup><tbody><tr><td width="145" height="17" align="LEFT">Stockfish 8 Rechenleistungen, bis Tiefe 29 begonnen aus Grundstellung</td><td width="142" align="LEFT">
</td><td width="57" align="LEFT"></td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td></tr><tr><td height="17" align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td></tr><tr><td height="18" align="LEFT">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" colspan="2">kKnoten pro Sekunde</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">PC</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Prozessor</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Cores</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">RAM in GB</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">SF8 32 bit</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">SF8 64bit</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Arena-Mark</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">BS</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">hp Compaq Elite 8200 USDT</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">i5-2400s @2,5 Ghz</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="2826">2826</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3975">3975</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="25,6">25,6</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 10/ 64bit</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">hp Z 220 Workstation</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Xeon E3-1225 v2</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="16">16</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3844">3844</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="5410">5410</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="36,98">36,98</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 7/ 64bit</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Xeon E3-1225 v2</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">16 (3,7 addr.)</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3853">3853</td><td align="CENTER" style="border: 1px solid rgb(0, 0, 0); border-image: none;">-</td><td align="CENTER" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 10/ 32bit</td></tr></tbody></table>

Hartmut 20.12.2017 21:33

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

Zitat von Wolfgang2 (Beitrag 70920)
Hallo Hartmut,

ich habe zwei sehr unterschiedliche Rechner, aber trotzdem absolut zueinander stimmige Ergebnisse. Habe extra für den Zweck noch ein zweites BS auf der Xenon-Kiste installiert, um zu messen.




<table cols="8" border="0" rules="NONE" frame="VOID" cellspacing="0"><colgroup><col width="145"><col width="142"><col width="57"><col width="86"><col width="86"><col width="86"><col width="86"><col width="86"></colgroup><tbody><tr><td width="145" height="17" align="LEFT">Stockfish 8 Rechenleistungen, bis Tiefe 29 begonnen aus Grundstellung</td><td width="142" align="LEFT">
</td><td width="57" align="LEFT"></td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td></tr><tr><td height="17" align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td></tr><tr><td height="18" align="LEFT">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" colspan="2">kKnoten pro Sekunde</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">PC</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Prozessor</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Cores</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">RAM in GB</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">SF8 32 bit</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">SF8 64bit</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Arena-Mark</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">BS</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">hp Compaq Elite 8200 USDT</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">i5-2400s @2,5 Ghz</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="2826">2826</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3975">3975</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="25,6">25,6</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 10/ 64bit</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">hp Z 220 Workstation</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Xenon E3-1225 v2</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="16">16</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3844">3844</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="5410">5410</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="36,98">36,98</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 7/ 64bit</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Xenon E3-1225 v2</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">16 (3,7 addr.)</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3853">3853</td><td align="CENTER" style="border: 1px solid rgb(0, 0, 0); border-image: none;">-</td><td align="CENTER" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 10/ 32bit</td></tr></tbody></table>

Tja, so verschieden können die Ergebnisse sein... Kann natürlich auch sein, dass bei meinem 32bit-Rechner irgendeine BIOS-Einstellung die Kiste noch runterbremst. Bei meinem Analyserechner hab ich mehr oder weniger jede Stromsparfunktion im BIOS ausgeschaltet. Beim 32bit Rechner, den ich für Schachanalysen kaum mehr nutze sind die aber noch drin. Kann auch sein, dass es daran liegt. Oder der AMD reagiert bei dem Unterschied 32 zu 64bit einfach anders als die Intels. Ich war auch immer erstaunt über den gewaltigen Unterschied, während Deine Werte für mich irgendwie stimmiger wirken. Naja, was solls... danke für die neuerliche Messung.

Doubledizzy 21.12.2017 09:49

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Also muss man den SF-Entwicklern stecken, dass die Suche angepasst werden muss, damit im Normalmodus auch Lg5 gefunden wird.
Ist wahrscheinlich auch schon bekannt.
Finden die Streicheltelefon-SF-Apps den Lg5 eigentlich oder auch nicht?

@Wolfgang btw:

Xenon = Flachbrettscanner? ;)
Mit dem Edelgas hat XEON nix zu tun oder?! :)
Oder ist das dein spezieller Humor?

Gruß
Tom(mi)


Zitieren:

Zitat von Wolfgang2 (Beitrag 70920)
...en Zweck noch ein zweites BS auf der Xenon-Kiste installiert, um zu messen.




<table cols="8" border="0" rules="NONE" frame="VOID" cellspacing="0"><colgroup><col width="145"><col width="142"><col width="57"><col width="86"><col width="86"><col width="86"><col width="86"><col width="86"></colgroup><tbody><tr><td width="145" height="17" align="LEFT">Stockfish 8 Rechenleistungen, bis Tiefe 29 begonnen aus Grundstellung</td><td width="142" align="LEFT">
</td><td width="57" align="LEFT"></td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td><td width="86" align="LEFT">
</td></tr><tr><td height="17" align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td><td align="LEFT">
</td></tr><tr><td height="18" align="LEFT">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" colspan="2">kKnoten pro Sekunde</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">PC</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Prozessor</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Cores</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">RAM in GB</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">SF8 32 bit</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">SF8 64bit</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Arena-Mark</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">BS</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">hp Compaq Elite 8200 USDT</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">i5-2400s @2,5 Ghz</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="2826">2826</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3975">3975</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="25,6">25,6</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 10/ 64bit</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">hp Z 220 Workstation</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Xenon E3-1225 v2</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="16">16</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3844">3844</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="5410">5410</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="36,98">36,98</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 7/ 64bit</td></tr><tr><td height="17" align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Xenon E3-1225 v2</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="4">4</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">16 (3,7 addr.)</td><td align="RIGHT" style="border: 1px solid rgb(0, 0, 0); border-image: none;" sdnum="1031;" sdval="3853">3853</td><td align="CENTER" style="border: 1px solid rgb(0, 0, 0); border-image: none;">-</td><td align="CENTER" style="border: 1px solid rgb(0, 0, 0); border-image: none;">
</td><td align="LEFT" style="border: 1px solid rgb(0, 0, 0); border-image: none;">Win 10/ 32bit</td></tr></tbody></table>


Solwac 21.12.2017 10:51

AW: Selbstlernende KI: Neue Engine spielt auf Profi-Niveau
 
Ich weiß nicht, ob der Vergleich mit Fernschach hier so hilfreich ist. Die Suche von Stockfish ist selektiv und damit spekulativ. Im Dickicht vieler Bewertungen mit 0,00 ist Stockfish offenbar hart an der Grenze dessen was im Spiel gegen andere Computer noch hilfreich ist (siehe die vielen Remis gegen schwächere Gegner beim letzten TCEC), insgesamt aber gut aufgestellt. Einzelne Züge zu übersehen wie Lg5 gehört dazu, es können nicht alle Züge gefunden werden, für eine hohe Spielstärke müssen hier Kompromisse eingegangen werden. Solange Schachprogramme nicht so gut lernen können wie Menschen, solange werden solche Fehler teilweise auch im Detail wiederholt. In einem Match wie gegen AlphaZero mit sehr begrenzter Variation in der Eröffnung werden grundlegende Fehler im Spielaufbau dann auch ohne exakte Wiederholung der Zugfolge häufig gebracht und führen insgesamt zu einer erhöhten Verlustrate.

Im Laufe der Entwicklung von Schachprogrammen hat die Suche immer wieder Paradigmenwechsel erlebt. Zu Beginn war die statische Selektivität vorn, Brute Force hatte einfach keine Suchtiefe. Mit steigender Rechenleistung kamen die Erfolge von Brute Force, mit dem Höhepunkt Deep Blue. Aber im Windschatten kamen bereits die Programme mit dynamischer Selektivität (wesentlich Nullmove). Diese dynamisch beeinflusste Suche bekam mit LMR einen weiteren Schub und ist bei den besten Programmen locker 400+ Elo-Punkte im direkten Vergleich wert.

Inzwischen ist die Suche aber bereits dabei an die Grenze der 50-Züge-Regel zu stoßen, d.h. eine weitere Vertiefung bringt nicht mehr so viel und eine sinnvolle Verdichtung des Suchbaums könnte wieder mehr für die Spielstärke bringen. Dies könnte ein Grund für den Erfolg von neuronalen Netzen sein, sie selektieren nicht aufgrund statischen Wissens (was aufgrund handgestrickter und limitierter Bewertungsfunktionen Lücken hat) oder dynamischer Suche (was wie Nullmove und LMR bisher nur schwer mit Schachwissen angereichert werden konnte), sie erwerben durch den Lernvorgang sehr umfangreiches Wissen und können so bei kleinerem Suchbaum erfolgreich sein. In Verbindung mit der normalen Bewertungsfunktion werden Figuren bereits so gut positioniert, dass kaum noch taktische Fehler von der Suche übersehen werden.

Hartmut 21.12.2017 13:15

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

Zitat von Solwac (Beitrag 70929)
Ich weiß nicht, ob der Vergleich mit Fernschach hier so hilfreich ist. Die Suche von Stockfish ist selektiv und damit spekulativ. Im Dickicht vieler Bewertungen mit 0,00 ist Stockfish offenbar hart an der Grenze dessen was im Spiel gegen andere Computer noch hilfreich ist (siehe die vielen Remis gegen schwächere Gegner beim letzten TCEC), insgesamt aber gut aufgestellt. Einzelne Züge zu übersehen wie Lg5 gehört dazu, es können nicht alle Züge gefunden werden, für eine hohe Spielstärke müssen hier Kompromisse eingegangen werden. Solange Schachprogramme nicht so gut lernen können wie Menschen, solange werden solche Fehler teilweise auch im Detail wiederholt. In einem Match wie gegen AlphaZero mit sehr begrenzter Variation in der Eröffnung werden grundlegende Fehler im Spielaufbau dann auch ohne exakte Wiederholung der Zugfolge häufig gebracht und führen insgesamt zu einer erhöhten Verlustrate.

Naja, ich mach halt ein wenig Schleichwerbung fürs Fernschach, grins. Aber im Ernst. Der Vergleich sollte ja nur aufzeigen, wo die Ähnlichkeiten des neuronalen Netzes mit der Denkweise eines Fernschach- oder auch schlicht generell eines menschlichen Spielers liegt. Dass die Suche von Stockfish völlig anders läuft sollte jedem klar sein. Du sprichst aber hier einen sehr wichtigen Punkt an mit dem Satz "Im Dickicht vieler Bewertungen mit 0,00 ist Stockfish offenbar hart an der Grenze dessen was im Spiel gegen andere Computer noch hilfreich ist." Und das ist genau das, was ich schon einige Posts vorher gesagt habe. Inwieweit das Schachprogramm für uns Menschen überhaupt nützlich ist, ist den Programmierern zwischenzeitlich ziemlich egal geworden. Es geht nur noch um den Punkt "Ich bin in der CCRL, CEGT, IPON (und wie sie alle heissen mögen)-Liste 2 Punkte besser". Eine reine Prestigesache also ohne praktischen Wert. Mir als Mensch bringen teilweise andere (gegen Computer schlechtere) Programme weit mehr als Stockfish. Lässt man ihn als Analyseengine bei z.B. einer WM-Übertragung mitlaufen versteht man diese tiefen Berechnungen als Otto-Normaldoof sowieso nicht mehr und als Analyseengine im Fernschach muss man sie quasi mit der Nase draufstoßen wo die wirklich guten Züge zu finden sind (z.B. durch den schon genannten Multivariantenmodus wo in einem Partiebeispiel dann Lg5 durchaus gefunden wurde). Würde ich - ich bleibe mal beim Fernschachbeispiel - jetzt statt meines 4-Kern-AMD einen Server mit 42 Kernen einsetzen wie er bei den TCEC-Turnieren eingesetzt wird und ohne selber mitzudenken nur die Computerzüge ausführen, wären meine Ergebnisse im Fernschach kaum besser als sie es jetzt sind. Die für die Analyse benötigten Informationen über taktische Fallstricke in einer Stellung bekomme ich aber auch von Engines die z. B. 200 Ratingpunkte schlechter gelistet sind. Insofern hat sich der Nutzen eines Stockfish für den menschlichen Spieler eigentlich schon erledigt.

Zitieren:

Im Laufe der Entwicklung von Schachprogrammen hat die Suche immer wieder Paradigmenwechsel erlebt. Zu Beginn war die statische Selektivität vorn, Brute Force hatte einfach keine Suchtiefe. Mit steigender Rechenleistung kamen die Erfolge von Brute Force, mit dem Höhepunkt Deep Blue. Aber im Windschatten kamen bereits die Programme mit dynamischer Selektivität (wesentlich Nullmove). Diese dynamisch beeinflusste Suche bekam mit LMR einen weiteren Schub und ist bei den besten Programmen locker 400+ Elo-Punkte im direkten Vergleich wert.
Das ist sicher richtig. Das Zauberwort ist aber hier auch "im direkten Vergleich". Nach Deep Blue war der Vergleich Mensch-Computer sowieso schon gegessen und es ging letztlich nur noch darum in irgendwelchen Computervergleichen zu zeigen "Ich kanns noch ein wenig besser". Vielleicht bin ich ja etwas altmodisch aber für mich zählt trotzdem immer noch die Frage: "Soll ich mir Programm A oder B oder C zulegen. Wo liegt für mich der Nutzen?" Wenn ich natürlich nur auf dem heimischen Computer Turniere zwischen den Programmen abhalten will die letztlich sowieso nur die bereits bestehenden Elo-Listen bestätigen dann stellt sich die Frage natürlich nicht. Dann stellt sich allenfalls die Frage, ob ich mit meinem Leben nichts besseres anzufangen weiss...

Zitieren:

Inzwischen ist die Suche aber bereits dabei an die Grenze der 50-Züge-Regel zu stoßen, d.h. eine weitere Vertiefung bringt nicht mehr so viel und eine sinnvolle Verdichtung des Suchbaums könnte wieder mehr für die Spielstärke bringen. Dies könnte ein Grund für den Erfolg von neuronalen Netzen sein, sie selektieren nicht aufgrund statischen Wissens (was aufgrund handgestrickter und limitierter Bewertungsfunktionen Lücken hat) oder dynamischer Suche (was wie Nullmove und LMR bisher nur schwer mit Schachwissen angereichert werden konnte), sie erwerben durch den Lernvorgang sehr umfangreiches Wissen und können so bei kleinerem Suchbaum erfolgreich sein. In Verbindung mit der normalen Bewertungsfunktion werden Figuren bereits so gut positioniert, dass kaum noch taktische Fehler von der Suche übersehen werden.
Und da sind wie wieder beim Fernschachvergleich oder schlicht beim Nutzen für den Menschen an sich. Denn hier wird wirklich ein Nutzen erreicht. Weitere Verschlimmbesserungen in den bestehenden Suchroutinen führen vielleicht (noch) zu größerer taktischer Tiefe unter Beibehaltung bestehender Fehler in der Suche und damit zu 2 Elopünktchen mehr, aber damit hat es sich auch schon. Das Schach, was aber hier durch das neuronale Netz AlphaZero gezeigt wurde war einerseits einfach nur schön, andererseits aber für den Schachspieler auch lehrreich. Man konnte hier die Wirkungsweise der Figuren sehr gut sehen, aus den Zugzwangsituationen Lehren ziehen, etc. Kurz gesagt: Man hat beim Nachspielen wirklich die Chance gehabt zu verstehen, warum AlphaZero gewonnen hat. Wenn ich eine Partie Stockfish - Komodo aus dem TCEC-Turnier nachspiele, verstehe ich das noch lange nicht. Das sind dann teilweise taktische Finessen irgendwo im 40. Halbzug die man kaum mehr nachvollziehen kann. Teilweise werden sogar schon nach der Eröffnungsbehandlung zich Treffer in den Tablebases angezeigt. Da kommt man als Mensch nicht mehr mit und es ist auch sinnlos es auch nur versuchen zu wollen. Die Muster der positionellen Opfer, die AlphaZero hier gespielt hat, konnte man jedoch nachvollziehen. Und damit ergibt sich für mich der praktische Nutzen. Ich könnte 1000 Partien aus den TCEC-Turnieren nachspielen und würde daraus vermutlich als Mensch nicht halb soviel lernen wie aus den 10 veröffentlichten Partien dieses Wettkampfs.


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

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