SlideShare a Scribd company logo
1 of 61
Download to read offline
1
Системи штучного інтелекту
Тема 3. Розв’язання проблем за
допомогою пошуку
2
Зміст
• Агенти, що розв’язують задачі
• Формулювання проблем
• Приклади проблем
• Базові алгоритми пошуку
• Пошук з частковою інформацією
3
Агенти, що розв’язують задачі
• Агенти визначають, що робити, знаходячи
послідовності дій, які приводять до бажаних станів
• Цілі дозволяють організувати поведінку, обмежуючи
вибір проміжних етапів, які намагається виконати
агент
• Першим кроком є формулювання цілі за умов
поточної ситуації та показників продуктивності агента
• Ціль – це множина станів світу, в яких досягається ця
ціль
• Формулювання задачі представляє процес
визначення того, які дії та стани слід розглядати з
урахуванням певної цілі
4
Агенти, що розв’язують задачі
• Процес пошуку – це визначення найкращої
послідовності дій, серед таких послідовностей, що
ведуть від початкового до цільового стану
– Будь-який алгоритм пошуку на вхід приймає деяку задачу та
повертає розв’язок у формі послідовності дій
• Після пошуку йде стадія виконання дій, що були
рекомендовані алгоритмом
• Загальна схема:
– Сформулювати проблему
– Знайти розв’язок
– Виконати дії
5
Агенти, що розв’язують задачі
6
Приклад: Україна
• На вихідних у Карпатах
• Потрібно завтра бути в Києві
• Ціль:
– Знаходитись в Києві
• Проблема:
– Стани: різні міста
– Дії: подорож між містами
• Пошук рішення:
– Послідовність міст, наприклад: Івано-Франківськ,
Тернопіль, Дубно, Рівне, Житомир, Київ
7
Приклад: Україна
8
Формулювання проблем
• Початковий стан
– В Івано-Франківську, In(Ів.-Фр.)
• Функція визначення наступника
– S(x) = множина пар “дія-стан”
– S(Ів.-Фр.) = {[Go(Львів),In(Львів)],
[Go(Тернопіль),In(Тернопіль)],
[Go(Чернівці),In(Чернівці)]}
• Початковий стан разом із функцією визначення наступника
неявно задають простір станів задачі – множину всіх станів, які
можна досягнути з початкового стану
– Простір станів утворює граф, в якому вузли – окремі стани задачі,
дуги – дії, що призводять до переводу задачі з одного стану в інший
– Шляхом в просторі станів є послідовність станів, які з’єднані
послідовністю дій
9
Формулювання проблем
• Перевірка цілі
– Явна перевірка, x=“In(Київ)”
– Неявна перевірка, NoDirt(x)
• Вартість шляху
– Сума відстаней, кількість виконаних дій, тощо
– c(x,a,y) – вартість етапу для переходу з x в y за допомогою дії a,
c(x,a,y)≥0
• Рішення – це шлях від початкового стану до цільового стану.
Якість рішення вимірюється функцією вартості шляху.
• Оптимальне рішення має найменшу вартість
10
Вибір простору станів
• Реальний світ є надскладним → повинно
використовуватись абстрагування для
розв’язання проблеми
• (Абстрактний) Стан = множина реальних
станів
• (Абстрактна) Дія = комплексна комбінація
реальних дій
• (Абстрактне) Рішення = множина реальних
шляхів, які є розв’язками у реальному світі
• Будь-яка абстрактна дія повинна бути
“легшою” ніж реальна
11
Приклад: граф простору станів
для світу пилососу
• Стани:
• Початковий стан:
• Дії:
• Перевірка цілі:
• Вартість шляху:
положення та наявність сміття
будь-який стан
Left, Right, Suck, NoOp
чи є чистими всі квадрати
1 за кожну дію (0 за NoOp)
12
Приклад: задача гри в 8 (8-puzzle)
• Стани:
• Початковий стан:
• Дії:
• Перевірка цілі:
• Вартість шляху:
комбінація положень фішок
будь-який стан (для якого існує розв’язок)
Left, Right, Up, Down
співпадає поточний стан з цільовою конфігурацією?
1 за кожний крок
13
Приклад: задача гри в 8 (8-puzzle)
• Пошук оптимального розв’язку - NP-повна задача
• 8-puzzle: 9!/2 = 181 440 станів
• 15-puzzle: ~1,3x1012 станів
• 24-puzzle: ~1025 станів
14
Приклад: 8 ферзів
• Стани:
• Початковий стан:
• Дії:
• Перевірка цілі:
На дошці присутні всі вісім ферзів
Будь-який стан
Переставити одного ферзя на вільну клітину
Жоден ферзь не є атакованим
Формулювання повних станів
15
Приклад: 8 ферзів
• Стани:
• Початковий стан:
• Дії:
• Перевірка цілі:
• Кількість послідовностей: 64х63х…х57~3х1014
Будь-яке розташування ферзів на дошці в кількості від 0 до 8
Відсутність ферзів на дошці
Встановити ферзя на будь-яку порожню клітину
На дошці 8 ферзів і жоден не є атакованим
Інкрементне формулювання
16
Приклад: 8 ферзів
• Стани:
• Дії:
• Кількість станів: 2057
Будь-яке розташування ферзів на дошці в кількості від 0 до 8
Кожний ферзь на окремій вертикалі і не атакує попереднього
Встановити ферзя на будь-яку порожню клітину у першій вільній
справа вертикалі так, щоб він не атакувався іншими ферзями
Покращення інкрементного формулювання
17
Приклад: роботизоване збирання деталей
• Стани:
• Дії:
• Перевірка цілі:
• Вартість шляху:
дійсні значення координат кутів маніпулятору
деталі об’єкту, який необхідно зібрати
безперервні рухи частин роботу
зібраний об’єкт без наявності роботу
використаний час
18
Алгоритми пошуку в дереві
• Ідея:
– симулювати дослідження простору станів “із закритими
очима”
– шляхом генерування спадкових (наступних) станів для вже
досліджених станів
19
Приклад пошуку в дереві
Ів.-Франк.
Львів Тернопіль Чернівці
Мукачев Ів.-Франк. Тернопіль Дубно Львів Ів.-Франк. Хмельниц. Дубно ТернопільІв.-Франк.
20
Приклад пошуку в дереві
Ів.-Франк.
Львів Тернопіль Чернівці
Мукачев Ів.-Франк. Тернопіль Дубно Львів Ів.-Франк. Хмельниц. Дубно ТернопільІв.-Франк.
21
Приклад пошуку в дереві
Ів.-Франк.
Львів Тернопіль Чернівці
Мукачев Ів.-Франк. Тернопіль Дубно Львів Ів.-Франк. Хмельниц. Дубно ТернопільІв.-Франк.
22
Реалізація: стани та вузли
• Стан – це представлення фізичної конфігурації світу
• Вузол – структура даних, яка відображає частину дерева пошуку
• Вузол включає:
– State – стан у просторі станів
– Parent-node – батьківський вузол, який використовувався для
створення поточного
– Action – дія, яка була застосована до батьківського вузла
– Path-Cost – вартість шляху (від початкового стану до поточного
вузла) g(x)
– Depth – кількість етапів шляху від початкового стану
23
Реалізація: стани та вузли
• Під час пошуку будується дерево пошуку. Його вузлами – є
стани задачі, корінь – початковий стан.
• В кожний момент часу розглядається деякий вузол дерева, що
відповідає поточному стану. Під час розгортання поточного
стану-вузла до дерева додаються вузли, які відповідають
станам, що згенеровані функцією визначення наступника
• Порядок, в якому розгортаються стани, визначається стратегією
пошуку
– Колекція вузлів, які були сформовані, але ще не розгорнуті,
називається периферією – множина листових вузлів
24
Реалізація: загальний пошук в дереві
25
Пошукові стратегії
• Стратегії характеризуються наступними параметрами:
– Повнота – чи завжди буде знайдено рішення, якщо воно існує?
– Оптимальність – чи завжди знаходиться оптимальне рішення?
– Часова складність – за який час алгоритм знаходить розв’язок?
– Просторова складність - який об’єм пам’яті потрібен для виконання
пошуку?
• Часова та просторова складність вимірюються в термінах:
– b – максимальний фактор розгалуження у дереві
– d – глибина найбільш поверхневого цільового вузла
– m – максимальна довжина будь-якого шляху у просторі станів
26
Неінформативні стратегії пошуку
• Неінформативні стратегії використовують тільки
інформацію з визначання проблеми (тобто не
роблять жодних додаткових припущень)
– Пошук вшир
– Пошук за критерієм вартості
– Пошук вглиб
– Пошук з обмеженням глибини
– Пошук вглиб з ітеративним заглибленням
27
Пошук вшир
• Периферія – FIFO черга
28
Пошук вшир
• Периферія – FIFO черга
29
Пошук вшир
• Периферія – FIFO черга
30
Пошук вшир
• Периферія – FIFO черга
31
Пошук вшир
• Властивості
– Повний?
– Час?
– Простір?
– Оптимальний?
Так, якщо b скінченне
1 + b + b2 + … + bd + b(bd-1) = O(bd+1)
O(bd+1) (зберігає всі вузли у пам’яті)
Так, якщо вартість етапу додатна
32
Пошук вшир
• b = 10
• швидкість формування вузлів – 10 000 вузлів/секунда
• об’єм пам’яті – 1Кб/вузол
1 Еб3523 роки101514
10 Пб35 років101312
101 Тб129 діб101110
1 Тб31 година1098
10 Гб19 мінут1076
106 Мб11 секунд111 1004
1 Мб0,11 секунди11002
Пам’ятьЧасКількість вузлівГлибина
33
Пошук за критерієм вартості
• Периферія – черга, впорядкована за вартістю
шляхів
– Еквівалентний пошуку вшир, якщо вартості етапів
рівні
• Властивості
– Повний? Так, якщо вартість ≥ε
– Час? O(b[C/ε]), де C – вартість оптимального
рішення
– Простір? O(b[C/ε])
– Оптимальний? Так – вузли розкриваються із
збільшенням g(n)
34
Пошук вглиб
• Периферія – LIFO черга
35
Пошук вглиб
• Периферія – LIFO черга
36
Пошук вглиб
• Периферія – LIFO черга
37
Пошук вглиб
• Периферія – LIFO черга
38
Пошук вглиб
• Периферія – LIFO черга
39
Пошук вглиб
• Периферія – LIFO черга
40
Пошук вглиб
• Периферія – LIFO черга
41
Пошук вглиб
• Периферія – LIFO черга
42
Пошук вглиб
• Периферія – LIFO черга
43
Пошук вглиб
• Периферія – LIFO черга
44
Пошук вглиб
• Периферія – LIFO черга
45
Пошук вглиб
• Периферія – LIFO черга
46
Пошук вглиб
• Властивості
– Повний?
– Час?
– Простір?
– Оптимальний?
Ні: потрапляє до нескінченних просторів,
просторів із циклами
O(bm), дуже погано при m>>d
Якщо рішення розташовані щільно, то працює
набагато швидше пошуку вшир
O(bm) – лінійний простір!
Ні
47
Пошук з обмеженням глибини
• = пошук вглиб з обмеженням глибини l
тобто вузли на глибині l не мають нащадків
• Властивості
– Повний? Ні, якщо l <d
– Час? O(bl )
– Простір? O(bl)
– Оптимальний? Ні, якщо l >d
48
Пошук вглиб з ітеративним
заглибленням
49
Пошук вглиб з ітеративним
заглибленням, l =0
50
Пошук вглиб з ітеративним
заглибленням, l =1
51
Пошук вглиб з ітеративним
заглибленням, l =2
52
Пошук вглиб з ітеративним
заглибленням, l =3
53
Пошук вглиб з ітеративним
заглибленням
• Властивості
– Повний?
– Час?
– Простір?
– Оптимальний?
• Порівняння для b=10 та d=5, рішення знаходиться у
дальньому правому листку
N(IDS) = 50 + 400 + 3000 + 20000 + 100000 = 123 450
N(BFS) = 10 + 100 + 1000 + 10000 + 100000 + 999990 = 1 111 100
Так
(d+1)b0 + db1 + (d-1)b2 + … + bd = O(bd)
O(bd)
Так, якщо вартість етапу = 1
54
Порівняння алгоритмів
55
Повторювальні стани
• Неможливість алгоритму визначати повторювальні
стани може перетворити лінійну задачу у
експоненціальну
• Алгоритми, які забувають свою історію, приречені на
те, щоб її повторювати!!
56
Пошук в графі
• Якщо алгоритм запам’ятовує всі стани, які він
відвідав, то він може розглядатись як такий, що
безпосередньо досліджує граф простору станів
57
Пошук з частковою інформацією
• Простір детермінований, спостерігається повністю
– Агент повністю знає, в який стан він перейде
• Проблема відсутності сенсорів → проблема сумісності
– Агент може не знати де він
• Недетерміновані та/або спостерігаються частково →
проблема непередбачуваних ситуацій
– Сприйняття кожного разу надає нову інформацію про
поточний стан
• Стан та дії невідомі → проблема дослідження
58
Приклад: світ пилососу
• Детермінована проблема
початок у №5
Рішення: [Right, Suck]
• Проблема сумісності
початок у {1,2,3,4,5,6,7,8};
Right переводить у {2,4,6,8}
59
Приклад: світ пилососу
60
Приклад: світ пилососу
• Детермінована проблема
початок у №5
Рішення: [Right, Suck]
• Проблема сумісності
початок у {1,2,3,4,5,6,7,8};
Right переводить у {2,4,6,8}
Рішення: [Right,Suck,Left,Suck]
• Непередбачуваність
Закон Мерфі: дія Suck може забруднити чистий килим
початок у №5
Рішення: [Right, if dirt then Suck]
61
Література
• Рассел, Норвіг “Штучний інтелект. Сучасний
підхід”. Глава 3

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

03 problem solving_with_search

  • 1. 1 Системи штучного інтелекту Тема 3. Розв’язання проблем за допомогою пошуку
  • 2. 2 Зміст • Агенти, що розв’язують задачі • Формулювання проблем • Приклади проблем • Базові алгоритми пошуку • Пошук з частковою інформацією
  • 3. 3 Агенти, що розв’язують задачі • Агенти визначають, що робити, знаходячи послідовності дій, які приводять до бажаних станів • Цілі дозволяють організувати поведінку, обмежуючи вибір проміжних етапів, які намагається виконати агент • Першим кроком є формулювання цілі за умов поточної ситуації та показників продуктивності агента • Ціль – це множина станів світу, в яких досягається ця ціль • Формулювання задачі представляє процес визначення того, які дії та стани слід розглядати з урахуванням певної цілі
  • 4. 4 Агенти, що розв’язують задачі • Процес пошуку – це визначення найкращої послідовності дій, серед таких послідовностей, що ведуть від початкового до цільового стану – Будь-який алгоритм пошуку на вхід приймає деяку задачу та повертає розв’язок у формі послідовності дій • Після пошуку йде стадія виконання дій, що були рекомендовані алгоритмом • Загальна схема: – Сформулювати проблему – Знайти розв’язок – Виконати дії
  • 6. 6 Приклад: Україна • На вихідних у Карпатах • Потрібно завтра бути в Києві • Ціль: – Знаходитись в Києві • Проблема: – Стани: різні міста – Дії: подорож між містами • Пошук рішення: – Послідовність міст, наприклад: Івано-Франківськ, Тернопіль, Дубно, Рівне, Житомир, Київ
  • 8. 8 Формулювання проблем • Початковий стан – В Івано-Франківську, In(Ів.-Фр.) • Функція визначення наступника – S(x) = множина пар “дія-стан” – S(Ів.-Фр.) = {[Go(Львів),In(Львів)], [Go(Тернопіль),In(Тернопіль)], [Go(Чернівці),In(Чернівці)]} • Початковий стан разом із функцією визначення наступника неявно задають простір станів задачі – множину всіх станів, які можна досягнути з початкового стану – Простір станів утворює граф, в якому вузли – окремі стани задачі, дуги – дії, що призводять до переводу задачі з одного стану в інший – Шляхом в просторі станів є послідовність станів, які з’єднані послідовністю дій
  • 9. 9 Формулювання проблем • Перевірка цілі – Явна перевірка, x=“In(Київ)” – Неявна перевірка, NoDirt(x) • Вартість шляху – Сума відстаней, кількість виконаних дій, тощо – c(x,a,y) – вартість етапу для переходу з x в y за допомогою дії a, c(x,a,y)≥0 • Рішення – це шлях від початкового стану до цільового стану. Якість рішення вимірюється функцією вартості шляху. • Оптимальне рішення має найменшу вартість
  • 10. 10 Вибір простору станів • Реальний світ є надскладним → повинно використовуватись абстрагування для розв’язання проблеми • (Абстрактний) Стан = множина реальних станів • (Абстрактна) Дія = комплексна комбінація реальних дій • (Абстрактне) Рішення = множина реальних шляхів, які є розв’язками у реальному світі • Будь-яка абстрактна дія повинна бути “легшою” ніж реальна
  • 11. 11 Приклад: граф простору станів для світу пилососу • Стани: • Початковий стан: • Дії: • Перевірка цілі: • Вартість шляху: положення та наявність сміття будь-який стан Left, Right, Suck, NoOp чи є чистими всі квадрати 1 за кожну дію (0 за NoOp)
  • 12. 12 Приклад: задача гри в 8 (8-puzzle) • Стани: • Початковий стан: • Дії: • Перевірка цілі: • Вартість шляху: комбінація положень фішок будь-який стан (для якого існує розв’язок) Left, Right, Up, Down співпадає поточний стан з цільовою конфігурацією? 1 за кожний крок
  • 13. 13 Приклад: задача гри в 8 (8-puzzle) • Пошук оптимального розв’язку - NP-повна задача • 8-puzzle: 9!/2 = 181 440 станів • 15-puzzle: ~1,3x1012 станів • 24-puzzle: ~1025 станів
  • 14. 14 Приклад: 8 ферзів • Стани: • Початковий стан: • Дії: • Перевірка цілі: На дошці присутні всі вісім ферзів Будь-який стан Переставити одного ферзя на вільну клітину Жоден ферзь не є атакованим Формулювання повних станів
  • 15. 15 Приклад: 8 ферзів • Стани: • Початковий стан: • Дії: • Перевірка цілі: • Кількість послідовностей: 64х63х…х57~3х1014 Будь-яке розташування ферзів на дошці в кількості від 0 до 8 Відсутність ферзів на дошці Встановити ферзя на будь-яку порожню клітину На дошці 8 ферзів і жоден не є атакованим Інкрементне формулювання
  • 16. 16 Приклад: 8 ферзів • Стани: • Дії: • Кількість станів: 2057 Будь-яке розташування ферзів на дошці в кількості від 0 до 8 Кожний ферзь на окремій вертикалі і не атакує попереднього Встановити ферзя на будь-яку порожню клітину у першій вільній справа вертикалі так, щоб він не атакувався іншими ферзями Покращення інкрементного формулювання
  • 17. 17 Приклад: роботизоване збирання деталей • Стани: • Дії: • Перевірка цілі: • Вартість шляху: дійсні значення координат кутів маніпулятору деталі об’єкту, який необхідно зібрати безперервні рухи частин роботу зібраний об’єкт без наявності роботу використаний час
  • 18. 18 Алгоритми пошуку в дереві • Ідея: – симулювати дослідження простору станів “із закритими очима” – шляхом генерування спадкових (наступних) станів для вже досліджених станів
  • 19. 19 Приклад пошуку в дереві Ів.-Франк. Львів Тернопіль Чернівці Мукачев Ів.-Франк. Тернопіль Дубно Львів Ів.-Франк. Хмельниц. Дубно ТернопільІв.-Франк.
  • 20. 20 Приклад пошуку в дереві Ів.-Франк. Львів Тернопіль Чернівці Мукачев Ів.-Франк. Тернопіль Дубно Львів Ів.-Франк. Хмельниц. Дубно ТернопільІв.-Франк.
  • 21. 21 Приклад пошуку в дереві Ів.-Франк. Львів Тернопіль Чернівці Мукачев Ів.-Франк. Тернопіль Дубно Львів Ів.-Франк. Хмельниц. Дубно ТернопільІв.-Франк.
  • 22. 22 Реалізація: стани та вузли • Стан – це представлення фізичної конфігурації світу • Вузол – структура даних, яка відображає частину дерева пошуку • Вузол включає: – State – стан у просторі станів – Parent-node – батьківський вузол, який використовувався для створення поточного – Action – дія, яка була застосована до батьківського вузла – Path-Cost – вартість шляху (від початкового стану до поточного вузла) g(x) – Depth – кількість етапів шляху від початкового стану
  • 23. 23 Реалізація: стани та вузли • Під час пошуку будується дерево пошуку. Його вузлами – є стани задачі, корінь – початковий стан. • В кожний момент часу розглядається деякий вузол дерева, що відповідає поточному стану. Під час розгортання поточного стану-вузла до дерева додаються вузли, які відповідають станам, що згенеровані функцією визначення наступника • Порядок, в якому розгортаються стани, визначається стратегією пошуку – Колекція вузлів, які були сформовані, але ще не розгорнуті, називається периферією – множина листових вузлів
  • 25. 25 Пошукові стратегії • Стратегії характеризуються наступними параметрами: – Повнота – чи завжди буде знайдено рішення, якщо воно існує? – Оптимальність – чи завжди знаходиться оптимальне рішення? – Часова складність – за який час алгоритм знаходить розв’язок? – Просторова складність - який об’єм пам’яті потрібен для виконання пошуку? • Часова та просторова складність вимірюються в термінах: – b – максимальний фактор розгалуження у дереві – d – глибина найбільш поверхневого цільового вузла – m – максимальна довжина будь-якого шляху у просторі станів
  • 26. 26 Неінформативні стратегії пошуку • Неінформативні стратегії використовують тільки інформацію з визначання проблеми (тобто не роблять жодних додаткових припущень) – Пошук вшир – Пошук за критерієм вартості – Пошук вглиб – Пошук з обмеженням глибини – Пошук вглиб з ітеративним заглибленням
  • 31. 31 Пошук вшир • Властивості – Повний? – Час? – Простір? – Оптимальний? Так, якщо b скінченне 1 + b + b2 + … + bd + b(bd-1) = O(bd+1) O(bd+1) (зберігає всі вузли у пам’яті) Так, якщо вартість етапу додатна
  • 32. 32 Пошук вшир • b = 10 • швидкість формування вузлів – 10 000 вузлів/секунда • об’єм пам’яті – 1Кб/вузол 1 Еб3523 роки101514 10 Пб35 років101312 101 Тб129 діб101110 1 Тб31 година1098 10 Гб19 мінут1076 106 Мб11 секунд111 1004 1 Мб0,11 секунди11002 Пам’ятьЧасКількість вузлівГлибина
  • 33. 33 Пошук за критерієм вартості • Периферія – черга, впорядкована за вартістю шляхів – Еквівалентний пошуку вшир, якщо вартості етапів рівні • Властивості – Повний? Так, якщо вартість ≥ε – Час? O(b[C/ε]), де C – вартість оптимального рішення – Простір? O(b[C/ε]) – Оптимальний? Так – вузли розкриваються із збільшенням g(n)
  • 46. 46 Пошук вглиб • Властивості – Повний? – Час? – Простір? – Оптимальний? Ні: потрапляє до нескінченних просторів, просторів із циклами O(bm), дуже погано при m>>d Якщо рішення розташовані щільно, то працює набагато швидше пошуку вшир O(bm) – лінійний простір! Ні
  • 47. 47 Пошук з обмеженням глибини • = пошук вглиб з обмеженням глибини l тобто вузли на глибині l не мають нащадків • Властивості – Повний? Ні, якщо l <d – Час? O(bl ) – Простір? O(bl) – Оптимальний? Ні, якщо l >d
  • 48. 48 Пошук вглиб з ітеративним заглибленням
  • 49. 49 Пошук вглиб з ітеративним заглибленням, l =0
  • 50. 50 Пошук вглиб з ітеративним заглибленням, l =1
  • 51. 51 Пошук вглиб з ітеративним заглибленням, l =2
  • 52. 52 Пошук вглиб з ітеративним заглибленням, l =3
  • 53. 53 Пошук вглиб з ітеративним заглибленням • Властивості – Повний? – Час? – Простір? – Оптимальний? • Порівняння для b=10 та d=5, рішення знаходиться у дальньому правому листку N(IDS) = 50 + 400 + 3000 + 20000 + 100000 = 123 450 N(BFS) = 10 + 100 + 1000 + 10000 + 100000 + 999990 = 1 111 100 Так (d+1)b0 + db1 + (d-1)b2 + … + bd = O(bd) O(bd) Так, якщо вартість етапу = 1
  • 55. 55 Повторювальні стани • Неможливість алгоритму визначати повторювальні стани може перетворити лінійну задачу у експоненціальну • Алгоритми, які забувають свою історію, приречені на те, щоб її повторювати!!
  • 56. 56 Пошук в графі • Якщо алгоритм запам’ятовує всі стани, які він відвідав, то він може розглядатись як такий, що безпосередньо досліджує граф простору станів
  • 57. 57 Пошук з частковою інформацією • Простір детермінований, спостерігається повністю – Агент повністю знає, в який стан він перейде • Проблема відсутності сенсорів → проблема сумісності – Агент може не знати де він • Недетерміновані та/або спостерігаються частково → проблема непередбачуваних ситуацій – Сприйняття кожного разу надає нову інформацію про поточний стан • Стан та дії невідомі → проблема дослідження
  • 58. 58 Приклад: світ пилососу • Детермінована проблема початок у №5 Рішення: [Right, Suck] • Проблема сумісності початок у {1,2,3,4,5,6,7,8}; Right переводить у {2,4,6,8}
  • 60. 60 Приклад: світ пилососу • Детермінована проблема початок у №5 Рішення: [Right, Suck] • Проблема сумісності початок у {1,2,3,4,5,6,7,8}; Right переводить у {2,4,6,8} Рішення: [Right,Suck,Left,Suck] • Непередбачуваність Закон Мерфі: дія Suck може забруднити чистий килим початок у №5 Рішення: [Right, if dirt then Suck]
  • 61. 61 Література • Рассел, Норвіг “Штучний інтелект. Сучасний підхід”. Глава 3