Testy šachových programů
Test suites for chess software

05. 02. 2006


Download testy/suites - Download ELOStat


ELO testy šachových programů
ELO tests

Chcete si sami otestovat sílu svého systému, daného hardwarem + programem? Nejjednodušší cestou jsou speciální ELO testy, které můžete stáhnout z této stránky.

Princip je vždy podobný. Předložíte programu určité pozice (typicky několik desítek) a sledujete jejich propočet. Vizualizace variant je obvykle nutnou podmínkou, ta je však u drtivé většiny programů splněna. Stopnete čas, kdy se v propočtu objeví správný tah. Nakonec všechny časy sečtete a z dodaného vzorce stanovíte ELO vaší sestavy. Vzorce se časem zdokonalují. V závislosti ELO-čas se nově objevuje kvadratický člen a také kvóta úspěšnosti (BS2001).

Novější programy upřesňují některé stavy, které mohly dříve vést k systematickým chybám. Především je obvykle nutno vyčkat udaný čas, zda se indikovaný tah v propočtu "udrží", teprve pak je možné čas uznat. Jinak mohou náhodná "zakmitnutí" správného tahu vyvolat uznání nesmyslných hodnot. I tak lze občas pozorovat situace, kdy slabší stroj dostane za pozici body, zatímco silnější stroj "stihne" indikovaný tah zase nahradit jiným a body ztrácí. Nejnovější testy proto dokonce přicházejí s myšlenkou uznat řešení jen tehdy, je-li indikována správná varianta.

V testech samotných jsou chyby, způsobené tím, že autoři spolehli na nějakou autoritu a nevěnovali se analýze. Také v některých "strategických" pozicích je sporné, zda právě autory udaný tah je opravdu tím jediným nejlepším.

Nepříjemným jevem je také ladění programů na testy. Autor prostě některé pozice testů do svého programu zabuduje, aby si nadlepšil hodnocení a tím také prodej. Před časem byl z toho usvědčen Rebel. Při takovém podezření je nejlepší předložit programu pozici horizontálně nebo verikálně symetrickou, připadně si zahrát na šachového skladatele a citlivě upravit pozice některých kamenů (pěšců) tak, aby výsledná kombinace zůstala stejná. Pokud se některou takovou manipulací výrazně zhorší výsledek, něco je shnilého...

Pozor však při opakovaných testech na samoučení a permanentní hash tabulky. Samoučící soubory by měly být vymazány a program restartován, aby se vymazaly i hash tabulky.

Déle uvádím několik testů. Jejich jméno je většinou tvořeno iniciálami autorů a maximálním ELEM, které je možné otestovat. Čím novější test a vyšší Elo, tím šachově obtížnější pozice.
Je třeba použít vhodný test. Pokud pro nový software na rychlém hardwaru nasadíte starý test, dojde k rychlému vyřešení všech pozic a rozdíly v krátkých časech nemusí být příliš věrohodné. Naopak pokud pro starý software na pomalém stroji nasadíte nový test, nedojde k vyřešení skoro žádných pozic a měření je opět pochybné.

Testy bez ELA
No ELO tests

ELO testy jsou poměrně zdlouhavé, musíte projít obyvkle desítky pozic a každou nechat analyzovat podle testu 10-20 minut. Padne na to několik večerů. Proto se poslední dobou začínají zájemci vracet k rychlým testům bez ELA, které mají za úkol rychle porovnat dva programy, dva stroje nebo dokonce různá nastavení téhož programu.

Zde je jednoduše řečeno kvalita nahrazena kvantitou. Test obsahuje typicky stovky jednoduchých pozic se správným prvním tahem, vžilo se jejich šíření v EPD souboru. (Pokud nevíte, co to je, otevřete si ho prostě jako textový soubor). V tom množství se nějaká jednotlivá chyba ztratí, proto je zvykem zkoumat jen správný první tah. Test probíhá automaticky ve velmi rychlém tempu, například při 6 vteřinách na tah je test 100 koncovek hotov za 10 minut!

Výsledek vypadá například takto:

DeepShredder WAC

1 sec -> 275/300
2 sec -> 285/300
3 sec -> 291/300
4 sec -> 293/300
5 sec -> 296/300
6 sec -> 298/300
7 sec -> 298/300
8 sec -> 298/300
9 sec -> 298/300
10 sec -> 298/300
n/s: 581.514

Ve většině programů lze poziční testy pustit automaticky.
V nejrozšířenějším Fritzovském rozhraní postupujte takto:
- Přepněte do databázové sekce
- Založte si novou databázi
- Příkazem Úpravy/Import EPD sem dostaňte pozice, převede se i první tah
- Vraťre se do okna šachovnice
- Příkaz Speciality/Analýza/Proveď testy pozic
- Nastavit v boxu počet sekund na jeden tah
- Spustit, koukat a čekat na výsledek

Testovací suita Pierra Nolota pochází z roku 1994 a obsahuje 11 obtížných pozic. Nemá výpočet ELA, spíš se porovnávaly časy řešení programů. Zajímavé je, že ji použil Feng-Hsiung Hsu pro testování DeepThought a zajímavé jsou i jeho poznámky jak analytické, tak i o reakci programu. Pozice 9 je sporná a dodnes se o ní vedou diskuse.

13.06.04
Test pro Pocket PC
Test for PocketPC

Známý autor šachových benchmarků H-J. Schumacher publikoval speciální test určený pro PocketPC.
Zde jsou jeho argumenty.
Test musí zhruba odpovídat platformě. Použijete-li na slabý program (nebo slabý hardware) nejnovější testy, program skoro nic nevyřeší a nemáte co porovnat. Zrovna tak naopak, slabý test na rychlých strojích vede k tomu, že všechny časy jsou kolem sekundy a zase se nic pořádného nezjistí.
Speciálně pro PocketPC šach není vhodný nový WM test, protože je příliš těžký. Ale také nasazení starých testů (LCT2) vede k problémům. Na Pocketu nelze totiž nastavit logování a člověk tedy musí celou dobu sledovat malý displej, kdy se objeví správný tah. To je velmi únavné. Proto autor vybral 30 pozic, které se mají vyřešit každá do 3 minut. To vede k přijatelnému času testování 90 minut. Průběh je obvyklý, změří se čas, kdy se objeví správný tah (a už nezmizí), jinak se připíše 180 sekund. Test není ELO, protože na platformě chybí dostečné statistické porovnání s výsledky turnajů.
Pozice jsou ke stažení, výsledky v rubrice
Palm a Pocket.

The known chess benchmark author H-J. Schumacher published a special test for PocketPC chess. He selected positions with solution in some minutes. The rules are usual, you have to notice a solution time (the solution cannot be changed). No solution = time 180 seconds. No ELO, there is not enough statistical results from tournaments.

28.12.04
Swiss test 2

Walter Eigenmann dává ke stažení novou verzi svého Swiss testu šachových programů, kde je nyní 64 příkladů.
Na rozdíl od jiných testů, kde se hledá nejlepší tah, je ve Swissu principem, aby program nezahrál nějaký nabízející se, ale ve skutečnosti slabý tah.
Název je humorně odvozen od švýcarských politiků, kteří ve snaze neudělat chybu nedělají raději vůbec nic.

Walter Eigenmann offers to free download new version of his Swiss test of chess programs, now 64 positions.
The best moves are finding in the classic tests, but Swiss has another concept. The programs shlould avion some natural, but bad move.
The name of test could parody Swiss politicians they like to do nothing to aviod errors. Not only Swiss ones!

http://www.beepworld.de/members38/eigenmann/swisstest.htm

V následující části můžete stáhnout jednotlivé testy včetně českého návodu EVCOMP.

Updated 01/2006 to SwissTest 3. The whole collection became more difficult, and chess topics are more varied.

16.01.06
Co vlastně testují poziční testy?

V posledním čísle CSS online (placený přístup) uveřejnil Lars Bremer šokující článek, zpochybňující celé poziční testy.  
Uvádím stručný výtah česky, vážným zájemcům mohu poslat plný německý text v PDF.

Některé šachové programy jako (Fritz GUI) dokážou provést testovací suity automaticky a výsledek uložit do databáze. Lars (na žádost Waltera Eigenmanna) napsal utilitu, která tuto databázi automaticky zpracuje do tabulky výsledků, ale umožňuje také některé pozice z výsledků vyřadit.

Aby program otestoval, Lars si pohrál s tzv. WM testem Michala Gureviče, který má celkem 100 pozic (26 koncovek, 38 útok na krále, 36 poziční hra, kus níže ho můžete stáhnout). Tento test byl použit proto, že má nejvíc pozic a existuje rozsáhlá databáze Manfreda Mailera s výsledky měření nejrůznějších motorů.

Výsledky jsou téměř neuvěřitelné.  Lars našel různé konfigurace testů, vše sestava seriózních pozic se seriózním rozložením koncovka-útok-poziční hra, které dávají v podstatě takový výsledek, jaký si zrovna přejeme. Počet vybraných pozic je přitom větší, než v tzv. Express WM testu (rychlé podmnožině WM testu obsahující 30 pozic). Posuďte sami.

Test 1, 58 pozic (13+22+23). Na prvních 12 místech tabulky s jednou výjimkou Shredder až do verze 7.0.  Dostat dopředu špičkový motor Shreddera samozřejmě není tak obtížné, ale...

Test 2 , 43 pozic (7+20+16). První je Gromit 9.5 (!!) před Fritzem, Tigerem, ChessMasterm. Shredder  nikde(!!).

Test 3, 43 pozic.  Na prvních 8 místech Tiger v nejrůznějších verzích!

Že jsme zapomněli na oblíbeného Hiarce?  Test 4 se 43 pozicemi vyhraje právě Hiarcs, dokonce ve verzi 9.0.

Testu 5  (40 pozic, 11 + 17 + 12)  obsadil prvních 6 míst Ruffian.

Test 6 (48 úloh) je sestaven na míru ChessMastera, který ve verzích 8k-10k  dominuje na prvních 15 místech.

V principu se to povede s každým programem horní třetiny ELO listiny. V Testu 7 se 30 pozicemi je na třetím místě MChessPro 8.0 a dokonce i veterána Genia je v pohodě možné dostat mezi Top Ten.

Problém můžeme postavit také negativně, Test 8 se 30 pozicemi sráží Fritze Bilbao na 244. místo z 308 testovaných motorů.

Při tvorbě testů se zcela jistě provádí selekce pozic. Každá taková pozice-kandidát se musí intenzivně testovat mnohými motory. Musí se vyřadit ty pozice, které (1) vyřeší všechny motory, (2) nevyřeší žádný motor, (3) jsou vyřešeny příliš rychle, (4) jsou vyřešeny příliš pomalu. Složení testů tedy neodpovídá normálnímu složení vzatému z běžné hry.

Autor rozhodně nikoho obviňuje z manipulování výsledků. Cílem kritiky není ani konkrétní WM test, ale koncepce pozičních testů vůbec.  Při vyrovnanosti dnešní špičky  testy s umělým výběrem pozic prostě už nekorelují s ELO listinami vzniklými sehráním velkého množství partií.


ELO testy
ELO suites

BT2630 Hubert Bednorz a Fred Tönissen 1991.

LCT2 Frederic Louguet & La Puce Echiqueenne 10/1995.

Yazgacův test 4/1997.

BS2830 Hubert Bednorz a Hans-Josef Schumacher 08/1997

HB2950 Hubert Bednorz a Gerd Hoernig 01/2001

BS2001 Hubert Bednorz a Hans-Josef Schumacher 08/2001 s novou metodikou výpočtu

WMCCS Dr. Michael Gurevich a Heinz-Josef Schumacher, updatováno v srpnu 2002. Obsáhlé výsledky v Excelu, podrobnosti /Details on http://www.computerschach.de/test .


Rychlé testy bez ELA
Quick non - ELO suites

Nolot Pierre Nolot 1994

WAC test Win At Chess, autor mně neznámý, 300 pozic

Uskieg Test 47 koncovek, publikoval Jouni Uski na CCC fóru

Uskimg Test 42 kombinací, publikoval Jouni Uski na CCC fóru v září 2001

Lee2001 Soubor 828 koncovek a 481 pozičních pro počítač těžko řešitelných tahů. Joshua Lee na CCC fóru v říjnu 2001.

Brilliancy Dana Turnmire, CCC fórum 14. 12 . 2001. Test nalezení brilantních tahů.

Matový test - David Rasmussen, 17. 9. 2002 CCC fórum. Pozice jsou z knihy 1001 Brilliant Ways To Checkmate.
Posted by David Rasmussen on September 17, 2002. All positions are taken from 1001 Brilliant Ways To Checkmate.

Swiss Test 2 - Walter Eigenmann 12.2004 - obsahuje 64 pozic s lákavými, ale špatnými tahy - 64 positions with iviting, but bad moves.
Updated 01/2006 to SwissTest 3. The whole collection became more difficult, and chess topics are more varied.

PocketPC test - Heinz - Josef Schumacher CCS 06/2004.

Test koncovek - Sune Larsson - slouží jako výchozí pozice k sehrání turnajů /stratpositions for tournamensts


Další testy
Other testsuites

Na web jsem již nezařadil starší testy jako je Bratko-Kopec, které mají spíš historický význam. Najdete je na
Older testsuites (as Bratko-Kopec) you can download from

http://www.andreas-schwartmann.de/chess.html#Test

Zajímavý článek v 08/2002 o pozičním testování programů.

11.01.04
Nový velmi obsažný web s testovacími suitami.
New web with many test suites.

http://homepage.mac.com/chessnotation/TSD.html


Preciznějším testem je samozřejmě sehrání většího počtu partií a jejich statistické zpracování. To už udělala spousta lidí a výsledkům je věnována jiná část tohoto webu.

Máte-li vlastní v tomto směru vlastní ambice, pak je dobré využít automatického sehrávání partií v rozhraní Fritz a výsledky zpracovat programem ELOStat, který je volně ke stažení.