Як послідовність означає, що евристика також допустима?


13

Евристична функція h(n) - це ...

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

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


Відповіді:


12

Щоб підтвердити твердження у вашому запитанні, дозвольмо нам довести, що послідовність передбачає допустимість, тоді як навпаки не обов'язково вірно. Це зробило б консистенцію сильнішою умовою, ніж остання.

Послідовність передбачає допустимість:

Почнемо з підкреслити , що , якщо евристичний функція ч є допустимою (де т є мета) , так як крайові витрати передбачаються невід'ємним і , таким чином, вартість оптимальної від одного вузла до самого себе обов'язково 0 Це, безумовно, справедливо у випадку, якщо евристична функція є допустимою, але ми хочемо довести, що послідовність обов'язково передбачає прийнятність . Для цього давайте припустимо, що h ( t ) = 0 для будь-якої мети --- і цей факт буде використаний у нижньому базовому випадку.h(t)=0hth(t)=0

Доведення триває шляхом індукції:

Базовий випадок : візьміть будь-якого попередника вузла цілі . Нехай n позначає це, так що t є наступником n . Якщо евристична функція послідовна , то h ( n ) c ( n , t ) + h ( t ) = c ( n , t ) + 0 = c ( n , t ) і, отже, h в цьому випадку поводиться допустимо.tntnh(n)c(n,t)+h(t)=c(n,t)+0=c(n,t)h

Зверніть увагу , що базовий випадок не передбачає , що край обов'язково є оптимальним рішенням від п до т , і, дійсно, може бути інший шлях від п до т з меншими витратами. Важливість базового випадку полягає в тому, що h ( n ) c ( n , t ) для всіх предків вузла t ! Цей результат буде повторно використаний на етапі індукції.n,tntnth(n)c(n,t)t

Крок індукції : розглянемо вузол . Оптимальна вартість досягнення мети t з n , h ( n ) обчислюється як: min m S C S ( n ) { c ( n , m ) + h ( m ) } , де S C S ( n ) - сукупність наступників вузла n . Як консистенціяntnh(n)minmSCS(n){c(n,m)+h(m)}SCS(n)nпередбачається гіпотезою, тоді . Крім того, як h ( n ) h ( n ) передбачається на етапі індукції, то h ( n ) c ( n , n ) + h ( n )h(n)c(n,n)+h(n)h(n)h(n)h(n)c(n,n)+h(n) і це справедливо для всіх наступників вузла n . Іншими словами: h ( n ) min m S C S ( n ) { c ( n , m ) + h ( m ) } = h ( n ) , так що h ( n ) h ( n ) .nnh(n)minmSCS(n){c(n,m)+h(m)}=h(n)h(n)h(n)

Прийнятність не обов'язково означає послідовність:

Для цього достатньо простого прикладу. Розглянемо граф , який складається з однієї колії з 10 вузлами: , де метою є п 9 . Будемо вважати , без втрати спільності , що всі витрати краю рівні 1. Очевидно ч * ( п 0 ) = 9 , і давайте ч ( п 0 ) = 8 , ч ( п я ) =n0,n1,n2,...,n9n9h(n0)=9h(n0)=8 і h ( n 9 ) = 0 . Зрозуміло, що евристична функціядопустима:h(ni)=1,1i<9h(n9)=0

  1. h(t)=0
  2. ,i , 1 i < 9 .h(ni)=1h(ni)=(9i)i,1i<9
  3. Нарешті, .h(n0)=8h(n0)=9

Однак не є послідовним і h ( n 0 ) = 8 > c ( n 0 , n 1 ) + h ( n 1 ) = 1 + 1 = 2 .h(n)h(n0)=8>c(n0,n1)+h(n1)=1+1=2

Сподіваюся, це допомагає,

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.