Представление задачи в пространстве состояний
1. 4.1. Представление задачи в пространстве состояний
Чтобы разрабатывать и внедрять алгоритмы поиска, разработчик должен уметь анализировать и прогнозировать их поведение. При этом перед ним стоят следующие вопросы:
1. Гарантированно ли нахождение решения в процессе поиска?
2. Является ли поиск конченным, или в нем возможно зацикливание?
3. Если решение найдено, является ли оно оптимальным?
4. Как процесс поиска зависит от времени выполнения и используемой памяти?
5. Как разработать интерпретатор для наиболее эффективного
использования языка представления?
Теория поиска в пространстве состояний лает ответы на эти вопросы. Представив задачу в виде графа пространства состояний, можно использовать теорию графов для анализа структуры и сложности, как самой задачи, так и процедуры поиска ее решения.
В пространстве состояний задачи вершины графа соответствуют состояниям решения частных задач, а дуги - этапам решения задач. Одно или несколько начальных состояний, соответствующих исходной информации поставленной задачи, образуют корень дерева. Граф также включает одно или несколько целевых условий, которые соответствуют решениям исходной задачи. Поиск в пространстве состояний характеризует решение задачи как процесс нахождения пути решения (цепочки, ведущей к решению задачи) от исходного состояния к целевому.
Рекомендуемые материалы
Определим постановку задачи в пространстве состояний более формально.
Пространство состояний представляется четверкой {N, A, S, GD}, где N - множество вершин графа или состояний в процессе решения задачи, A - множество дуг между вершинами, соответствующих шагам в процессе решения задачи, S - это непустое множество начальных состояний, которые описываются одним из следующих способов:
1) измеряемыми свойствами состояний, встречающихся в
процессе поиска;
2) свойствами путей, возникающих в процессе поиска, например, «стоимостью» перемещения по дугам пути.
Допустимый путь - это путь из вершины множества S в вершину из множества GD.
Если Вам понравилась эта лекция, то понравится и эта - Глава 1. Принцип действия и виды.
GD - непустое подмножество N, состоящие из целевых состояний.
Цель может описывать состояние, например, выигрышную конфигурацию в игре «крестики-нолики». С другой стороны, цель может описывать некоторые свойства допустимых путей. В задаче о коммивояжере поиск заканчивается при нахождении кратчайшего пути через вершины графа.
Дуги в пространстве состояний соответствуют шагам процесса решения, а пути - решения на различной стадии завершения. Путь является целью поиска. Он начинается из исходного состояния и продолжается до тех пор, пока не будет достигнуто условие цели. Порождение новых состояний вдоль пути обеспечиваются такими операторами, как «допустимые ходы» в игре или правила вывода в логической задаче или экспертной системе.
Одна из общих особенностей графа и одна из проблем, возникающих при создании алгоритма поиска на графе, состоит в том, что состояния иногда могут быть достигнуты различными путями. Важно в этом случае выбрать оптимальный путь решения задачи. Кроме того, множественные пути к состоянию могут привести к петлям или циклам. Тогда алгоритм никогда не достигнет цели.
Если пространство поиска оказывается деревом, то проблема зацикливания не возникает. Именно поэтому важно отличать задачи поиска на деревьях от задач поиска на графах с петлями. Алгоритмы поиска на произвольных графах должны обнаруживать и устранять петли в допустимых путях. При этом алгоритмы поиска на деревьях выигрывают в эффективности за счет отсутствия этих тестов и затрат на них.
Игра «крестики-нолики» может использоваться для иллюстрации поиска в пространстве состояний, поясняя смысл условия 1 в определении поиска в пространстве состояний. В задаче о коммивояжере цель описывается условием 2.