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

ТИПИС

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

§ 1.1. Понятие поиск

11

 

N

По

направлению

W

Изменение

E

 

 

способа

 

 

генерации

 

По количеству

Сектор

 

итераций

обзора

 

 

Сектор

 

 

обзора

 

 

S

 

Рис. 1.3. Способы управления генерацией

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

1)исключение повторений;

2)ранжирование текущих результатов на основе априорной оценки;

3)переход к проверке состояний и/или операторов.

Управление генерацией и проверкой или планирование поиска выполняется за счет априорной и/или апостериорной информации, заложенной в метод поиска.

Алгоритмы поиска, работающие на основе апостериорной информа-

ции, принято называть простейшими эвристическими методами поиска. В

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

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

12

Глава 1. Поиск, задачи поиска и пространство состояний

 

 

 

 

лее перспективное состояние или прогнозировать ход событий поиска. Смысл задачи, которая решается за счет априорного планирования поиска, заключается в сокращении мощности текущих перспективных решений до единицы. Только в этом случае можно получить оптимальную цепочку вида <{f1, f2, ..., fn}>. Причем, в традиционных оценочных алгоритмах А* и минимаксной процедуре нет механизмов, которые бы на основе апостериорной информации позволили изменить априорную функцию в случае, когда не удается выделить единственное оптимальное решение из текущего фронта решений-кандидатов. Кроме этого, в алгоритме А* отсутствует возможность возврата (back-track).

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

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

Необходимо доказать, что мощность последовательности операторов в поиске всегда больше единицы, т. е. количество итераций поиска Hi 1. Отметим, что последовательность операторов Hi = (f1, f2, …, fn) не всегда представляет собой цепочку вида <Li = {f1, f2, ..., fn}> и, тем более, оптимальную цепочку операторов. Последовательность операторов Hi формируется (подбирается) из множества операторов преобразования состояний F в соответствии с используемым в поиске способом генерации, что и следует считать результатом поиска. В результате применения сформированной последовательности к начальному состоянию однозначно достигается целевое состояние.

Начнем доказательство от противного. Пусть Hi = 1. По условию задачи необходимо найти целевое состояние stj St за одну итерацию.

Так, если Hi = 1, то множество текущих состояний Sc = . Следовательно, любой оператор fj F позволяет выполнить преобразование всякого состояния из множества Sо сразу в целевое состояние, представляющее множество St.

Очевидно, что при этом подбора (поиска) операторов fj для Hi как такового не происходит, так как всякое состояние из множества Sо отображается в единственное состояние stj множества St.

Следовательно, поиск, включающий единственную итерацию («генерация + проверка»), следует рассматривать как вырожденный случай.

Рассмотрим следующий вариант условий поиска. И снова докажем, что для всякого поиска выполняется следующее: Hi 1. Пусть мощность множеств Sо и St больше единицы, а начальная мощность множества текущих состояний Sc = .

§ 1.1. Понятие поиск

13

 

Для доказательства вполне достаточно показать, что в процессе поиска Sc или Sc ≥ 1. По условию этой задачи между некоторым состоянием soi Sо не существует непосредственного отображения fj в заданное состояние stj St, как в первом случае, т. е. его нужно найти. При этом множество текущих состояний Sc будет наполняться за счет всех иных состояний множества Sо и множества St не тождественных состояниям soi и stj. Следовательно, Sc ≥ 1 и Sc , что и следовало доказать.

Очевидно, что в данных условиях ПС понадобится осуществить более одной итерации для того, чтобы достичь из начального состояния

soi Sо заданное состояние stj St, т. е. сформировать последовательность

операторов Hi = (f1, f2, …, fn), мощность которой Hi 1.

Таким образом, всякий поиск включает в себя более одной итерации («генерация + проверка»). Важно также отметить, что при этом Sc .

Еще одним признаком, характеризующим поиск, является n-направленность. В соответствии с этим признаком выделяют однонаправленный режим поиска, выполняемый из одного soi Sо и n-на- правленный режим поиска, соответственно выполняемый одновременно из нескольких состояний множества Sо. Очевидно, что для слепого (неуправляемого поиска) n-направленность не имеет принципиального значения [2], по этой причине практическое использование n-направленного режима для неуправляемого поиска не получила широкого распространения.

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

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

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

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

14

Глава 1. Поиск, задачи поиска и пространство состояний

 

 

 

 

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

Выделим основные признаки, определяющие понятие поиск:

поиск представляет собой процесс, включающий комплекс действий, направленный на достижение (преследование) цели;

поиск включает более одной пары базовых процедур «генерация + проверка»;

поиск может быть неуправляемым (слепым) или управляемым;

в управляемом поиске дополнительно к базовым процедурам добавлена процедура планирования;

поиск может быть выполнен в однонаправленном или n-на- правленном режиме;

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

поиск может быть выполнен с секторным, круговым или переменным обзором;

планирование поиска или управление поиском может быть осуществлено на основе априорной и/или апостериорной информации.

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

§ 1.2. Задачи поиска и преследования цели

15

 

§1.2. Задачи поиска

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

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

ние (состояния), соответствующие цели в заданном пространстве поис-

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

Следующая задача поиска заключается в определении места распо-

ложения целевого состояния (состояний) в пространстве поиска. Эта за-

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

16

Глава 1. Поиск, задачи поиска и пространство состояний

 

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

Для определения расстояния до целевого состояния уже не достаточно использовать схему поиска с применением только базовых процедур, представленную на рис. 1.1. Эта схема должна быть усложнена в части процедуры проверки путем сохранения апостериорной информации о ходе поиска. Например, в памяти MS поисковой системы может быть сохранена последовательность операторов Fi и/или текущие оригинальные состояния Sc (рис. 1.4).

Начало

Ввод данных:

Sо, St, F

Sci F = Sci+1

Да

si MS

Нет

si Sci+1 sjt St

Вывод результатов

MS

Конец Рис. 1.4. Алгоритм поиска с памятью

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

§ 1.2. Задачи поиска и преследования цели

17

 

жет быть применен управляемый вид поиска, осуществляемый в однонаправленном или n-направленном режимах.

Для выделения оптимального пути от начального состояния до целевого также недостаточно использовать схему поиска, представленную на рис. 1.1. Эта схема должна быть усложнена в части процедуры выбора перспективного текущего состояния на всех итерациях поиска. Такой выбор состояний, через которые пройдет путь, обычно выполняется на основе априорной информации. В этом случае априорная информация используется как критерий оптимальности при выборе состояний, составляющих оптимальный путь. Обычно в методах поиска, ориентированных на решения задачи по выделению оптимального пути, априорная информация представлена в оценочной функции. При достижении целевого состояния цепочка операторов вида <Li = {f1, f2, ..., fn}> представляет собой искомый путь от начального состояния до целевого состояния, оптимальный относительно заданной оценочной функции. На рис. 1.5 представлен алгоритм поиска на основе оценочной функции f(x).

Начало

Ввод данных:

Sо, St, F, f(x)

Sci F = Sci+1

Да

si Sci+1 sjt St

Да

f(x)min

Вывод результатов

Li

Конец

Рис. 1.5. Алгоритм поиска оптимального пути

18

Глава 1. Поиск, задачи поиска и пространство состояний

 

 

 

 

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

Следующей задачей поиска является задача преследования цели. Эта задача поиска, как и предыдущая задача, заключает в себе двойственный смысл.

Содной стороны, под целью преследования может быть указано определенное состояние (состояния), изменяющие свое расположение в пространстве поиска. Преследование цели обычно выполняется с помощью традиционного метода «погони», метода с постоянным или переменным углом опережения, методом параллельного и пропорционального сближения. Каждый класс методов преследования цели обладает свойственными ему достоинствами и недостатками. В конкретном случае выбор того или иного метода преследования цели определяется относительно скорости работы поисковой системы, направления и скорости перемещения цели, объема и точности априорной и текущей апостериорной информации. Для реализации методов преследования цели используется управляемый поиск, осуществляемый в однонаправленном и n-направленном режимах.

Сдругой стороны, преследование цели может быть интерпретировано как исследование и/или анализ изменений свойств состояний пространства поиска. Для решения этой задачи обычно применяют метод полного перебора состояний пространства поиска (breadth-first process). Практически все методы поиска, представленные в [1–5, 7, 8], прекращают поиск, как только достигается целевое состояние, определяется расстояние или выделяется путь. Суть задачи полного перебора заключается в определении модели организации пространства поиска и/или в распределении целевых состояний. Например, модели должны позволить определить вид и динамику изменения распределения состояний в пространстве поиска. Модель целевых состояний может быть представлена в виде оценки плотности распределения состояний в пространстве поиска. По этой причине для реализации метода полного перебора использование алгоритма поиска, данного на рис. 1.1, недостаточно. Для реализации метода полного перебора необходимо априори задать цель исследования и/или анализа. Для решения этой задачи следует использовать управляемый вид поиска, который обычно осуществляют в однонаправленном режиме.

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

 

§ 1.2. Задачи поиска и преследования цели

19

 

 

 

 

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

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

Развитие вычислительных средств позволило существенно сократить время обработки данных. Поэтому в дальнейших разработках методов поиска были очевидны попытки ограничить генерацию с помощью результатов проверки и/или априорной информации. Для задачи определения расстояния до цели необходимо было модернизировать процедуру проверки. Одним из способов определения расстояния от начального до целевого состояния является подсчет количества итераций, выполняемых методом поиска. Дополнительно в процессе поиска также использовался механизм исключения повторений текущих состояний. Для этой цели оригинальные текущие состояния заносились в память поиска. Память текущих состояний поиска позволила не только определять расстояние от начального до целевого состояния поиска, но и ограничить генерацию по направлению, числу итераций, выполнить ранжирование текущих состояний. Кроме этого, введение в метод поиска памяти текущих состояний позволило в случае неудачи поиска в некотором направлении выполнять возврат (back-track) поиска. Сегодня существует множество идей по организации и использованию памяти текущей информации, подсчета глубины итераций, механизмов выполнения возвратов. Эти идеи практически реализованы в так называемых простейших эвристических методах поиска. Поэтому можно

20

Глава 1. Поиск, задачи поиска и пространство состояний

 

 

 

 

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

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

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

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

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

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

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

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