Шахи - одна з найстаріших покрокових стратегій в світі. Вона користувалася величезною популярністю ще кілька сотень років тому, так і зараз щорічно проводиться безліч турнірів з великими призовими фондами, а про імена гросмейстерів чули навіть ті, хто далекий від світу цієї гри. З початком часу розвитку комп'ютерних технологій вже було зрозуміло, що рано чи пізно з'явиться безліч програм, які значно перевищують людини в плані обчислень, відповідно, бачать кращі ходи і абсолютно всі можливі варіанти розвитку подій. Такий софт використовують любителі і професіонали для аналізу партій. Саме про це і піде мова в нашій статті.
Для початку ми хочемо уточнити, що далі мова піде про найпопулярніші двигунах і графічних оболонках, які використовуються як для повноцінної гри, так і для перевірки певних стратегій. Ми підбирали цей список, виходячи з результатів WCCC (міжнародного щорічного турніру з шахів між двигунами). Існує актуальний список CCRL 40/40 з рейтингом движків. Саме від нього ми і будемо відштовхуватися, розташувавши весь софт по спадаючій рангу.
SugaR NN
Повністю відкритий движок SugaR NN став відомий тільки недавно. Ще буквально кілька років тому його не було в згаданому вище списку, а тепер він тримається на першому місці з рейтингом 3490 при 672 зіграних матчів. Звичайному користувачеві інформація про підтримку 128 ядер і інші технічні характеристики будуть марні, оскільки в більшості випадків запуск відбувається на звичайному комп'ютері. Ми пропонуємо відразу ж ознайомитися з важливими аспектами. В першу чергу варто задуматися про установку додаткового графічного інтерфейсу, що рекомендують зробити творці для підвищення комфорту взаємодії з SugaR NN. Цей движок може бути інтегрований в XBoard з PolyGlot, eboard, Arena, Sigma Chess, Shredder, Chess Partner, Aquarium або Fritz. Додатково творці надають документацію, де більш детально розписано про кожну оболонці і інсталяції движка в них. Ще уточнимо, що в останній версії движка з'явилася підтримка Syzygy Bases. Це компактна база даних ендшпілів. У ній зберігаються файли з відомостями про всіх матчах, а також окремі DTZ-об'єкти для розрахунку до нуля (аналіз партій з поглибленням до самого останнього ходу).
У SugaR NN присутні важливі опції, що дозволяють знижувати рівень майстерності. Перша з них називається «UCI_LimitStrength». Її особливість полягає в установці рейтингу ELO (система оцінки гравців). Другий алгоритм має назву «MultiPV». При його активації програма з більшою часткою ймовірності вибере слабкий хід. Для аналізу партій використовується функція «ICCF Analyses». За замовчуванням конфігурація движка виставлена на максимальну продуктивність без пропуску важких ударів, проте вам доступна коригування його поведінки шляхом зміни значення сили. Про це більш детально написали розробники на офіційному сайті. Ми можемо сміливо рекомендувати SugaR NN як найсильніший на поточний момент часу движок. Якщо вас зацікавив цей софт, клікніть по наведеним нижче посиланням для переходу на сторінку його завантаження.
Завантажити SugaR NN з офіційного сайту
Leela Chess Zero
Leela Chess Zero - досить старий шаховий движок з відкритим вихідним кодом, який з кожним роком показує все кращі результати на міжнародних змаганнях. На даний момент він вибився в топ 2 по рейтингу CCRL 40/40, набравши 3463 ELO за 362 проведені гри. Lc0 складається всього з двох важливих файлів, навколо яких і будуються всі обчислювальні потужності. Перший двійковий елемент зберігає в собі дані функції оцінки різної ваги для пошуку, приймаючи при цьому вхідні дані. Другий об'єкт є нейронною мережею. Завдяки йому даний движок взагалі може працювати, аналізувати і підбирати оптимальні варіанти, виходячи із заданих параметрів. Інформація в цьому об'єкті генерується постійно під час власної ж гри програми.У процесі своїх обчислень Lc0 задіє потужності графічного адаптера, що дозволяє в кілька разів збільшити швидкість роботи. Якщо ж звалити все завдання на CPU, то виробники не гарантують такого ж швидкого обчислення.
Leela Chess Zero виділяється тим, що всі старі нейромережі, які вже перестали використовуватися в актуальній версії, зберігаються у відкритому доступі. Тобто кожен користувач може завантажити їх і замінити поточний файл, якщо це буде необхідно. Використовуйте найважливіший пункт «Cpuct value» для установки параметрів пошуку. Чим більше його значення, тим ширший буде надана інформація. Однак будьте обережні з установкою занадто великих значень. Вони можуть привести до того, що на пошук витратиться величезна кількість ресурсів, але при цьому серед вигідних і кращих ходів відобразяться непотрібні руху, які просто ніколи не будуть виконані на дошці. Більш детальна інформація по конфігурації доступних параметрів написана на офіційному сайті. Розробники постаралися максимально детально розписати кожне значення, а також продемонстрували приклади взаємодії з різними GUI (графічними інтерфейсами).
Завантажити Leela Chess Zero з офіційного сайту
Komodo
Тепер мова піде про шаховому движку з закритим вихідним кодом - Komodo. Його поточна версія 13.2 поширюється платно. Вона ще не була оцінена в CCRL 40/40, проте на третьому місці в топі знаходиться збірка 13.1, набравши 3416 очок рейтингу за 448 проведених ігор. На офіційному сайті безкоштовно доступна тільки версія 10, а всі наступні доведеться купувати, оплачуючи покупку через PayPal. В першу чергу відразу відзначимо, що Komodo поширюється без графічної оболонки, тобто не включає в себе шахову дошку. Для інтеграції ви можете використовувати будь-який зручний софт, що підтримує установку двигунів. Детально про це написано на сторінці ПО, де знаходяться всі відповідні інструкції.
Давайте швидко стисло нагадаємо основні функцій, які ви знайдете в даному движку. Технічні конфігурації, які стосуються швидкодії і методам обчислень ми пропустимо, оскільки про це більш правильно написано на офіційному сайті. Обов'язково прислухайтеся до рекомендацій розробників, щоб випадково не зламати систему аналізу помилками при редагуванні параметрів. Ми ж хочемо відзначити опцію «Null Move Pruning»: При її активації Komodo починає грати набагато сильніше. Задіяти цей алгоритм пошуку рекомендується в складних ситуаціях, коли знайти вихід не виходить. Движок проведе максимально ретельний пошук і видасть правильний хід. Однак він може виявитися недостатньо сильним при серйозні загрози або позиціях цугцванга (коли будь-який хід веде до погіршення становища на дошці). редагуйте значення «Null Scale» для визначення агресивності глибини пошуку. Низькі значення роблять кожен хід більш безпечним, а високі підвищують ризик пропуску загроз. В якості останньої цікавою функції відзначимо «Contempt» - при позитивному значенні відбувається заохочення або перешкоджання обміну фігурами. Існує формула, по якій вираховується оптимальне Contempt для кожного противника. Вам необхідно відняти його ELO від рейтингу Komodo, а потім розділити на 15. Відхилення від формули рекомендуються тільки при гандикапі (надається перевагу слабшому гравцеві).
Завантажити Komodo з офіційного сайту
Houdini
На четвертому місці в CCRL 40/40 розташувалася остання версія відомого у всьому світі движка Houdini. Зараз його ELO становить 3398 за результатами 1800 зіграних матчів. Популярні коментатори і гравці відзначають, що стиль ведення гри Houdini не схожий на всі інші движки. Він більше схильний вести агресивну партію, жертвуючи фігури. Це відбувається через обробку подвижностей фігур. Houdini - це UCI-сумісний шаховий движок, для роботи якого потрібна графічне середовище. Встановлений інтерфейс покаже вам шахову дошку і дозволить грати і аналізувати позиції.Вибір GUI залежить саме від вас, а що стосується інсталяції, вся інформація є на сайті творців.
За функціональністю відразу ж б хотілося відзначити опцію «Tactical Mode ». У нього є безліч режимів роботи. За замовчуванням він відключений, але якщо поставити значення 1, 2, 3 або, наприклад, 8, то в певну кількість потоків, які залежать від встановленого числа, Houdini буде шукати найбільш хитрі варіанти ходів, використовуючи свою нейронну мережу. Це дозволить зробити партію ще більш непередбачуваною і потренувати свої навички на прораховування небанальних ситуацій. Опція під назвою «Limit strength» вже говорить сама за себе. Гранично низьке значення визначає мінімальну силу движка, а при підвищенні відбувається зміна рівня складності в більшу ступінь. Існують певні обмеження для кожного типу сили, а також є таблиця, яка відображає приблизне ELO при певному рівні сили. Додатково розробники Houdini створили велику базу даних. Використовуйте її для отримання всієї необхідної інформації по взаємодії з розглянутим движком.
Завантажити Houdini з офіційного сайту
Ethereal
Ethereal - UCI-сумісний шаховий движок (а це значить, що поширюється він без графічного інтерфейсу), який використовує альфа-бета-фреймворк. Він був створений за прикладом низки проектів з відкритим вихідним кодом і покликаний служити як високопродуктивним аналізатором і суперником, так і довідковим матеріалом для інших розробників подібних інструментів. Цей движок знаходиться на п'ятому місці взятого за приклад рейтингу, ім'я 3328 балів при 520 відіграних матчів. Ethereal підтримує ряд щодо стандартних опцій. Більшість графічних інтерфейсів повинні підтримувати установку кожного параметра. Якщо щось налаштувати не вдається, доведеться звернутися за допомогою до офіційної документації програмного забезпечення.
Що стосується доступних параметрів і принципів поведінки, то можна відзначити ряд тих опцій, який присутні і в інших подібних двигунах. Давайте коротко пробіжимося по самим основним алгоритмам, щоб у користувачів не виникло питань з приводу їх наявності в Ethereal:
- «Hash» - розмір хеш-таблиці визначається в мегабайтах і не має практично ніяких обмежень. При тестуванні з різними двигунами розробник рекомендує встановлювати однаковий хеш, щоб не виникло проблем з сумісністю.
- «Threads» - цей параметр визначає кількість потоків. Виставляйте найбільше значення, щоб забезпечити найбільш високий рівень ELO. Відповідно, цей пункт відповідає за складність движка. Чим вона менша, тим легше буде проти нього боротися.
- «MultiPV» - опція, що використовується для аналізу. Вона відповідає за кількість рядків ітерації під час пошуку. Рекомендується залишити значення за замовчуванням, яке дорівнює «1», Тоді MultiPV забезпечить максимальну продуктивність.
- «MoveOverhead» - виступає в ролі буфера часу. Регулюйте цей параметр при грі з обмеженням за часом. Зменшуйте буфер, якщо помітили, що движок не встигає укладатися в відведені секунди або почав помітно відставати.
Інші технічні параметри ви знайдете в офіційній документації движка. Не змінюйте показники самостійно, якщо попередньо не впізнали про значення функції. При виборі графічного інтерфейсу також враховуйте сумісність з основними можливостями.
Завантажити Ethereal з офіційного сайту
Xiphos
Xiphos - безкоштовний движок, створений любителями, які з самого початку не ставили перед собою мету реалізації професійного проекту. Однак в майбутньому справи у цього програмного забезпечення пішли вгору, і тепер він займає сьоме місце в топі движків, набравши 3312 при 721 грі. Підтримується Xiphos абсолютно всіма графічними оболонками, сумісними з форматом UCI, тому з інсталяцією не повинно виникнути ніяких проблем.
Поточний движок реалізований точно за таким же принципом, як і інші аналоги, але має свої особливості поведінки, які залежать від завантаженої бази ігор. Всі встановлені за умовчанням параметри відповідають тим, про які ми вже говорили вище. Окремо можна відзначити тільки «MoveOverhead»: Значення цієї опції визначають мінімальну кількість секунд, яке залишається на годиннику до завершення партії або ходу. Змінювати це варто тільки в тому випадку, якщо Xiphos програє по часу. Ми ж радимо безкоштовно скачати цей софт, встановити його в GUI і перевірити на собі принципи гри і аналізу партій.
Завантажити Xiphos з офіційного сайту
Laser
В якості останнього топового движка ми вирішили взяти Laser, оскільки своїми особливостями він виділяється серед всіх розглянутих раніше представників. Для початку варто уточнити, що в тому топі, який ми взяли за приклад, дана нейронна мережа займає останнє місце, закриваючи топ 10. При цьому поступається цей движок тільки на п'ять очок позиції вище, набравши 3285 за 726 ігор. Він реалізований все в тому ж форматі UCI, тобто представлений тільки в вигляді коду для командного рядка. Ви можете використовувати абсолютно будь-GUI для підключення движка точно так же, як це стосувалося і інших представників цієї статті. Далі ми пройдемося по основним функціям, на які слід звернути увагу.
Найцікавіше - режими оцінки ходів. Вони діляться на кілька типів. Давайте розглянемо кожен, щоб будь-який користувач в майбутньому зміг підібрати оптимальний алгоритм.
- Перший режим є налаштованим, де використовується навчальна система Texel's Tuning Method. Тобто за аналіз беруться вже зіграні партії, а потім шляхом перебору вибираються оптимальні ходи для поточної ситуації.
- Стиль гри для захисту короля. У цьому режимі всі сили йдуть на оборонні позиції пішаків, щоб забезпечити повну безпеку королю.
- У третьому стилі упор теж зроблений на пішака, але тут вони бувають ізольованими, здвоєними або зворотними.
- Останній режим націлений на детальне виявлення загроз. Це дозволить прорахувати абсолютно все втрати, але на цей процес піде найбільше часу.
Гнучкий пошук основного варіанту дозволить налаштувати складність конкретно під певну ситуацію. Тут може обрізатися нульовий хід для зменшення пізнього ходу, віддалятися безрезультативні варіанти або буде здійснюватися перевірка на виняткові рішення. Додатково Laser здатний оцінювати важливість кожної фігури в грі. З цього вже формуються жертви або додатковий захист для об'єктів. Всі значення і опису опцій шукайте в офіційній документації движка.
Завантажити Laser з офіційного сайту
Stockfish
В якості останнього шахового движка ми хочемо взяти Stockfish. Зараз він не тримається в топах CCRL, але раніше займав лідируючі позиції. Це програмне забезпечення особливо корисно буде новачкам через реалізацію певних функцій, які в іншому ПО відсутні або налаштовуються більш складним чином. Важливо відзначити, Stockfish теж є UCI-движком, тому обов'язково знайдіть відповідний графічний інтерфейс для проведення і аналізу партій. Рекомендованими варіантами вважаються Arena, SCID і Winboard. Розглянутий софт має цілих двадцять рівнів складності, що дозволить використовувати його не тільки для глибокого аналізу, а й застосовувати на практиці, граючи партії з різними умовами.
Упор в грі Stockfish зроблений саме на тактику, однак і позиційні аспекти не будуть зовсім втрачені. Спробуйте вразити між собою це інструмент проти, наприклад, Komodo, щоб самостійно побачити всю різницю опрацювання ходів. Звичайно, для цього краще задіяти максимальний рівень складності. У Stockfish підтримується велика база даних шахових закінчень, що використовується при аналізі доступних ходів. Глибина пошуку цього движка просто величезна, тому на виході ви отримуєте безліч доступних варіантів як кращих, так і досить спірних або хитрих.Stockfish поширюється безкоштовно і доступний для скачування на сайті розробників.
Завантажити Stockfish з офіційного сайту
Ми представили інформацію з приводу топових движок для аналізу шахових партій. Як бачите, всі вони досить потужні і приблизно рівні за силою, але при цьому мають різні тактики і формули розрахунків. Вам залишилося тільки підібрати оптимальний для себе варіант і інтегрувати його в графічну оболонку з підтримкою UCI.