Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TIPS_1_laba / (готовый)3.doc
Скачиваний:
42
Добавлен:
04.06.2015
Размер:
1.22 Mб
Скачать

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

а) Описание начального условия решения задачи.

б) Описание требуемого результата решения задачи.

а) Характеристика способов генерации.

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

Характеристика метода поиска по лучу:

1) Для очередного si формируется множество применимых операторов Fi.

2) Если Fi, то выбирается одно fjFi, иначе si является терминальным состоянием. Если имеются терминальные состояния, то следует ввести в алгоритм механизма возврата. Обычно, следует вернуться назад, выбрать иное fjFi-1 для si-1 не порождающие терминальное si (более подробно об обходе терминальных состояний будет сказано ниже).

3) Состояние si раскрывается si fj = si+1 (далее результат генерации или раскрытие состояния будем именовать «фронтом»).

4) Если выполняется условие: si+1 sjtSt, то задача решена (выполняется одно из условий решения первой задачи), иначе переход к п.1 применительно для очередного состояния si+1.

Алгоритмы поиска в методе в глубину:

1) Для одной siSi формируется множество применимых операторов Fi.

2) Если Fi=, то si является терминальным состоянием, (при наличии терминальных состояний, используют иную sjSi или поступают так же, как в методе поиска по лучу).

3) Состояние si раскрывается si Fi=Si+1.

4) Если выполняется условие: si+1 Si+1, sjtSt, то задача решена (выполняется одно из условий решения первой задачи), иначе переход к п.1., но применительно для очередного фронта состояний Si+1.

В методе в ширину реализуется следующий алгоритм поиска:

1) Для всех siSi формируется множество применимых операторов Fi.

2) Если для всех siSi, Fi=, то решения не существует, иначе п.3.

3) Si раскрывается: Si Fi = Si+1.

4) Если выполняется условие: si Si+1, sjtSt, то задача решена (выполняется одно из условий решения первой задачи), иначе переход к п.1. применительно для очередного фронта состояний Si+1.

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

Для осуществления поиска: 1. So = {S1,S2…Sn}

Задать начальное состояние с которого начинается поиск.

2. St = {S1,S2…Sm}

Множество целевых состояний. m - мощность множества.

Пересечение множеств So и St не должно быть пустым.

3. F = {f1,f2…fk}

Множество операторов.

4. Sc ={S1,S2…Si}

Множество текущих состояний. Sc . (в некоторых случаях выполнение данного условия необязательно).

б) Используя «слепые» методы поиска возможно получить следующие результаты решения задачи:

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

  2. Поиск целевого состояния (при заданном начальном состоянии) любым методом поиска.

4) Выбор методов генерации.

Выбор той или иной процедуры генерации зависит:

1. От условия решения задачи: найти все siSt, найти одну siSt, найти заданное количество siSt, найти одну или несколько указанных siSt;

2. От отношения Sи подмножества St, от отношения Sи подмножества So, от отношения подмножества Soи подмножества St.

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

1) Для поиска по лучу: Р= 1/ mi nb.

2) Для поиска в глубину: Р= 1/ mi nb m.

3) Для поиска в ширину: Р= 1/ mi n-b.

где b-число итераций.

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

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

Соседние файлы в папке TIPS_1_laba