Несмотря на то, что многие оптимизации, основанные на эвристике (я имею в виду способы увеличения глубины дерева без фактического поиска), обсуждаемые в литературе по шахматному программированию, я думаю, что большинство из них используются редко. Причина в том, что в теории они являются хорошими усилителями производительности, но не на практике.
Иногда эти эвристики могут возвращать плохой (я имею в виду не лучший) ход.
Люди, с которыми я говорил, всегда рекомендуют оптимизировать альфа-бета-поиск и реализовывать итеративное углубление в коде, а не пытаться добавить другие эвристики.
Основная причина в том, что вычислительная мощность компьютеров возрастает, и исследования [нуждаюсь в цитировании, я полагаю] показали, что программы, использующие свое полное время ЦП для грубой форсировки дерева альфа-бета до максимальной глубины, всегда опережали программы, которые делят свое время между определенными уровнями альфа-бета и некоторыми эвристиками.
Несмотря на то, что использование некоторой эвристики для увеличения глубины дерева может принести больше вреда, чем пользы, есть много способов повышения производительности, которые можно добавить в алгоритм поиска альфа-бета.
Я уверен, что вы знаете, что для того, чтобы альфа-бета работала в точности так, как она должна работать, у вас должен быть механизм сортировки ходов ( итеративное углубление ). Итеративное углубление может дать вам около 10% прироста производительности.
Добавление Принципиальная вариация Searc ч техника альфа-бета может дать вам дополнительный 10% -ный прирост.
Попробуйте также алгоритм MTD (f ). Это также может повысить производительность вашего двигателя.