Posibniki.com.ua Інформатика Прикладні системи штучного інтелекту 9.2. Моделі евристичного пошуку рішень


< Попередня  Змiст  Наступна >

9.2. Моделі евристичного пошуку рішень


9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

Поставимо у відповідність їй функціональний граф «І — АБО», зображений на рис. 3.4. Вершини графа відповідають об’єктам ПРГ, а дуги марковані так, що над дугою, котра виходить з вершини x i і заходить у вершину x j , стоять індекси функцій, в яких x i є вхідним аргументом, а x j — вихідним результатом. Наприклад, дугу (x

1 , x

4 ) позначено як ?

1 , ?

3 , оскільки в цих функціях x

1 є вхідним аргументом, а x

4 — вихідним. Нехай S

0 =

1 , x

3 , x

5 >, а S e =

7 , x

9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

Поставимо у відповідність їй функціональний граф «І — АБО», зображений на рис. 3.4. Вершини графа відповідають об’єктам ПРГ, а дуги марковані так, що над дугою, котра виходить з вершини x i і заходить у вершину x j , стоять індекси функцій, в яких x i є вхідним аргументом, а x j — вихідним результатом. Наприклад, дугу (x

1 , x

4 ) позначено як ?

1 , ?

3 , оскільки в цих функціях x

1 є вхідним аргументом, а x

4 — вихідним. Нехай S

0 =

1 , x

3 , x

5 >, а S e =

7 , x

9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

Поставимо у відповідність їй функціональний граф «І — АБО», зображений на рис. 3.4. Вершини графа відповідають об’єктам ПРГ, а дуги марковані так, що над дугою, котра виходить з вершини x i і заходить у вершину x j , стоять індекси функцій, в яких x i є вхідним аргументом, а x j — вихідним результатом. Наприклад, дугу (x

1 , x

4 ) позначено як ?

1 , ?

3 , оскільки в цих функціях x

1 є вхідним аргументом, а x

4 — вихідним. Нехай S

0 =

1 , x

3 , x

5 >, а S e =

7 , x

9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

0 ;ціях x

1 є вхідним аргументом, а x

4 — вихідним. Нехай S

0 =

1 , x

3 , x

5 >, а S e =

7 , x

9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

0 ;x

5 >, а S e =

7 , x

9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

Поставимо у відповідність їй функціональний граф «І — АБО», зображений на рис. 3.4. Вершини графа відповідають об’єктам ПРГ, а дуги марковані так, що над дугою, котра виходить з вершини x i і заходить у вершину x j , стоять індекси функцій, в яких x i є вхідним аргументом, а x j — вихідним результатом. Наприклад, дугу (x

1 , x

4 ) позначено як ?

1 , ?

3 , оскільки в цих функціях x

1 є вхідним аргументом, а x

4 — вихідним. Нехай S

0 =

1 , x

3 , x

5 >, а S e =

7 , x

9 , *>. Побудову ланцюжка функцій С, що виконує перехід e C SS???

0 (3.10) робимо в два етапи.

Етап 1. Нормалізація функціонального графа.

Нормалізація полягає у виконанні в довільному порядку таких операцій, поки це можливо: (О

1 ) видалення позначок усіх тих функцій, для яких видалені одна або більше вхідних вершин-змінних; (О

2 ) видалення всіх вхідних дуг, антецедентних вершинам з S

0 ;

3 ) видалення вершин x i і антецедентних їм дуг таких, що x i ? S e , і не мають вихідних дуг; (О

4 ) видалення функцій, які втратили всі свої результативні вершини-змінні. Видаленню функції відповідає видалення ідентифікатора функції з числа позначок дуг. Якщо при цьому деяка дуга виявляється непоміченою, то ця дуга видаляється; (О

5 ) якщо видалена дуга, що позначена ?, така, що входить у вершину x, то позначка ? знімається з усіх дуг, що входять в x, якщо такі є; (О

6 ) видалення (послідовне) альтернативних вершин і антецедентних їм дуг. Ця операція — основна. Вершина x є альтернативною, якщо в результаті її видалення і антецедентних їй дуг кожна вершина, в яку заходила дуга з х, може бути обчислена деяким ланцюжком С i із стану S

0 . ?

8 ?

8 ?

Рис. 3.4. Видалення вершини х

8 згідно з операцією O

3

Розглянемо рис. 3.4. Так, видаляємо вершину х

8 згідно з операцією O

3 . Видаляємо далі вхідні дуги вершини x

5 ? S

0 . Одержуємо граф на рис. 3.5, а. Вершина х

2 альтернативна і може бути видалена разом з антецедентними їй дугами. Одержуємо у результаті граф на рис. 3.5, б. У ньому вершина х

4 також альтернативна. Це останнє видалення приводить до повністю нормалізованого графа на рис. 3.5, в.

 

8 ?

 

Рис. 3.5. Нормалізація функціонального графа

Етап 2. Побудова рівнів L

0 , L

1 , ..., L k . У L

0 увійдуть усі вер

шини, які не мають вхідних дуг. До рівня L i (i > 0) увійдуть усі ті й тільки ті вершини х i , які не увійшли до рівнів L

0 , L

1 , ... L i – 1 ташини, які не мають вхідних дуг. До рівня L i (i > 0) увійдуть усі ті й тільки ті вершини х i , які не увійшли до рівнів L

0 , L

1 , ... L i – 1 та

?

|? ? z . де S i = L

0 ? L

1 ? ?... ? L i – 1 , (3.11)

Так, з рис. 3.5, установлюємо, що L

0 = {x

1 , x

3 , x

5 }, L

1 = {x

6 }, L

2 = {x

7 , x

9 }.

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

31 ?= ? L {}

872 ,??= ? L.

Ланцюжок С, що остаточно цікавить нас, будується так, аби будь-яка функція ? t , що належить рівню L m , знаходилася ліворуч від будь-якої функції ? q , що належить L n , якщо m < n; якщо m = n, то взаємний порядок розташування функцій ? t і ? q в С ролі не грає. З цього правила встановлюємо, наприклад, що C =

3 , ?

7 , ?

8 > — суть ланцюжок, що нас цікавить.

Завершимо цей розділ розглядом моделей знань з алгоритмом висновку, керованим за даними. Оскільки структура управління висновком у таких моделях явно не представлена, то потрібні деякі спеціальні механізми: механізм недетермінованого вибору альтернативи (альтернативної продукції), механізм повернення (бектрекінгу) і механізм уніфікації.

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

9.2. Моделі евристичного пошуку рішень

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

які розраховані довільною функцією ? z , S i

У наведених термінах завдання формулюється так:

Задані початкове S

0 і кінцевий S e стан завдання, а також множини операторів ?. Знайти ланцюжок операторів >???=< t iii C...,,,

0 . Інакше кажучи, потрібно знайти послідовність вершин S

21 , що здійснює перехід e C ss???

0 , S

1 , ..., S e , породжуваних відповідними операторами, таку що S i ? Г(S i–1 ).

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

9.3. Стратегія пошуку в глибину

Визначимо глибину вершини в дереві пошуку таким чином:

Глибина кореня дерева дорівнює 0.

Глибина вершини х, що не є коренем, дорівнює глибині вершини у, такій, що x ? Г(y), складеної з одиницею.

У стратегії пошуку в глибину кожного разу розкривається вершина, глибина якої максимальна. Опишемо алгоритм, що реалізовує стратегію пошуку в глибину:

1. Помістити початкову вершину в список, який називається відкритий.

2. Якщо список відкритий порожній, то закінчення всього алгоритму, інакше наступний крок.

3. У списку відкритий узяти вершину ? з максимальним значенням глибини і пронести її в список закритий.

4. Якщо глибина ? дорівнює граничній глибині, то перейти до п. (2), інакше — наступний крок.

5. Розкрити вершину ?. Помістити кожну вершину ? ? Г(?) у список відкритий, якщо ? не належить ні списку відкритий, ні списку закритий.

6. Якщо в Г(?) є цільова вершина, то кінець, інакше перейти до п. (2).

Для ілюстрації стратегії пошуку в глибину звернемося до завдання відшукання маршруту, що зв’язує довільні дві вершини в графі. Розглянемо граф, поданий на рис. 3.6.

Рис. 3.6. Ілюстрації стратегії пошуку в глибину

за вершиною х; коротко назвемо вершину у ? Г(х) нащадком вершини х. Виділимо деяку цільову вершину, відповідну кінцевому стану.

Рис. 3.6. Ілюстрації стратегії пошуку в глибину

Нехай потрібно знайти маршрут з вершини 1 у вершину 7. Поча

ткова вершина 1 утворює початковий список відкритий = {1}. () ()() {}

11

4,21=Г.

Далі знаходимо: ()()

11

4,21=Г. ткова вершина 1 утворює початковий список відкритий = {1}.

Далі знаходимо: () ()() {}

11

4,21=Г.

У дужках поряд з номером вершини вказано значення глибини

вершини в графі. Вважаємо відкритий = {2 (1) , 4 (1) }, закритий = {1 (0) }.

Вибираємо для розкриття вершину 2: Г(2) = {3,4,6}. Оскільки вершина 4 вже фігурує в списку закритий, то встановлюємо:

Вибираємо для розкриття вершину 2: Г(2) = {3,4,6}. Оскільки вершина 4 вже фігурує в списку закритий, то встановлюємо: вершини в графі. Вважаємо відкритий = {2 (1) , 4 (1) }, закритий = {1 (0) }.

Вибираємо для розкриття вершину 2: Г(2) = {3,4,6}. Оскільки вершина 4 вже фігурує в списку закритий, то встановлюємо: відкритий = {4 (1) , 3 (2) , 6 (2) }; закритий = {1 (0) , 2 (1) }. відкритий = {4 (1) , 3 (2) , 6 (2) }; закритий = {1 (0) , 2 (1) }.

Вибираємо в списку відкритий вершину з максимальною глиГ(?). Так, кінцева вершина 7 належить Г(9). Отже, вершина 9 має бути передостанньою вершиною маршруту. Встановлюємо, що 9 ? Г(8). Тож, вершина 8 має передувати вершині 9 і т. д. Остаточний список вершин, які утворюють маршрут з вершини 1 у

биною, наприклад 3, і знаходимо Г(3) = {4}. Вершина 4 не включається в список відкритий, оскільки вона там присутня. Установлюємо: відкритий ={4 (1) , 6 (2) }; закритий = {1 (0) , 2 (1) , 3 (2) }. биною, наприклад 3, і знаходимо Г(3) = {4}. Вершина 4 не включається в список відкритий, оскільки вона там присутня. Установлюємо: відкритий ={4 (1) , 6 (2) }; закритий = {1 (0) , 2 (1) , 3 (2) }.

Вибираємо для розкриття вершину 6: Г(6) = {1, 5}

Вважаємо відкритий = {1 (1) , 5 (3) }; закритий = {1 (0) , 2 (1) , 3 (2) , 6 (2) }

Далі аналогічно знаходимо Г(5) = {3, 8}; відкритий = {4 (1) , 8 (4) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) }. Г(8) = {6, 9} відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину

Вважаємо відкритий = {1 (1) , 5 (3) }; закритий = {1 (0) , 2 (1) , 3 (2) , 6 (2) }

Далі аналогічно знаходимо Г(5) = {3, 8}; відкритий = {4 (1) , 8 (4) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) }. Г(8) = {6, 9} відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину

Далі аналогічно знаходимо Г(5) = {3, 8}; відкритий = {4 (1) , 8 (4) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) }. Г(8) = {6, 9} відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину відкритий = {4 (1) , 8 (4) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) }. Г(8) = {6, 9} відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) }. Г(8) = {6, 9} відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину

Вибираємо для розкриття вершину 6: Г(6) = {1, 5}

Вважаємо відкритий = {1 (1) , 5 (3) }; закритий = {1 (0) , 2 (1) , 3 (2) , 6 (2) }

Далі аналогічно знаходимо Г(5) = {3, 8}; відкритий = {4 (1) , 8 (4) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) }. Г(8) = {6, 9} відкритий = {4 (1) , 9 (5) }; закритий = {1 (0) , 2 (1) , 3 (2) , 5 (3) , 6 (2) , 8 (4) }.

Нарешті, Г(9) = {7}: Кінцева вершина досягнута. Шуканий маршрут визначається у зворотному порядку через множину вершину 7 такий: <1, 2, 6, 5, 8, 9, 7> (рис. 3.7).вершину 7 такий: <1, 2, 6, 5, 8, 9, 7> (рис. 3.7).

Рис. 3.7. Остаточний список вершин

Рис. 3.7. Остаточний список вершин

Розглянутий алгоритм не використовує яких-небудь додаткових припущень щодо властивостей вершин — станів. Зокрема, наприклад, знання деяких властивостей, якими має володіти кінцева вершина — стан, дозволило б не розкривати ті вершини, які через такі властивості не можуть належати результатному маршруту. Ця властивість використовується різними стратегіями перебору з відсіканнями.

9.3. Стратегія перебору з відсіканнями

Прикладом дуже сильної стратегії перебору з відсіканнями є метод гілок і меж. Можна також указати (? — ?) — процедуру Нільсона.

Метод гілок і меж досліджували вчені Літл, Мерті, Суїн і Карел. Розглянемо основні ідеї цього методу. Передусім цей метод пов’язаний з деякою загальною схемою допущення і оцінки альтернатив. Схему побудови альтернативних припущень у загальному вигляді подано на рис. 3.8.

Вершини на рис. 3.8 відповідають, як і раніше, станам завдання. З кожної вершини виходить тільки два альтернативні напрями, що, втім, не обмежує спільності розгляду. Напрями позначені буквами П з індексами. Ідентифікатор R(b i ) — деяка числова оцінка, що приписується вершині b i . Взагалі кажучи, немає обмежень на глибину побудовидерева, хоча зрозуміло, що потрібно прагнути до мінімальної глибини. Цим, зокрема, обґрунтовується вибір того або іншого припущення П m : спочатку слід прагнути довести припущення, достовірність якого найбільшою мірою сумнівна, або навпаки, спробувати спростувати припущення, достовірність якого найбільшою мірою правдоподібна, тобто діяти за принципом reductio

Нехай потрібно знайти стан b * , у якому R(b * ) мінімальне. Припустимо далі, що відоме деяке поточне рішення b x з поточним рекордом R(b x ). Тоді очевидно, що будь-який стан b i , в якому найбільш досяжне значення R(b i ) ? R(b x ), може бути видалений (відповідна частина дерева пошуку позначена, як показано на рис. 3.8 за допомогою заштрихованої ділянки).

Рис. 3.8. Схема побудови альтернативних припущень у загальному вигляді

Рис. 3.8. Схема побудови альтернативних припущень у загальному вигляді

Терміни та поняття до теми

Вирішальна процедура — процес (спосіб) відшукання рішення.

— це ефективний механізм скорочення зони пошуку.

Виключення (відсікання)

• Евристика — це емпіричне правило, ефективність якого достатня, щоб застосовувати це правило на практиці.

• Індукційна схема встановлює, що якщо із формули А випливає В і має місце В, то ймовірно справедлива формула А, якщо не встановлено протилежне.

• Моделі евристичного пошуку рішень засновані на представленні завдання в просторі станів.

ad absurdum, оскільки вірогідність отримання суперечності тут найбільша, це дозволяє відсікти відповідну альтернативу біля її «витоків», замість того, щоби будувати нові альтернативні припущення.

Питання для самоконтролю

• Опишіть алгоритм, що реалізовує стратегію пошуку в глибину.

• Назвіть моделі евристичного пошуку розв’язання, засновані на представленні завдання в просторі станів.

• Поясніть індуктивні методи Д. С. Мілля.

• Поясніть правила випускання несуттєвих умов, заміни констант в описі об’єктів на змінні, замикання інтервалу для числових даних, узагальнення «вгору по дереву» класифікації для структурованих фактів.

• Наведіть правила «конструктивної» індукції.

• Які особливості завдання з технологією розв’язання, орієнтованою на ПСШІ?

• Як використовувати слабкі методи для завдань, орієнтованих на технологію ПСШІ?

Завдання для індивідуальної роботи, обов’язкові та додаткові практичні завдання

1. Опишіть характерні аспекти для завдань орієнтованих на технологію ПСШІ.

2. Які особливості завдань, що вирішуються в ПСШІ, значною мірою визначають вибір методів і підходів?

3. Дайте пояснення логічної схеми, що ілюструє механізм індукції.

4. Поясніть приклади методів рішення задач в ПСШІ із класами завдань, на які вони орієнтовані.

5. Опишіть моделі евристичного пошуку рішень засновані на представленні завдання в просторі станів.

6. Поясніть стратегії пошуку в глибину та стратегію перебору із відсіканнями.

Література для поглибленого вивчення матеріалу

1. Люгер Дж. Ф. Искусственный интеллект. — М. : Вильямс, 2005.

— 864 с.

2. Інформаційні системи в економіці : монографія / под ред. Устенко С. В. — К. : КНЕУ, 2011. — 424 с.

3. Іванченко Г. Ф. Системи штучного інтелекту : навч. посіб. — К. : КНЕУ, 2011. — 382 с.


< Попередня  Змiст  Наступна >
Iншi роздiли:
10.5. Абдуктивне логічне виведення
Тема 11. ПСШІ, ЗАСНОВАНІ НА ЗНАННЯХ
Тема 12. ПРОДУКЦІЙНІ СИСТЕМИ ПСШІ
12.2. Архітектура програмних систем продукції
Мова управління застосуванням продукцій
Дисциплiни

Медичний довідник новиниКулінарний довідникАнглійська моваБанківська справаБухгалтерський облікЕкономікаМікроекономікаМакроекономікаЕтика та естетикаІнформатикаІсторіяМаркетингМенеджментПолітологіяПравоСтатистикаФілософіяФінанси

Бібліотека підручників та статтей Posibniki (2022)