Скачиваний:
122
Добавлен:
21.01.2014
Размер:
706.56 Кб
Скачать

1.8.4. Формализация задач в пространстве состояний

Процесс решения задачи, как правило, включает два этапа: представление задачи и реализацию стратегии поиска.

Полное представление задачи в пространстве состояний включает:

  • описание всех или только начальных состояний;

  • задание операторов, отображающие одни состояния в другие;

  • задание целевого состояния.

Поиск решения задачи в пространстве состояний сводится к определению последовательности операторов, отображающих начальное состояние в целевое.

Таким образом, представление задачи в пространстве состояний определяется совокупностью трех составляющих — тройкой

< S0, F, G>

где S0- множество начальных состояний (может состоять из одного элемента);

F - множество операторов, отображающих одно состояние в другое;

G - множество целевых состояний.

Для описания состояний могут использоваться векторы, матрицы, графы, списки и т.д. Выбор той или иной формы описания состояний определяется из того, чтобы применение оператора, преобразующего одно состояние в другое, оказалось наиболее простым.

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

Так, для рассмотренного ранее примера поиска пути на карте дорог, любое текущее состояние можно описать в виде списка городов, пройденных к текущему моменту (т.е. включенных в маршрут поиска на данный момент).

Тогда начальное состояние будет описываться списком, состоящим только из одного элемента, соответствующего начальному пункту пути:

[A]

Конечным состояниям будут соответствовать любые списки, первые элементы которых соответствуют целевой вершине, т.е. конечному пункту маршрута:

[F ¦  ]

Для рассмотренного выше примера конечному состоянию будут соответствовать списки:

[F ¦ [ E,B,A]]

[F ¦ [H,G,A]] и т.д.

Операторы преобразования для этого примера могут быть представлены в виде:

  • набора фактов, определяющих дороги между городами;

  • набора правил, определяющих возможность перемещения из одного города в другой.

Для рассмотренного примера набор фактов может быть следующим:

дорога (a, b)

дорога (a, g)

дорога (a, e)

дорога (b, c)

……………

дорога (g, h)

Для случая простейшей стратегии поиска для одноориентированного графа дорог набор правил может быть следующим:

маршрут (Кон_город,Кон_город,[Кон_город]).

маршрут (Город,Кон_город,[Город|Путь_до_конца]):-

дорога(город,город_к),

маршрут (Город_к,Кон_город,Путь_до_конца)

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

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

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

Рассмотрим пример простейшей задачи для интеллектуального робота по переупорядочиванию кубиков, поставленных друг на друга, как показано на рис. 1.8.7.

Рис. 1.8.7. Задача

Условия задачи:

  1. На каждом шаге можно переставить только один кубик;

  2. Кубик можно взять только тогда, когда верхняя поверхность свободна;

  3. Кубик можно поставить либо на стол, либо на другой кубик.

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

Эту задачу можно представить как задачу выбора среди множества возможных альтернатив.

В исходной ситуации альтернатива одна — поставить кубик C на стол.

После того как кубик C поставлен на стол, мы имеем три альтернативы:

1)поставить A на стол,

или

2) поставить A на C,

или

3) поставить C на A.

Как показывает рассмотренный пример с задачами такого рода связано два типа понятий:

  • проблемные ситуации.

  • разрешенные ходы или действия, преобразующие одни проблемные ситуации в другие.

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

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

Для рассмотренной задачи решением является выделенный на графе путь.

Рис. 8.8. Граф (пространство состояний)

Естественно, что для более сложных задач графическое представление пространства состояний не представляется возможным ввиду его сложности и большой размерности.

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

В тех случаях, когда каждый ход имеет стоимость, мы заинтересованы в отыскании решения минимальной стоимости.

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

Даже если стоимости не заданы, может возникнуть оптимизационная задача: найти кратчайшее решение.

Но прежде, чем говорить о возможных стратегиях поиска в пространстве состояний, давайте выясним, как можно представить пространство состояний в БЗ, используя для примера язык Пролог.