Тест на шахматна програма
Преди няколко седмици говорих с една хубава жена за главоблъсканици и от дума на дума стигнахме до компютрите. Тогава се изрепчих, че компютъра играе шах по-добре от човека. Е, може би не всеки компютър, може би не със стандартна шах-програма тип “конфекция” купена от магазина … Тези дни си спомних за този разговор.
Вероятно повлиян от мача за титлата Световен шампион по шахмат от известно време се ровя по специализирани сайтове. Преди няколко дни на http://www.chessbase.com намерих следната задача (условие - [1], решение - [2,3]):
Автор: K. K. Behting
Публикувана: Baltische Schachblätter 1908
Бели: Цар d5; Коне e5, f5; пешки d2
Черни: Цар h5; пешки c4, g2, h4, h6
Условие: Реми
Решение: 1 Цc6 g1Д 2 К:h4 Дh1+Кhf3
Хванах се за коментара, че програмите играещи шах се затруднявали при решението на тази задача. Дори имаше препоръка да изпробвам. Е, изпробвах на компютър с процесор Celeron D 2.53 MHz, RAM 512 MB, Fedora Core 5 актуализирана преди теста. Използвах GNU Chess 5.0.7 + xboard 4.2.7 ([4],[5]). Записах позицията във файл puzzle, рестартирах компютъра и написах
xboard -lpf puzzle -size Small -mode Analysis
Вероятно нещо не съм прочел/инсталирал както трябва или има някакъв бъг, защото трябваше отново да избера от менюто Mode/Analysis mode (между другото го видях “щракнато”) и зачаках …
Наистина се оказа, че програмата се затрудни. След 10:17:02.00 часа, в които компютърът не прави нищо друго, спрях анализа. GNU Chess бе оценил позицията с -0.96 (тоест малко по-добре за черните) и “стигнал до решението” 1 Кg3+ h:g3 2 Кf3 Цg4
Разбира се не съм правил експерименти с други програми и не мога да сравнявам. Не мога да кажа дали GNU Chess е добра или лоша в сравнение с останалите. Освен това забелязах, че програмата ми товари повече процесора, докато паметта ми беше доволно празна. Вероятно на по-бърза машина резултата би се различавал, поне в дълбочината на анализа. Но както изглежда смелото ми твърдение от преди няколко седмици “Компютърът играе шах по-добре от човека” придоби малко по-друг смисъл.
Както изглежда методът на грубата сила все още не винаги дава резултати в разумно време. Поне не на настолна машина. Когато човек види някаква позиция понякога може да каже веднага “Става” или “Не става”, докато компютъра, с изключение на случаите при които позицията му е заложена в база от данни, трябва да смята относително дълго. А вероятно човека и компютъра имат различни оценъчни функции. Мислил съм, но все ме домързява, да взема една програма с отворен код и да се опитам да я обуча на базата точно на такива задачи. След това да пусна компютъра да симулира мач/турнир между две или повече версии … Но мързел ли, липса на време или не виждам друг смисъл освен да погъделичкам суетата си?
Връзки
- http://www.chessbase.com/puzzle/christmas2005/chr05-1a.htm
- http://www.chessbase.com/puzzle/christmas2005/chr05-8b.htm
- http://www.chessbase.com/puzzle/christmas2005/games/puzzles05.htm
- http://www.gnu.org/software/chess/
- http://tim-mann.org/xboard.html
Leave a Reply
You must be logged in to post a comment.
