Кіріспе

Компьютерлік шахмат бағдарламаларында нөлдік қимыл эвристикасы – альфа-бета кесу алгоритмінің жылдамдығын арттыруға арналған эвристикалық тәсіл.

Негізгі себептері

Альфа-бета кесу минимакс алгоритмін кесулерді анықтау арқылы жылдамдатады, ойын ағашындағы осы жағдайға қарсы тараптың ең жақсы ойыны болмаған нүктелер. Мұндай жағдайлар ең жақсы ойынның нәтижесі болмағандықтан, олар және олардан тарайтын ойын ағашының барлық тармақтарын қараудың қажеті жоқ. Бағдарлама қаншалықты жылдам кесулерді анықтаса, іздеу соғұрлым жылдам жүреді. Нөлдік қимыл эвристикасы кесулерді, қалыпты жағдайда қажет болатын күштен кемірек жұмсап, шамалы дәлдікпен болжауға бағытталған. Нөлдік қимыл эвристикасы шахматтағы көптеген ақылға қонымды қимылдар оларды жасаған тараптың позициясын жақсартады деген фактіге негізделген. Сондықтан, егер қозғалыс кезегіндегі ойыншы қозғалу құқығынан бас тартса (немесе шахматтағы заңсыз әрекет – нөлдік қимыл жасаса) және кесуді жасауға жеткілікті күшті позицияда болса, онда қазіргі позиция, егер ағымдағы ойыншы шын мәнінде қозғалса, әлдеқашан кесуді тудырар еді.

Іске асыру

Нөлдік қозғалыс эвристикасын қолданғанда, компьютерлік бағдарлама ең алдымен қозғалу кезегі келген тараптың мүмкіндігінен бас тартады, содан кейін нәтижесінде алынған позицияда альфа-бета іздеуді, нөлдік қозғалыс эвристикасын қолданбағандағыдан гөрі, көбірек беткейлікке дейін жүргізеді. Егер осы беткейлік іздеуден тоқтату орын алса, онда толық тереңдіктегі іздеу де тоқтатуға әкелер дейді. Беткейлік іздеу терең іздеуден жылдам болғандықтан, тоқтату тезірек табылады, бұл компьютерлік шахмат бағдарламасын үдетіп жібереді. Егер беткейлік іздеу тоқтатуға жетпесе, бағдарлама толық тереңдіктегі іздеуді жүргізуі керек. Бұл тәсіл екі тұжырымға негізделген. Біріншіден, өз кезегінен бас тартудың кемшілігі, беткейлік іздеуді жүргізудің кемшілігінен артық деп есептейді. Егер беткейлік іздеу тым беткей болмаса (практикалық іске асыруда, нөлдік қозғалыс іздеуі әдетте толық іздеуден 2 немесе 3 қадамға дейін беткей болады), бұл көбінесе дұрыс. Екіншіден, нөлдік қозғалыс іздеуі толық іздеудің орнына нөлдік қозғалыс іздеуін жүргізуге кеткен уақытты ақтау үшін жеткілікті жиілікте тоқтатуды қамтамасыз етеді деп есептейді. Іс жүзінде, бұл да көбінесе солай болады.

Тексерілген бос кесу

Цугцванг проблемасын шешуге арналған тағы бір эвристика – Омид Дэвид пен Натан Нетаньяхудың расталған нөлдік қимыл кесу әдісі. Расталған нөлдік қимыл кесуінде, егер беткейлік нөлдік қимыл іздеуі жоғары сәтсіздік көрсетсе, ағымдағы түйінен іздеуді тоқтатудың орнына, іздеу төмендетілген тереңдікпен жалғастырылады.