Ifrit_b - основные алгоритмы

на главную страницу

Методы реализованные в программе Ifrit_b
Здесь я изложу свое понимание эвристик и то как я реализовал это понимание в программе.

01)Bitmap Move Generation(Битбоард генератор ходов).
02)Check(Детектор шахов).

Полный перебор и его оптимизация Альфа-бета.
1)MiniMax(Полный перебор).
2)AlphaBeta(Альфа-бета оптимизация полного перебора).
3)NegaScout(НегаСкаут).

Сортировки для ускорения Альфа Бета.
Альфа Бета при наилучшем порядке ходов исследует sqrt(N) позиций, где N - количество позиций, исследуемых при полном переборе.
Это эквивалентно перебору на глубину в 2 раза больше, за тоже время.
4)Transposition table(Сортировка по хешу).
5)Sorting captures(Сортировка взятий).
6)Killer heuristic(Сортировка по киллерам).
7)History heuristic(Сортировка по истории).

Расширения поиска.
8)Quiescence search(Быстрый поиск).
9)Extensions(Расширения).

Оценка позиции и вывод варианта
10)Estimation(Оценка).
11)Save variant(Сохранение варианта).

Другие методы
12)Null move pruning(Нулевой ход).
13)Futility pruning.
14)Late Move Reductions.
15)Internal Iterative Deepening.