Логотип ШШК

Шабачки шаховски клуб

Како раде шаховске машине?

Шта значи NNUE?

NNUE је скраћеница за енгл. Efficiently Updatable Neural Network, што се на српски може превести као „ефикасно ажурирајућа неуронска мрежа“. Првобитно је развијена 2018. године за примену у рачунарском шогију (шоги је популарна логичка игра на Далеком Истоку) од стране Yu Nasu, а концепт је касније прилагођен за шаховске машине. Најзначајнија имплементација у шаху догодила се 6. августа 2020. године када је NNUE уведен у Stockfish 12, доносећи повећање играчке снаге преко 80 Ело рејтинг поена у поређењу са класичном машином.

Архитектура NNUE се базира на компактној „feed-forward“ неуронској мрежи која користи „piece-square“ табеле као улаз. Главна иновација је у ефекту „приближног ажурирања“: након сваког потеза мрежа поново израчунава само оне делове векторa карактеристика чији су улази измењени. Такав приступ омогућава да NNUE ради са минималним утрошком рачунарских ресурса, јер се промене количине података релативно ретко дешавају и могу се обрадити уз операције сабирања и одузимања у кратком времену.

Захваљујући својој ефикасности, NNUE покреће се директно на процесору без потребе за скупом графиком, а истовремено доноси дубљи позициони увид него класично добијене оцене. Многе водеће шаховске машине данас користе NNUE као доминантни модул за процену позиције, јер он спаја предности α-β претраживања са моћима машинског учења. Резултат је брз, поуздан и дубоко стратешки свестан шаховски „енџин“ ког играчи средњег и напредног нивоа могу користити за квалитетне анализе и обуку.

Увод

Шаховске машине су у срцу савремене теорије шаха и анализа партија играча свих нивоа. Оне комбинују огромну рачунарску снагу са софистицираним алгоритмима како би доносиле одлуке које понекад надмашују људски ум. Разумевање унутрашње структуре тих алгоритама помаже играчима средњег и напредног нивоа да боље интерпретирају генерисане препоруке и да усаврше сопствену игру.

Архитектура и основни концепти

Свако шаховско језгро (енгл. chess engine) састоји се од неколико кључних компоненти: 1) генератора потеза, 2) претраживања, 3) оцењивања позиције и 4) меморијских оптимизација. Генератор потеза креира све легалне потезе у датој позицији, укључујући рокаде, ан пасан и промоције пешака. Претраживач затим организује стабло потеза и њему прилазним плановима као што су мини-макс алгоритам са α-β претраживањем како би елиминисао „неисплативе“ гране.

Алгоритамски приступи: мини-макс и α-β претраживање

Мини-макс алгоритам моделира шах као игру у којој оба играча оптимизују свој исход. Без „обрезивања“ стабла претраге, величина претражног дрвета експоненцијално расте са дубином, што доводи до милијарди могућих позиција већ након неколико полупотеза. Алгоритам α-β обрезивања стабла претраге прескаче гране које не могу утицати на крајњи избор најбољег потеза, чиме се драстично смањује број позиција које треба проценити.

Хеширање и таблице транзиција

Да би избегли поновно рачунање позиција које се јављају више пута, шаховске машине користе хеширање и таблице транзиција. Код Зобрист хеширања свакој фигури на сваком пољу додељује се јединствени 64-битни кључ, а позиција се представља XOR-ом тих кључева. Транзиционе хеш-табеле чувају већ израчунате вредности позиција и најбоље потезе, омогућавајући брзу верификацију и поновно коришћење резултата из дубљег претраживања.

Функција процене позиције и функције за завршнице

Функција процењује позицију узимајући у обзир материјал, позиционе критеријуме (централне пешке, активност фигура, структуру пешака) и безбедност краља. Сложеније машине тежину ових фактора динамички прилагођавају, у зависности од фазе игре — да ли је отварање, средишњица или завршница. За завршнице, табличне базе (на пример, Syzygy) нуде прецизна решења за сваку позицију са малим бројем фигура, гарантујући оптималне потезе, све без потребе за дубоким претраживањем.

Карактеристике типичне шаховске машине

Компонента Опис
Генератор потеза Листа свих легалних потеза и специјалних правила
Претраживање Мини-макс са α-β обрезивањем за брзу анализу
Хеш табеле Чување претходних позиција
Функција процене позиције Мешавина статичких и динамичких фактора
Таблична база зарвшница Прецизан одговор за позиције са малим бројем фигура

Савремени трендови: машинско учење и неуронске мреже

Ново доба шаховских машина обележава класичан „енџин“ у комбинацији са конволутивним и дубоким неуронским мрежама. Класичан пример је Stockfish NNUE (енгл. Efficiently Updatable Neural Network = ефикасно подесива неуронска мрежа), који уводи неуронску функцију оцењивања унутар традиционалног α-β претраживача. Прожимање статистичких модела и класичних алгоритама омогућује брже адаптирање на различите стилове игре и бољу процену сложених позиција.

Закључак

Разумевање унутрашње структуре шаховских машина омогућава играчима да боље критички тумаче предлоге софтвера и да их примене у свом шаховском развоју. Комбинација претраживачких алгоритама, оптимизација меморије, функција процене позиције и табличних база чини сваки модерни „енџин“ изузетно моћним. Следећи корак за заиста посвећене играче јесте упознавање алата за креирање прилагођених машина или модула за анализу, као и праћење најновијих истраживања из области вештачке интелигенције и шаха.

About the Author