Скачать презентацию ЛК 12 Основи прийняття рішень методом пошуку Скачать презентацию ЛК 12 Основи прийняття рішень методом пошуку

LK-12.pptx

  • Количество слайдов: 24

ЛК. 12 – Основи прийняття рішень методом пошуку ЛК. 12 – Основи прийняття рішень методом пошуку

Перелік питань 1. Визначення методу пошуку. 2. Загальні принципи пошуку у мові логічного програмування. Перелік питань 1. Визначення методу пошуку. 2. Загальні принципи пошуку у мові логічного програмування. 3. Неінформований пошук. 4. Пошук в глибину. 5. Пошук в ширину. 6. Загальні аспекти інформованого пошуку. 7. Аналіз загальних методів пошуку.

1. Визначення методу пошуку. Методи пошуку в системі пролог Prolog реалізуються в форму відповіді 1. Визначення методу пошуку. Методи пошуку в системі пролог Prolog реалізуються в форму відповіді на запитання. Питання до системи Prolog завжди являє собою послідовність з однієї або декількох цілей. Щоб відповісти на питання, Prolog намагається досягнути всіх цілей. Досягти мети це означає продемонструвати, що мета є істинною, за умови, що відносини в програмі є істинними. Іншими словами, вираз досягти мети означає: продемонструвати, що мета логічно випливає з фактів і правил, заданих в програмі.

Визначення методу пошуку. Приклад : Всі люди здатні помилятися. Сократ людина. З цих двох Визначення методу пошуку. Приклад : Всі люди здатні помилятися. Сократ людина. З цих двох аксіом логічно випливає теорема: Сократ здатний помилятися. Перша аксіома, наведена вище, може бути переформульована наступним чином: Для всіх X, якщо У. людина, то х здатний збивати.

2. Загальні принципи пошуку у мові логічного програмування. Завдання Необхідно знайти план зміни порядку 2. Загальні принципи пошуку у мові логічного програмування. Завдання Необхідно знайти план зміни порядку кубиків, поставлених один на одного. Дозволяється пересувати одночасно тільки один кубик. Кубик можна пересувати, лише якщо на ньому не стоїть інший кубик. Такий кубик можна поставити на стіл або на інший кубик (кубики, поставлені один на одного, утворюють стовпчик).

Загальні принципи пошуку у мові логічного програмування. Як показує приклад, при аналізі подібної проблеми Загальні принципи пошуку у мові логічного програмування. Як показує приклад, при аналізі подібної проблеми доводиться стикатися з двома основними поняттями. 1. Проблемні ситуації. 2. Допустимі кроки, або дії, які перетворять одні проблемні ситуації в інші. Виходячи з цього, можна прийти до висновку, що будь яка конкретна задача визначається наступними складовими, • Простір станів. • Початковий вузол. • Цільовий стан (стан, який має бути досягнуто).

3. Неінформований пошук Неінформований (сліпий) пошук, при якому відсутня інформація про те, чи в 3. Неінформований пошук Неінформований (сліпий) пошук, при якому відсутня інформація про те, чи в правильному напрямі він ведеться. Варіанти неінформованого пошуку: Пошук в ширину Пошук по критерію вартості Пошук в глибину Пошук х обмеження глибини Пошук в глибину з ітеративним поглибленням Двонаправлений пошук

Неінформований пошук. Пошук в ширину. Спочатку розгортається кореневий вузол, потім всі її наступники, потім Неінформований пошук. Пошук в ширину. Спочатку розгортається кореневий вузол, потім всі її наступники, потім наступники наступників і т. д. На відміну від пошуку в глибину цей метод швидко виявляє рішення, яке знаходиться неглибоко, і не впадає в нескінченні поглиблення. Істотним недоліком даного методу є необхідність запам'ятовувати всі вузли предки, кількість яких також визначається формулами комбінаторики. Пошук за критерієм вартості. У цьому випадку спочатку розгортається вузол з найменшою вартістю шляху. Даний пошук застосовується, якщо вартості переходів від вузла до вузла різні. При однакових вартостях метод вироджується в пошук в ширину. Пошук за критерієм вартості дає добрі результати, хоча і не вільний від нескінченних блукань.

Неінформований пошук. Пошук з обмеженням глибини. Ідея методу полягає в тому, що заздалегідь оцінюється Неінформований пошук. Пошук з обмеженням глибини. Ідея методу полягає в тому, що заздалегідь оцінюється гранична глибина дерева, і спуск по гілці дерева припиняється по досягненні даної глибини. Це допомагає запобігти нескінченному спуску і тривалім безцільним блуканням. Недолік методу необхідність розташовувати оцінкою складності завдання. Якщо встановлена гранична глибина буде надто великою, це спричинить зайві витрати на пошук, якщо занадто малою ¬ мета не буде досягнута. . Пошук в глибину з ітеративним поглибленням Це пошук з обмеженням глибини, яка поступово збільшується. Спочатку встановлюється глибина 1, потім 2 і т. д. Незважаючи на те, що пошук щоразу починається спочатку, це не призводить до великих витрат. Витрати часу ненабагато вище, ніж при пошуку в ширину, зате не потрібно зберігати дані про вершини предків.

Неінформований пошук. Двонаправлений пошук. Цей різновид пошуку використовується в тих випадках, коли кінцевий стан Неінформований пошук. Двонаправлений пошук. Цей різновид пошуку використовується в тих випадках, коли кінцевий стан нам відомо, а треба знайти шлях до мети. Один пошук запускається з початкового вузла, інший з кінцевого. Завдання завершується, коли обидва пошуку знаходять загальний вузол. Нехай глибина пошуку d = 6, а коефіцієнт розгалуження b = 2. Пошук в одному напрямку зажадає 2^6 = 64 кроку, а двонаправленого пошуку 26/2 = 13 кроків. Недоліком даного методу є необхідність чисельного визнаяення вузла попередника, що буває не завжди можливим.

Неінформований пошук. Метод Повнота Часова Затрати складність Оптимальність пам'яті Пошук в ширину Так b^(d+1) Неінформований пошук. Метод Повнота Часова Затрати складність Оптимальність пам'яті Пошук в ширину Так b^(d+1) Так Пошук Так b^(1+C/n) Так по критерію вартості Пошук в глибину Ні b^m bm Ні Пошук з обмеженням Ні b^e be Ні в глибину Ні b^d bd Ні Так b^(d/2) глибини Пошук з ітеративним поглибленням Двонаправлений пошук b^(d/2) Так

4. Пошук в глибину найбільшою мірою прийнятний для рекурсивного стилю програмування мовою Prolog. Причина 4. Пошук в глибину найбільшою мірою прийнятний для рекурсивного стилю програмування мовою Prolog. Причина цього полягає в тому, що сама система Prolog при виконанні мети перевіряє варіанти за принципом пошуку в глибину. Щоб знайти шлях вирішення Sol від заданого вузла N до деякого цільового вузла, необхідно реалізувати в програмі наступні операції: • якщо N цільовий вузол, то Sol = [N]; • інакше, якщо існує вузол наступник N 1 вузла N, такий, що мається шлях Sol від вузла N 1 до цільового вузла, то Sol = [N | Sol].

Пошук в глибину. Пошук в глибину.

5. Пошук в ширину. На відміну від стратегії пошуку в глибину, стратегія пошуку в 5. Пошук в ширину. На відміну від стратегії пошуку в глибину, стратегія пошуку в ширину передбачає відвідання в першу чергу тих вузлів, які є найближчими до початкового вузла. Це призводить до здійснення процесу пошуку, який, як правило, розвивається більшою мірою в ширину, ніж у глибину

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

Пошук в ширину. Для здійснення пошуку в ширину по заданому безлічі можливих шляхів необхідно Пошук в ширину. Для здійснення пошуку в ширину по заданому безлічі можливих шляхів необхідно виконати наступні дії: • якщо голова першого шляху являє собою цільовий вузол, то вважати цей шлях вирішенням завдання; • в іншому випадку видалити перший шлях з безлічі можливих шляхів і сформувати безліч, що складається з усіх можливих однокрокових продовжень цього шляху, додати цю безліч продовжень до кінця множини можливих шляхів і виконати пошук в ширину на цій модифікованій множині.

Пошук в ширину. Пошук в ширину.

6. Загальні аспекти інформованого пошуку. В умовах відсутності інформації задача пошуку може бути вирішена 6. Загальні аспекти інформованого пошуку. В умовах відсутності інформації задача пошуку може бути вирішена успішно, але при цьому витрати часу і пам'яті можуть бути зовсім неприйнятними. У цьому зв'язку представляється доцільним поліпшити сліпий пошук в тих випадках, коли є яка небудь додаткова інформація. Йдеться про інформацію, яка спостерігається, але не дає прямої відповіді, як рухатися до мети.

Загальні аспекти інформованого пошуку. Розглянемо наступну задачу. Нехай нам потрібно добратися з Таллінна до Загальні аспекти інформованого пошуку. Розглянемо наступну задачу. Нехай нам потрібно добратися з Таллінна до Москви повітряним транспортом. Припустимо, що нам відомо відстань від кожного з міст до Москви по прямій.

Загальні аспекти інформованого пошуку. Прагнучі на кожному кроці максимально наблизитися до мети, ми виберемо Загальні аспекти інформованого пошуку. Прагнучі на кожному кроці максимально наблизитися до мети, ми виберемо на першому кроці С. Петербург, на другому кроці Твер, потім Москву. Загальна протяжність шляху дорівнює оптимальної.

Загальні аспекти інформованого пошуку. Даний вид пошуку називається жадібним пошуком по першій найкращій відповідності. Загальні аспекти інформованого пошуку. Даний вид пошуку називається жадібним пошуком по першій найкращій відповідності. Кожен наступний вузол для розгортання вибирається на основі функції оцінки f (n). У зв'язку з тим, що ми не володіємо точними оцінками, використовуються евристичні функції h (n) або евристики. У розглянутому прикладі евристична функція це відстань до мети по прямій. Жадібний пошук по першій найкращій відповідності нагадує пошук в глибину і страждає від тих же недоліків.

7. Аналіз загальних методів пошуку. Типовою проблемою, пов'язаною з пошуком, є комбінаторна складність. При 7. Аналіз загальних методів пошуку. Типовою проблемою, пов'язаною з пошуком, є комбінаторна складність. При наявності нетривіальних проблемних областей кількість варіантів, які розглядатимуться, стає настільки значною, що найбільше значення набуває суттєве збільшення витрат ресурсів на дослідження даних варіантів. Можна легко проаналізувати причини того, чому це відбувається.

Аналіз загальних методів пошуку. Для спрощення такого аналізу припустимо, що простір станів являє собою Аналіз загальних методів пошуку. Для спрощення такого аналізу припустимо, що простір станів являє собою дерево з однаковими гілками. Це означає, що кожен вузол в дереві, за винятком листя, має точно b наступників. Припустимо, що найкоротший шлях вирішення має довжину d, і в дереві на глибині d чи меншою відсутнє листя. Кількість альтернативних шляхів довжини d від початкового вузла одно bd. При пошуку в ширину кількість розглянутих шляхів пропорційне b^d. Це позначається як O (b ^ d). Отже, кількість можливих шляхів дуже швидко зростає при збільшенні їх довжини, що призводить до так званого комбінаторному вибуху.

Аналіз загальних методів пошуку. Потреба в ресурсах часу зазвичай визначається в залежності від кількості Аналіз загальних методів пошуку. Потреба в ресурсах часу зазвичай визначається в залежності від кількості вузлів, формованих алгоритмом пошуку, а витрати ресурсів простору зазвичай визначаються в залежності від максимальної кількості вузлів, які повинні зберігатися в пам'яті під час пошуку.