Impulsem do napisania niniejszego artykułu stał się mecz o tytuł mistrza świata w szachach, który odbył się w listopadzie 2018 roku pomiędzy obrońcą tytułu – Norwegiem Magnusem Carlsenem, a pretendentem – Włochem reprezentującym barwy USA – Fabiano Caruaną. Pierwsza część pojedynku zakończyła się „bezbramkowym” remisem. W 12 partiach granych tempem klasycznym[1]padło 12 remisów. To zjawisko, niestety coraz częstsze w szachach na najwyższym poziomie, jest nazywane „wysuszeniem gry”. Czołówka światowa doszła bowiem do tak wysokiego poziomu, że przewaga jednego ruchu po stronie białych nie stanowi już aż tak dużej różnicy, w związku z czym wygranie partii zdarza się obecnie coraz rzadziej. Ostatecznie mecz zakończył się w dogrywce w szachach szybkich[2], którą Carlsen wygrał 3-0[3], przy czym ewidentnie widać było, że ze względu na znaczną przewagę w tej odmianie rozgrywki, Norweg dążył do niej od samego początku meczu.

Rywalizacja człowieka z komputerem – rys historyczny

Czy zatem człowiek, w związku z osiągnięciem niemalże idealnego zrozumienia gry,  jest obecnie w stanie rywalizować z komputerem? Aby odpowiedzieć na to pytanie trzeba cofnąć się do roku 1996 i pierwszego pojedynku Garriego Kasparova, będącego u szczytu kariery ówczesnego mistrza świata, przeciwko komputerowi Deep Blue,stworzonego przez zespół IBM. Mecz, co prawda, zakończył się zwycięstwem Kasparova 4-2, jednak to wówczas po raz pierwszy komputer wygrał z człowiekiem partię turniejową tempem klasycznym. Drugi, bardziej znany i kluczowy w kontekście rywalizacji człowieka z maszyną, pojedynek Deep Blueprzeciwko Kasparovowi odbył się w roku 1997 i zakończył się rezultatem 3,5-2,5 na niekorzyść rosyjskiego szachisty. Jest  to wydarzenie symboliczne, pojedynek ten uważa się bowiem za moment, w którym maszyna pokonała człowieka. Najdobitniej przewagę komputera pokazał, przebieg ostatniej, szóstej partii decydującej o wyniku meczu. W debiucie, którego nazywa się Obroną Caro-Cann, Kasparov popełnił możliwie najbardziej „ludzki” błąd – pomylił kolejność posunięć i zagrał ruch, po którym jego pozycja była nie do uratowania. W efekcie poddał partię po dopiero 19 (!) ruchach. Błąd, który popełnił, nie był skomplikowany – średnio-zaawansowany zawodnik wie, że w tym otwarciu, w tej konkretnej pozycji, wpierw trzeba rozwinąć gońca, a potem dopiero przegonić skoczka pionkiem. Pomyłka Kasparova z szóstej partii meczu pokazuje jednak dlaczego człowiek przegrał z maszyną i gdzie leży przewaga komputera w tym starciu. Komputer się nie męczy. Komputer nie odczuwa presji. Komputer gra zawsze na tym samym poziomie. Komputer nie popełnia „ludzkich” błędów.

Przewagi i słabości programów szachowych

Innym zagadnieniem, będącym próbą odpowiedzi na tytułowe pytanie są Tablice Nalimova[4],czyli nic innego jak baza danych, której istota polega na tym, że przy dowolnym (aczkolwiek zgodnym z zasadami gry) ustawieniu jakichkolwiek 6 bierek (wliczając w to króle) komputer pokazuje w ile ruchów i jakim wynikiem skończy się rozgrywka. Komputer w tych pozycjach policzył wszystkie możliwe kombinacje posunięć. Pierwsze Tablice zostały opracowane w 1998 roku i zawierały „rozwiązania” ustawień z 5 bierkami na szachownicy, przy czym cały czas są one udoskonalane i obliczaniu poddaje się coraz więcej pozycji. Osobiście zachęcam do zabawy z Tablicami i przekonania się jak „oczywiste” są końcówki szachowe.

Jednakże, pomimo tego, że komputer posiada znacznie większą siłę gry, nadal w niektórych elementach człowiek przewyższa maszynę. Są to przede wszystkim strategiczne aspekty rozgrywki takie jak dalekosiężne, abstrakcyjne plany, czy poświęcenia bierek za wartości niematerialne – przykładowo osłabioną strukturę pionową, która kluczowa okaże się dopiero w końcówce. Komputerowi niekiedy ciężko (pomimo ciągłego rozwoju), zrozumieć idee, które nie mają zerojedynkowego przełożenia na ilość pionków lub figur.

Zastosowanie sztucznej inteligencji w grach umysłowych

Niemniej, czy w związku z powyższymi przykładami ukazującymi siłę gry komputera uznać można, że programy szachowe korzystają ze sztucznej inteligencji? Na to pytanie odpowiedzieć należy przecząco. Programy te polegają bowiem na ogromnej mocy obliczeniowej, na podstawie której obierają strategię rozgrywki, a nie na samodzielnym uczeniu i dostosowywaniu się do gry przeciwnika. Algorytm podejmowania przez komputer decyzji sprowadza się do wyboru bardziej “opłacalnych” posunięć – przykładowo zbicie pionka program ocenia na punktów 6, a zaszachowanie króla na punktów 8. Tak samo bardziej, z perspektywy komputera, korzystny będzie ruch skoczkiem “do centrum”, niż “na bandę”, ponieważ ze środka szachownicy figura kontroluje więcej pól niż ze skraju planszy. Dodatkowo, programy szachowe wyposażone są w aktualizowane na bieżąco bazy danych zawierające ponad 7,6 miliona partii turniejowych rozegranych przez człowieka[5], na podstawie których wybierają, w szczególności w debiucie[6], statystycznie najkorzystniejsze warianty.

Powyższe nie oznacza jednak, że nie powstały już programy komputerowe do gry w szachy korzystające ze sztucznej inteligencji. Przykładem może być stworzony przez Google AlphaZero, który pokonał silnik Stockfish[7]w storundowym pojedynku,wygrywając 28 partii, remisując 78 oraz nie przegrywając żadnej[8]. Niemniej, trudno nazwać AlphaZero klasycznym programem szachowym. Jest to raczej oprogramowanie, które w oparciu o sztuczną inteligencję  “nauczyło się” doskonale grać w szachy.

Inaczej kwestia zastosowania AI wygląda w przypadku programów komputerowych do rozgrywki w Go. Starochińska gra planszowa jest bowiem zdecydowanie bardziej skomplikowana od szachów. Znacznie większa ilość możliwych posunięć, brak teorii otwarć, trudniejsza ocena pozycji oraz fakt, że skutek jednego ruchu może ujawnić się nawet za kilkaset posunięć, oznaczają, że w przypadku Go niewystarczające są algorytmy i mechanizmy wykorzystywane przez programy szachowe. W związku z tym, zwycięstwo nad człowiekiem w “cesarską grę” od dawna stanowiło jedno z wyzwań w rozwoju sztucznej inteligencji. Ostatecznie, za datę tego wydarzenia uznaje się maj 2017 roku, kiedy to AlphaGo, pierwowzór wspomnianego wcześniej programu AlphaZero,pokonał ówczesnego lidera światowego rankingu – chińskiego mistrza Ke Jie[9].

Podsumowanie

Konkludując, wydaje się, że człowiek w partii szachów przeciwko komputerowi nie ma obecnie szans. Mimo to, bardzo mało prawdopodobne jest, aby szachy zostały w najbliższym czasie rozwiązane, tak jak stało się to z klasycznymi warcabami w roku 2007[10], gdyż możliwa liczba rozegranych partii w szachach wynosi w przybliżeniu 10120 (!)[11]. Choć zapewne celem wielu osób odpowiedzialnych za pracę nad programami komputerowymi jest stworzenie „arcymistrza doskonałego”, to programy te pełnią przede wszystkim rolę użytkową i pomagają zawodnikom w ciągłym podnoszeniu ich umiejętności. Sam wspomniany na początku artykułu mistrz świata Magnus Carlsen przyznał, że w domu pracuje tylko z komputerem, w ogóle nie korzystając z drewnianej szachownicy[12]. Kończąc rozważania na temat siły programów obliczeniowych, sztucznej inteligencji oraz ich zastosowań w grach umysłowych, można zastanowić się jeszcze, czy w dobie komputerów szachowe motto gens una sumus[13]pozostaje cały czas aktualne.

 

Autor: Witold Oszczanowski

 

[1]Tempo klasyczne jest „najdłuższym” możliwym tempem gry w szachy. Każdy z zawodników ma 100 minut do wykorzystania na 40 ruchów, po czym następuje kontrola i gracze dostają dodatkowe 50 minut na kolejne 20 ruchów, po których wykonaniu dostają jeszcze 15 minut. Ponadto, za wykonanie każdego posunięcia zawodnik dostaje 30 sekund. W związku z tym partia grana tempem klasycznym może trwać nawet 7-8 godzin. 

[2]  Szachy szybkie charakteryzują się przyśpieszonym tempem gry – zawodnicy mają 25 minut do wykorzystania na całą partię i dodatkowe 10 sekund za wykonanie każdego posunięcia.

[3]W rozgrywkach szachowych za zwycięstwo w partii zawodnik otrzymuje jeden punkt, za remis pół punktu, a za przegraną nie uzyskuje punktów.

[4]Tablice dostępne są pod linkiem: http://www.k4it.de/?topic=egtb&lang=en

[5]Przykładową bazą jest Mega Database 2019- https://shop.chessbase.com/en/products/mega_database_2019#

[6]Początkowa faza partii szachowej.

[7]Program szachowy, który w chwili rozgrywania meczu uważany był za najsilniejszy.

[8]https://www.chess.com/news/view/google-s-alphazero-destroys-stockfish-in-100-game-match

[9]https://www.tomshardware.com/news/ke-jie-future-belongs-ai,34546.html

[10]Wówczas przeprowadzony został dowód, z którego wynikało, że program Chinook grając z przeciwnikiem doskonałym nigdy nie przegra, ponieważ  zawiera pełną informację o wszystkich 500 trylionach (5×1020) możliwości ustawień w warcabach angielskich (na szachownicy 8×8). Zatem przy optymalnej grze partia zakończy się remisem.

[11]Liczba tak znana jest jako „Number of Shannon” od nazwiska amerykańskiego prof. Claude E. Shannon.

[12]https://www.ft.com/content/349d6c32-7589-11e4-a1a9-00144feabdc0

[13] Jesteśmy jedną rodziną (łac.)

 


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.