//
RANKINGI I TURNIEJE

 

   Praktycznie od początku szybkiego rozwoju programów grających w szachy, wystąpiła naturalna potrzeba sprawdzania poziomu ich gry tym bardziej ,że praktycznie każdy liczący się program aby mógł być nadal rozwijany musi być nieustannie testowany w celu wyłapania jego słabości i określenia stylu gry  tak aby kolejne wersje grały na wyższym poziomie.

Już od 1970 roku organizowane były coroczne North American Computer Chess Championship  (Mistrzostwa Ameryki Północnej w Szachach Komputerowych). Pierwszy tytuł zdobył program Chess 3.0 działający na superkomputerze firmy Data Control Corporation, w kolejnych latach ten program w nowych wersjach zwyciężał jeszcze siedmiokrotnie. Ostatnia edycja imprezy odbyła się w 1994 roku zwycięzcą został znany nam już program (a w zasadzie komputer plus program) Deep Thought.

Od 1974 roku regularnie co rok po dzień dzisiejszy rozgrywane są Mistrzostwa Świata Komputerów Szachowych – World Computer Chess Championship (WCCC).  Turniej organizowany jest przez Międzynarodowe Stowarzyszenie Gier Komputerowych – International Computer Games Association (ICGA)   ,które organizuje również turnieje innych gier logicznych wykorzystujących sztuczną inteligencję. Tabela poniżej obrazuje skrócone wyniki tych mistrzostw w ostatnich 10 latach:

Żródło:  International Computer Games Association

Wszyscy zwycięzcy prezentowanych turniejów należą do grupy silników komercyjnych, choć nie wszystkie najsilniejsze programy biorą w nich udział. W 2005 roku zwyciężyła co prawda jeszcze darmowa wersja Zappy ale, zaraz po zdobyciu tytułu postanowiono ją udostępniać odpłatnie. Oczywiście tytuł Mistrza Świata Programów Komputerowych, jest doskonałym narzędziem marketingowym wspierającym sprzedaż programu. ICGA organizuje również corocznie podobne mistrzostwa w tempie błyskawicznym.
Od 1981 roku organizowany jest co roku w Holandii turniej otwarty programów komputerowych. Odbywa się on w systemie szwajcarskim, w ciągu ostatnich pięciu lat triumfatorem imprezy była Rybka, choć podobnie jak w innych turniejach nie brały w nim udziału wszystkie najmocniejsze silniki.
Znany na całym świecie komercyjny (niestety ) Server ICC, również organizuje turnieje silników szachowych, pierwsza edycja miała miejsce w 2000 roku, w przeciwieństwie do pozostałych turniejów ,programy grają ze sobą on-line przy pomocy specjalnego oprogramowania, systemem szwajcarskim na dystansie 7 lub 9 rund, tempem 50 minut na partię plus trzy sekundy na posuniecie. Wyniki z ostatnich lat znajdują się na stronie http://cctchess.com .
Organizowano również mecze pomiędzy programami głównie komercyjnymi . Jeden z bardziej znanych odbył się w 2007 roku w Meksyku i był reklamowany jako Clash of the Computer Titans czyli Starcie Komputerowych Tytanów. W pojedynku wzięły udział programy Zappa i Rybka działające na identycznym komputerze wyposażonym w ośmiordzeniowy procesor. Zwyciężyła Zappa 5.5-4.5
Pojedynki programów szachowych organizowane w ramach cyklicznych turniejów nie oddają jednak w pełni ich realnej siły gry, gdyż aby tego dokonać każdy silnik powinien z przeciwnikiem rozegrać przynajmniej 30-60 partii na identycznym sprzęcie co oczywista nie jest możliwe w czasie trwania jednego turnieju. Takie możliwości dają jednak zespoły ludzi zajmujące się testowaniem silników oraz systematycznym prowadzeniem list rankingowych. Jedynie po przez standaryzację testów połączoną z cykliczną publikacją rankingu możemy w miarę dokładnie określić poziom gry danego programu na tle innych. Zanim jednak przejdziemy do omówienia tych lista potrzebnych będzie kilka uwag. Mianowicie choć ranking liczony jest na identycznych zasadach jak to bywa w przypadku rankingu FIDE u ludzi, to musimy pamiętać ,że programy grają tylko miedzy sobą i trudno powiedzieć jak wyglądałby ich ranking jeśli grałyby systematycznie z najsilniejszymi szachistami. We współczesnych szachach praktycznie nie organizuje się silnych turniejów w których braliby udział ludzie i programy lub np. jeden program a reszta szachistów. Dlatego też mamy dwie zupełnie oddzielne listy: komputerów i ludzi.
Czynników determinujących testy silników szachowych jest wiele i każdy z nich podobnie jak u szachistów może wywoływać różne rezultaty np. są zawodnicy ,którzy pomimo wysokiego poziomu gry w tempie turniejowym nie radzą sobie w blitza nawet z dużo słabszymi przeciwnikami. Podobnie jest z programami do gry w szachy z tym ,że parametrów decydujących o poziomie gry jest znacznie więcej oto one:
• Czas gry, z reguły aby określić faktyczną siłę gry programów należało by wszystkie partie przeprowadzić w tempie turniejowym np. 40 posunięć na 2 godziny plus pół godziny na dokończenie partii, ale w praktyce oznacza to znaczne wydłużenie testów.
• Konfiguracja sprzętu komputerowego użytego do testów ,głównymi parametrami decydującymi o poziomie gry programów są:
– szybkość i rodzaj procesora
– liczba procesorów
– liczba rdzeni w procesorze
– pojemność i szybkość pamięci operacyjnej
• System operacyjny 32 lub 64 bitowy
• Włączenie lub wyłączenie opcji ponder czyli wykonywanie obliczeń w czasie gdy strona przeciwna jest na posunięciu
• Rozmiar tablicy transpozycji
• Używanie różnych rodzajów tablic debiutów oraz tabeli końcówek
• Ustawienia wewnętrzne parametrów gry programu

Tak wiec jeden silnik może mieć kilka wersji: 32 i 64 bitową, jedno i wieloprocesorową a także wersje na różne systemy operacyjne Windows, Linux czy MacOS oraz wersję na urządzenia przenośne (telefony komórkowe, iPody itp.) Obliczono ,że dwukrotne zwiększenie szybkości procesora przekłada się na wzrost siły gry w przedziale 50-70 punktów.
Zależność siły gry programu od liczby procesorów oraz wersji sytemu operacyjnego ilustruje poniższa tabela:

Żródło: CCRL, ostatnia aktualizacja 28.01.2011

Wszyscy zwycięzcy prezentowanych turniejów należą do grupy silników komercyjnych, choć nie wszystkie najsilniejsze programy biorą w nich udział. W 2005 roku zwyciężyła co prawda jeszcze darmowa  wersja Zappy ale, zaraz po zdobyciu tytułu postanowiono ją udostępniać odpłatnie. Oczywiście tytuł Mistrza Świata Programów Komputerowych, jest doskonałym narzędziem marketingowym wspierającym sprzedaż programu. ICGA organizuje również corocznie podobne mistrzostwa w tempie błyskawicznym.

Od 1981 roku organizowany jest co roku w Holandii turniej otwarty programów komputerowych. Odbywa się on w systemie szwajcarskim, w ciągu ostatnich pięciu lat triumfatorem imprezy była Rybka, choć podobnie jak w innych turniejach nie brały w nim udziału wszystkie najmocniejsze silniki.

Znany na całym świecie komercyjny (niestety L) Server ICC, również organizuje turnieje silników szachowych, pierwsza edycja miała miejsce w 2000 roku, w przeciwieństwie do pozostałych turniejów ,programy grają ze sobą on-line przy pomocy specjalnego oprogramowania, systemem szwajcarskim na dystansie 7 lub 9 rund, tempem 50 minut na partię plus trzy sekundy na posuniecie. Wyniki z ostatnich lat znajdują się na stronie  http://cctchess.com .

Organizowano również mecze pomiędzy programami głównie komercyjnymi . Jeden z bardziej znanych odbył się w 2007 roku w Meksyku i był reklamowany jako Clash of the Computer Titans czyli Starcie Komputerowych Tytanów. W pojedynku wzięły udział programy Zappa i Rybka działające na identycznym komputerze wyposażonym w ośmiordzeniowy procesor. Zwyciężyła Zappa 5.5-4.5

Pojedynki programów szachowych organizowane w ramach cyklicznych turniejów nie oddają jednak w pełni ich realnej siły gry, gdyż aby tego dokonać każdy silnik powinien z przeciwnikiem rozegrać przynajmniej 30-60 partii na identycznym sprzęcie co oczywista nie jest możliwe w czasie trwania jednego turnieju. Takie możliwości dają jednak zespoły ludzi zajmujące się testowaniem silników oraz systematycznym prowadzeniem list rankingowych. Jedynie po przez standaryzację testów połączoną z cykliczną publikacją rankingu możemy w miarę dokładnie określić poziom gry danego programu na tle innych. Zanim jednak przejdziemy do omówienia tych lista potrzebnych będzie kilka uwag. Mianowicie choć ranking liczony jest na identycznych zasadach jak to bywa w przypadku rankingu FIDE u ludzi,  to musimy pamiętać ,że programy grają tylko miedzy sobą i trudno powiedzieć jak wyglądałby ich ranking jeśli grałyby systematycznie z najsilniejszymi szachistami. We współczesnych szachach praktycznie nie organizuje się silnych turniejów w których braliby udział ludzie i programy lub np. jeden program a reszta szachistów. Dlatego też mamy dwie zupełnie oddzielne listy: komputerów i ludzi.

Czynników determinujących testy silników szachowych jest wiele i każdy z nich podobnie jak u szachistów może wywoływać różne rezultaty np. są zawodnicy ,którzy pomimo wysokiego poziomu gry w tempie turniejowym nie radzą sobie w blitza nawet z dużo słabszymi przeciwnikami. Podobnie jest z programami do gry w szachy z tym ,że parametrów decydujących o poziomie gry jest znacznie więcej oto one:

  • Czas gry, z reguły aby określić faktyczną siłę gry programów należało by wszystkie partie przeprowadzić w tempie turniejowym np. 40 posunięć na 2 godziny plus pół godziny na dokończenie partii, ale w praktyce oznacza to znaczne wydłużenie testów.
  • Konfiguracja sprzętu komputerowego użytego do testów ,głównymi parametrami decydującymi o poziomie gry programów są:

–  szybkość i rodzaj procesora

–  liczba procesorów

–  liczba rdzeni w procesorze

–  pojemność i szybkość pamięci operacyjnej

  • System operacyjny 32 lub 64 bitowy
  • Włączenie lub wyłączenie opcji ponder czyli wykonywanie obliczeń w czasie gdy strona przeciwna jest na posunięciu
  • Rozmiar tablicy transpozycji
  • Używanie różnych rodzajów tablic debiutów oraz tabeli końcówek
  • Ustawienia wewnętrzne parametrów gry programu

Tak wiec jeden silnik może mieć kilka wersji: 32 i 64 bitową, jedno i wieloprocesorową a także wersje na różne systemy operacyjne Windows, Linux czy MacOS oraz wersję na urządzenia przenośne (telefony komórkowe, iPody itp.) Obliczono ,że dwukrotne zwiększenie szybkości procesora przekłada się na wzrost siły gry w przedziale 50-70 punktów.

Zależność siły gry programu od liczby procesorów oraz wersji sytemu operacyjnego ilustruje poniższa tabela:

Tempo gry 40/40 powtarzalne.

Żródło: CCRL , ostatnia aktualizacja 28.01.2011

W zestawieniu tym celowo użyłem starszych wersji gdyż posiadają one pełniejsze dane, wersji najnowszych po prostu nie zdołano jeszcze przetestować na zróżnicowanych maszynach ze względu na dużą czasochłonność testów. W nawiasach podano ranking wersji najnowszych o ile był już dostępny w czasie ostatniej aktualizacji.

Do najbardziej znanych i wiarygodnych lista rankingowych nalezą:

Chess Engine Grand Tournament (CEGT)  prowadzi testy w trzech tempach gry  40/4 , 40/20, 40/120. W każdym z tych temp dostępne są oddzielne statystyki dla: wszystkich biorących udział w testach silników wraz z wszystkimi wersjami, najlepszych wersji jednoprocesorowych, najlepszych wersji wieloprocesorowych, oraz ogólnie najlepszych wersji jednego silnika. Testowane są silniki działające na jednym, dwóch ,czterech i sześciu procesorach . Polskę reprezentuje w tym zestawieniu tylko jeden program Matacz 1.4.

Computer Chess Rating Lists (CCRL)  to grupa kilkunastu entuzjastów silników szachowych, która stworzyła i ciągle aktualizuje swoje  własne listy rankingowe. Testy są prowadzone w trzech kategoriach obejmujących dwa tempa 40/40 i 40/4 oraz tempo 40/4 z grupą 34 wyselekcjonowanych silników. Można również przeglądać listę według określonych parametrów np. tylko silniki typu open source lub silniki bezpłatne. Są również prowadzone statystyki otwarć. CCRL nie wykonuje testów na maszynach sześcioprocesorowych.

IPON Rating List reklamuje się jako pierwsza prawdziwa lista z włączoną funkcją ponder dla wszystkich testowanych programów, niestety partie odbywają się tylko w tempie 5 minut plus 3 sekundy/posuniecie a więc zbyt szybko aby ocenić prawdziwą wartość programów.

Z pozostałych list warto wymienić SWCR  oraz SWCR.

Testerzy udostępniają również zapisy partii dzięki czemu autorzy programów mogą je analizować i wysuwać wnioski wykorzystywane przy tworzeniu nowych wersji. Zresztą taki test w mniejszej lub większej skali może wykonać każdy użytkownik komputera, wystarczy posiadać kilka silników oraz interfejs graficzny. Programy komercyjne możemy sobie spokojnie darować aby nie dopłacać do tego interesu, wcale też nie musimy ślęczeć godzinami przed komputerem, silniki będą się pojedynkowały cały czas a my możemy robić co innego zerkając co jakiś czas na wynik. Odradzam jednak uruchamianie testów silników i jednoczesne korzystanie z innych aplikacji na tym samym komputerze, gdyż obliczenia do których program zaprzęga procesor zbytnio absorbują jego moc obliczeniową i inne operacje mogę przebiegać na tym samym sprzęcie bardzo opornie. Warto pamiętać również o tym żeby wyłączyć inne programy i procesy które nie są wykorzystywane do testów żeby procesor nie był niepotrzebnie obciążany innymi zadaniami. Można też organizować mecze programów w różnych tempach gry wówczas przekonamy się, jak silniki potrafią gospodarować czasem oraz jak zmienia się ich poziom gry w zależności od tempa.

 

 

 

Dyskusja

Brak komentarzy.

Dodaj komentarz

Kategorie