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