niedziela, 25 marca 2012

Dlaczego szachy wcale nie są takie łatwe - czyli bardzo trudne zadanie dotyczące wykazania prostoty królewskiej gry

Spróbujmy zastanowić się nad takim zagadnieniem: dlaczego szachy wcale nie są takie łatwe. Zapewniam, że może to być naprawdę bardzo trudne zadanie dotyczące wykazania prostoty królewskiej gry.

Na początek krótko o tym dlaczego szachy są łatwe, proste i szybkie do opanowania:
1. Pozornie proste zasady, których można się nauczyć w ciągu 30-60 minut (w zależności od szybkości pojmowania ucznia).
2. Prosta plansza składająca się z 64 pól (pola 2 kolorów - białe i czarne)
3. Wszystkie informacje jawne - nie ma nic ukrytego (nie ma możliwości ukrycia "asa w rękawie").
4. Brak losowości czy elementu szczęścia (całość rozgrywki zależy jedynie od danego gracza - nie ma tutaj kostki lub ślepego losu).
5. Możliwość nauczenia się gry dla każdego chętnego (i to od wieku już 3-4 lat!)


Teraz o tym czemu szachy mogą być trudne, skomplikowane, głębokie i niesamowicie złożone:
1. Już po 5-6 ruchach obu stron może powstać około 100 milionów pozycji: słowem ilość możliwość rośnie szalenie szybko. Na tyle szybko, że człowiek musi stosować pewne pomysły, aby być w stanie "trafiać" w obszar możliwie optymalnych ruchów.
2. Szacuje się, że ogólna ilość możliwych (legalnych szachowo) pozycji (nie wariantów) na szachownicy waha się w granicach od 10^38 do 10^41. Na pewno jest to dość znacząca wartość. Z tego ogromu możemy wybierać te, które według nas są najbardziej obiecujące. Nie jest to wcale jednak takie proste.
3. W obecnych czasach niemożliwe jest przeliczenie szachów od/do spodu. Wymaga to potężnych mocy obliczeniowych i bardzo długiego czasu (do wykonania wszystkich obliczeń). Większość ekspertów jest zdania, że będzie to możliwe dopiero wówczas, jeśli pojawią sie tzw. komputery kwantowe (wtedy zajmie to zamiast trylionów lat... kilka sekund!). Na razie jednak nie mamy takich możliwości. Warto jednak dodać, że powstały już końcówki 6-bierkowe. Oznacza to, że dla 6 bierek (w tym obowiązkowo oba króle) można w ciągu ułamka sekundy mieć odpowiedź na pytanie: jaka jest ocena pozycji (remis, wygrana, przegrana) w zależności od tego kto jest na ruchu (jedyny warunek to legalna pozycja). Jest to idealna ocena, która nie może być już NIGDY zmieniona (zakładam, że programiści nie popełnili żadnego błędu, który wpłynie na to, że ocena może być niepoprawna). Tak więc część szachów mamy już "do dna" rozpracowaną.
4. W szachach niemożliwe (i w pewien sposób także niepotrzebne) jest przeszukanie i ocenianie wszystkiego (tzw. każdej pozycji). Dlatego trzeba stosować algorytmy, które będą nam pomagały w istotny sposób redukować niepotrzebne obliczenia. Nie trzeba chyba dodawać, że w obszarze szachów komputerowych OGROMNY postęp jaki został poczyniony (obecnie silniki grają z siłą ok. 3200-3300 ELO!), zawdzięczamy genialnym programistom i naukowcom, którzy udoskonalili swoje programy, tak aby natychmiast odrzucały potężne "drzewa wariantów", które nie są w ogóle brane pod uwagę (dla mistrza szachowego) jak też znacznie ulepszone algorytmy oceny pozycji. Na końcowy efekt składa się też bardzo duża moc obliczeniowa komputerów. Wystarczy powiedzieć, że program Deep Blue, który wygrał mecz z Kasparowem w maju 1997 roku... obecnie zostałby zmiażdżony (!) przez dowolny czołowy silnik świata (w tym także darmowe). Szacowany poziom ówczesnego programu to ok. 2650 (ELO), a dzisiejsze krzemowe potwory na przeciętnym laptopie "wyciągają" (zwłaszcza w trybie wieloprocesorowym) 3100-3200 ELO.
5. Szachy przetrwały setki lat właśnie dlatego, że są na tyle skomplikowane, iż nie da się ich do końca "rozgryźć". Owszem są pewne typy pozycji, których już nie sposób "poprawić" (głównie w końcowej fazie gry), lecz zdecydowana większość (zwłaszcza w debiucie) nie jest możliwa do definitywnego określenia. Z uwagi na to stosuje się oceny typu "białe stoją lepiej", a nie "białe mają wygraną pozycję". Jak wyżej zostało podkreślone - w końcowej fazie gry (6 bierkowe tablice końcówek) można już dawać definitywną ocenę (tzn. taką bez możliwości udoskonalenia) .

Podsumowując: szachy są bardzo złożoną grą. Wiele ludzi pyta - jak to możliwe, że komputery (silniki szachowe) grają tak solidnie? Jeszcze 10 lat temu nie wierzono, że do roku 2010 najsilniejszy szachista nie będzie tym białkowym, lecz krzemowym. Dziś nikt nawet nie kwestionuje tego, że programy są tak silne, że jedynie super eksperci są w stanie zremisować partie z takimi potworami. Dawniej (25-30 lat temu) wyzwaniem było to, aby komputer zremisował chociaż jedną partię z arcymistrzem, a teraz odwróceniu uległa perspektywa: poszukuje się śmiałków, którzy są w stanie zremisować przeciwko najsilniejszym na świecie silnikom. Jestem przekonany, że zgrana grupa szachistów korespondencyjnych byłaby w stanie tego dokonać - jednak wymagałoby to wiele wysiłku.

A teraz kolejne pytanie: jak to możliwe, że człowiek potrafi rozgrywać partie na tak wysokim poziomie? Co sprawia, że najlepsi na świecie odnajdują tę mityczną "nić Ariadny", dzięki której przechodzą "suchą nogą" przez ten niezgłębiony labirynt szachowych możliwości? Tutaj z ogromną pomocą przychodzą właśnie idee oraz ocena pozycji, która składa się z wielu elementów. Gdybyśmy nie doszli do odkrycia (stworzenia) pojęć typu: przewaga, słabość, atak, obrona, linia, punkt, inicjatywa czy też plan... to poziom naszych partii przypominałby poziom przedszkolaka grającego w wojnę (gra w karty). Sam przekonałem się o POTĘDZE związanej ze stosowaniem różnych algorytmów oraz pojęć typu: plan, przewaga, realizacja przewagi, strefa remisowa. Z pewnością musi robić wrażenie fakt, że dzięki ich stosowaniu możliwe jest szybkie i bezbłędne opracowanie (na podstawie wniosków) pewnych schematów, które mogą być wykorzystywane w całej strefie szachowej twórczości. Wystarczy wspomnieć jeden (dla wielu banalny) wniosek: jeśli przeciwnik nie ma możliwości zrealizowania osiągniętej przewagi, to jej wielkość nie ma znaczenia. Co to daje? Dzięki temu możemy dojść do pojęcia typu "twierdza" - czyli pozycja, w której jedna ze stron ma plan, który nie może zostać obalony - przykładowo pilnowanie kluczowych pól (pola) bez opanowania których wygrana nie będzie możliwa. I jeśli nie znajdziemy "dziury" w postaci pojęcia "zugzwangu", wówczas nie jest możliwe wygranie dowolnej pozycji spełniającej powyższy warunek.

Tak więc człowiek jako gatunek (w tym: miliony graczy, naukowcy, badacze, programiści, trenerzy, twórcy szachowej teorii, dyskusji, itd.) dali początek szachowej "wspinaczce". Obecnie poziom ten jest oceniany jako 2850 (jak na razie Kasparow określił go jako szachowy "Mont Everest" - niedaleko jego zdobycia jest szachowy Mozart - arcymistrz Magnus Carlsen). Natomiast poziom dla silników szachowych obecnie jest na wysokości 3400. Wielu chętnych podejmuje się próby określenia maksymalnej wysokości szachowej doskonałości - czy to poziom 4000, 5000 a może 10.000? Jak na razie nikt tego nie wie i nie bardzo wiadomo jak szacować taki poziom (ja się skłaniam, że jest to nie dalej niż 5000). Pamiętajmy, że dzięki wysiłkom wielu milionom pasjonatów szachowych (różnego kalibru) możemy dziś cieszyć się niespotykanym jak dotąd poziomem szachowej rozgrywki.


Niemiecki arcymistrz Robert Hubner - autor słynnego cytatu o tych, którzy sądzą, że posiedli sekret szachów

Na koniec tego krótkiego wstępu chciałbym jako drobną zachętę do przemyślenia tematu... zaproponować cytat niemieckiego arcymistrza Roberta Hubnera:

Those who say they understand Chess, understand nothing
Ci, którzy mówią, że rozumieją szachy, tak naprawdę nic nie rozumieją.

Osobiście jak najbardziej szczerze i jednoznacznie stwierdzić, że im bardziej zgłębiam tajemnice szachów, tym mniej je rozumiem. Nie wiem jak się nazywa to zjawisko (i czy ma w matematyce lub innych naukach jakieś określenie), ale na pewno im więcej poszukuję i odkrywam, tym więcej pojawia się nowych wątpliwości, hipotez i pytań. Nie jestem pewien czy ktoś z was ma podobnie a tym bardziej czy ktoś mi uwierzy albo chociażby zrozumie...

4 komentarze:

  1. - A jak jest z sf960 ? czy "krzemowe potworki" tez w to graja?
    - jak wyglada sprawa z innymi grami ? (czytałem ze np. w Go "krzemowe potworki" sa słabe na 19 x 19 ale niezwykle silne na planszy 9x9)
    - czy "krzemowe potworki" maja jakies "słabe punkty", tj czyt. robia czasem duze błedy ?

    mol

    OdpowiedzUsuń
  2. Niestety przyznam, ze nie zajmuje sie zadna inna odmiana szachow (czasem czytuje cos na temat SF960, ale to rzadko), wiec nie mam pojecia.

    Odnosnie slabych punktow krzemowych potworkow, to owszem - mają je, ale zwykle na tyle trudno jest je obecnie wykorzystac, ze dla przecietnego gracza (do poziomu 2000) raczej mozna stwierdzic, ze sa one niewidoczne.

    Caly czas klania sie "problem horyzontu" (obliczen), ktory polega na tym, ze silnik szachowy jest w stanie tylko tak daleko (gleboko) siegnac wzrokiem, na ile wystarczy mu czasu i sily obliczeniowej. Oczywiscie duzo zalezy tez od skomplikowania pozycji jak tez dodatkowych elementow (np. tego czy korzysta z tablic koncowek, itp.). Na silnych komputerach (mowa o wielordzeniowych potworkach) przy odpowiednim czasie do analizy i optymalnych ustawieniach (czas, przeszukiwanie pozycji pod katem tego co chcemy znalezc, dodatkowe tablice koncowek, itp.) raczej nie czesto spotyka sie problem z tym, aby komputer calkowicie pomylil ocene pozycji - na 100 prob takich "wpadek" bedzie moze ze 4-5.

    Jednym z najwiekszych bledow czlowieka w walce z komputerem bylo podstawienie mata w 1 ruchu przez mistrza swiata Vladimira Kramnika, a w rewanzu za tę wpadkę program Shredder na jednym z turniejow (kilka lat temu) podstawil za darmo figure mistrzowi. Wyjasnieniem autora programu bylo to, ze jego "dziecko" po prostu w momencie wykonywania ruchu w ostatniej chwili "przeskoczylo" na inny wariant, wiec w konsekwencji wyszlo na to, ze mistrz zjadl za darmo figure. Autor stwierdzil, ze tego typu bledy zdarzaja sie "raz na milion".

    Podsumowujac: najwiekszym problemem dla krzemowych potworkow jest stworzenie planu (zwlaszcza w zamknietych pozycjach) oraz poradzenie sobie w koncowkach (lub w przejsciach do koncowki, ktore nie beda remisowe lub przegrana). Niemniej sila obliczeniowa wraz z silnymi algorytmami daja na tyle duzego "kopa", ze te problemy sa coraz trudniejsze do wychwycenia i wykorzystania.

    PS. Z tego co czytalem to w SF960 komputerowe potworki sa bardzo silne. Dla nich nie ma wielkiej roznicy czy "graja" w klasyczne szachy czy te "pomieszane" ;). I w jednych i drugich sa wyjatkowo mocne.

    OdpowiedzUsuń
  3. Those who say they understand Chess, understand nothing
    Ci, którzy mówią, że rozumieją szachy, tak naprawdę nic nie rozumieją.

    Robert Hubner

    Z tego wnioski, że byłoby fajnie aby za jakis czas pojawił sie znów na blogu watek nt "przemowych potworków". Jest to wyjatkowo ciekawa tematyka. chodzi o trójkąt CCM
    = Computers , Chess, Mathematics. j jego własciwosci;
    poniżej cytat z extra ciekawego z wykłądu pt "2 secrets in beating your ... "

    GM Roman D. said:

    It's very helpfull to use computers when you checking your variation or analyzing your games that you played; whatever you missed some tactical shots, computers will help great deal.
    It's not very helpfull for you to play computers constantly and see if you improved; because it may be very very misleading for several reasons.

    mol

    OdpowiedzUsuń