Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТИПИС

.pdf
Скачиваний:
195
Добавлен:
04.06.2015
Размер:
1.02 Mб
Скачать

§ 2.4. Процедура планирования

61

 

§ 2.4. Процедура планирования

Под планированием подразумевался комплекс действий, включающий подготовку и поиск (преследования цели) [1–5, 9, 15–23]. Результатом хорошего планирования поиска считается выделенный путь решения задачи следующего вида:

Li = (f1, f2, …, fn),

где fi L представляет собой оператор преобразования состояния si в со-

стояние si+1.

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

Так, по условию задачи имеем некоторое конечное множество городов (состояний) следующего вида: S = {s0, s1, … sn}, где n 1 с заданными

с координатами hij (i, j = 0, 1, 2, … n) в пространстве.

Требуется найти кратчайшей путь вида Lmin = (s0, si1, si2, … sin, s0), суммарное расстояние которого будет минимальным.

62

Глава 2. Методы поиска

 

 

 

 

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

Пусть имеется пять городов (состояний), которые должен посетить коммивояжер (табл. 2.3) с заданными между ними расстояниями (координатами).

 

 

 

 

 

Таблица 2.3

 

 

 

 

 

 

 

s0

s1

s2

s3

s4

s0

0

30

25

20

40

s1

30

0

50

35

60

s2

25

50

0

25

20

s3

20

35

25

0

25

s4

40

60

20

25

0

При планировании кратчайшего пути коммивояжера обычно анализируют развитие вариантов маршрутов последовательно от города к городу. Целесообразно начать анализировать перспективность пути, состоящего первоначальноиз трех возможных городов(состояний), т. е. s0, si1, si2, si3.

Результат анализа перспективности дальнейшего развития пути, соединяющего три города, представлен в табл. 2.4.

 

 

 

 

 

Таблица 2.4

 

 

 

 

 

 

Вариант

Суммарное

Оценка

Вариант

Суммарное

Оценка

маршрута

расстояние

маршрута

маршрута

расстояние

маршрута

s0, s1, s2, s3

105

+

s0, s3, s1, s2

105

s0, s1, s2, s4

100

+

s0, s3, s1, s4

115

s0, s1, s3, s2

90

+

s0, s3, s2, s1

95

s0, s1, s3, s4

90

+

s0, s3, s2, s4

65

+

s0, s1, s4, s2

110

+

s0, s3, s4, s1

105

s0, s1, s4, s3

115

+

s0, s3, s4, s2

65

+

s0, s2, s1, s3

110

s0, s4, s1, s2

150

s0, s2, s1, s4

135

s0, s4, s1, s3

135

s0, s2, s3, s1

85

+

s0, s4, s2, s1

110

s0, s2, s3, s4

75

s0, s4, s2, s3

85

s0, s2, s4, s1

105

+

s0, s4, s3, s1

100

+

s0, s2, s4, s3

70

+

s0, s4, s3, s2

90

§ 2.4. Процедура планирования

63

 

В результате анализа вариантов комбинаций из трех городов можно выделить двенадцать перспективных (показано в табл. 2.4 «+») и двенадцать неперспективных в любом варианте дальнейшего развития путей (показано в табл. 2.4 «»). Перспективные варианты используются в дальнейшем анализе комбинации уже соответственно из четырех городов.

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

 

 

 

 

 

 

 

Таблица 2.5

 

 

 

 

 

 

Вариант

Суммарное

Оценка

Вариант

Суммарное

Оценка

маршрута

расстояние

маршрута

маршрута

расстояние

маршрута

 

 

 

 

 

 

s0, s1, s2, s3 s4

130

s0, s2, s3, s1 s4

145

s0, s1, s2, s4 s3

125

+

s0, s2, s4, s1 s3

140

s0, s1, s3, s2

s4

110

+

s0, s2, s4, s3

s1

105

+

s0, s1, s3, s4

s2

110

+

s0, s3, s2, s4

s1

125

s0, s1, s4, s2

s3

135

s0, s3, s4, s2

s1

115

s0, s1, s4, s3

s2

140

s0, s4, s3, s1

s2

150

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

стояниеs0).

Результат сравнения оконченных путей дан в табл. 2.6.

 

 

 

 

Таблица 2.6

 

 

 

 

Вариант

 

Суммарное

Оценка

маршрута

 

расстояние

маршрута

 

 

 

 

s0, s1, s2, s4

s3 s0

145

 

 

 

 

s0, s1, s3, s2

s4 s0

150

 

 

 

 

 

s0, s1, s3, s4

s2

s0

135

min

 

 

 

 

 

s0, s2, s4, s3

s1

s0

135

min

 

 

 

 

 

В итоге пошагового планирования было выделено два кратчайших

пути: s0, s1, s3, s4, s2, s0 и s0, s2, s4, s3, s1, s0, суммарное расстояние которых равно 135.

64

Глава 2. Методы поиска

 

 

 

 

Рассмотрим процесс пошагового планирования поиска с ограничениями на примере классической задачи «О волке, зайце и капусте» (аналогичные задачи – «Ханойская башня», «О каннибалах и миссионере»). Смысл задачи заключается в том, что необходимо перевезти на лодке волка, зайца и капусту с правого берега реки на левый берег. Условия задачи включают следующие ограничения:

в лодке может поместиться только один субъект;

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

Состояния в задаче представляют собой различные варианты наборов субъектов, расположенных на одном берегу реки. Обозначим присутствие субъекта на берегу единицей, а его отсутствие – нулем. Например, состояние 0101 обозначает, что на берегу находятся только заяц и лодка. Последняя единица в последовательности обозначает лодку. Соответственно на альтернативном берегу должны находиться волк и капуста, т. е. состояния вида 1010.

Начальным состоянием задачи является 1111 – волк, заяц, капуста и лодка расположены на правом берегу, и состояние левого берега – 0000.

Все возможные варианты состояний берегов реки представлены в табл. 2.7.

 

 

 

 

 

Таблица 2.7

 

 

 

 

 

 

Левый берег

Правый берег

Левый берег

Правый берег

п/п

 

 

п/п

 

 

0

0000

1111

8

1000

0111

1

0001

1110

9

1001

0110

2

0010

1101

10

1010

0101

3

0011

1100

11

1011

0100

4

0100

1011

12

1100

0011

5

0101

1010

13

1101

0010

6

0110

1001

14

1110

0001

7

0111

1000

15

1111

0000

Решением задачи является путь из состояния 0 (1111) правого берега в состояние 15 (0000).

Анализ состояний (табл. 2.7) позволяет отметить, что пространство состояний может обладать дополнительными свойствами. Новое свойство – это несовместимость видовых признаков состояний относительно условий задачи. Так, в данном примере имеется несовместимость второго признака

§ 2.4. Процедура планирования

65

 

состояний с первым и третьим. В табл. 2.7 состояния с несовместимыми признаками выделены полужирным шрифтом.

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

 

Левый берег

 

 

 

 

Правый берег

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0000 (15)

 

 

 

 

 

 

 

1111 (0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0100 (4)

 

 

 

 

1100 (3)

 

 

1010 (5)

 

 

 

0110 (9)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1000 (7)

 

 

 

 

0010 (13)

 

1000 (7)

 

 

 

 

 

 

0010 (13)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1010 (5)

 

 

 

 

 

 

 

0100 (11)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1111 (0)

 

 

 

 

 

 

 

0000 (15)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.13. Граф, включающий допустимые состояния

Из рис. 2.13 (справа) видно, что имеется два кратчайших плана достижения цели. Это последовательности состояний: 0, 5, 7, 11, 15 и 0, 5, 13, 11, 15.

Суть планирования заключается в первоначальном исключении наиболее «конфликтующего» субъекта. Так, в обоих планах первоначально на левый берег перевозится заяц (переход из начального состояния правого берега 0 в состояние 5). Затем лодка возвращается и перевозит на левый берег волка или капусту (состояние 7 или 13). Возвращается на правый берег с зайцем и забирает на левый берег оставшийся субъект (состояние 11). Наконец, вернувшись на правый берег, перевозит оставшегося зайца на левый берег (состояние 15).

Участок пути (состояния 7 и 13) указывает на то, что в решении задачи используется круговой обзор. Это значит, что в выше рассмотренном на примерах пошаговом планировании в большей степени используется апостериорная информация и практически отсутствует априорная оценка. Следовательно, пошаговое планирование не позволит сформировать оптимального пути вида Li.

66

Глава 2. Методы поиска

 

 

 

 

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

Например, необходимо организовать пространство состояний, вклю-

чающее состояния s1(ki, kj, ka, kb), s2(ki, kj, ka, kс) и s3(ki, kj, kc, kb). При условии, что состояния обладают конечным набором признаков, пространство

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

Таким образом, «состояния-потомки» s1, s2 и s3 обладают общими признаками ki и kj или родовыми признаками пространства состояний (класса). Кроме этого, состояния s1 и s2 обладают признаком ka, состояния s2 и s3 – признаком kc и s1, s3 – признаком kb, которые обобщаются в собственные подпространства или подклассы класса. Видовые признаки подклассов ka, kc и kb представляют собой обобщение свойств соответствующих состояний. Можно сказать, что свойства состояний («потомков») на уровне предков представлены абстрактно, и свойства «предков» уточняются на уровне «потомков».

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

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

Несомненно, поиск в иерархическом пространстве имеет преимущество относительно раннее рассмотренных случаев, в том числе случаев организации неуправляемых n-направленных режимов поиска. Прежде всего преимущество заключается в том, что иерархическая организация пространства частично решает задачу управления направлением поиска.

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

§ 2.4. Процедура планирования

67

 

Пусть требуется переехать из центра одного города в центр другого. Разумнее это сделать в два приёма: выезд из первого города и въезд во второй спланировать на детальной карте, а переезд из города в город – на относительно крупномасштабной. В этом случае планирование на крупномасштабной карте является относительно более абстрактным. При этом планирование всего маршрута на более детальной карте было бы более ресурсоемким (в соответствии с выбранным уровнем детализации).

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

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

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

Использование оценочной функции должно позволить решить третью задачу поиска, т. е. выделение оптимального пути Li до состояния с заданными видовыми свойствами KV = {k1, k2, …, kn}.

Наиболее яркими представителями класса эвристических методов поиска на основе оценочной функции являются алгоритмы Харта – Нильсона или алгоритм А* и минимаксная процедура [2].

Методы реализуются в следующих условиях:

1)задано одно начальное и целевое состояние;

2)оценочная функция f(x) определена для всех состояний пространства поиска;

3)относительно оценочной функции пространство поиска должно быть монотонно;

4)состояния в пространстве поиска связны.

Предварительно до начала поиска задается оценочная функция следующего вида:

f(x) = g(x)+ h(x),

где g(x) расстояние от начального до текущего состояния, h(x) оценка, представляющая отличие свойств текущего и целевого состояния.

68

 

 

Глава 2. Методы поиска

 

 

 

 

 

Схема поиска А* представлена на рис. 2.14.

 

 

 

siо

СХЕМА ПОИСКА В АЛГОРИТМЕ А*

Начальное

 

g(x) – оценка

Процедура планирования

состояние

 

расстояния

 

 

 

siо Sо

 

от siо до Si

f(x) = g(x) + h(x)

Текущие

si

Si

Процедура генерации

 

 

 

состояния

 

f(x) – оценка

 

 

в глубину

 

 

Si, Si+1

 

Si состояния

si Fi = Si+1

 

 

 

 

 

 

si f(x)min

 

 

 

Целевое

 

 

Процедура проверки

 

состояние

 

 

t

 

 

t

 

sjt St

 

 

1) si+1 Si+1, sj

S

 

 

 

h(x) – оценка

2) f(x)min F={f(x)} si

 

 

отличия

 

 

 

 

 

от sjt до Si

 

 

 

 

sjt

 

 

 

 

 

 

Рис. 2.14. Схема поиска А*

 

 

Алгоритм поиска А* включает следующие этапы:

1.Раскрыть очередное состояние si-1 Fj = Si.

2.Если sj Si, st, то задача решена, иначе – п. 3.

3.Выбрать из Si состояния si, для которых оценка f(x)min, а операторы, образовавшие данные состояния, записать в цепочку Li = {f1, f2, … fi-1, fi,…}. Далее перейти к п. 1 для si.

В алгоритме А* используется генерация в глубину. Однако выбор

очередного si определяется значением f(x). Для выделения минимального пути используется соответственно значение f(x)min. Причем анализ значений f(x) состояний в алгоритме А* происходит только на текущем фронте. Так, в алгоритме А* осуществляется эвристическое управление направлением поиска.

Рассмотрим работу алгоритма А* в задаче выделения кратчайшего пути. Фрагмент из [2], схемы поиска кратчайшего пути с помощью алгоритма А* на примере игры «В восемь» представлен на рис. 2.15.

§ 2.4. Процедура планирования

69

 

 

 

 

4

0

 

4

 

 

 

 

 

 

 

 

2

8

3

 

 

 

1

2

3

 

 

 

1

6

4

 

 

 

8

6

4

 

 

 

7

 

5

 

 

 

7

5

6

1

56

43

1

 

34

64

1

5

 

 

2

8

3

2

8

3

 

2

8

3

 

 

1

6

4

1

6

4

 

1

6

4

 

 

 

7

5

7

5

 

7

5

 

 

 

71

4

35

1 2 3

8 4

7 6 5

50

5

0

72

5

27

1

2

3

1

2

3

8

6

4

7

8

4

7

5

 

6

5

Рис. 2.15. Фрагмент поиска с помощью алгоритма А*

Вкачестве состояний (рис. 2.15) используются различные варианты расположения неповторяющихся цифр от 1 до 8 в матрице 3×3.

Вигре «В восемь» оценка g(x) представляет собой расстояние от начального состояния до текущего фронта или количество проведенных итераций. На рис. 2.15 значения g(x) представлены в центральных кружочках. Оценка h(x) представляет количество не на месте расположенных цифр текущих состояний относительно целевого состояния. На рис. 2.15 значения h(x) представлены в кружочках справа, значения f(x) – в кружочках слева, как сумма значений оценок g(x) и h(x).

При применении алгоритма А* в задаче «В восемь» возможна ситуация, в которой некоторое подмножество состояний фронта будет

иметь тождественные оценки f(x)min (свойства состояний в пространстве поиска распределены немонотонно относительно принятой системы оценок).

70

Глава 2. Методы поиска

 

 

 

 

Такая ситуация

на

примере

игры

«В восемь» представлена на

рис. 2.16.

 

 

 

 

 

 

 

 

 

 

 

54

1

4

 

 

 

 

 

 

2

8

3

 

 

 

 

 

 

1

6

4

 

 

 

 

 

 

7

5

 

 

 

5

21

3

53

21

3

64

21

45

2

8

3

2

8

3

2

8

3

7

16

4

1

4

1

46

5

67

5

7

6

5

7

65

Состояния фронта, для которых f(x) принимает тождественные значения

Рис. 2.16. Фрагмент схемы поиска игры «В восемь»

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

В результате искомый путь может включать в себя неопределенные, альтернативные участки такого вида:

Li = {f1, f2, …, Fi-1, Fi, Fi+1, …fn},

где Fi > 1.

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