piątek, 18 maja 2012

Szachy i komputery (2)



Komputerowy zapis partii i pozycji

Standardem komputerowego zapisu pojedynczej partii jest PGN (ang. Portable Game Notation), pojedynczej pozycji – FEN (ang. Forsyth-Edwards Notation). Używa się anglojęzycznych skrótów nazw bierek. (O notacji szachowej możecie przeczytać w ostatnim rozdziale).
Plik PGN to tak naprawdę plik tekstowy z rozszerzeniem .pgn. Wygląda tak:

[Event "Bonn Man-Machine"]
[Site "Bonn"]
[Date "2006.11.25"]
[Round "1"]
[White "Kramnik, Vladimir"]
[Black "Comp Deep Fritz 10"]
[Result "1/2-1/2"]
[ECO "E03"]
[WhiteElo "2750"]
[PlyCount "94"]
[EventDate "2006.11.25"]
[EventType "match"]
[EventRounds "6"]
[EventCountry "GER"]
[Source "ChessBase"]
[SourceDate "2007.02.01"]

1. d4 Nf6 2. c4 e6 3. g3 d5 4. Bg2 dxc4 5. Qa4+ Nbd7 6. Qxc4 a6 7. Qd3 c5 8. dxc5 Bxc5 9. Nf3 O-O 10. O-O Qe7 11. Nc3 b6 12. Ne4 Nxe4 13. Qxe4 Nf6 14. Qh4 Bb7 15. Bg5 Rfd8 16. Bxf6 Qxf6 17. Qxf6 gxf6 18. Rfd1 Kf8 19. Ne1 Bxg2 20. Kxg2 f5 21. Rxd8+ Rxd8 22. Nd3 Bd4 23. Rc1 e5 24. Rc2 Rd5 25. Nb4 Rb5 26. Nxa6 Rxb2 27. Rxb2 Bxb2 28. Nb4 Kg7 29. Nd5 Bd4 30. a4 Bc5 31. h3 f6 32. f3 Kg6 33. e4 h5 34. g4 hxg4 35. hxg4 fxe4 36. fxe4 Kg5 37. Kf3 Kg6 38. Ke2 Kg5 39. Kd3 Bg1 40. Kc4 Bf2 41. Kb5 Kxg4 42. Nxf6+ Kf3 43. Kc6 Bh4 44. Nd7 Kxe4 45. Kxb6 Be1 46. Kc6 Kf5 47. Nxe5 Kxe5 1/2-1/2

Znaczenie większości pozycji w nawiasach łatwo odgadnąć, więc wyjaśnię tylko kilka mniej oczywistych.ECO (ang. Encyclopaedia of Chess Openings) to kod otwarcia (tu jest to E03, czyli wariant otwarty partii katalońskiej). WhiteElo to ranking zawodnika grającego białymi. PlyCount to liczba półruchów (ang. ply) w partii (tu obaj przeciwnicy wykonali po 47 posunięć). Większość pozycji w nawiasach nie jest obowiązkowa, a podany przykład nie wyczerpuje wszystkich możliwości. (Do wklejenia w programie szachowym partii ze schowka wystarczy zapis posunięć).
Taki zapis można uzupełniać wariantami, tekstem, kodami oceny posunięcia i pozycji, czasem namysłu nad posunięciem itd. Wygląda to tak:

[Event "Artykul"]
[Site "PCLab.pl"]
[White "autor"]
[Black "teoria"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 (3... f5 $16 {Ocena zrozumiała na przykład dla Fritza, w mojej ksiazce otwarc to +/-, czyli biale maja przewage.} 4. Nc3 fxe4 5. Nxe4 d5 6. Nxe5 dxe4 7. Nxc6 Qg5 8. Qe2 Nf6 9. f4 Qxf4) 4. Ba4 Nf6 5. O-O Nxe4 6. d4 b5 7. Bb3 d5 8. dxe5 Be6 9. Nbd2 ({Tekst przed ruchem.} 9. c3 {Tekst po ruchu.} Bc5 (9... Be7) 10. Nbd2 O-O 11. Bc2 Bf5 (11... f5) (11... Nxf2)) (9. Be3) (9. Qe2) 9... Nc5 10. c3 d4 *

W programie szachowym wygląda to tak:


Taki plik można otworzyć w programie szachowym, można też wkleić jego zawartość do wirtualnej szachownicy lub na forum. Można też umieścić w nim tylko fragment partii od wybranego momentu; wtedy w jednym z nawiasów trzeba umieścić ciąg FEN.
Format FEN opisuje ciąg znaków potrzebny programowi szachowemu do odtworzenia pozycji. (Ciekawostka: format jest wprawdzie używany przez oprogramowanie szachowe, ale powstał jeszcze w XIX wieku!) Taki ciąg przedstawia pozycję, może też wskazywać (nieobowiązkowa końcówka ciągu) stronę na posunięciu, wykonanie lub niewykonanie roszady, możliwość bicia w przelocie, liczbę ruchów i półruchów od ostatniego ruchu piona (ważne ze względu na możliwość zażądania remisu po 50 posunięciach bez bicia i ruchu pionem). Na przykład pozycja:

... w której białe są na posunięciu i zarówno one, jak i czarne wykonały roszadę, określa taki oto ciąg:

r2q1rk1/2p1bppp/p2p1n2/np6/3PP1b1/1B2BN2/PP3PPP/RN1QR1K1 w - - 0 12

... w którym fragment przed pierwszym ukośnikiem odnosi się do pierwszego od góry rzędu i oznacza kolejno (od lewej do prawej): czarną wieżę (ang. Rook), dwa puste pola, czarnego hetmana (ang.Queen), jedno puste pole, czarną wieżę, czarnego króla (ang. King), jedno puste pole. (Małe litery odnoszą się do czarnych bierek, wielkie – do białych). Litera w (ang. White) oznacza białe na posunięciu. Dywizy oznaczają brak prawa do roszady (tu obie strony już ją wykonały); gdyby obie strony mogły roszować zarówno na skrzydle królewskim, jak i hetmańskim, zamiast dywizów byłyby litery KQkq. Zero oznacza liczbę półruchów po ostatnim ruchu pionem lub biciu. Dwunastka oznacza liczbę wykonanych pełnych posunięć. Gdyby któraś ze stron wykonała w ostatnim posunięciu ruch pionem o dwa pola, co umożliwia bicie w przelocie, przed zerem znalazłoby się oznaczenie (w notacji algebraicznej) pierwszego z tych pól (na nim przeciwnik mógłby bić w przelocie), na przykład d3.
Ciąg FEN wystarczy wkleić do programu szachowego jako pozycję. Pozycję można też kopiować – wtedy w schowku systemowym znajdzie się właśnie ciąg FEN.

Brak komentarzy:

Prześlij komentarz