Geschrieben von:/Posted by: Eduard Nemeth at 19 May 2004 13:05:42:
An Programmierer: Ist ein spekulativer Algorithmus möglich oder denkbar?
Ich fände sowas sehr interessant!
Beispiel:
Eduard vs. Opponent
I played now Nxg7!? and I won.
abcdefgh8877665544332211abcdefghSMIRF FullChess FEN-Editor (© by R. Scharnagl) Ver. 1.3.5
r1bqr1k1/p1p2ppp/1p1p1nn1/3PpNB1/4P3/P1PB4/2PQ1PPP/R4RK1 w - - 0 1
und hier kurz eine Analyse der ganzen Partie:
[Event "Blitz:3'"]
[Site "Playchess.com"]
[Date "2004.05.17"]
[Round "?"]
[White "Eduard"]
[Black "Opponent"]
[Result "1-0"]
[ECO "A45"]
[WhiteElo "????"]
[BlackElo "????"]
[Annotator "Nemeth,Eduard"]
[PlyCount "37"]
[EventDate "2004.??.??"]
1. Nc3 {1} Nf6 {1} 2. d4 {1} e6 {13} 3. e4 {2} Bb4 {1} 4. Bd3 {2} b6 {2} 5. a3
{1} Bxc3+ {2} 6. bxc3 {0} Bb7 {1} 7. Qe2 {1} d6 {7} 8. Nf3 {2} Nbd7 {1} 9. O-O
{1} e5 {3} 10. d5 {1} O-O {3} 11. Bg5 {2} Re8 {3} 12. Qd2 {2} Nf8 {2} 13. Nh4 {
2} Ng6 {3} 14. Nf5 {2} Bc8 {4} 15. Nxg7 $5 {
Nach 5s habe ich dieses Opfer gespielt! 5} Kxg7 {2} 16. f4 {1} Bg4 {7} (16...
exf4 17. Rxf4 Nxf4 18. Qxf4 Nh5 19. Qh4 f6 20. Qxh5 fxg5 21. e5 Rh8 22. Rf1 Qe7
23. Rf6 Kg8 24. Qxg5+ Qg7 25. Bg6 $16) (16... h6 17. Bxh6+ Kxh6 18. fxe5+ Kg7
19. exf6+ Kh7 20. e5 Rxe5 21. Rae1 Qf8 22. Rxe5 dxe5 23. Qg5 Qh6 24. Qxe5 $16)
(16... Qd7 17. f5 Nf4 18. g3 N4xd5 19. exd5 Qe7 20. Bh4 h6 21. g4 Rg8 22. Kh1
Kh7 23. g5 hxg5 24. Bxg5 Bb7 25. c4 Rg7 (25... Kg7 26. Bh6+ Kh8 (26... Kh7 27.
Rf3 $18) 27. Rf3 $16) 26. Rf3 $16) 17. fxe5 {2} Kg8 {9} 18. Bxf6 {4} Qd7 {3}
19. Qh6 {xxxxxxxx rinde (Lag: Av=0.82s, max=5.0s) 4} 1-0
In der Diagrammstellung würde Ruffian 2.1.0 z.B. so spielen:
Eduard - Opponent, Blitz:3' Playchess.com 2004
r1bqr1k1/p1p2ppp/1p1p1nn1/3PpNB1/4P3/P1PB4/2PQ1PPP/R4RK1 w - - 0 1
Analysis by Ruffian 2.1.0:
15.Sg3 h6 16.Lxf6 Dxf6 17.Lb5 Td8 18.Lc6 Tb8 19.Tab1 Ld7 20.Sh5 De7
= (-0.05) Tiefe: 11/22 00:00:23 6974kN
15.f3 h6 16.Le3 Lxf5 17.exf5 Se7 18.Le4 Dd7 19.Dd3 c6 20.c4 Tab8
= (0.07) Tiefe: 11/22 00:00:26 8365kN
15.f3 h6 16.Le3 Lxf5 17.exf5 Se7 18.Le4 Dd7 19.Dd3 c6 20.c4 Sxe4 21.fxe4
= (0.12) Tiefe: 12/22 00:00:42 14172kN
(Nemeth, Privat 19.05.2004)
In dieser Stellung würde mich als Menschen solch ein Zug wie hier 15. f3 oder 15. Ng3 eines Computers nicht vom Hocker reißen, im Gegenteil! Ich würde eher durchatmen!
Hier eine Analyse nach Nxg7!?:
Eduard - Opponent, Blitz:3' Playchess.com 2004
r1bqr1k1/p1p2pNp/1p1p1nn1/3Pp1B1/4P3/P1PB4/2PQ1PPP/R4RK1 b - - 0 1
Analysis by Ruffian 2.1.0:
15...Kxg7 16.f4 exf4 17.Txf4 Sxf4 18.Dxf4 Sh5 19.Dh4 f6 20.Le3 Te5 21.g4 Dd7 22.gxh5 Dg4+ 23.Dxg4+ Lxg4 24.h6+ Kg6
µ (-1.32) Tiefe: 14/29 00:02:00 37705kN
15...Kxg7 16.f4 exf4 17.Txf4 Sxf4 18.Dxf4 Sh5 19.Dh4 f6 20.Le3 Te5 21.g4 De8 22.gxh5 Txh5 23.Dg3+ Kh8 24.Tf1
µ (-1.37) Tiefe: 15/31 00:03:25 67776kN
(Nemeth, Privat 19.05.2004)
Nach etwa 3 Minuten (auf meinem lahmen p3 600MHz Rechner) zeigt Ruffian 2.1.0 trotz einer Figur weniger, hier nur etwa –1.30 gegen sich, andere Programme sind da sogar schon fast bei 0.00!
Für mich als Menschen, wäre es in der Tat sehr schwer, gegen einen Computer nach Nxg7 und folgendem f4!? eine Verteidigung zu finden, auch wenn das Opfer nicht ganz korrekt wäre!
(übrigens: das Opfer hier ist sogar korrekt)
Klar, gegen andere Programme ist ein spekulativer Algorithmus sicher nicht das Gelbe vom Ei, doch gegen Menschen kann das:
1. sehr interessant sein.
2. den Menschen sogar praktisch vor größere Probleme stellen!
Meine Idee wäre diese: Ein Programm untersucht in einem speziellen (nur gegen Menschen) spekulativen Modus, einige Opfereinschläge (Taktik also),
und findet das Programm dann, im Vergleich zu dem normalen Zug das es sonst
spielen würde, eine Opfervariante wo dann trotz einer Figur weniger (!) das Programm nur etwa –1 gegen sich anzeigt, so spielt es dann den spekulativen Zug!
Diesen Modus könnte man z.B. in den Engine-Optionen EIN – und Abschalten.
Interessante wäre auch noch, wenn beim eingeschaltem Spekulativen Modus, ein „solcher“ taktischer Opferzug angezeigt würde! Als Mensch könnte man dann die Stellung dann weiter analysieren...und wer weiß was man da alles finden könnte für das eigene Spiel-Repertoire?
Sowohl zum Training-Spiel (und sogar als Turnierspiel gegen Menschen), als auch als Analyse-Idee, wäre solch ein Modus in meinen Augen für den Menschen sehr interessant, da bin ich mir sehr sicher.
Was haltet ihr Programmierer davon?
Regards,
Eduard