Примером проблемы, относящейся к классу задач, решаемых поиском в пространстве состояний, является головоломка, известная как игра в “Пятнадцать”. В ней используется пятнадцать пронумерованных начиная с 1 фишек, расположенных в клетках поля 4x4. Одна клетка поля остается пустой, так что одну из соседних с ней фишек можно передвинуть на ее место. На рисунке выше слева изображены две конфигурации фишек – некоторая начальная конфигурация и конечная (искомая) Данную задачу можно упростить, используя поле размером 3x3 и восемь фишек. Основными особенностями такого класса задач, является наличие в каждой задаче точно определенного начального состояния и точно определенной цели. Имеется также некоторое множество операций, или ходов, переводящих одно состояние в другое. Из них состоит последовательность решения задачи, которую теоретически можно получить методом проб и ошибок или перебором. Рассматривая все возможные изменения состояния, можно получить множество состояний для следующего хода –и так до тех пор, пока не будет найдено решение. Ключевым понятием при формальном описании задачи в пространстве состояний является понятие состояния, характеризующего некоторый момент решения задачи. Например, для игры в “Пятнадцать” состояние–это некоторая конфигурация (расположение) фишек. Среди всех состояний системы выделяется начальное состояние и целевое состояние(искомое), которые и определяют решаемую задачу. Другим основополагающим понятием является понятие оператора, или допустимого хода. Оператор преобразует одно состояние в другое, являясь функцией, определенной на множестве состояний и принимающей значения из этого множества. В случае игры в “Пятнадцать”(или в “Восемь”) удобно выделить четыре оператора, соответствующие перемещениям пустой клетки влево, вправо, вверх, вниз. В некоторых случаях оператор может оказаться неприменимым к какому-то состоянию: например, операторы “Вправо” и “Вниз” неприменимы, когда пустая клетка расположена в правом нижнем углу. В терминах состояний и операторов решением задачи будет определенная последовательность операторов, преобразующая начальное состояние в конечное (целевое). Решение задачи ищется в пространстве состояний–множестве состояний, достижимых из начального состояния посредством операторов. В игре в “Пятнадцать” пространство состояний состоит из всех конфигураций фишек, которые могут быть образованы в результате их допустимых перемещений. Пространство состояний можно представить в виде графа, вершины которого соответствуют состояниям, а дуги–переходам между ними (применяемым операторам). Тогда решением задачи будет путь в графе, ведущий от начальной вершины к конечной. Пространства состояний могут быть большими и даже бесконечными, но в любом случае предполагается конечность множества допустимых операторов и счетность множества возможных состояний. Таким образом, представление задачи в пространстве состояний включает выявление и определение следующих составляющих: •формы описания состояний и описание исходной задачи; •множество операторов и их воздействий на описания состояний; •указание свойств целевых состояний(или их явное задание). Алгоритмы поискав пространстве состояний основаны на последовательном переборе вершин этого пространства до тех пор, пока не будет обнаружена целевая вершина. Вершины и указатели, построенные в процессе перебора, образуют поддерево всего возможного пространства состояний. Будем называть такое поддерево деревом перебора. В соответствии с первой характеристикой алгоритмы можно разделить на два класса –слепые и эвристические. В слепых алгоритмахпоиска в пространстве состояний местонахождение целевой вершины никак не влияет на порядок, в котором рассматриваются (раскрываются) вершины. Эвристические алгоритмыиспользуют для оптимизации перебора вариантов эвристическую информацию о том, где в пространстве состояний расположена цель, поэтому для раскрытия обычно выбирается более перспективная вершина.