Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Глава 13




Декомпозиция задач и графы AND/OR

В этой главе...

13.1. Представление задач в виде графов AND/OR 277

13.2. Примеры представлений в виде графа AND/OR 281

13.3. Основные процедуры поиска в графе AND/OR 284

13.4. Поиск в графе AND/OR по заданному критерию 289

Графы AND/OR могут служить удобным средством представления тех задач, ко­торые возможно естественным образом разложить на ряд взаимно независимых под­задач. К примерам таких задач относится поиск маршрута, проектирование, симво­лическое интегрирование, игры, доказательство теорем и т.д. В этой главе рассмат­риваются программы для поиска в графах AND/OR, включая поиск по заданному критерию в графе AND/OR, управляемый эвристическими средствами.

13.1. Представление задач в виде графов AND/OR

В главах 11 и 12 в основном рассматривались способы решения задач, представ­ленных с помощью пространства состояний. В соответствии с этим решение задачи сводилось к поиску пути в графе пространства состояний. Но для некоторых катего­рий задач более естественно подходит другое представление, в виде графа AND/OR. В основе такого представления лежит декомпозиция задачи на подзадачи. Декомпо­зиция на подзадачи может применяться, если подзадачи являются взаимно незави­симыми и поэтому могут решаться независимо друг от друга.

Проиллюстрируем сказанное выше на примере. Рассмотрим задачу поиска мар­шрута между двумя указанными городами на дорожной карте, показанной на рис. 13.1. На данный момент значения длины маршрутов будут игнорироваться. Эту задачу, безусловно, можно сформулировать как поиск пути в пространстве состоя­ний, Соответствующее пространство состояний может выглядеть полностью анало­гично этой карте: узлы в пространстве состояний соответствуют городам, дуги — прямым соединениям между городами, а стоимости дуг — расстояниям между горо­дами. Но может рассматриваться и другое представление этой задачи, основанное на ее естественной декомпозиции.

На карте, приведенной на рис. 13.1, имеется также река. Предположим, что эту реку можно пересечь только с помощью двух мостов, один из которых находится в городе f, а другой - в городе д. Очевидно, что необходимо включить в разрабаты­ваемый маршрут один из мостов, поэтому маршрут должен пройти или через f, или через д. Таким образом, имеются два описанных ниже основных варианта.


 



 


Рис. 13.1. Поиск маршрута между городами а и z по дорожной карте. Реку можно пересечь е пункте f или д. Представление этой задачи в виде графа AND/OR показано на рис. 13.2

Чтобы найти путь от а до z, необходимо выполнить одно из следующих действий.

1. Найти путь от а до г через f,

2. Найти путь от а до z через д.

Теперь каждый из этих двух вариантов задачи можно разложить на подзадачи, как описано ниже.

1. Чтобы найти путь от а до z через f, необходимо выполнить следующее:

1.1. найти путь от а до f;

1.2. найти путь от f до г.

2. Чтобы найти путь от а до z через д, необходимо выполнить следующее:

2.1. найти путь от а до д;

2.2. найти путь от д до z.

В конечном итоге имеются два основных варианта решения первоначальной зада­чи: проложить маршрут через f или проложить его через д. Кроме того, каждый из этих вариантов задачи можно разделить на две подзадачи {соответственно, 1.1 и 1.2 или 2.1 и 2.2). Здесь важно то, что (в обоих вариантах) каждая из подзадач может быть решена независимо от другой. Такую декомпозицию можно представить в виде графа AND/ОН (рис. 13.2). Обратите внимание на две дуги, соединенные кривой ли­нией, которые обозначают связь AND между подзадачами. Безусловно, что граф, по­казанный на рис. 13.2, представляет собой только верхнюю часть соответствующего дерева AND/OR. Дальнейшая декомпозиция подзадач может быть основана на рас­смотрении других промежуточных городов.

Какими являются целевые узлы в подобном графе AND/OR? Целевые узлы соот­ветствуют подзадачам, которые являются тривиальными, или "простейшими". В данном примере такой подзадачей будет "поиск маршрута от а до с", поскольку на дорожной карте имеется прямое соединение между городами а и с.

В этом примере введены некоторые важные понятия. Граф AND/OR представляет собой ориентированный граф, узлы которого соответствуют задачам, а дуги обозна-



Часть II. Применение языка Prolog в области искусственного интеллекта


чают отношения между задачами. Имеются также отношения между самими дугами. Этими отношениями являются AND и OR, в зависимости от того, требуется ли ре­шить только одну из задач-преемников или сразу несколько (рис. 13.3). Б принципе, из любого узла могут исходить и дуги, связанные отношением AND, и дуги, связан­ные отношением OR. Но мы предполагаем, что каждый узел имеет либо только пре­емников AND, либо только преемников OR. Дело в том, что каждый граф AND/OR можно преобразовать в стандартную форму, введя по мере необходимости вспомога­тельные узлы OR. Поэтому узел, из которого исходят только дуги AND, называется узлом AND, а узел, из которого исходят только дуги OR, называется узлом OR.



 


Рис. 13.2. Представление задачи поиска маршрута, приведенной на рис 13.1. е виде графа AND/OR. Узлы соответствуют задачам или подзадачам, а дуги, со­единенные кривыми, показывают, что должны быть решены все (в данном случае обе) подзадачи




 


Рис. 13.3. Два типа узлов в графе AND/OR: а) чтобы решить задачу Р, достаточно решить любую us подзадач Pi, P2 или...; б) чтобы решить задачу Q, необходимо решить все подзадачи, и Q1. и 02. и...

В представлении в виде пространства состояний решение задачи сводилось к по­иску пути в пространстве состояний. Каково же решение в представлении в виде графа AND/OR? Безусловно, что любое решение должно включить все подзадачи лю­бого узла AND. Поэтому теперь решение является не путем, а деревом. Такое дерево решения, Т, определяется следующим образом.

• Первоначальная проблема, Р, является корневым узлом дерева Г.

• Если Р — узел OR, то в дереве Т находится один и только один из его преем­ников (по графу AND/OR) вместе с его собственным деревом решения.

• Если Р — узел AND, то в дереве т находятся все его преемники (по графу AND/OR) наряду с их деревьями решения,


Глава 13, Декомпозиция задач и графы AND/OR



Это определение показано на рис. 13.4. На данном рисунке показаны также стои­мости, назначенные дугам. Стоимости позволяют сформулировать критерий оптими­зации. Можно, например, определить стоимость графа решения как сумму всех стоимостей дуг в этом графе. Поскольку нас обычно интересует минимальная стои­мость, то предпочтительным является граф решения, показанный на рис. 13.4, в.



 


 




 


Рис. 13.4. Примеры графов решения: а) граф AND/OR, в котором d, g и h являются целевыми узлами, азадача, которая должна быть решена; б) и в) два дерева решения, стоимость которых составляет соответственна 9 и 8. Здесь стоимость дерева решения определена как сумма всех стоимостей дуг в дереве решения

■Но мы не обязаны всегда рассматривать стоимости дуг в качестве критерия опти­мизации. Иногда более естественно связать стоимости с узлами, а не с дугами или связать их и с дугами, и с узлами.

На основании сказанного выше можно сделать следующие выводы.

• Представление задачи в виде графа AND/OR основано на принципе декомпо­зиции задачи на подзадачи.

• Узлы в графе AND/OR соответствуют задачам, а связи между узлами указы­вают на отношения между задачами.

• Узел, из которого исходят связи OR, представляет собой узел OR. Для реше­ния задачи, обозначенной узлом OR, достаточно решить одну из задач его уз­лов-преемников.

• Узел, из которого исходят связи AND, представляет собой узел AND. Для ре­шения задачи, обозначенной узлом AND, необходимо решить все задачи его узлов-преемников.



Часть II. Применение языка Prolog e области искусственного интеллекта


• Для указанного графа AND/OR конкретная задача формулируется с помощью
следующих двух понятий:

• начальный узел;

• целевое условие для распознавания целевых узлов.

 

• Целевые (или "оконечные") узлы соответствуют тривиальным (или "простей­шим") задачам.

• Любое решение представлено в виде графа решения, который является под­графом графа AND/OR.

• Представление в виде пространства состояний может рассматриваться как ча­стный случай представления в виде графа AND/OR, в котором все узлы явля­ются узлами OR

■ Чтобы можно было воспользоваться преимуществами представления AND/OR, необходимо, чтобы узлы, связанные отношениями AND, представляли подза­дачи, которые могут быть решены независимо друг от друга. Критерий незави­симости можно немного ослабить следующим образом: должно существовать упорядочение подзадач AND, такое, чтобы решения подзадач, встречающихся раньше при этом упорядочении, не уничтожались в результате решения после­дующих подзадач.

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

13.2. Примеры представлений в виде графа AND/OR

13.2.1. Представление в виде графа AND/OR задачи поиска маршрута

Для задачи поиска кратчайшего маршрута (см. рис, 13.1) граф AND/OR, который включает функцию стоимости, можно определить следующим образом.

• Узлы OR имеют форму X-Z, а это означает, что нужно найти кратчайший маршрут от X до Z.

• Узлы AND имеют такую форму:

X-Z via У

а это означает — найти кратчайший маршрут от X до Z, при условии, что этот маршрут должен пройти через Y.

• Узел X-Z является целевым узлом (простейшая задача), если X и z на карте со­единены непосредственно.

• Стоимость каждого целевого узлаХ-2 представляет собой указанное дорожное расстояние между X и 7,.

• Стоимости всех других (нетерминальных) узлов равны 0.

Стоимость графа решения представляет собой сумму стоимостей всех узлов в гра­фе решения (в данном случае это сумма стоимостей всех терминальных узлов). Для за­дачи, показанной на рис. 13.1, начальным узлом является a-z. На рис. 13.5 показано дерево решения со стоимостью 9. Это дерево соответствует маршруту [afb,d, f, i,z), который можно реконструировать из дерева решения, посетив асе листья в этом де­реве в последовательности слева направо.


Глава 13. Декомпозиция задач и графы AND/OR




 


Рис. 13.5. Дерево решения с минимальной стоимостью для задачи поиска маршрута (см, рис. 13.1). оформленное е виде графа AND/OR





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 608 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2255 - | 2025 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.