В основе многих работ по ИИ лежит важное различение между двумя методами решения задач. Один метод называется алгоритмическим,
а другой — эвристическим. Алгоритмы обычно определяются как процедуры, гарантирующие решение задач данного типа; эвристика есть набор эмпирических правил или стратегий, которые в итоге действуют подобно правилу большого пальца. Различие между этими методами можно проиллюстрировать на примере шахматной задачи. Шахматы для компьютера — это игра, в которой во всякий данный момент у каждого игрока существует ограниченное количество ходов. И на каждый из возможных ходов противник может ответить также ограниченным набором ходов. Для практических целей количество этих перестановок конечно, то есть игра должна закончиться выигрышем (поражением) или вничью. На рис. 16.12 вы видите часть разветвленного дерева ходов, возможных в шахматной партии.Рис. 16.12. Часть дерева вероятностей для шахматной игры
Конечно, нельзя изобразить возможные ходы для всей партии, поскольку такая диаграмма содержит около 10120
различных путей. Чтобы представить себе это огромное число возможных ходов, вообразите пространство, необходимое для отображения всех этих перестановок. Если все возможные пути закодировать в виде мельчайших точек, они многократно заполнят все библиотеки мира! Тем не менее алгоритмический поиск, при котором исследуются все варианты, неизбежно привел бы к ряду вариантов игры с выигрышем, проигрышем или ничьей. Не только люди, но даже самые сложные компьютеры из всех, которые только можно вообразить, неспособны воспользоваться этим методом. Вместо него и люди и компьютеры используют эвристические методы поиска, при которых важной является стратегия игры, — например, атака на ферзя, контроль над центром доски, блокирование главных фигур противника, обмен с получением преимущества в позиции или фигурах и т. д.