Fungsi heuristik adalah ...
- Konsisten jika perkiraan biaya dari node ke tujuannya adalah tidak lebih besar dari langkah biaya penggantinya ditambah perkiraan biaya dari penerus tujuan.
- Diperbolehkan jika tidak pernah melebih-lebihkan biaya sebenarnya untuk status tujuan.
Buku teks untuk kursus Kecerdasan Buatan saya menyatakan bahwa konsistensi lebih kuat dari pada dapat diterima tetapi tidak membuktikannya, dan saya mengalami masalah dengan penjelasan matematis.
algorithms
shortest-path
heuristics
pengguna58348
sumber
sumber
Jawaban:
Untuk membuktikan pernyataan dalam pertanyaan Anda, izinkan kami membuktikan bahwa konsistensi menyiratkan penerimaan sedangkan yang sebaliknya tidak selalu benar. Ini akan membuat konsistensi kondisi yang lebih kuat daripada yang terakhir.
Konsistensi menyiratkan penerimaan:
Mari saya mulai dengan menekankan bahwa jika fungsi heuristik h dapat diterima (di mana t adalah tujuan) karena biaya tepi diasumsikan non-negatif dan dengan demikian, biaya optimal dari satu node ke dirinya sendiri adalah 0 Ini tentu berlaku jika fungsi heuristik dapat diterima, tetapi kami ingin membuktikan bahwa konsistensi selalu berarti dapat diterima . Untuk ini, mari kita asumsikan lebih lanjut bahwa h ( t ) = 0 untuk tujuan apa pun --- dan fakta ini akan digunakan dalam kasus dasar di bawah ini.h(t)=0 h t h(t)=0
Buktinya dihasilkan dengan induksi:
Basis kasus : mengambil pendahulu dari node tujuan . Biarkan n menyatakannya, sehingga t adalah penerus dari n . Jika fungsi heuristik konsisten , maka h ( n ) ≤ c ( n , t ) + h ( t ) = c ( n , t ) + 0 = c ( n , t ) dan karenanya, h berperilaku dapat diterima dalam kasus ini.t n t n h(n)≤c(n,t)+h(t)=c(n,t)+0=c(n,t) h
Penerimaan tidak selalu menyiratkan konsistensi:
Untuk ini, contoh sederhana sudah cukup. Pertimbangkan grafik yang terdiri dari jalur tunggal dengan 10 node: , di mana tujuannya adalah . Mari kita asumsikan wlog bahwa semua biaya tepi sama dengan 1. Jelas , dan mari kita buat , dan . Jelas, fungsi heuristik dapat ditambahkan :⟨n0,n1,n2,...,n9⟩ n9 h∗(n0)=9 h(n0)=8 h(ni)=1,1≤i<9 h(n9)=0
Namun, tidak konsisten dan .h ( n 0 ) = 8 > c ( n 0 , n 1 ) + h ( n 1 ) = 1 + 1 = 2h(n) h(n0)=8>c(n0,n1)+h(n1)=1+1=2
Semoga ini membantu,
sumber