poniedziałek, 21 maja 2012

Szachy i komputery (5)


Książka otwarć

To po prostu „drzewo” początkowych posunięć (w niektórych wariantach tych posunięć może być i 30) z zapisaną oceną ich siły, danymi o skuteczności i szansą, że silnik wybierze ten, a nie inny ruch. Podstawą książki otwarć są partie na wysokim poziomie, coraz częściej także partie z udziałem silników. Duża część silników ma własne książki, zoptymalizowane do ich stylu gry. Są książki przeznaczone dla ludzi, są też wersje przystosowane do partii między komputerami.

Karta książki otwarć
Obrazek przedstawia kartę książki otwarć z programu Fritz 10. W głównej części znajdują się (od lewej): posunięcie, liczba partii w bazie, w których nastąpiło (N), średni wynik uzyskany po jego wykonaniu (%), średni ranking szachistów, którzy je wybrali (Av), wynik w hipotetycznym turnieju, jaki osiągnęliby, grając je w każdej partii (Perf), wartość zmieniająca prawdopodobieństwo wybrania przez silnik posunięcia (Fact – początkowo wynosi zero), prawdopodobieństwo, że silnik zagra właśnie tak przy niezmienionej wadze (Prob), i prawdopodobieństwo, że silnik wybierze posunięcie przy zmienionej wadze ([%]). Na dole widać słupki oznaczające wygrane białych (1-0), remisy (1/2) i wygrane czarnych (0-1), a także odpowiadającą im liczbę partii.

Tablice końcówek

To wygenerowane przez komputer tablice zawierające wszystkie możliwe przy danej liczbie bierek pozycje, z których każda ma określone wcześniej „ścieżki” do pozycji bliższych matowi o jeden półruch. Obecnie są dostępne tablice dla trzech, czterech, pięciu i sześciu bierek. (Tablice końcówek tak naprawdę nie zawierają wszystkich możliwych kombinacji: niektórych nie ma sensu generować, bo przy przewadze pięć na jednego poradzi sobie najsłabszy silnik na przedpotopowym sprzęcie).
Tablice są tworzone metodą wstecznej analizy, czyli od pozycji końcowej. Najpierw tworzy się bazę wszystkich możliwych pozycji przy danej liczbie bierek, następnie bazę wszystkich możliwych matów przy tej samej liczbie bierek, następnie bazę wszystkich pozycji z nieuniknionym matem w jednym posunięciu i tak dalej. Ocena pozycji na podstawie tablic następuje więc praktycznie natychmiastowo i jest w zasadzie bezdyskusyjna: jeśli silnik podaje, że najkrótsza droga do mata to 37 posunięć, z reguły tak właśnie jest. Owszem, zdarzają się drobne przekłamania, poza tym często jest tak, że w tablicy znajduje się nie bieżąca pozycja, ale pozycja już po przeliczonych przez silnik uproszczeniach, a wtedy może się zdarzyć, że przeoczy on krótszą drogę prowadzącą do mniejszej liczby bierek.
Generowanie tablic trwa bardzo długo – latami. (Komplet tablic dla sześciu bierek ukończono w 2006 roku, komplet dla siedmiu uda się wygenerować nie wcześniej niż w 2015 roku). Rozmiar tablic dla pięciu bierekto około 8 GB, dla sześciu – ponad 1 TB. (Sześciobierkowe, co zrozumiałe, są dostępne chyba wyłącznie w sieciach p2p i poprzez interfejsy na stronach internetowych). W praktyce można poprzestać na kilkuset gigabajtach: na 300 można zmieścić ponad 90 procent najczęściej pojawiających się końcówek, można też ograniczyć się do tablic dla pięciu i mniejszej liczby bierek. (Osobne tablice dla różnej liczby bierek są potrzebne w momencie, gdy zmniejsza się liczba bierek na szachownicy, na przykład w wyniku bicia).
Dla silnika szachowego, który bez pomocy nie spojrzy dalej niż na kilkanaście posunięć do przodu i nie zobaczy końcowej pozycji (z tym samym lub innym zestawem bierek) z pominięciem wcześniejszych, tablice końcówek są bardzo ważne. (A coś takiego zrobi doświadczony szachista, który będzie wiedział, że obecna pozycja skończy się pozycją, o której od wieków wiadomo, że jest remisowa). Współczesne silniki mają zakodowaną pewną podstawową wiedzę o sposobach rozgrywania końcówek, ale bez tablic w najlepszym razie źle je oceniają. (Więcej na ten temat przeczytacie w jednym z dalszych rozdziałów).
Choć tablice pozwalają silnikowi widzieć wielokrotnie dalej i grać perfekcyjnie tam, gdzie normalnie nie mógłby sobie poradzić, nie ma pewności co do tego, czy użycie tablic istotnie zwiększa siłę gry w rozumieniu statystycznym, i to przy założeniu, że tablice są kompletne i pozbawione błędów. Na pewno wiele zależy od ustawień silnika: w jaki sposób korzysta z tablic i jak chętnie to robi. Oto główne problemy.
Przede wszystkim sięganie do tablic trwa, i nawet jeśli dzięki nim silnik zobaczy w wybranym wariancie coś, czego nie policzyłby w godzinę, może mu braknąć czasu na znalezienie tego właściwego, zwłaszcza że w końcówce czasu do namysłu z reguły jest mało, szczególnie w typowych partiach między silnikami. A sekunda mniej lub więcej może oznaczać zupełnie inną ocenę pozycji.
Ponieważ silnik może sięgać do tablic także w pozycjach z większą liczbą bierek (po uwzględnieniu uproszczeń), zdarza się, że gdy już znajdzie w ten sposób na przykład mata w 60 posunięciach, przestaje szukać krótszych wariantów. Jeśli w tych 60 posunięciach znajdzie się 50 bez bicia i ruchu pionem, będzie remis, być może do uniknięcia przy dokładniejszej analizie drzewa wariantów.
Inny problem może pojawić się w partii silnika wyposażonego w tablice końcówek z silnikiem pozbawionym tablic lub człowiekiem. Otóż ze względu na regułę 50 posunięć bez bicia i ruchu pionem teoretycznie perfekcyjna gra może być gorszym rozwiązaniem od tworzenia praktycznych problemów. Czasem znalezienie idealnej obrony jest łatwiejsze, czasem trudniejsze, i może się okazać, że silnik niekorzystający z tablic końcówek będzie się bronić lepiej (dłużej) po takich teoretycznie najlepszych posunięciach niż w wariantach teoretycznie gorszych dla strony atakującej, ale trudniejszych do obliczenia lub zawierających pułapki. Ponadto silniki mają zakodowane, w jakich okolicznościach należy poddać partię, może więc się zdarzyć, że zrobią to w pozycji, w której przeciwnik i tak pewnie by nie wygrał.
I nawet w grze końcowej mogą zdarzyć się pozycje, w których jest możliwa roszada, a tablice końcówek z praktycznych powodów nie uwzględniają prawa do roszady, lub raczej zakładają, że prawo to już nie przysługuje.

Panel silnika w pozycji obecnej w tablicy końcówek. Mat w 30 posunięciach

Interaktywne i półinteraktywne e-booki

Zasadniczo są ich trzy rodzaje: tekstowe z odnośnikami do zapisów partii w programie szachowym, w pełni interaktywne, w których tekst jest częścią zapisu partii, i multimedialne wykłady, w których strumień wideo w panelu programu szachowego jest skoordynowany z szachownicą.
Otwiera się je w programach szachowych i czytnikach baz danych.

Interaktywny e-book wydawnictwa Everyman Chess w interfejsie programu ChessBase Light
Półinteraktywny e-book firmy ChessBase w interfejsie programu ChessBase Light

 
E-book poświęcony końcówkom w interfejsie programu Chess Assistant

Multimedialny wykład w formacie Chess Media File

Brak komentarzy:

Prześlij komentarz