Pokazywanie postów oznaczonych etykietą Szachy i komputery. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Szachy i komputery. Pokaż wszystkie posty
czwartek, 23 października 2014
sobota, 16 czerwca 2012
Szachy i komputery (19) - autor Wojtek Żuchowski
Nieuczciwi gracze
Największym problemem internetowych szachów – i coraz częściej także tych na żywo, ale o tym pisałem w jednym z wcześniejszych rozdziałów – jest niedozwolone wspomaganie. O ile w szachach korespondencyjnych wszystko zależy od regulaminu, o tyle na serwerach do gry na żywo jest ono zabronione zawsze, z wyjątkiem pokojów do gry silnikiem lub jako centaur. Niestety, zasady te są powszechnie łamane.
Najprostsza metoda wspomagania się silnikiem to uruchomienie go w tle i przełączanie się między oknami. Dwa podstawowe sposoby obrony to wykrywanie przez serwer zmiany aktywnego okna (co skutkuje plagą bezpodstawnych oskarżeń, jak na Kurniku, bo w czasie gry nie można na przykład rozmawiać przez komunikator) lub uruchomienia innego silnika (jak na Playchess.com). Takie zabezpieczenia łatwo ominąć, choćby przez użycie laptopa obok stacjonarnego komputera.
Jedynym w miarę pewnym zabezpieczeniem jest gra w bardzo szybkim tempie, na przykład trzy minuty na partię – ale czy to jeszcze są szachy? Zresztą sposób nie zawsze jest pewny, bo na takich serwerach jak FICS, z którymi można łączyć się przez dowolnego klienta obsługującego obowiązujący protokół, wystarczy w kliencie, który na to pozwala, przypisać do klawisza polecenie wykonania posunięcia. Co więcej, prawdopodobnie im szybsze tempo, tym więcej oszustów, bo tym szybciej można zwiększyć swój ranking.
Niektóre serwery, jak Playchess.com, automatycznie sprawdzają wybrane partie pod kątem stylu, niekiedy przy udziale specjalisty.
Transmisje
Obecnie standardem na silniejszych turniejach są elektroniczne szachownice firmy DGT, współpracujące z elektronicznymi zegarami tego samego producenta. Omówię je w osobnym rozdziale, na razie wystarczy powiedzieć, że wyglądają jak klasyczny zestaw, a pozwalają na bieżąco przesyłać posunięcia do serwera obsługującego transmisję internetową.
Taką transmisję można oglądać zarówno na stronie turnieju (na przykład za pośrednictwem apletu Javy przedstawiającego interaktywną szachownicę), jak i w klientach do gry online.
Transmisji może towarzyszyć profesjonalny komentarz, zarówno w formie tekstowej, jak i audiowizualnej (na przykład w okienku na stronie WWW lub w kliencie pod panelem szachownicy). Na bardziej zaawansowanych serwerach wykorzystuje się interaktywność szachownic: komentator może użyć zestawu kolorowych strzałek, może wprowadzać do zapisu przebiegu partii różne warianty i tak dalej.
Transmisja na serwerze Playchess.com w interfejsie Fritza 10
Najnowszym osiągnięciem jest płatny system Foidos, zastosowany po raz pierwszy w niedawno zakończonym w Bonn meczu o mistrzostwo świata między Viswanathanem Anandem a Władimirem Kramnikiem. Wykorzystuje on technologię Silverlight Microsoftu i pozwala oglądać interaktywną transmisję w oknie przeglądarki internetowej. (Oficjalnie są obsługiwane: Internet Explorer 7, Firefox, Safari, w systemie Windows XP i nowszych). Podczas meczu Anand – Kramnik były dostępne okienka widoku z kilku kamer, wideokomentarz arcymistrzów w kilku językach, czat i oczywiście szachownica z zapisem partii.
Prezentacja systemu Foidos
piątek, 15 czerwca 2012
Szachy i komputery (18) - autor Wojtek Żuchowski
Internet
Niewątpliwie internet zrewolucjonizował szachy, nie tylko na amatorskim poziomie. Z początku sieci komputerowe służyły jedynie do przesyłania posunięć w partiach korespondencyjnych, zamiast na pocztówkach, z czasem pojawiły się programy do gry na żywo przy bezpośrednim połączeniu, potem ogólnodostępne serwery, wreszcie transmisje na żywo z wykorzystaniem elektronicznych szachownic firmy DGT, a ostatnio – także systemu kamer. Ponadto internet pozwolił niemal natychmiast korzystać z szachowej wiedzy (jak zapis najnowszych partii) i umożliwił naukę korespondencyjną.
Gra w sieci
Poza tradycyjnym przesyłaniem posunięć w wiadomościach elektronicznych można grać na serwerach przeznaczonych zarówno do gry korespondencyjnej (czyli z długim, na przykład kilkudniowym czasem do namysłu), jak i – to najpopularniejsza opcja – do gry na żywo (czyli na wirtualnej szachownicy w tempie typowym dla gry twarzą w twarz, na przykład 5, 15 lub 60 minut na wszystkie posunięcia).
Serwerów do gry w szachy jest bardzo dużo, zarówno komercyjnych, jak i darmowych.
Z komercyjnych serwerów najpopularniejsze są ICC (ang. Internet Chess Club) i Playchess.com (serwer niemieckiej firmy ChessBase). Ten drugi jest zdecydowanie najbardziej popularny wśród graczy z Europy, więc w naszej strefie czasowej, o ile ktoś nie pracuje w nocy, właśnie tam najłatwiej znaleźć chętnych do gry (w szczycie przebywa na nim kilka tysięcy osób). Dwa inne popularne do niedawna serwery, World Chess Network i Chess Live, zostały w 2007 roku przejęte przez ICC, w wyniku czego powstał serwerWorld Chess Live, częściowo korzystający z zasobów ICC.
Z darmowych serwerów szczególnie godny polecenia jest niezwykle rozbudowany FICS (ang. Free Internet Chess Server), oparty na oprogramowaniu zbliżonym do ICC. Niestety, w naszej strefie czasowej w ciągu dnia liczba graczy jest wielokrotnie mniejsza niż na Playchess.com.
Pod względem popularności nie ma sobie równych Yahoo! Games. Serwery szachowe są dostępne także na popularnych polskich portalach, bardzo oblegany jest darmowy Kurnik. Jednak takie serwery, sądząc po wypowiedziach na forach internetowych, w równym stopniu uzależniają, co są przedmiotem powszechnej nienawiści, nawet nie ze względu na technologiczną przepaść dzielącą je od serwerów komercyjnych i FICS-a, ale uczciwość i kulturę grających.
Komercyjne i bardziej zaawansowane darmowe serwery mają własne klienty online (niektóre serwery, jak FICS, mają ich dziesiątki), te na portalach i mniej zaawansowane są dostępne tylko przez stronę internetową. Część serwerów (na przykład Playchess.com) ma własne protokoły, część (jak ICC i FICS) wykorzystuje udostępniony w 1992 roku protokół ICS (ang. Chess Internet Server). Serwery dostępne wyłącznie przez WWW z reguły wykorzystują aplety Javy.
Serwer FICS w interfejsie Babaschess
Interfejs serwera Kurnik działający w oknie przeglądarki WWW
Niektóre serwery, jak Playchess.com i ICC, poza tym że dostęp do nich jest płatny, mają własny system mikropłatności. Na przykład na Playchess.com w obiegu są „dukaty”, które można kupić na stronie internetowej, aby później grać na wirtualne pieniądze albo płacić nimi na przykład za komentarz arcymistrza lub wykład.
Serwery do gry korespondencyjnej nie są aż tak zróżnicowane pod względem możliwości, a strefy czasowe przy tak długim czasie do namysłu nie mają dużego znaczenia. Listę dostępnych serwerów znajdziecie na przykład w Wikipedii. (Uwaga: to, czy można wspomagać się silnikiem szachowym, zależy od serwera!)
wtorek, 12 czerwca 2012
Szachy i komputery (17) - autor Wojtek Żuchowski
Wieloprocesorowość, liczba bitów, GPU
Silniki szachowe były dostępne w wersjach wieloprocesorowych na długo przed tym, zanim pojawiły się procesory dwurdzeniowe. Co więcej, wyjątkowo efektywnie wykorzystują wiele rdzeni.
W dziale FAQ poświęconym Rybce 2 jej twórca pisze, że wprawdzie zaprogramowanie silnika szachowego tak, aby przyzwoicie działał na wielu rdzeniach, nie jest zbyt trudne, to walka z różnymi ograniczeniami nie ma końca. Co więcej, choć na dwóch rdzeniach łatwo uzyskać znaczny przyrost wydajności, to wraz z liczbą rdzeni wykładniczo rośnie wpływ błędów w prowadzeniu wątków.
Na przykład Rybka 2 według twórcy skaluje się tak: dwa rdzenie – 1,7 wydajności pojedynczego rdzenia, cztery rdzenie – 2,8, osiem rdzeni – 4,4. Nie jest to maksimum tego, co autor zdołał uzyskać, ale „bezpieczna” wydajność publicznie dostępnej wersji.
Co ważne, podane przed chwilą proporcje dotyczą efektywnej liczby pozycji na sekundę, która bezpośrednio przekłada się na przykład na czas znalezienia posunięcia. Wprawdzie obliczenia szachowe dają się jak mało które rozbić na wiele równoległych wątków, ale szachy mają to do siebie, że do danej pozycji mogą prowadzić różne posunięcia, więc jeśli różne rdzenie liczą różne warianty, część analizy pokrywa się. Tak więc liczba pozycji liczonych przez procesor wielordzeniowy skaluje się dużo lepiej niż efektywna szybkość silnika: w stosowanym na wielu portalach benchmarku Fritza (Fritz Chess Benchmark) – niemal idealnie, w praktyce jednak, czyli w wersji wieloprocesorowej programu (jak Deep Fritz), dużo gorzej, bo do liczenia pozycji dochodzi cała heurystyka. Czyli jeśli w benchmarku Fritza szybkość liczenia pozycji wyniesie 3,95 szybkości działania na jednym rdzeniu, w wersji wieloprocesorowej programu będzie to około 3,8, jednak czas znalezienia pozycji skróci się najwyżej trzykrotnie.
W praktyce nawet obecna efektywna wielowątkowość silników jest wystarczająca, zwłaszcza na dwóch rdzeniach, na których różnica między faktyczną wydajnością a teoretyczną przekłada się najwyżej na kilkanaście punktów w rankingu Elo (na poziomie powyżej 3000 punktów), co statystycznie oznacza w bezpośrednim starciu wynik 51 procent.
Osiem oficjalnie obsługiwanych rdzeni było normą już w latach 90. Obecnie nie dziwi brak ograniczeń liczby rdzeni (przynajmniej oficjalnych), eksperymentuje się nawet z kilkuset. Na 512 procesorach (1,6-gigahercowe Itanium 2) był testowany choćby silnik Zappa.
Wyraźny przyrost wydajności można uzyskać dzięki wersji 64-bitowej, co wiąże się głównie z długością plansz bitowych (omówionych w jednym z wcześniejszych rozdziałów). We wspomnianym dziale FAQpoświęconym Rybce 2 czytamy, że przyspieszenie sięga 60 procent.
Możliwe, że nie ma co liczyć na wykorzystanie układów graficznych w obliczeniach szachowych. Takie układy górują nad procesorami ogólnego przeznaczenia przede wszystkim w obliczeniach zmiennoprzecinkowych, a szachy, choć idealnie nadają się do przetwarzania równoległego, to liczby całkowite i proste operacje logiczne. Przy tym obliczenia, które najlepiej nadawałyby się do przeniesienia na układ graficzny, są mało absorbujące dla procesora.
Na pewno coś takiego wymagałoby napisania oprogramowania od nowa. Na przykład twórca Rybki Vasik Rajlich pisze, że gdy ta technologia dojrzeje, będzie można się jej przyjrzeć, ale nie jest to coś, w co warto wchodzić przed innymi bez istotnego powodu, a na pewno nie priorytet, jeśli chodzi o zwiększanie siły gry silnika.
poniedziałek, 11 czerwca 2012
Szachy i komputery (16) - autor Wojtek Żuchowski
Superkomputery szachowe
Superkomputer szachowy to klaster wyposażony we własne oprogramowanie i rozwiązania sprzętowe stworzone specjalnie do gry w szachy. Obecnie jedynym aktywnym superkomputerem szachowym jest Hydra.
Początkowo do gry w szachy wykorzystywano autorskie programy działające na superkomputerach ogólnego przeznaczenia. Przykładem takiego programu był Chess, powstały w latach 70., który działał na komputerach firmy Control Data Corporations. W 1977 roku wersja 4.5 uzyskała w turnieju z udziałem ludzi wynik 2271 (najniższy tytuł międzynarodowy, mistrza FIDE, wymaga rankingu 2300).
Innym programem przeznaczonym na superkomputery, w tym przypadku Cray firmy Cray Research, która w 1980 roku zapewniła finansowanie projektu, był Cray Blitz, wywodzący się z programu Blitz. Jego następcą jest działający na domowych komputerach, ciągle rozwijany darmowy Crafty.
Pierwszym komputerem przeznaczonym wyłącznie do gry w szachy był Belle, rozwijany w latach 70. i 80. przez Kena Thompsona. Zawierał kilkaset układów obliczeniowych, w tym specjalizowane, i mógł przetwarzać 160–180 tysięcy pozycji na sekundę (kilkadziesiąt razy więcej od ówczesnych superkomputerów ogólnego przeznaczenia), co w praktyce oznaczało głębię ośmiu – dziewięciu półruchów. To pozwoliło mu pokonać w 1982 roku na North American Computer Chess Championship Cray Blitza działającego na nieporównanie droższym sprzęcie. Wciąż jednak siła gry była niższa od poziomu utytułowanych graczy.
Silniejszy był HiTech, zbudowany na uniwersytecie Carnegie Mellon w pierwszej połowie lat 80. Zawierał 64 jednostki obliczeniowe i specjalnie zaprojektowany generator posunięć. Jako pierwszy pokonał arcymistrza, choć ten miał wówczas ranking około 2300 punktów, czyli 200 poniżej dolnej granicy wymaganej do tytułu. Innym projektem rozwijanym w tym czasie na uniwersytecie Carnegie Mellon był komputer ChipTest, który dał początek sławnemu Deep Blue.
Pierwszym naprawdę silnym typowo szachowym superkomputerem był Deep Thought, który w 1989 roku przegrał obie partie w minimeczu z Garrim Kasparowem. Jego poprzednikiem był ChipTest, stworzony w 1985 roku przy udziale tego samego człowieka, Feng-hsiung Hsu, a następcą – sławny Deep Blue.
ChipTest wykorzystywał autorski projekt obliczającego posunięcia układu typu VLSI (ang. Very-large-scale integration) i był sterowany stacją roboczą Suna. Jego prędkość wynosiła początkowo 50 tysięcy pozycji na sekundę. W 1987 roku zmienił nazwę na ChipTest-M, a jego prędkość wzrosła do 500 tysięcy pozycji na sekundę. W 1998 roku na podstawie ChipTesta powstała pierwsza wersja Deep Thought, wykorzystująca dwa wspomniane układy, która wkrótce, jako wersja 0.02, osiągnęła prędkość 720 tysięcy pozycji na sekundę.
W 1989 roku Feng-hsiung Hsu i Murray Campbell, współtwórca ChipTesta, zostali zatrudnieni przez IBM z zadaniem zbudowania jeszcze lepszej maszyny, która mogłaby powalczyć ze ścisłą czołówką szachistów. Deep Thought pod znakiem IBM-a, kiedy grał z Kasparowem, wykorzystywał trzy dwuprocesorowe układy VLSI i też działał pod kontrolą stacji roboczej Suna. Był zdolny ocenić dwa miliony pozycji w ciągu sekundy.
W 1991 roku powstała druga wersja Deep Thought, działająca na komputerze z serii 6000 IBM-a, której dodano następnych 18 procesorów szachowych, co pozwoliło osiągnąć wydajność sześciu – siedmiu milionów pozycji na sekundę.
W 1993 roku Deep Thought został przemianowany na Deep Blue. W 1996 roku rozegrano pierwszy ze sławnych pojedynków między Deep Blue a ówczesnym mistrzem świata Garrim Kasparowem. Wtedy Deep Blue działał z prędkością 100 milionów pozycji na sekundę dzięki 32 procesorom komputera serii 6000, którym towarzyszyły 32 karty z procesorami VLSI, po sześć na każdej (łącznie 192). Deep Blue wygrał pierwszą partię, aby przegrać cały mecz.
Rok później Deep Blue działał już z prędkością 200 milionów pozycji na sekundę. Miał 256 procesorów VLSI (po osiem na każdej z 32 kart towarzyszących dwukrotnie szybciej taktowanym niż rok wcześniej, 400-megahercowym procesorom Power Two Super Chip IBM-a, wyposażonym w czterokrotnie większą od poprzednika ilość pamięci podręcznej trzeciego poziomu) i był dużo bogatszy w szachową wiedzę (głównie za sprawą arcymistrza Joela Benjamina). Sterował nim program działający pod kontrolą systemu AIX. W rewanżu z Kasparowem Deep Blue pokonał mistrza jednym punktem. (O kontrowersjach związanych z tym meczem mogliście przeczytać w osobnym rozdziale).
Co zdecydowało o sukcesie Deep Blue? Jeśli pominąć fatalną grę zniechęconego Kasparowa w ostatniej, decydującej partii i to, że mistrz świata przegapił szansę na wymuszenie remisu w drugiej, a także założyć, że w tej drugiej partii nie nastąpiła ingerencja człowieka (pisałem o tym w rozdziale poświęconym stylowi, więcej przeczytacie w rozdziale o pojedynkach człowiek kontra maszyna) – przede wszystkim była to moc obliczeniowa, ale także nowe algorytmy oceny pozycji (m.in. na podstawie materiału, temp i bezpieczeństwa króla) wzbogacone zaprogramowaną wiedzą szachową oraz funkcja określana jakoselective extensions, pozwalająca obliczać tylko wybrane warianty i odrzucać te najmniej obiecujące lub ewidentnie błędne (choć działanie Deep Blue było silnie oparte na metodzie brutalnej siły). I oczywiście poprawki zwykłych błędów znalezionych w pierwszej wersji.
Funkcja oceny pozycji sama „nauczyła” się odpowiednich parametrów dzięki analizie tysięcy partii.
Książką otwarć zajęli się przede wszystkim arcymistrzowie: Joel Benjamin, John Fedorowicz i Nick de Firmian. Stworzono ją na podstawie 600 tysięcy partii na wysokim poziomie. Ponadto Deep Blue był wyposażony w stworzone przez Kena Thompsona tablice końcówek dla pięciu bierek i wybrane tablice dla sześciu.
Po zwycięstwie z Kasparowem Deep Blue został wycofany z użycia – spełnił swoją rolę jako poligon doświadczalny i narzędzie marketingowe.
Przez kilka następnych lat w szranki z najlepszymi szachistami stawały coraz bardziej „inteligentne”, ogólnodostępne programy szachowe, takie jak Deep Fritz i Deep Junior. Następnym superkomputerem szachowym na miarę Deep Blue była Hydra.
Hydra powstała w 2004 roku na podstawie projektu „Brutus”, nad którym prace rozpoczęły się w październiku 2000 roku. Pomysłodawcą był Ken Thompson, twórca jednego z pierwszych komputerów szachowych, Belle. Przekonał on do swojego projektu firmę ChessBase, która do jego realizacji wybrała dr. Christiana Donningera. Hydra znajduje się w Abu Dhabi w Zjednoczonych Emiratach Arabskich (podczas turniejów i meczów jest sterowana przez internet), a jej rozwój jest sponsorowany przez PAL Group. Jest skonstruowana podobnie jak Deep Blue: jako klaster podstawowych procesorów i specjalizowanych układów (Xilinx Vertex II Pro), sterowanych autorskim oprogramowaniem. Od początku w planach było kilka wersji Hydry: Orthus, Chimera, Scylla i „właściwa” Hydra. Najsilniejsza dotąd wersja składała się z 64-procesorowego klastra (opartego na układach Xeon Intela) wyposażonego w specjalizowane jednostki na kartach FPGA i łącznie 64 GB RAM-u. Wydajność tej wersji w obliczeniach szachowych była zbliżona do ostatniej wersji Deep Blue, wynosiła około 200 milionów pozycji na sekundę, z tym że efektywność wybierania wariantów do liczenia i oceny pozycji była znacznie większa.
Obecnie oficjalnie działają wersje Chimera i Scylla. Na Chimerę składa się 16 procesorów Intel Xeon 3,06 GHz wspomaganych przez specjalizowane układy na kartach FPGA i łącznie 32 GB RAM-u. Scylla to 16 węzłów wyposażonych w dwa lub cztery procesory Intel Xeon 3,6 GHz, również wspomagane specjalizowanym układami na kartach FPGA, unowocześnionymi w stosunku do słabszej wersji, i łącznie 64 GB RAM-u. (Dodatkowy węzeł zarządza pozostałymi 16). Ponadto Scylla działa pod kontrolą udoskonalonego w porównaniu z Chimerą oprogramowania.
sobota, 9 czerwca 2012
Szachy i komputery (15) - autor Wojtek Żuchowski
Niedozwolone wspomaganie w grze „przy desce”
Plaga w grze online, coraz większy problem w tradycyjnych turniejach – jeśli nie faktyczny, to z punktu widzenia wizerunku szachów i atmosfery w środowisku.
Postęp techniczny, zwłaszcza miniaturyzacja elektroniki i wzrost siły gry oprogramowania szachowego, sprawił, że podejrzenia o doping zdarzają się niewiele rzadziej niż na przykład w lekkiej atletyce. Jak współczesny gracz może sobie pomóc, poza oczywiście kofeiną i innymi środkami podnoszącymi sprawność umysłową? (Chociaż powszechna opinia jest taka, że ze względu na charakter partii szachowej taki doping nie ma racji bytu, na przykład nie da się przewidzieć, czy zmniejszenie napięcia będzie potrzebne po dwóch czy sześciu godzinach albo czy środek pobudzający przestanie działać, zanim nastąpi faza partii, w której wskazany byłby raczej środek uspokajający).
Najprościej wyjść z sali, na przykład do WC, i użyć kieszonkowego komputera szachowego albo programu działającego na palmtopie. Oczywiście, coś takiego raczej nie pozwoli amatorowi pokonać arcymistrza, ale na amatorskim poziomie, zwłaszcza gdy grających na sali jest bardzo dużo, jest to problem. Były już przypadki przyłapania gracza na korzystaniu z takiej pomocy; często też pojawiają się niepotwierdzone podejrzenia, niekiedy zupełnie absurdalne. Z reguły w regulaminie zawodów jest zakaz wnoszenia jakichkolwiek urządzeń elektronicznych, minimum jest obowiązek wyłączania telefonów komórkowych (i automatyczny walkower, jeśli telefon zadzwoni, co dotyczy także sygnału rozładowanej baterii). Zdarzają się nawet kontrole przy użyciu specjalnej aparatury.
Bardziej wyrafinowaną metodą jest niewidoczna słuchawka w uchu i asystent podpowiadający ruchy. Było kilka głośnych przypadków dopingu tego typu, także w Polsce. Ułatwieniem jest tu powszechność transmisji internetowych – wtedy sufler nie musi znajdować się na sali gry. Prowizorycznym rozwiązaniem jest opóźnienie w transmisji o co najmniej kilkanaście minut, jednak wielotysięczna widownia w internecie nie może być nim zachwycona.
Oprócz wykrywaczy metalu i urządzeń elektronicznych oraz opóźnień w transmisji stosuje się zagłuszacze sygnału, odpowiednie oświetlenie ukrywające widownię w mroku i szyby przepuszczające światło tylko w jedną stronę. Poza tym wszyscy wszystkich analizują pod kątem „komputerowych” posunięć.
Oskarżenia o niedozwolone wspomaganie zdarzały się na długo przed tym, zanim coś takiego miałoby sens z punktu widzenia czołowego arcymistrza, ale odkąd działające na laptopach silniki dorównały najlepszym szachistom, problem urósł do rangi fundamentalnego dla przyszłości gry.
Na turnieju o mistrzostwo świata FIDE w San Luis w Argentynie w 2005 roku jeden z rosyjskich trenerów oskarżył zwycięzcę, Bułgara Weselina Topałowa, o wykorzystywanie silnika Rybka – wszystko na podstawie zbieżności posunięć z komputerową analizą.
Rok później, gdy Topałow grał mecz unifikacyjny o mistrzostwo świata z Władimirem Kramnikiem, wybuchł chyba największy skandal w historii od czasu meczu Spasski – Fischer w 1972 roku, znany jako Toiletgate. Otóż menedżer Topałowa oskarżył Kramnika o korzystanie z niedozwolonego wspomagania w sedesowej części toalety, tam gdzie nie zaglądały kamery. Na potwierdzenie podejrzeń przedstawił analizę częstotliwości wyjść Kramnika do ubikacji i statystykę zbieżności posunięć z Fritzem. Wprawdzie zachowanie Kramnika było faktycznie nietypowe, ale tłumaczą je problemy zdrowotne, co więcej, możliwości wykorzystania jakiejkolwiek pomocy z zewnątrz (zagłuszanie sygnału, przeszukiwanie toalet i graczy przed wejściem na salę gry, „świetlna kurtyna” oddzielająca ich od publiczności) były najpewniej żadne, a przytoczona zgodność posunięć z analizą silnika, poza tym że zabrakło informacji o metodzie, była mniejsza niż... zgodność posunięć Topałowa z Rybką w San Luis. Nieprawdopodobne przepychanki, które nastąpiły, dotyczyły głównie procedury korzystania z toalety.
Po zamknięciu oddzielnych toalet Kramnik w proteście nie przystąpił do następnej, piątej partii (a prowadził wtedy 3:1). Mecz po wielu przepychankach i ponownym otwarciu toalet udało się dokończyć (Topałow wygrał jeszcze dwie partie, a Kramnik jedną, po czym ten drugi wygrał w dogrywce). Jednak ekipa Topałowa nie wycofała oskarżeń, pojawiła się nawet dokumentująca je książka, a panowie od tamtego czasu nie odzywają się do siebie.
Niedawno furorę zrobił amatorski film przedstawiający zachowanie menedżera Topałowa, który podczas turnieju w Wijk aan Zee regularnie odbierał telefon, wychodząc przy tym poza salę gry.
Głośnych afer było więcej. Niewątpliwie zapewnienie braku możliwości niedozwolonego wspomagania w szachach jest niezbędne dla przyszłości gry, jednak jak się okazuje, żadne zabezpieczenia nie wystarczą, by rozproszyć atmosferę paranoi.
Ciekawostka: szachy aspirują do miana dyscypliny olimpijskiej, więc graczy od pewnego czasu automatycznie bada się na obecność... sterydów i tym podobnych wspomagaczy.
piątek, 8 czerwca 2012
Szachy i komputery (14) - autor Wojtek Żuchowski
Komputer kontra centaur
Czy dzisiejsze silniki na nowoczesnym sprzęcie grają od człowieka ogólnie lepiej, czy jedynie skuteczniej? Jak pokazałem, silniki dominują tam, gdzie najważniejsze jest policzenie drzewa wariantów, a braki w wiedzy i rozumieniu pozycji nadrabiają książkami otwarć, tablicami końcówek i tym, że nie popełniają prostych błędów. Ale czy to oznacza lepszą jakość gry? W piłce nożnej można raz w meczu strzelić na bramkę przeciwnika i wygrać, mimo że przeciwnik kilka razy trafi w słupek i poprzeczkę...
Na to pytanie w pewnym sensie odpowiadają wyniki partii między samotnym silnikiem a centaurem, czyli graczem wspomaganym przez silnik lub na odwrót. Otóż człowiek w takiej rozgrywce wciąż zapewnia decydującą przewagę, co więcej, silnik nie nadrobi jej większą mocą obliczeniową sprzętu. (Oczywiście w rozumieniu statystycznym: nawet najlepszym silnikom zdarza się przegrać z dużo słabszymi kolegami). Jak funkcjonuje taki tandem? Z reguły człowiek albo sprawdza policzone przez siebie warianty w komputerze, albo wybiera jedną z równorzędnych z punktu widzenia silnika linii. Ważne jest również dopasowanie książki otwarć i odpowiednie ustawienie parametrów silnika, także pod kątem granych przez silnik debiutów.
Przykładem przewagi centaura nad samotnym silnikiem są wyniki szóstej edycji internetowego PAL/CSS Freestyle Tournament, przeprowadzonego na serwerze firmy ChessBase (o puli nagród 16 tysięcy dolarów). Wygrał zespół Rajlich, złożony zasadniczo z czterech kopii silnika Rybka, jego autora, którym jest mistrz międzynarodowy Vasik Rajlich, oraz Polki Iwety Rajlich, również mistrzyni międzynarodowej, która zajmowała się analizą pozycji i przygotowaniem debiutowym. W finale zespół Rajlich wyprzedził m.in. Mission Control, czyli silnik Rybka działający bez asysty człowieka na 32-procesorowym klastrze. Przed Mission Control znalazło się jeszcze czterech innych centaurów, wyposażonych w słabszy sprzęt.
Owszem, zdarzało się, że wygrywał silnik pozbawiony pomocy człowieka, niemniej jednak centaura uważa się za silniejszego od gołego komputera.
Ciekawostka: pierwszą edycję turnieju, rozegraną w 2005 roku, wygrała dwójka amatorów korzystająca z czterech różnych silników na trzech najzupełniej domowych komputerach, chociaż wielu nie mogło uwierzyć, że grali bez pomocy wybitnego szachisty. (A zgodnie z przepisami mogli mieć do pomocy cały pluton arcymistrzów i wszystkie komputery armii amerykańskiej). Podejrzewano nawet Kasparowa, ten jednak zaprzeczył. Sukces zapewniło im, jak mówią, przygotowanie teoretyczne (książka otwarć, znajomość wykorzystywanych silników, technika doboru ruchów-kandydatów i ostatecznych posunięć) i praktyczne (duża liczba partii na serwerze w pokoju centaurów).
czwartek, 7 czerwca 2012
Szachy i komputery (13) - autor Wojtek Żuchowski
![]() |
| Aleksander Grischuk (Moskwa 2012) |
Sławne mecze człowiek kontra maszyna
Jedną z pierwszych głośnych potyczek między człowiekiem a komputerem był mecz między HiTechem a arcymistrzem Arnoldem Denkerem, wtedy mającym, niestety, swoje najlepsze lata dawno za sobą. Był rok 1988. Komputer wygrał 3,5:0,5.
W tym samym roku Deep Thought zajął pierwsze miejsce ex aequo z arcymistrzem Tonym Milesem w turnieju Software Toolworks Championship, przed kilkoma znanymi nazwiskami. W turnieju tym osiągnął wynik 2745 w skali USCF, czyli na poziomie silnego arcymistrza.
W roku 1989 rozegrano pokazowy mecz między Deep Thought a mistrzem świata Garrim Kasparowem. Komputer przegrał obie partie.
Następca Deep Thought, pierwsza wersja superkomputera Deep Blue, w 1996 roku w Filadelfii zmierzył się z Kasparowem w klasycznym meczu. Wygrał pierwszą partię, co było pierwszym zwycięstwem komputera nad mistrzem świata w tradycyjnej partii, ale mistrz umiał wykorzystać słabości maszyny i wygrał cały mecz 4:2.
Rok później, w maju 1997 roku w Nowym Jorku, odbył się głośny rewanż, który zakończył się w atmosferze skandalu. Pula nagród wyniosła ponad milion dolarów (700 tysięcy dla zwycięzcy, 400 tysięcy dla pokonanego). Tempo gry było klasyczne: po dwie godziny na pierwszych 40 posunięć, po godzinie na 20 następnych, po 30 minut na dokończenie partii.
Deep Blue był szybszy i „mądrzejszy”, niż rok wcześniej, jednak w pierwszej partii Kasparow go po prostu rozgromił. Jego zdaniem komputer grał jak komputer: robił dokładnie to, czego można by się spodziewać po maszynie. W drugiej partii, której fragment omówiłem w rozdziale poświęconym stylowi silników szachowych, Deep Blue grał na zupełnie innym, niezwykle wysokim poziomie, jeśli nie liczyć prostego błędu pod koniec partii, który dał przeciwnikowi możliwość wymuszenia remisu przez wieczny szach – niestety, niewykorzystaną. Skandal zapoczątkowało omówione we wspomnianym rozdziale 36. posunięcie, w którym Deep Blue odmówił przyjęcia ofiary piona, mimo że nawet najsilniejsze współczesne silniki dużo wyżej oceniają jej zaakceptowanie. A Kasparow, wykonując to posunięcie w nie najlepszej dla siebie pozycji, był przekonany, że słaby strategicznie komputer zaakceptuje ofiarę, mimo że nie powinien.
Kasparow wprost zasugerował interwencję dobrego szachisty, który miał odrzucić najwyżej oceniany przez komputer wariant na korzyść rozwiązania mniej oczywistego, ale widocznego nawet dla przeciętnie silnego zawodowca. To, że komputer nie mógł samodzielnie wybrać rozwiązania, które wybrał, było oczywiste nie tylko dla Kasparowa. Kasparow zażądał ujawnienia logów, zespół IBM-a odmówił (choć po pewnym czasie logi pojawiły się na stronie internetowej).
Po tej drugiej partii wynik meczu był 1:1. Trzy następne partie zakończyły się remisem. W ostatniej, szóstej, Kasparow grał bardzo źle już w debiucie i poddał partię po zaledwie 19 posunięciach. Jak sam twierdzi, nie podniósł się po porażce w drugiej partii, nie zależało mu, nie miał ochoty grać.
Po tym meczu Deep Blue został na zawsze odłączony od sieci. W następnych latach, zanim powstała Hydra, czołowi szachiści rywalizowali z silnikami działającymi na maszynach bardziej przypominających to, co działa obecnie w naszych domach.
W 1998 Rebel 10 na pececie z procesorem AMD K6-2 450 MHz i 128 MB RAM-u, zdolnym obliczyć 200–250 tysięcy pozycji na sekundę (tysiąc razy mniej niż Deep Blue), pokonał w meczu Viswanathana Ananda, wówczas numer dwa na świecie, jednak tylko dwie partie były klasyczne (Hindus wygrał jedną, a jedną zremisował); pozostałych sześć było rozgrywanych w tempie kilku- i kilkunastominutowym.
W 2002 roku działający na ośmiu 900-megahercowych Xeonach i półtora gigabajta RAM-u Deep Fritz 7 (szczytowa szybkość: 3,5 miliona pozycji na sekundę) zremisował 4:4 z Władimirem Kramnikiem w ośmiorundowym meczu w Bahrajnie o puli nagród w wysokości miliona dolarów, nazwanym Brains in Bahrain. Zarówno komputer, jak i człowiek wygrali po dwie partie. W szóstej partii Kramnik nieświadomie poddał remisową pozycję. Dwa zwycięstwa człowiek odniósł w uproszczonych pozycjach, takich w jakich komputery zasadniczo ustępują ludziom, prawie wygrał w ten sposób w czwartej partii. Jedną partię przegrał przez duży taktyczny błąd, drugą – przez ryzykowny manewr w lepszej pozycji.
Podobnie jak w meczu rozegranym w 2006 roku w Bonn (szczegóły poniżej), Kramnik miał możliwość kilkumiesięcznego treningu z programem w ostatecznej wersji. Wciąż jednak zespół Fritza mógł wprowadzać, nawet w trakcie meczu, zmiany w książce otwarć programu.
W styczniu 2003 roku w Nowym Jorku ówczesny oficjalny komputerowy mistrz świata, Deep Junior, działający na ośmiu 1,6-gigahercowych procesorach i 8 GB RAM-u, zremisował 3:3 z Garrim Kasparowem. Człowiek wygrał jedną partię, jedną przegrał (po bardzo ciężkim błędzie), pozostałe zakończyły się remisem. Kasparow był krytykowany za to, że nie wykazał typowej dla siebie żądzy zwycięstwa w ostatnich dwóch partiach, zwłaszcza że w tej ostatniej miał pozycję, w której normalnie grałby na wygraną. Ale mistrz sam przyznał, że nie umiał wyrzucić z pamięci poprzednich partii, zarówno z tego meczu, jak i wcześniejszego, z Deep Blue.
W grudniu tego samego roku Deep Fritz w wersji X3D, działający na czteroprocesorowej stacji roboczej wyposażonej w 2,8-gigahercowe Xeony, zremisował z Garrim Kasparowem 2:2, wygrywając jedną partię i jedną przegrywając. Kasparow, zamiast grać na elektronicznej szachownicy DGT bezpośrednio z operatorem Fritza, miał na sobie specjalne okulary wyświetlające trójwymiarowy obraz szachownicy, a posunięcia wprowadzał głosem przy użyciu systemu rozpoznawania mowy.
W 2004 roku w Bilbao trzech arcymistrzów, w tym dwóch ze ścisłej czołówki, spotkało się w nieoficjalnych drużynowych mistrzostwach świata ludzi i maszyn (Man vs Machine World Team Championship) w ramach tamtejszego festiwalu szachowego. Z Weselinem Topałowem, Rusłanem Ponomariowem i Siergiejem Karjakinem rywalizowała Hydra w wersji 16-procesorowej (sterowana zdalnie), ówczesny komputerowy mistrz świata Deep Junior, działający na czterech 2,8-gigahercowych Xeonach (też grający przez internet), oraz Fritz 8, działający na 1,7-gigahercowym laptopie. Jeden jedyny Karjakin zdołał wygrać partię (z Juniorem), poza tym ludzie przegrali sześć partii, a pięć zremisowali, co dało wynik 8,5:3,5. Pierwsze miejsce dzięki dodatkowej punktacji zajął Fritz, druga była Hydra z taką samą liczbą punktów, na trzecie miejsce wskoczył Topałow, który wyprzedził dzięki dodatkowej punktacji Deep Juniora.
W następnym roku, również w Bilbao, zorganizowano następną edycję imprezy. Po stronie maszyn stanęli ci sami zawodnicy co poprzednio, po stronie ludzi grali trzej byli mistrzowie świata FIDE: Aleksander Chalifman, Rusłan Ponomariow, Rustam Kasimdżanow. Hydra była tym razem w wersji 32-procesorowej, Deep Junior działał na dwurdzeniowym układzie firmy AMD, a Fritz, już w wersji 9 – ponownie na laptopie. W drugiej rundzie ludzie wygrali dzięki dwóm remisom i zwycięstwu Ponomariowa nad Fritzem, o którym mogliście przeczytać w rozdziale poświęconym strategiom antykomputerowym, w czwartej i zarazem ostatniej padły trzy remisy, w pozostałych dwóch górą były maszyny. Skończyło się wynikiem 8:4.
Wcześniej w tym samym 2005 roku Hydra, pierwszy superkomputer szachowy od czasu Deep Blue,pokonała w Londynie 5,5:0,5 Brytyjczyka Michaela Adamsa. Adams wówczas zajmował siódme miejsce w światowym rankingu i jak mówią twórcy, został wybrany między innymi ze względu na trudny dla komputera, pozycyjny styl. Zespół Hydry oczekiwał w sześciorundowym pojedynku dwóch zwycięstw komputera i czterech remisów, skończyło się na pięciu zwycięstwach i jednym remisie. Hydra używała w meczu 32 z dostępnych 64 jednostek procesor – dodatkowy układ. Znajdowała się w Abu Dhabi w Zjednoczonych Emiratach Arabskich i była sterowana zdalnie. Pula nagród wynosiła do 150 tysięcy dolarów i była dzielona w zależności od wyników poszczególnych partii.
Niewątpliwie Adams był w trudniejszej sytuacji niż Kasparow i Kramnik. Pierwszy najpierw grał z potężnym, ale dużo mniej „inteligentnym” Deep Blue, a potem z programami, które mógł przed meczem testować. Drugi wręcz zapewniał sobie, że albo kod zostanie zamrożony na jakiś czas przed meczem, albo producent będzie mu dostarczać kolejne wersje silnika na bieżąco. Adams był również krytykowany za to, że nie przygotował się tak, jak robili to przed swoim meczami z komputerem Kasparow i Kramnik.
Ostatnim wielkim spotkaniem człowieka z maszyną był rozegrany w końcu 2006 roku w Bonn mecz między Kramnikiem a Deep Fritzem 10, działającym na dwóch 3-gigahercowych dwurdzeniowych Xeonach 5160 (średnio około ośmiu milionów pozycji na sekundę, głębia w grze środkowej – do 17–18 półruchów). Kramnik dostał 500 tysięcy euro za sam start, za zwycięstwo miał dostać milion.
W pierwszej, remisowej partii Kramnik nie wykorzystał szansy na zwycięstwo. Druga partia stała się sławna z jednego powodu: Kramnik w wyrównanej końcówce dał się zamatować w jednym posunięciu, co zgodnie określa się jako błąd wszech czasów. Następne trzy partie zakończyły się remisem. Kramnik w ostatniej, szóstej partii, w której nie miał nic do stracenia i musiał pójść na całość, zagrał nietypowy dla siebie superostry wariant Najdorfa w obronie sycylijskiej – i ponownie przegrał. (Porównanie pozycji z tej partii ze spokojną grą w jednej z pierwszych partii znalazło się we wcześniejszym rozdziale poświęconym strategiom antykomputerowym).
poniedziałek, 4 czerwca 2012
Szachy i komputery (12) - autor Wojtek Żuchowski
Turnieje i mecze komputerów i silników
Turnieje szachowe, mecze i regularne partie między komputerami, łącznie z oficjalnymi mistrzostwami świata, są rozgrywane od kilkudziesięciu lat, także pod auspicjami FIDE.
Na wstępie ważna uwaga. Otóż tak jak mecz o mistrzostwo świata między ludźmi w dość częstej opinii pozwala jedynie wyłonić zwycięzcę meczu o mistrzostwo świata, a nie najlepszego szachistę, zwłaszcza od kiedy gra się z góry określoną i do tego niewielką liczbę partii (a nie do iluś zwycięstw) – tak za miarodajną ocenę siły gry silnika uważa się wyłącznie listy rankingowe tworzone na podstawie setek lub tysięcy partii między silnikami. Przede wszystkim przygotowanie debiutowe, także pod konkretnego przeciwnika, odgrywa jeszcze większą rolę niż w pojedynkach między ludźmi. Inny niezwykle ważny czynnik to sprzęt: nawet jeśli jest porównywalny, siła gry silników różnie się skaluje z jego wydajnością, co więcej, na ważne wydarzenia przygotowuje się specjalne wersje silników, przystosowane do konkretnej platformy.
Pierwszy mecz (korespondencyjny) między programami szachowymi rozegrano w latach 1966–1967. Program Kaissa działający na komputerze M-20 w jednym z instytutów Akademii Nauk ZSRR pokonał program Kotok-McCarthy stworzony na Uniwersytecie Stanforda, działający na komputerze IBM-7090.
W 1970 roku odbyła się pierwsza edycja North American Computer Chess Championship, wygrana przez program Chess 3.0 działający na superkomputerze firmy Control Data Corporation, a cztery lata później – pierwsza edycja World Computer Chess Championship, wygrana przez program Kaissa. Pierwszą z tych imprez rozgrywano do roku 1994, drugą rozgrywa się do dziś. W roku 1983 ścieżki obu turniejów spotkały się: 14. edycja NACCC była pierwszą edycją mistrzostw świata, które od 1986 roku, czyli od drugiej edycji, były rozgrywane niezależnie. Prawie wszystkie czołowe komercyjne silniki: Fritz, Shredder, Junior, Zappa, Rybka, choć raz zdobyły tytuł, choć obecnie nie wszystkie silniki uczestniczą w tej imprezie. Od dwóch lat tytuł komputerowego mistrza świata należy do Rybki, której oceny są zarazem uważane za najbliższe ocenie człowieka.
W 2007 roku czołówka szachistów grała w Meksyku turniej o mistrzostwo świata. Przy okazji rozegrano 10-rundowy mecz między silnikami Rybka i Zappa. Oba silniki działały na identycznych, ośmiordzeniowych maszynach. Zappa wygrał 5,5 do 4,5 (trzy zwycięstwa, dwie porażki, pięć remisów).
Pojedynki między silnikami rozgrywano także o prawo do gry z człowiekiem w omówionych w następnym rozdziale meczach człowiek kontra maszyna. Na przykład o prawo gry z Władimirem Kramnikiem w imprezie Brains in Bahrain grały silniki Junior i Fritz (który dopiero przed meczem z Kramnikiem rozwinął się do postaci wieloprocesorowej, „Deep”). Ówczesny komputerowy mistrz świata, Shredder, nie wziął udziału w tych kwalifikacjach. Fritz przegrał pierwszych pięć partii, jednak pod koniec wyrównał wynik, aby wygrać mecz w dogrywce.
Najważniejsze niezależne listy rankingowe silników to (w kolejności alfabetycznej): CCRL, CEGT, CSS,SCCT, SSDF, WBEC. Listy te są tworzone na podstawie bardzo dużej liczby partii granych między silnikami na pewnej liczbie ujednoliconych platform. Ranking na takiej liście wykorzystuje ten sam system co FIDE, więc siła gry jest podawana w punktach Elo. Sprzęt i tempo są różne w zależności od listy. Od paru lat na wszystkich listach wyraźnie prowadzi silnik Rybka z siłą gry ok. 3000–3240 punktów Elo.
niedziela, 3 czerwca 2012
Szachy i komputery (11) - autor Wojtek Żuchowski
Ocena siły silnika
Ocena siły gry silnika jest dużo trudniejsza niż w przypadku człowieka. Liczba pozycji na sekundę niczego tak naprawdę nie mówi, zwłaszcza w konfiguracjach wieloprocesorowych i wielordzeniowych, także głębia nie jest porównywalna, zostają więc rankingi. Tych nie brakuje: jest wiele list rankingowych poświęconych wyłącznie komputerom, tworzonych na podstawie setek i tysięcy partii między silnikami i wykorzystujących system Elo. Niestety, to są partie między silnikami, tych między maszyną a człowiekiem jest niewiele. (O rywalizacji między silnikami przeczytacie w następnym rozdziale).
Niemniej jednak przyjmuje się, że rankingi silników podawane na tych listach nie odbiegają bardzo od rzeczywistej siły gry z punktu widzenia człowieka: nie ma wątpliwości, że nawet czołówka homo sapiens przy dużej liczbie partii musi przegrać. Inna sprawa, na ile decyduje jakość gry, a na ile skuteczność w ścisłym rozumieniu (na przykład proste błędy popełniane w wyniku zmęczenia albo dekoncentracji) – o czym pisałem na początku tego rozdziału – ale statystyka pozostaje statystyką.
Skoro siłę najlepszych silników szacuje się na Elo 3000–3100, to spodziewany wynik w starciu z szachistą o sile Elo 2800 (do tylu dobija obecna czołówka) wynosi 75–85 procent. Oczywiście zastosowanie strategii antykomputerowych bardzo obniża ten wynik, jednak w ostatniej dekadzie ludzie w najlepszym razie wygrywają pojedyncze partie, a remisują mecze. (Więcej o meczach człowiek kontra maszyna przeczytacie w osobnym rozdziale).
sobota, 2 czerwca 2012
Szachy i komputery (10) - autor Wojtek Żuchowski
Strategie antykomputerowe
Najprostszą strategią w grze z silnikiem jest odkrycie błędów w jego działaniu, takich jak niestandardowe zachowanie po kilkukrotnym powtórzeniu posunięcia. Może też się zdarzyć luka w książce debiutowej albo „wymuszony” wariant pod koniec debiutu, który jeszcze się w niej nie znalazł. Jednak w partii z programem najczęściej stosuje się bardziej wyrafinowane strategie.
Skoro silniki nie najlepiej radzą sobie w debiucie, jeśli pozbawić je dostępu do książki otwarć, można wcześnie „opuścić” książkę w nadziei, że komputer nie znajdzie optymalnych posunięć. Taką taktykę przyjął Garri Kasparow w jednej z przytoczonych w poprzednim rozdziale partii, podobnie zrobił Rusłan Ponomariow w partii, którą zamieściłem poniżej jako przykład innej strategii. Niestety, problem z rzadkimi debiutami polega na tym, że nie bez powodu są mało popularne, więc to, że silnik zagra zaledwie nieoptymalnie, może nie wystarczyć do uzyskania przewagi.
Najbardziej klasyczną strategią jest granie jak najbardziej zamkniętych pozycji. W takiej pozycji silnik nie widzi żadnych oczywistych planów, nie ma pola do popisu, jeśli chodzi o możliwości taktyczne, gra przez długi czas sprowadza się do powolnych manewrów za własnymi umocnieniami. Doskonałym przykładem zastosowania tej strategii jest partia Rusłana Ponomariowa z Fritzem w drugiej edycji Festival Internacional de Ajedrez Man-Machine z 2005 roku. (Trzy silniki na zróżnicowanym sprzęcie zmierzyły się z trzema byłymi mistrzami świata FIDE).
Ponomariow – Fritz 9, Bilbao 2005
Ponomariow uzyskał bardzo zamkniętą pozycję. Silnik poświęcił piona za szybkość wyprowadzania figur, ale nie rozumiał, że w takiej pozycji nic mu to nie da, i po 30 posunięciach wygrana białych najpewniej była – jak przyznał autor raportu na stronie ChessBase, producenta Fritza – kwestią techniki. Wtedy Ponomariow zapomniał o regule bicia w przelocie, podstawiając piona ruchem 31. g4. (A właściwie przypomniał sobie o niej, gdy już trzymał piona w powietrzu i musiał wykonać nim jakieś posunięcie).
Pozycja po 31. g4
2r3k1/2r2pp1/pn1p1n2/N2p1q2/PP1PpNPp/1BPbP2P/Q4P2/2R1R1K1 b - g3 0 31
Fritz uzyskał decydującą przewagę, ale pozycja po wymianach wciąż była dość zamknięta:
(ruch czarnych)
6k1/5p2/pn1p4/N2p2p1/PP1Pp2q/1BrbP1QP/6K1/4R3 b - - 0 39
W tej pozycji Fritz wykonał posunięcie 39... Gc2. Fritz 10 w pierwszej chwili stawia ten ruch ex aequo na pierwszym miejscu. Dlaczego jego poprzednik je wykonał? W przytoczonej pozycji nie ma natychmiastowych rozwiązań, oczywistych planów. Wprawdzie wariant po tym ruchu okazuje się wymuszony, ale dopiero po bardzo dużej liczbie posunięć, dalece przekraczającej możliwości Fritza działającego na laptopie przy niewielkiej ilości czasu do namysłu (jedno posunięcie przed kontrolą czasu). Chociaż stosunkowo niewielka moc obliczeniowa sprzętu raczej nie była tu decydująca: Fritz 10 przestaje oceniać posunięcie 39... Gc2 jako jedno z najlepszych (i na pewno wygrywające) dopiero przy głębi 19 półruchów, czyli po kilku minutach liczenia na Core 2 Duo 2,7 GHz, więc trzy lata temu bez co najmniej kilku rdzeni musiało się tak skończyć.
Człowiek może się zająć takim wymuszonym wariantem bez zwracania uwagi na pozostałe...
Kramnik – Deep Fritz, 1. runda meczu, Bonn 2006
W przegranym 2:4 meczu w Bonn ówczesny mistrz świata Władimir Kramnik w pierwszej partii umiał uzyskać decydującą przewagę, dążąc wprawdzie nie do zamkniętej, ale spokojnej i bardzo „subtelnej” pozycji, jednej z takich, w jakich jest mistrzem i jakich silniki zasadniczo nie rozumieją:
Pozycja po 17. posunięciu
r2r2k1/1b3p1p/pp2pp2/2b5/8/5NP1/PP2PPBP/R4RK1 w - - 0 18
Niestety, nie zdołał przekuć tego na wygraną, a po tym, jak w następnej partii popełnił „błąd wszech czasów”, dając się zamatować w jednym posunięciu, w ostatniej partii nie miał nic do stracenia, więc zagrał czarnymi wyjątkowo ostry wariant Najdorfa, w którym Fritz, jak to komputer, brylował:
Pozycja po 17. posunięciu
1r3r1k/1q2bppp/b2ppn2/p1p5/4PB2/1BN2QR1/PPP2PPP/4R1K1 w - - 0 18
Już na pierwszy rzut oka różnica jest zasadnicza, prawda?
Mur Altermana
Skrajnym przykładem dążenia do pozycji, w której komputer radzi sobie źle – a tym bardziej radził sobie źle na przełomie wieków, gdy ta partia była rozgrywana – jest tak zwany mur Altermana:
(ruch czarnych)
4rrk1/pp4bp/1np1pppq/8/PPPPPPPP/1Q3N2/4K3/2B3RR b - - 0 26
Diagram przedstawia sytuację po 26. posunięciu białych w partii Alterman – Deep Fritz w meczu człowiek kontra maszyna zorganizowanym w 2000 roku przez nieistniejącą już witrynę Kasparovchess.com. Białe partię wygrywały już w tym momencie.
piątek, 1 czerwca 2012
Szachy i komputery (9) - autor Wojtek Żuchowski
Styl
W ten sposób dochodzimy do zagadnienia stylu gry. Stylem jest na przykład skłonność do otwartych lub zamkniętych pozycji, do pozycji z dwoma gońcami lub bez hetmanów, do poświęceń, do posunięć niekoniecznie poprawnych, ale sprawiających praktyczne trudności, do blefowania i w ogóle do ryzyka. Od początku styl gry komputerów wyraźnie różnił się od stylu gry człowieka, jednak te różnice coraz bardziej się zacierają: silniki coraz lepiej naśladują ludzi, a ludzie, trenując i analizując z silnikami, przejmują wiele z ich stylu.
Tradycyjnie silnikom szachowym przypisuje się takie cechy stylu, jak: „niechęć” do zamkniętych i w ogóle spokojnych pozycji, przywiązywanie nadmiernej wagi do nominalnej wartości bierek kosztem korzyści strategicznych, unikanie poświęceń, o ile nie prowadzą do widocznej dla silnika przewagi, zwłaszcza materialnej, i granie wyłącznie wariantów, które zostają ocenione najwyżej, bez uwzględnienia praktycznych aspektów partii, jak skomplikowanie pozycji w niedoczasie.
Jednak nowoczesne silniki są wyposażane zarówno w coraz więcej wiedzy, jak i w algorytmy pozwalające im wyjść poza „obiektywizm”. Taki silnik umie zatem poświęcić piona za perspektywę inicjatywy, która znajduje się za „horyzontem” obliczeń. (Silnik nie widzi jeszcze pozycji, w której ma inicjatywę).
Silniki różnią się między sobą także pod tym względem. Częściowo wynika to oczywiście z różnej wagi kryteriów zastosowanych przy ocenie pozycji, czasem jednak chodzi właśnie o zakodowaną skłonność do takich, a nie innych posunięć przy zbliżonej ocenie. Jedne silniki próbują jak najbardziej naśladować styl człowieka, inne stawiają na maksymalne wykorzystanie czystej mocy obliczeniowej, zwłaszcza w konfiguracjach o bardzo dużej liczbie rdzeni.
Więcej na ten temat przeczytacie w następnym rozdziale, poświęconym strategiom antykomputerowym; na razie parę przykładów posunięć w sławnych meczach człowiek kontra maszyna, których nikt się po komputerze nie spodziewał.
Kasparow – Deep Junior, 5. partia meczu, Nowy Jork 2003
(ruch czarnych)
rnbqr1k1/pp3ppp/2pb1n2/3p4/3P4/P1NBP3/1PQ1NPPP/R1B2RK1 b - - 0 10
To pozycja po 10. posunięciu białych. Współczesne silniki, jak Rybka 2.3.2a i Fritz 10, oceniają tę pozycję jako wyrównaną lub z minimalną przewagą czarnych. W partii nastąpiło sławne, zupełnie niespodziewane posunięcie 10... G:h2, czyli poświęcenie gońca za piona w zamian za możliwość odkrycia białego króla. Ani Rybka, ani Fritz nie biorą go pod uwagę, a po jego wykonaniu widzą albo lekką przewagę białych (Rybka), albo remis (Fritz). Białe mogą wymusić remis przez trzykrotne powtórzenie pozycji, mogą też grać o zwycięstwo, ale charakter pozycji sprawia, że ryzyko jest ogromne. Kasparow wolał nie ryzykować i wymusił remis, co było raczej korzystnym wynikiem dla grającego czarnymi komputera.
Deep Blue – Kasparow, 2. partia meczu rewanżowego, Nowy Jork 1997
(ruch białych)
r1r1q1k1/6p1/p2b1p1p/1p1PpP2/PPp5/2P4P/R1B2QP1/R5K1 w - - 0 36
Słynna pozycja – i słynny skandal. Grający czarnymi Kasparow był bliski przegranej w tej partii i wykonał posunięcie poświęcające piona b5 (po 36. Hb6), które dawało mu pewne szanse w dłuższej perspektywie. Silniki nawet dzisiaj mają zasadniczo materialistyczne podejście do pozycji, tym bardziej miały je w połowie lat 90. A już szczególnie Deep Blue, który w dużo większym stopniu opierał się na czystej mocy obliczeniowej.
Co komputer powinien zrobić w pokazanej na diagramie sytuacji? Postawić hetmana na b6, grożąc gońcowi na d6, i zdobyć piona na b5. Ale Deep Blue nie przyjął poświęcenia i po prostu wymienił piony, co pozwoliło mu utrzymać decydującą przewagę. (Potem popełnił prosty błąd, po którym przeciwnik mógł doprowadzić do wiecznego szacha i tym samym wymusić remis, jednak Kasparow nie dostrzegł szansy i przegrał).
Pozycję tę współczesne silniki oceniają jako wyraźnie lepszą dla białych i zdecydowanie preferują zdobywające piona 36. Hb6. (Po kilku minutach Rybka 2.3.2a zmienia ocenę mniej więcej z 1,5 punktu na 1, a Fritz 10 – z 2 na 1,3, wciąż jednak odrzucające poświęcenie bicie 36. a:b5 jest oceniane dużo niżej).
Jakim cudem Deep Blue grał tak dobrze, skoro dzień wcześniej przegrał pierwszą partię meczu w fatalnym stylu? Jakim cudem Deep Blue ponad dekadę temu wykonał tak „niekomputerowe” posunięcie, zwłaszcza że w pierwszej partii, jak powiedział sam Kasparow, robił dokładnie to, czego należałoby się spodziewać po „głupiej” maszynie? O skandalu Kasparow kontra Deep Blue przeczytacie w innym rozdziale.
czwartek, 31 maja 2012
Szachy i komputery (9) - autor Wojtek Żuchowski
Słabe strony silników – przykłady
Oto wybrane pozycje, w których czołowy silnik na nowoczesnym pececie nie poradził sobie z oceną pozycji lub wyborem wygrywającego posunięcia. To tylko kilka przykładów, które na pewno nie wyczerpują tematu. (Parę dalszych trafiło do innych rozdziałów).
Topałow – Szirow, Linares 1998
(ruch czarnych)
8/8/4kpp1/3p1b2/p6P/2B5/6P1/6K1 b - - 0 47
Rybka w wersji 2.3.2a, działająca na szybkim Core 2 Duo, wskazuje dużą przewagę czarnych, rzędu dwóch pionów (i czarne mają właśnie dwa piony więcej), ale jeśli dać jej to rozegrać, zremisuje. Ocena nie zmienia się co najmniej przez godzinę (dłużej nie sprawdzałem). Jednak grający czarnymi Szirow wykonał posunięcie Gh3, poświęcając gońca! I wygrał.
Ruch Gh3 jest na tyle zaskakujący, że program nie poświęcił mu wystarczająco dużo czasu, aby móc obliczyć jego konsekwencje, praktycznie nie wziął go pod uwagę. Kilkaset tysięcy razy „wolniejszy” człowiek użył wyobraźni i właściwie ocenił sytuację na szachownicy w dalszej perspektywie.
Jeśli wykonać ten ruch w programie, ocena zmienia się na remisową. Po kilkudziesięciu sekundach czarne „mają” już przewagę piona, po następnych kilkudziesięciu – dwóch. I jak się okazuje, tym razem program umie to wygrać.
Kramnik – Anand, Bonn 2008, 5. runda meczu o mistrzostwo świata
(ruch białych)
8/1b1nkp1p/4pq2/1B6/PP1p1pQ1/2r2N2/5PPP/4R1K1 w - - 0 29
Grający białymi Kramnik, przegrywający w całym meczu jednym punktem, poświęcił skoczka na d4 (oczywiście nie za darmo, jak sądził). Rybka 2.3.2a w kilku pierwszych przebiegach (kilkadziesiąt sekund) stawia to posunięcie na pierwszym miejscu z przewagą białych (ok. 0,7 piona). Dopiero w czwartym przebiegu widzi, że S:d4 przegrywa.
Jak się okazało, i człowiek, i program popełnili ten sam błąd: nie uwzględnili zaskakującego poświęcenia czarnego skoczka na f3:
(ruch białych)
8/1R3p1p/4pk2/8/PP3p2/4n3/5PPP/2r2BK1 w - - 0 35
Po Sf3 białe muszą bić skoczka, a wtedy czarny pion ma przed sobą prostą drogę do promocji. Co ciekawe, zabrakło niewiele: wystarczyło, że głębia obliczeń wzrosła z 15 półruchów do 16! Program nie zdołał przekroczyć swoich ograniczeń, Kramnik nie doliczył, Anand – owszem, i to kilka posunięć wcześniej.
Anand – Kramnik, Bonn 2008, 7. runda meczu o mistrzostwo świata
(ruch białych)
2r5/3n2p1/1p1Bp1k1/pP2P1p1/P5P1/2p1P2P/4K3/2R5 w - - 0 33
Rybka 2.3.2a i Fritz 10 oceniają tę pozycję na około 1,5–2 punkty dla białych. To przykład niemożności zobaczenia pozycji po wymianach bez liczenia wszystkich prowadzących do niej posunięć. Po wymianie wież i obu lekkich figur biały król nie zdoła przedrzeć się przez okopy czarnych:
8/5kp1/1p2p3/pP2P1p1/P5P1/2K1P2P/8/8 b - - 0 37
Anand – Kramnik, Meksyk 2007, turniej o mistrzostwo świata
(ruch białych)
5k2/R5p1/5p2/5P1p/7P/p5P1/5K2/r7 w - - 0 43
Przykład końcówki, której silniki zupełnie nie rozumieją; ograniczona moc obliczeniowa nie pozwala im spojrzeć dalej niż kilkanaście posunięć do przodu. Rybka 2.3.2a podaje ocenę około 3,5 punktu dla czarnych (co oznacza praktycznie pewną wygraną), Fritz 10 jest mniej optymistyczny, ale też wskazuje wyraźną przewagę czarnych, około punktu (co odpowiada faktycznej przewadze materialnej). Tymczasem to obecny w literaturze przykład remisowej końcówki, w której wolny pion nie ma szans dojść do ostatniej linii. Gracze to oczywiście widzieli, ale postanowili, jak mówią, przeprowadzić poglądową lekcję, więc zagrali jeszcze ponad 20 posunięć. Oczywiście remis.
Subskrybuj:
Posty (Atom)












