Adam "Urborg" Kaczmarek:
Inspiracją do napisania tegoż tekstu stał się wątek na Forum Atarum
dotyczący programów szachowych na małe Atari. Zachęcam do
zapoznania się z
treścią
dyskusji jaka wywiązała się na forum.
autor zdjęcia: Shutterstock
Zacznę od tego, że kiedyś zdarzyło mi się przeprowadzić turniej
pomiędzy sześcioma wybranymi przeze mnie programami szachowymi
napisanymi na „nasze ukochane maleństwo”. Turniej był rozgrywany
metodą każdy z każdym. Zwycięzcą turnieju został "Chessmaster
2000", który wygrał wszystkie mecze. Po niezwykle zaciętej walce
pokonał nawet mój ulubiony i chyba najbardziej popularny na Atari
program szachowy jakim jest "Colossus Chess 4.1". "Colossus Chess"
zajął drugie miejsce. Trzeci był "Chess 7.0", który co prawda
przegrał z obydwoma uprzednio wymienionymi programami, lecz trzeba
przyznać, że potrafił nawiązać z nimi w miarę wyrównaną walkę.
Pozostałe trzy programy ("My Chess II" - Datamost 1984, "Computer
Chess" - Atari 1979, "Chess" - Parker Brothers 1983) były tylko
chłopcami do bicia dla trzech pierwszych programów. Tymczasem w
dyskusji, jaka wywiązała się na forum, pojawiła się informacja o
programach szachowych, z którymi nigdy wcześniej jakoś nie miałem
styczności - "Sargon II" i "Sargon III". Podobno dystrybutor
umieścił na pudełku z programem "Sargon III" złotą naklejkę z
informacją, iż program ten pokonuje "Chessmastera 2000" w 7 na 8
partii! Przyznam się, że nie chciało mi się w to wierzyć.
Chessmaster to przecież bardzo silny gracz skoro potrafił pokonać
nawet Colossusa. Czyżby zwykły chwyt marketingowy? A może coś w tym
jest... postanowiłem sprawdzić.
Prezentacja Zawodników
Proszę państwa! Po jednej stronie ringu, eee … znaczy szachownicy,
widzimy obecnego championa i obrońcę tytułu - program "Chessmaster
2000" wydany w roku 1986 przez Software Country. Dostępny na
praktycznie wszystkie komputery osobiste z tego okresu. Program
bardzo bogaty w funkcje i wyposażony w przyjazny interfejs. Autorzy
nieskromnie chwalą się, że ich program stał się nowym standardem,
według którego należy oceniać wszystkie programy szachowe.
Prekursor bardzo popularnej serii programów szachowych, której
ostatnia 11 edycja ("Chessmaster 9000") wydana została w roku 2007.
Zawodnik wydaje się bardzo pewny swego, tak jakby już z góry znał
wynik starcia. No cóż, oby się tylko nie przeliczył.

Tymczasem Panie i Panowie! Proszę o uwagę, bo po drugiej stronie
szachownicy, pręży już muskuły, eee… znaczy się zwoje mózgowe,
pretendent do tytułu, który liczy że sprawi nam tutaj dziś sporą
niespodziankę - program "Sargon III" wydany w roku 1985 przez firmę
Hayden. Zawodnik również prezentuje się bardzo imponująco. Menedżer
zawodnika, eee … znaczy się wydawca programu, również nie szczędzi
pochwał pod adresem swojego pupila. Na pudełku możemy wyczytać, że
wyposażono go najbardziej wyrafinowany algorytm szachowy spośród
programów komputerowych. Co więcej program został mistrzem turnieju
komputerowych programów szachowych z roku 1984 magazynu "PC Word
Magazine". Nie wiem niestety jak tego dokonał, skoro został wydany
dopiero rok później. Być może autorzy chwalą się tutaj osiągnięciem
programu "Sargon II" z 1982 roku. Ale to nie koniec atutów tegoż
zawodnika. Podobno program pokonał mistrza szachowego,
posiadającego w rankingu ponad 2200 punktów! Tak więc bukmacherzy
mogą już zacząć przyjmować zakłady, a my przejdźmy do prezentacji
zasad pojedynku.

Zasady pojedynku
Oto zasady jakie przyjąłem. Pojedynek będzie się składał z sześciu
partii, każdy program zagra 3 razy białymi i 3 razy czarnymi
figurami. Zwycięstwo będzie premiowane 1 punktem, remis połówką, za
przegraną zaś punktów nie będzie. Pojedynek będzie rozgrywany za
pomocą emulatora "Atari800Win PLus" na PC. Założeniem moim było,
aby dać programom długi czas do namysłu, tak aby mogły możliwe jak
najwięcej wycisnąć ze swoich algorytmów. Emulator pozwala mi dać
programom sporo czasu na ruch, dzięki klawiszowi F7. Szybkość
mojego peceta wystarcza na uruchomienie emulacji z szybkością
1600%- 2000% szybkości prawdziwego Atari. Oczywiście czas namysłu
godzinę lub więcej na ruch był w tym wypadku i tak niedopuszczalny.
Założeniem moim było takie ustalenie poziomów trudności, aby czas
myślenia oscylował w granicach 5, 10, góra 20 minut (minuta na
emulatorze). Program "Sargon III" posiada 9 poziomów trudności plus
jeszcze dodatkowo włączany tak zwany "easy mode" i "szybki tryb".
Metodą prób i błędów poziom trudności ustawiłem na 7, bez trybów
łatwego i szybkiego. Po 3 pierwszych partiach poziom trudności
podniosłem do 8. Chessmaster zaś posiada ustawiany poziom trudności
w zakresie od 1 do 19 i także tryb "easy mode" oraz coś, co się
nazywa "cofeehouse". Tryby dodatkowe wyłaczyłem, zaś trudność
ustawiłem na 12. Po 3 partii tutaj też podniosłem poziom trudności
na 14. Przy tych ustawieniach długość czasu myślenia programów była
porównywalna. Co istotne w emulatorze wyłączyłem opcję „stop when
inactive” i włączyłem opcję „threaded emulation”. Chodziło o to,
aby okienka emulatora miały ten sam przydział mocy obliczeniowej
procesora i działały mniej więcej z tą samą prędkością. Jest to
istotne, gdyż oba programy przeprowadzają kalkulacje także podczas
ruchu przeciwnika. Oba okienka emulatora cały czas działały w
trybie Full Speed, dzięki czemu, całkowity czas (czas podczas
własnego ruchu i czas podczas ruchu przeciwnika) jaki dostały oba
programy był zbliżony.
Relacja z meczu
Proszę państwa, zawodnicy już gotowi. Bukmacherzy przyjmują jeszcze
ostatnie zakłady. Wszyscy w napięciu czekamy, kiedy sędzia uderzy w
gong dając sygnał do rozpoczęcia. Sędzia główny naradza się jeszcze
z pozostałymi arbitrami. O już skończył ustalenia i bierze do ręki
pałeczkę, aby dać sygnał do rozpoczęcia. Publiczność zamarła w
oczekiwaniu, nawet mucha nie śmie bzyknąć. Gdyby spróbowała to
wszyscy byśmy ją wtedy doskonale słyszeli bo taka cisza zapanowała.
GONG! i proszę państwa rozpoczęło się…
Starcie pierwsze
Chessmaster grający białymi rozpoczął: C2-C4, na co Sargon
odpowiedział G7-G6. W kilku kolejnych ruchach białe zablokowały
centrum szachownicy trzema pionami. Szybko doszło do wymiany pionów
i gońców, po czym jednak w kolejnych ruchach potworzyły się murki z
pionów, blokujące środek. Potem przez długi czas żadna ze stron nie
potrafiła osiągnąć przewagi. Stopniowo z szachownicy znikały
kolejne figury, ale tylko w ramach wymiany. Po 40 posunięciach z
planszy znikły już wieże i skoczki. Każda ze stron dysponowała
hetmanem gońcem i 5 pionami. Wtedy jednak nastąpił przełom.
Chessmaster zaatakował hetmanem króla przeciwnika. Zdołał pięć razy
zaszachować wrogiego króla w wyniku czego Sargon stracił dwa piony.
Potem doszło do wymiany hetmanów. Dalsze posunięcia Chessmastera
wydają się jednak trochę dziwne. Zaszachował króla niebronionym
pionem co równało się z jego utratą. Chwilę później zaś udało mu
się co prawda przemienić jednego z pionów w hetmana, ale też tylko
po to by go w chwilę później stracić. W tym wypadku jednak pion
znajdował się już w beznadziejnym położeniu więc i tak Chessmaster
nie byłby w stanie go uratować. W ten sposób po 56 posunięciach
układ sił się wyrównał. Każda ze stron dysponowała 3 pionami i
gońcem. Rozpoczął się marsz pionów w kierunku linii przemiany.
Doszło do wymiany pionów, po czym Sargonowi udało się zbić jeszcze
jednego piona przeciwnika, uzyskując przewagę materialną. Po 82
posunięciach doszło jednak do impasu. Jeden czarny pion został
zablokowany przez białego króla, drugi zaś przez gońca. Jedyny
biały pion też był zablokowany przez wrogiego gońca. Sargon
próbował atakować gońca Chessmastera za pomocą króla i własnego
gońca, lecz nie był w stanie zmusić go z zejścia z linii, na której
będąc blokował piona stojącego tuż przed linią przemiany. Ponieważ
żaden z przeciwników nie potrafił już przechylić szali zwycięstwa
na swoją korzyść, ostatecznie po 100 posunięciach zdecydowałem się
zakończyć partię remisem.

tak zakończyła się pierwsza partia
Starcie drugie
Pierwsze starcie nie przyniosło rozstrzygnięcia. Oba programy
pokazały, że są silnymi graczami. Zapowiadał się ciekawy mecz.
Zobaczmy jak wyglądała druga partia.
Sargon rozpoczął G2-G3, zaś przeciwnik skopiował jego ruch w
postaci G7-G8. Potem była wymiana hetmanów i gońców. Po czym
Chessmaster szachując skoczkiem króla, zbił przeciwnikowi piona nic
samemu nie tracąc i tym samym uzyskując przewagę już po 18
posunięciach. Potem było trochę manewrów i wymian, po czym przewaga
Chessmastera ponownie wzrosła po wymianie skoczka za wieżę w 42
posunięciu. Po 50 posunięciach Sargon pozostał z jednym pionem i
skoczkiem przeciwko 3 pionom i wieży. Wynik wydawał się już
przesądzony. W końcówce Sargon sprytnie blokując piony przeciwnika
królem i szachując króla skoczkiem zmusił w końcu Chessmastera do
wymiany wieży za skoczka. Jednak nie był w stanie już zmienić losów
pojedynku. Samotny król nie miał szans przeciwko królowi i dwóm
pionom. Chessmaster zamienił piona w hetmana, nie przejmując się
zbytnio stratą drugiego z pionów, po czym zakończył partię matem po
77 posunięciach. Tym sposobem Chessmaster objął prowadzenie w
meczu.
a tak zakończyła się druga
Starcie trzecie
Grający białymi Chessmaster rozpoczął standardowo E2–E4. Na co
Sargon odpowiedział swoim ulubionym chyba rozpoczęciem G7-G6. W
efekcie, czego Mistrz przejął kontrolę nad centrum planszy. Potem
było trochę manewrów skoczkami i gońcami, parę wymian, po czym
Chessmaster uzyskał przewagę w pionach 5 do 4 w 21 posunięciu.
Niestety jego piony były trochę porozrzucane po planszy, co
utrudniało mu ich obronę. Mimo tego udało mu się zbić Sargonowi dwa
kolejne piony za cenę jednego, a następnie zmusić go do
niekorzystnej wymiany hetmana za wieżę. Po 50 posunięciach Sargon
pozostał z wieżą i dwoma pionami, przeciwko hetmanowi i czterem
pionom. Dalej poszło już szybko. Po kilku szachach Sargon stracił
wieżę, a chwilę potem Chessmaster miał już dwa hetmany, którymi
szybko i sprawnie doprowadził do mata. Partia trwała 67 posunięc.
Przewaga Chessmastera nad Sargonem w meczu jeszcze bardziej
wzrosła.
zakończenie starcia trzeciego
Starcie czwarte
Tutaj napotkałem na pewien problem - powtarzalność ruchów programu
"Sargon III". Program ten miał zaczynać partię. Problem w tym że
robił to za każdym razem w jeden i ten sam sposób: G2 – G3, przez
co partia stawała się powtórką partii drugiej. Najwyraźniej nie
potrafił chłop inaczej zacząć, albo się uparł. A tak na poważnie -
problem najwyraźniej leżał w tym, że w wersji, którą posiadałem
brakowało biblioteki otwarć. Program bowiem za kazdym razem, gdy
zaczynałem partię wyświetlał przez chwilę komunikat "cancel opening
book - FILE NOT FOUND". To samo mają obie wersje pliku z
AtariOnline.pl. Ściągnąłem więc Sargona z Atarimanii i tam w pliku,
który pobrałem była osobna dyskietka z biblioteką otwarć.
Próbowałem ją podpinać pod stację dysków w emulatorze, ale nic z
tego - dalej był ten sam komunikat. Odpuściłem więc. Spróbowałem za
to zwiększyć poziom trudności. Sargona przestawiłem na poziom 8 a
Chessmastera na 14. Czas myślenia programów wydłużył się, choć
pozostał jeszcze na akceptowalnym poziomie (oczywiście gdy używałem
klawisza F7). Niestety to też nie pomogło. Postanowiłem, więc sam
wykonać pierwszy ruch, a potem oddać sprawy w ręce programów.
Partię zacząłem standardowo E2-E4.
W starciu czwartym szybko doszło do wymiany hetmanów. Potem
rozpoczęły się manewry skoczkami, gońcami i pionami i kolejne
wymiany. Z planszy znikły gońce i skoczki, potem była wymiana wież.
Znowu tutaj lepszym zmysłem taktycznym popisał się Chessmaster
uzyskując przewagę piona. Po 30 posunięciach zawodnicy mieli po
jednej wieży, królu (oczywiście), a w pionkach przewagę 4 na 5
posiadał Chessmaster. Kilkanaście posunięć dalej było już 3 do 2 w
pionach. Sargon za wszelką cenę próbował zlikwidować przewagę
przeciwnika, lecz Chessmaster dzielnie bronił tejże przewagi. w
pewnym momencie udało się mistrzowi doprowadzić do przemiany pionka
w hetmana, lecz niestety tylko po to, by go chwilę po tym stracić
za cenę pionka. Potem jednak Chessmaster popełnił najwyraźniej
błąd, gdyż jego król był zbyt daleko, aby móc bronić dwóch
pozostałych przy życiu pionów. Ten jednak zamiast próbować
podprowadzić króla w pobliże pionków, zaczął szachować króla
przeciwnika nie zyskując w ten sposób nic i dając wrogiemu królowi
okazję do podejścia w pobliże tychże pionów. Potem doszło do
kolejnej wymiany pionów i na planszy pozostał już oprócz wież jeden
jedyny pionek Chessmastera. Stało się jednak jasne, że biały Król
zdąży zablokować piona zanim ten zdołałby dotrzeć do linii
przemiany. Mistrz próbował bronić piona wieżą, ale na dłuższą metę
nie miał szans przeciwko atakowi wieży i króla. Król Chessmastera
był na drugim końcu szachownicy i nie mógł pomóc. Zakończyło się to
wszystko stratą ostatniego piona. Na planszy pozostał biały król i
wieża przeciwko czarnemu królowi i wieży. Ponieważ żadna ze stron
nie była już w stanie przechylić szali na swoją korzyść,
zdecydowałem się zakończyć partię remisem.

końcówka czwartej partii
Starcie piąte
Po czterech partiach "Chessmaster 2000" zgromadził już 3 punkty na
swoim koncie, dzięki czemu w tej partii wystarczał mu już tylko
remis, aby zapewnić sobie triumf w całym meczu. Z kolei Sargonowi
pozostała teoretyczna szansa na remis w pojedynku, lecz aby tego
dokonać musiałby obie pozostałe jeszcze partie wygrać. Po tym co
widzieliśmy w poprzednich starciach nie wydawało się to jednak
prawdopodobne.
Chessmaster który grał teraz białymi rozpoczął D2-D4, po czym w
kolejnych ruchach zdołał zablokować centrum pionami. Sargon też
postawił mur z pionów. W tej fazie doszło do wymiany skoczków, po
czym nastąpił pozorny impas. Utworzyła się pozycja zamknięta.
Centrum planszy zablokowane było pionami i nie dochodziło do
żadnych zbić. Zamiast tego gracze zaczęli przygotowywać się do
uderzenia. Po dłuższych przygotowaniach w końcu około 20 posunięcia
doszło do krótkiej serii wymian. Chessmaster stracił skoczka i
piona zaś Sargon skoczka i dwa piony. Czyli coś co już znamy –
znowu Chessmaster uzyskał przewagę piona. W centrum zrobiło się
więcej miejsca na manewry, co gracze wykorzystali szykując się do
kolejnej wymiany uderzeń. Około 30 posunięcia uderzył Sargon
zbijając Chessmasterowi dwa piony i wieżę, a samemu tracąc jedynie
wieżę. Tym samym uzyskał przewagę dającą szansę na odnisienie
zwycięstwa. Zapachniało sensacją! Niedługo potem doszło do wymiany
wież i na planszy pozostały już tylko hetmany, po jednym gońcu i
piony. Pięć pionów przeciwko sześciu. Po 40 posunięciu znowu doszło
do wymiany pionów, czym Sargon zdołał sobie utorować wolną drogę
dla dwóch swoich pionów po lewej stronie szachownicy. Potem kolejna
wymiana pionów i sytuacja Chessmastera zaczynała wyglądać coraz
gorzej. Tym bardziej, że dwa czarne piony po lewej, osłaniane przez
hetmana i gońca, znajdowały się niebezpiecznie blisko linii
przemiany. Nie wyglądało na to aby Chessmaster był w stanie
powstrzymać ich marsz. Wtedy jednak, Chessmaster zaatakował
czarnego króla hetmanem. Seria pięciu kolejnych szachów z rzędu
kosztowała Sargona stratę piona i gońca! Przewaga materialna
czarnych prysła. Zaraz potem doszło do wymiany hetmanów, wskutek
czego na planszy pozostały już tylko po 3 piony każdej ze stron,
oraz króle i goniec Chessmastera. Sargon miał jednak lepszą pozycję
gdyż jego piony miały znacznie bliżej do linii przemiany.
Chessmaster jednak rozegrał to po mistrzowsku. Gońcem zablokował
ruch dwóm pionom a także czarnemu królowi zablokował drogę tak, że
ten nie mógł bronić swojego trzeciego piona ani zagrozić jednemu z
białych pionów. Potem zaś królem zbił owego czarnego piona. Sargon
poświęcił kolejnego swojego piona, co pozwoliło mu zbić królem
jednego z pionów przeciwnika. Sytuacja Sargona w tym momencie stała
się już beznadziejna. Ostatni czarny pion był zablokowany przez
gońca. Natomiast samotny król nie był w stanie zablokować dwóch
białych pionów, które właśnie rozpoczęły marsz ku linii przemiany.
Niedługo potem dwa białe hetmany sprawnie i szybko zakończyły
partię matem w 74 posunięciu.

a to już finał starcia piątego
Starcie szóste
Dzięki 3 zwycięstwom i 2 remisom Chessmaster zapewnił sobie już
zwycięstwo w całym meczu. Ostatnia partia nie może już tego
zmienić. Jedyna niewiadoma to rozmiar porażki Sargona, który mógłby
być znacznie mniejszy gdyby ten zdołał tą ostatnią partię wygrać.
Tylko czy Sargon jest w ogóle w stanie pokonać Chessmastera?
Zobaczmy.
Sargon (czy raczej ja w jego imieniu) rozpoczął D2-D4. W odpowiedzi
Chessmaster wystawił na środku murek z trzech pionów. Po czym już w
trzecim posunięciu jednego z nich stracił. Nie wiem czemu tak to
rozegrał. Czyżby mistrz się pomylił? Nie wyglądało na to aby
poświęcając tego piona Chessmaster odniósł jakąkolwiek korzyść.
Jedyne wytłumaczenie jakie mi przychodzi do głowy jest takie, że po
prostu już mu się myśleć nie chciało, skoro i tak miał wygraną w
kieszeni. W każdym razie Sargon od samego początku uzyskał
materialną przewagę w postaci piona. Potem miało miejsce
rozstawianie figur i wymiany goniec, za skoczka i skoczek za gońca.
później chwila spokojnej gry po czym cała seria wymian w wyniku
czego życie straciły wszystkie wieże i po 2 pionki każdej ze stron.
Sytuacja Chessmastera zaczęła wyglądać nieciekawie. Po ponad 30
posunięciach Sargon dalej utrzymywał przewagę piona. Co więcej po
lewej stronie dwa jego piony uzyskały czystą drogę do linii
przemiany do której miały już niepokojąco blisko. W 36 posunięciu
Sargon zdołał jednym z owych pionów dojśc do linii przemiany.
Świeżo zdobyty hetman został jednak od razu zbity, na co
Chessmaster musiał jednak poświęcić gońca. W tej sytuacji wygrana
Chessmastera zaczęła wydawać się już mało prawdopodobna. Spróbował
on ataku hetmanem na wrogiego króla, co jednakże, pozwoliło mu
zaledwie zbić jeden pion. Potem doszło do wymiany hetmanów i stało
się jasne, ze bez hetmana Chessmaster nie zdoła już ani obronić się
przed strata kolejnego piona, ani zablokować następnego z pionów
przeciwnika przed osiągnięciem linii przemiany. W 48 posunięciu
Sargon zdobył kolejnego hetmana i oprócz tego dysponował też
skoczkiem i 3 pionami, przeciwko zaledwie 3 pionom Chessmastera. W
53 posunięciu partia dobiegła końca. Po raz pierwszy Chessmaster
musiał uznać wyższość przeciwnika. Była to najkrótsza z rozegranych
partii.

tutaj zaś dla odmiany - zakończenie szóstej
partii
Podsumowanie
Cały mecz zakończył się rezultatem 4:2 dla Chessmastera. Który
wygrał trzy partie. W dwóch partiach padł remis. Jedna zakończyła
się zwycięstwem Sargona. Sargon oprócz ostatniej partii miał szansę
wygrać jedynie w partii pierwszej i piątej. Pierwsza partia była
bardzo wyrównana i zakończyła się remisem pomimo, że Sargon w
końcówce uzyskał przewagę piona. Piąta zaś mimo, że Sargon przez
dłuższy czas posiadał niewielką przewagę, ostatecznie zakończyła
się jego klęską. W czwartej partii, która zakończyła się remisem,
przeważał Chessmaster i remis jest tutaj wynikiem tego, że
Chessmaster nie zdołał tej przewagi wykorzystać. Zastanawia trochę
przegrana Chessmastera w ostatniej partii. Niewątpliwie była ona
wynikiem bezsensownej utraty piona już w 3 ruchu. Zauważyłem że
program wykonał dwa pierwsze ruchy praktycznie od razu - bez
zastanowienia. Być może algorytm zbyt szybko uznał, że znalazł
satysfakcjonujące rozwiązanie. Kilka razy sprawdzałem czy
przypadkiem nie włączyłem jakiegoś niższego poziomu trudności, ale
jestem pewny, że nic takiego nie miało miejsca. Co do Sargona to
wydaje mi się, że źródeł jego porażek należałoby się dopatrywać w
zbyt małej wadze jaką ten program kładzie na bezpieczeństwo
własnego króla. Kilka razy Chessmaster uzyskiwał przewagę właśnie
szachując Sargonowi króla. Ogólnie zauważyłem też, że Chessmaster
lubi szachować. W czwartej partii moim zdaniem, bezsensowne
szachowanie wrogiego króla sprawiło, że utracił szanse na
odniesienie zwycięstwa. Wracając do tej nieszczęsnej naklejki -
okazała się jednak chwytem marketingowym. Może Sargon i pokonuje
Chessmastera w 7 na 8 partii, ale zapewne tylko przy "odpowiednich"
ustawieniach. Z drugiej strony trzeba przyznać, że "Sargon III"
jest niewątpliwie jednym z najmocniejszych programów szachowych na
małe Atari. Tym podsumowaniem kończę tą relację.

gra w szachy to efektowny motyw artystyczny:
tutaj dzieło Alana Boileau
Na koniec jeszcze zamieszczam do ściągnięcia
zapisy
stanów emulatora, na których można oglądnąć przebieg
poszczególnych partii. Zapisy stanu zostały tak przygotowane, że po
uruchomieniu od razu można oglądać "replay" całej partii.