Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_Пролог_Етап2_10.doc
Скачиваний:
14
Добавлен:
23.03.2015
Размер:
1.57 Mб
Скачать

1. Теоретичні основи створення систем штучного інтелекту

1.1. Методи розв’язання задач

Функціонування численних інтелектуальних систем (ІС) має цілеспрямований характер (прикладом можуть служити автономні інтелектуальні роботи). Типовий акт такого функціонування – розв’язання задачі планування шляху досягнення потрібної мети з деякої фіксованої початкової ситуації. Результатом розв’язання задачі повинен бути план дій – частково впорядкована сукупність дій. Такий план нагадує сценарій, де як відношення між вершинами виступають відношення типу „мета – підмета” „мета – дія”, „дія – результат” і под. Будь-який шлях у цьому сценарії, що веде від вершини, відповідної поточній ситуації, до кожної з цільових вершин, визначає план дій.

Про пошук плану дій в ІС можна говорити лише тоді, коли ІС стикається з нестандартною ситуацією, для якої немає заздалегідь відомого набору дій, що приводять до досягнення потрібної мети. Усі задачі побудови плану дій можна розбити на два типи, яким відповідають різні моделі: планування в просторі станів (SS-проблема) і планування в просторі задач (PR-проблема).

У першому випадку вважають заданим деякий простір ситуацій. Опис ситуацій включає опис стану зовнішнього світу й стану ІС, для яких характерна низка параметрів. Ситуації створюють деякі узагальнені стани, а дії ІС чи зміни в зовнішньому середовищі приводять до зміни актуалізованих у певний момент станів. Серед узагальнених станів виділяють початкові (звичайно один) і кінцеві (цільові) стани. SS-проблема полягає в пошуку шляху, що приводить із початкового стану в один із кінцевих. Якщо, наприклад, ІС призначена для гри в шахи, то узагальненими станами будуть позиції, які створюють на шахівниці. Як початковий стан можна розглядати позицію, зафіксовану в певний момент гри, а як цільові позиції – множину нічийних позицій. Відзначимо, що у випадку шахів прямо перерахувати цільові позиції неможливо. Матові й нічийні позиції описані мовою, відмінною від мови опису станів, для яких характерне розташування фігур на полях дошки. Це утрудняє пошук плану дій у шаховій грі.

У випадку планування в просторі задач ситуація дещо інша. Простір утворюється в результаті введення на множині задач відношень типу: „частина – ціле”, „задача – підзадача”, „загальний випадок – окремий випадок” і под. Іншими словами, простір задач відбиває декомпозицію задач на підзадачі (цілі на підцілі). PR-проблема полягає в пошуку способу декомпозиції вихідної задачі на підзадачі, що приводить до задач, розв’язки яких системі відомі. Наприклад, ІС відомо, як обчислюються значення sin x і cos x для будь-якого значення аргументу і як виробляється операція ділення. Якщо ІС необхідно обчислити tg x, то вирішенням PR-проблеми буде подання цієї задачі у вигляді декомпозиції tgx=sinx/cosx (крім х= /2+k).

Розв’язання задач методом пошуку в просторі станів

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

Таким чином, проблему пошуку розв’язку задачі <А,В> в разі планування за станами можна розглядати як проблему пошуку на графі шляху з А до В. Звичайно графи не задають, а генерують у міру потреби.

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

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

Алгоритм найкоротших шляхів Мура. Вихідну вершину X0 позначають числом „0”. Нехай у ході роботи алгоритму на поточному кроці отримано множину дочірніх вершин X(xi) вершини xi. Тоді з нього викреслюють усі раніше отримані вершини, решту позначають міткою, збільшеною на одиницю порівняно з міткою вершини xi, і від них проводять покажчики до Xi. Далі на множині позначених вершин, які ще не фігурують як адреси покажчиків, вибирають вершину з найменшою міткою і для неї будують дочірні вершини. Розмітку вершин повторюють, доки не буде отримана цільова вершина.

Алгоритм Дейкстри визначення шляхів із мінімальною вартістю – це узагальнення алгоритму Мура внаслідок уведення дуг змінної довжини.

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

В алгоритмі Харта, Нільсона і Рафаеля поєднані обидва критерії: вартість шляху до вершини g(x) і вартість шляху від вершини h(x) в адитивній оціночній функції f(x) =g(x)+h(x). За умови h(x)<hp(x), де hp(x) дійсна відстань до мети, алгоритм гарантує знаходження оптимального шляху.

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