Пояснення
Нульовий хід є штучним пропуском, який використовують лише всередині розрахунку шахового рушія, програми для аналізу позицій. Сторона, чия черга ходити, віддає хід, не рухаючи жодної фігури, і дозволяє діяти супернику. Такий пропуск не дозволений у справжній шаховій партії. Він слугує швидкою перевіркою стійкості позиції.
Рушій виконує цю перевірку зі скороченим пошуком, тобто заглядає на меншу кількість ходів уперед, ніж у звичайному пошуку. Якщо позиція й після безкоштовного ходу суперника явно перевищує потрібну межу відсікання, програма припускає, що принаймні один легальний хід також буде достатнім. Тоді вона може зупинити цю гілку, не перевіряючи кожен варіант окремо.
Таке відсікання заощаджує значний обсяг роботи, але його припущення не завжди правильне. У виконання ходу шкодить, а можливість пропустити його була б перевагою, якої справжні шахи не надають. Перевірка нульового ходу може визнати позицію безпечною, хоча насправді вона програна, бо шахіст зобов’язаний ходити. Ризик вищий у деяких ендшпілях із малою кількістю матеріалу.
Тому рушії додають запобіжники. Вони не застосовують перевірку, коли король перебуває під шахом, а також можуть вимикати її за малої кількості матеріалу, використовувати менш агресивне скорочення або запускати перевірочний пошук перед прийняттям відсікання. Відсікання нульового ходу працює всередині таких схем, як , і поєднується з іншими вибірковими техніками, але саме собою не визначає найкращого ходу.
Використання й контекст
Відсікання означає уникнення повного дослідження гілки, коли перевірка вказує, що вона не може змінити головне рішення.
Поширені непорозуміння
Нульовий хід і втрата черги
Нульовий хід є внутрішнім засобом пошуку. Жоден шахіст насправді не втрачає черги, і така дія ніколи не з’являється в партії.
Відсікання й помилка
Метод навмисно є вибірковим. Його запобіжники та перевірочні пошуки призначені для контролю випадків, коли припущення може бути хибним.
Джерела
- 1.Null Move Pruning, Chess Programming Wiki
