Введение

Слабость игрового искусственного интеллекта

Эффект горизонта, также известный как проблема горизонта, — это проблема в искусственном интеллекте, заключающаяся в том, что во многих играх количество возможных состояний или позиций огромно, и компьютеры могут практически исследовать лишь небольшую их часть, обычно на несколько ходов вглубь по дереву игры. Таким образом, для компьютера, осуществляющего поиск только на фиксированную глубину, существует вероятность совершения невыгодного хода, но этот эффект остаётся незамеченным, поскольку компьютер не анализирует позицию на глубину, на которой его оценочная функция выявляет истинную ценность варианта (то есть за пределами его «горизонта»). При оценке обширного дерева игры с использованием таких методов, как минимакс с альфа-бета отсечением, глубина поиска ограничена из соображений вычислительной целесообразности. Однако оценка частичного дерева может привести к ошибочным результатам. Если существенное изменение происходит непосредственно за горизонтом глубины поиска, вычислительное устройство становится жертвой эффекта горизонта. В 1973 году Ханс Берлинер назвал это явление, которое он и другие исследователи наблюдали, «эффектом горизонта». Он разделил его на два типа: эффект отрицательного горизонта «приводит к созданию отвлекающих манёвров, которые неэффективно откладывают неизбежные последствия или делают недостижимые цели кажущимися достижимыми». Для «в значительной степени упускаемого из виду» эффекта положительного горизонта «программа слишком рано стремится к реализации последствий, которые можно навязать противнику в удобное для него время, часто в более эффективной форме». Жадные алгоритмы склонны страдать от эффекта горизонта. Эффект горизонта можно смягчить, расширив алгоритм поиска поиском спокойных позиций. Это позволяет алгоритму поиска заглядывать за свой горизонт для определённого класса ходов, имеющих важное значение для состояния игры, например, взятий в шахматах. Пересмотр оценочной функции для конечных узлов и/или анализ большего количества узлов поможет решить многие проблемы, связанные с эффектом горизонта.

Пример

Например, в шахматах, представим ситуацию, когда компьютер просматривает дерево игры только на шесть ходов вперед и, исходя из текущей позиции, определяет, что ферзь будет потерян на шестом ходу. Предположим, в процессе поиска есть ход, при котором компьютер может пожертвовать ладью, отодвигая потерю ферзя на восьмой ход. Этот ход, конечно, хуже, чем немедленная жертва ферзя, поскольку он приводит к потере и ферзя, и ладьи. Однако, поскольку потеря ферзя оказалась за горизонтом поиска, она не была обнаружена и оценена. Потеря ладьи кажется предпочтительнее потери ферзя, поэтому жертва ладьи возвращается как лучший вариант, в то время как отсрочка жертвы ферзя на самом деле еще больше ослабила позицию компьютера.