Щоб підтвердити твердження у вашому запитанні, дозвольмо нам довести, що послідовність передбачає допустимість, тоді як навпаки не обов'язково вірно. Це зробило б консистенцію сильнішою умовою, ніж остання.
Послідовність передбачає допустимість:
Почнемо з підкреслити , що , якщо евристичний функція ч є допустимою (де т є мета) , так як крайові витрати передбачаються невід'ємним і , таким чином, вартість оптимальної від одного вузла до самого себе обов'язково 0 Це, безумовно, справедливо у випадку, якщо евристична функція є допустимою, але ми хочемо довести, що послідовність обов'язково передбачає прийнятність . Для цього давайте припустимо, що h ( t ) = 0 для будь-якої мети --- і цей факт буде використаний у нижньому базовому випадку.h ( t ) = 0годтh ( t ) = 0
Доведення триває шляхом індукції:
Базовий випадок : візьміть будь-якого попередника вузла цілі . Нехай n позначає це, так що t є наступником n . Якщо евристична функція послідовна , то h ( n ) ≤ c ( n , t ) + h ( t ) = c ( n , t ) + 0 = c ( n , t ) і, отже, h в цьому випадку поводиться допустимо.тнтнh ( n ) ≤ c ( n , t ) + h ( t ) = c ( n , t ) + 0 = c ( n , t )год
Зверніть увагу , що базовий випадок не передбачає , що край обов'язково є оптимальним рішенням від п до т , і, дійсно, може бути інший шлях від п до т з меншими витратами. Важливість базового випадку полягає в тому, що h ( n ) ≤ c ( n , t ) для всіх предків вузла t ! Цей результат буде повторно використаний на етапі індукції.⟨ П , т ⟩нтнтh ( n ) ≤ c ( n , t )т
Крок індукції : розглянемо вузол . Оптимальна вартість досягнення мети t з n , h ∗ ( n ) обчислюється як: min m ∈ S C S ( n ) { c ( n , m ) + h ∗ ( m ) } , де S C S ( n ) - сукупність наступників вузла n . Як консистенціянтнh∗(n)minm∈SCS(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 ) .n′nh(n)≤minm∈SCS(n){c(n,m)+h∗(m)}=h∗(n)h(n)≤h∗(n)
Прийнятність не обов'язково означає послідовність:
Для цього достатньо простого прикладу. Розглянемо граф , який складається з однієї колії з 10 вузлами: , де метою є п 9 . Будемо вважати , без втрати спільності , що всі витрати краю рівні 1. Очевидно ч * ( п 0 ) = 9 , і давайте ч ( п 0 ) = 8 , ч ( п я ) =⟨n0,n1,n2,...,n9⟩n9h∗(n0)=9h(n0)=8 і h ( n 9 ) = 0 . Зрозуміло, що евристична функціядопустима:h(ni)=1,1≤i<9h(n9)=0
- h(t)=0
- , ∀ i , 1 ≤ i < 9 .h(ni)=1≤h∗(ni)=(9−i)∀i,1≤i<9
- Нарешті, .h(n0)=8≤h∗(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
Сподіваюся, це допомагає,