Kongres ICCF 2013 w Krakowie (Polska) zdecydował, że we wszystkich turniejach rozpoczynających się od 2014-01-01, zawodnicy będą mogli reklamować wygraną lub remis w końcówce 6-bierkowej. W tym przypadku nie obowiązuje zasada 50 posunięć.
W związku z tym zostało podpisane porozumienie o współpracy pomiędzy firmą Convekta Ltd (ChessOK) oraz ICCF, na mocy którego ICCF może korzystać z darmowego dostępu do 6-bierkowej bazy końcówek Łomonosova.
Czym jest baza końcówek?
Baza końcówek (ang. Endgame Tablebases, EGTBs lub EGTs) jest komputerową bazą danych końcówek szachowych z precyzyjnymi obliczeniami optymalnej gry w każdej pozycji, zakładając że liczba bierek na szachownicy nie przekracza określonego limitu.
Mówiąc prościej, program określa, czy dana pozycja prowadzi do remisu czy też może prowadzić do wygranej dla którejś ze stron – ze 100% pewnością. Jeśli partia jest wygrana, pokazana zostaje ścieżka z najmniejszą liczbą posunięć do końca danego wariantu, przyjmując że obaj zawodnicy wykonują najlepsze możliwe posunięcia. Jeśli przegrywający zawodnik wykona posunięcie poniżej optymalnego to przegra on wcześniej a program pokaże nową optymalną ścieżkę.
Generowanie baz
Założenia do generowania baz są opisane bardziej szczegółowo w Wikipedii, a w tym wpisie zasygnalizowane są tylko podstawowe sprawy.
Przed utworzeniem bazy programista musi wybrać miarę optymalności – innymi słowy zdefiniować w jakim momencie zawodnik wygrał partię. Każda pozycja może być zdefiniowana poprzez odległość (np. ilość posunięć) od oczekiwanego punktu końcowego.
Stosuje się dwie podstawowe jednostki:
- Ilość posunięć do mata (Depth to mate – DTM). Mat jest jedynym sposobem aby wygrać partię.
- Ilość posunięć do konwersji (Depth to conversion – DTC). Silniejsza strona może również wygrać poprzez zabicie bierki i tym samym przekształcić pozycję do prostszej końcówki. Na przykład w pozycji KHKW (król hetman/król wieża) konwersja występuje, gdy białe zbiją czarną wieżę.
Krok 1: Wygenerowanie wszystkich możliwych pozycji
Po wyborze jednostki miary pierwszym krokiem jest wygenerowanie wszystkich możliwych pozycji z danym materiałem. Na przykład, do wygenerowania bazy DTM dla końcówki król i hetman przeciwko królowi (KHK), komputer musi określić około 40 000 niepowtarzalnych dozwolonych pozycji.
Krok 2: Ocena pozycji przy użyciu wstecznej analizy
Analiza wsteczna (retrograde analysis) jest niezbędna tylko z pozycji matowych. Inne pozycje nie muszą być opracowywane, ponieważ każda pozycja, która nie jest osiągnięta z pozycji matowej, jest remisem.
Krok 3: Weryfikacja
Jak tylko baza jest wygenerowana, i każda pozycja oceniona, wynik musi być niezależnie zweryfikowany. Celem jest sprawdzenie spójności wyników bazy.
Bicia, promocja piona i posunięcia specjalne
Przykładowo baza 4-bierkowa musi opierać się na bazach 3-bierkowych, które powstają po zbiciu jednej bierki. Podobnie baza zawierająca pion musi się opierać na innych bazach, które radzą sobie z nowym zestawem bierek po promocji piona na hetmana lub inną bierkę. Program wstecznej analizy musi brać pod uwagę możliwość bicia lub przemiany piona w poprzednim posunięciu.
Bazy zakładają, że roszada jest niemożliwa z dwóch powodów. Po pierwsze, w praktycznej końcówce, założenie to jest prawie zawsze poprawne (jednakże, roszada jest z założenia dozwolona w kompozycji). Po drugie, jeśli król i wieża są na swoich polach wyjściowych, roszada może ale nie musi być dozwolona. Ze względu na tę niejednoznaczność konieczne byłoby przeprowadzenie osobnych ocen pozycji, w których roszada jest lub nie jest możliwa.
Ta sama niejednoznaczność występuje przy biciu pionem w przelocie, ponieważ możliwość bicia w przelocie zależy od wcześniejszego posunięcia przeciwnika. Jednakże, bicie w przelocie często występuje w końcówkach pionowych, dlatego bazy zakładają możliwość bicia w przelocie w pozycjach w których obie strony posiadają przynajmniej po jednym pionie.
Stosowanie założeń a priori
Zgodnie z metodą opisaną wyżej, baza musi zakładać możliwość zajmowania przez bierkę każdego z 64 pól. W niektórych pozycjach jest możliwe ograniczenie obszaru przeszukiwania bez wpływu na wynik. To oszczędza zasoby obliczeniowe i umożliwia wyszukiwanie, które w przeciwnym razie byłoby niemożliwe.
Rozmiary baz końcówek i najdłuższe wygrane
Ilość bierek | Rozmiar bazy | Mat w x pos | Przykład końcówki [FEN] |
---|---|---|---|
3 | 62,4 kB | 28 | 8/8/8/k7/8/K7/6P1/8 b. |
4 | 29,5 MB | 43 | 8/5k2/2PK4/5r2/8/8/8/8 w. |
5 | 7,03 GB | 127 | 8/8/8/8/1p2P3/4P3/1k6/3K4 w. |
6 | 1,205 TB | 262 | 6k1/5n2/8/8/8/5n2/1RK5/1N6 w. |
7 | 140 TB | 549 | 1n1k4/6Q1/5KP1/8/7b/1r6/8/8 w. |
8 | ok. 10 PB |
Baza końcówek Łomonosowa
Projektanci szachowego interfejsu graficznego Aquarium, programiści Zakharov oraz Makhnichev, zaprojektowali algorytm do utworzenia 7-bierkowej bazy końcówek przy pomocy Lomonosov Supercomputer znajdującego się na Uniwersytecie Moskiewskim (im. M. Łomonosowa). W klasyfikacji superkomputerów „Lomonosov” zajmuje obecnie 164 miejsce na świecie (czerwiec 2017) z wynikiem 0,9019 PFlops (LINPACK). Podstawowe parametry superkomputera „Lomonosov”:
Maksymalna wydajność (teoretyczna) | 1,7 PFlops |
Wydajność LINPACK | 0,9 PFlops |
Główne typy procesorów | Intel Xeon X5570 / X5670, NVIDIA X2070 |
Ilość rdzeni | 78 660 |
Pamięć RAM | ok 100 TB |
Pamięć zewnętrzna | 3-poziomowa pamięć zewnętrzna:
|
System operacyjny | ClustrX bazujący na Linuxie |
Powierzchnia | 252 m2 |
Waga | Ponad 75 ton |
Pobór mocy | 2,8 MW |
Bazy końcówek 7-bierkowych zostały obliczone w 2012 roku na Wydziale Informatyki (Computer Science department) na Uniwersytecie Moskiewskim. Obliczenia zostały przeprowadzone przez superkomputer nazywany Lomonosov, dlatego też zostały one nazwane bazami końcówek Łomonosowa. Powstanie baz końcówek jest istotnym krokiem w teorii i praktyce szachów a co za tym idzie ulepszeniu algorytmu wstecznej analizy (retrograde analysis).
Bazy końcówek zawierają dokładną ocenę (remis lub posunięcia do mata) dla wszystkich pozycji z ilością bierek na szachownicy nie większą niż 7. Całkowita liczba pozycji w bazach jest większa niż 500 trylionów (500 000 miliardów). Rzeczywista liczba takich pozycji jest kilkanaście razy większa, ale część z nich może powstać z innych poprzez lustrzane odbicie lub obrót szachownicy, więc nie ma potrzeby trzymać ich na dyskach.
Wyobraź sobie jak wiele dysków twardych jest niezbędnych do oceny oraz najlepszego posunięcia w każdej pozycji. 1000 dysków i petabajty danych na nich? Na szczęście istnieje możliwość konpresji danych i wystarczy utrzymywanie jedynie około 100 TB danych. Kompresja również nie była prostym zadaniem w porównaniu do złożoności obliczeń baz. Nawet przy dużej kompresji rozmiar baz jest ogromny i nie jest dostępny do przechowywania ich na typowym komputerze stacjonarnym. Dlatego została utworzona specjalna witryna w celu zapewnienia dostępu online do serwera wraz z bazami. Firma Convekta Ltd. udostępniła je online pod koniec grudnia 2013 poprzez produkty ChessOk.
Zawodnicy, którzy chcą mieć dostęp do 7-bierkowych końcówek mogą zakupić którykolwiek z programów: ChessOK Aquarium, Houdini Aquarium lub Chess Assistant Package.
Alternatywą jest darmowy dostęp do 6-bierkowych końcówek. Wystarczy odwiedzić stronę ChessOK lub inną, na przykład Knowledge4IT, aby skorzystać z 6-bierkowych końcówek Nalimova.
Darmowa aplikacja na Androida
Dodatkowym sposobem uzyskania dostępu do bazy końcówek 7-bierkowych jest skorzystanie z aplikacji pracującej pod systemem Android (bezpośredni link).
Jak składać reklamacje?
W turniejach ICCF zawodnicy mogą reklamować jedynie pozycje 6-bierkowe. Co prawda na Kongresie ICCF 2017 w Albenie (Bułgaria) delegaci odrzucili propozycję wdrożenia baz 7-bierkowych, jednakże zdecydowali, że w pozycjach 7-bierkowych nie obowiązuje zasada 50 posunięć (bez bicia lub ruchu pionem).
Procedura jest podobna do innych reklamacji składanych w turniejach ICCF (oczywiście zawodnik musi być na posunięciu), w oknie swojej partii należy wybrać “Reklamuj wygraną” (“Claim win”) lub “Reklamuj remis” (“Claim draw”) z rozwijanego menu “Partia” (“Game”). Następnie należy wybrać podstawę reklamacji, czyli w oparciu o bazę końcówek oraz wskazać pozycję – bieżącą czy w kolejnym posunięciu (w formularzu reklamacyjnym należy wskazać to posunięcie na szachownicy).
Po potwierdzeniu chęci złożenia reklamacji serwer ICCF automatycznie ocenia pozycję i wynik zostanie zapisany jeśli reklamacja jest poprawna; proces jest w pełni automatyczny i nie wymaga interwencji sędziego.
Reklamacje tego typu w rozgrywkach drużynowych również są przesyłane bezpośrednio na serwer ICCF, więc nie ma potrzeby składania reklamacji poprzez kapitana drużyny.