Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2.docx
Скачиваний:
10
Добавлен:
20.04.2015
Размер:
82.2 Кб
Скачать

4.1. Представление задачи в пространстве состояний

Чтобы разрабатывать и внедрять алгоритмы поиска, разработчик должен уметь анализировать и прогнозировать их поведение. При этом перед ним стоят следующие вопросы:

  1. Гарантированно ли нахождение решения в процессе поиска?

  2. Является ли поиск конченным, или в нем возможно зацикливание?

  3. Если решение найдено, является ли оно оптимальным?

  4. Как процесс поиска зависит от времени выполнения и используемой памяти?

5. Как разработать интерпретатор для наиболее эффективного использования языка представления?

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

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

Определим постановку задачи в пространстве состояний более формально.

Пространство состояний представляется четверкой {N, A, S, GD}, где N - множество вершин графа или состояний в процессе решения задачи, A - множество дуг между вершинами, соответствующих шагам в процессе решения задачи, S - это непустое множество начальных состояний, которые описываются одним из следующих способов:

  1. измеряемыми свойствами состояний, встречающихся в процессе поиска;

  2. свойствами путей, возникающих в процессе поиска, например, «стоимостью» перемещения по дугам пути.

Допустимый путь - это путь из вершины множества S в вершину из множества GD.

GD- непустое подмножество N, состоящие из целевых состояний.

Цель может описывать состояние, например, выигрышную конфигурацию в игре «крестики-нолики». С другой стороны, цель может описывать некоторые свойства допустимых путей. В задаче о коммивояжере поиск заканчивается при нахождении кратчайшего пути через вершины графа.

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

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

Если пространство поиска оказывается деревом, то проблема зацикливания не возникает. Именно поэтому важно отличать задачи поиска на деревьях от задач поиска на графах с петлями. Алгоритмы поиска на произвольных графах должны обнаруживать и устранять петли в допустимых путях. При этом алгоритмы поиска на деревьях выигрывают в эффективности за счет отсутствия этих тестов и затрат на них.