Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Питання и пидготовка.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
541.7 Кб
Скачать

Пошук у глибину і пошук у ширину

Серед різноманітних методів, за допомогою яких можна організовувати пошук потрібної вершини на дереві перебору, а відтак і шляху до неї, прийнято виокремлювати дві основні стратегії:

  • пошук у ширину;

  • пошук у глибину (інші назви – перебір з поверненнями; бектрекінг).

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

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

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

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

  1. Роль планування цілеспрямованих дій і прийняття рішень у загальній схемі функціонування інтелектуальної системи.

Планування цілеспрямованих дій і прийняття рішень

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

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

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

знайти х = (х1, ..., хп), за якого функція f(x) досягає максимуму і задовольняються обмеження g(х)  0.

Функція f(x) називається цільовою функцією, а функції gi(х) – обмеженнями оптимізаційної задачі.

Наприклад, мандрівник збирається в дорогу. Він може взяти в рюкзак певну кількість предметів різних типів. Нехай є n типів предметів; наявна кількість i-го предмета становить ri. Кожний предмет має власну цінність сі та вагу qi. Потрібно зібрати рюкзак таким чином, щоб сумарна цінність узятих предметів була максимальною, але щоб сумарна вага не перевищувала заданої межі и.

Формалізуємо цю постановку. Позначимо через xi кількість предметів i-го типу, що беруться в дорогу. Тоді отримуємо математичну постановку задачі:

Знайти х = (х1, ..., хп), для якого max та задовольняються обмеження u; xi – цілі; xi 0; xi ri.

Будь-який елемент х, який задовольняє обмеженням gi(x) 0, називається допустимим рішенням задачі. Якщо умова максимізації не висувається, йдеться про задачу пошуку допустимих рішень. Якщо обмежень немає, йдеться про безумовну оптимізацію.

Умова максимізації цільової функції ніяк не звужує загальності постановки. Дійсно, якщо треба вирішити задачу мінімізації функції g (x), ми завжди можемо поміняти знак цієї функції і вирішувати задачу максимізації функції h (x) = g(x).

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

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

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

На важливість розгляду оптимізаційних задач вказував ще Д. Гілберт. Так, розглядаючи свою знамениту програму, він плекав надію, що в XX столітті математики опанують методи розв'язку оптимізаційних задач. Це дійсно проблема, оскільки обчислювальні характеристики більшості оптимізаційних задач відносять їх до класу NP-повних задач. Отже, для їх розв'язків бажано використовувати і наближені евристичні алгоритми.

Останні значні успіхи було досягнуто в тому розділі теоретичної інформатики, який дістав назву "Конструювання і аналіз комбінаторних алгоритмів". Ефективні комбінаторні алгоритми знаходять застосування в багатьох областях символьної обробки інформації та в дискретній оптимізації.

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