Ada peringatan besar ketika menggunakan D *, D * -Lite, atau salah satu algoritma tambahan dalam kategori ini (dan perlu dicatat bahwa peringatan ini jarang disebutkan dalam literatur). Jenis algoritma ini menggunakan pencarian terbalik. Yaitu, mereka menghitung biaya keluar dari simpul tujuan, seperti riak yang menyebar keluar. Ketika biaya tepi berubah (misalnya Anda menambah atau menghapus dinding dalam contoh Anda) mereka semua memiliki berbagai strategi yang efisien untuk hanya memperbarui subset dari node yang dieksplorasi (alias 'dikunjungi') yang dipengaruhi oleh perubahan.
Peringatan besar adalah bahwa lokasi perubahan ini sehubungan dengan lokasi tujuan membuat perbedaan besar pada efisiensi algoritma. Saya menunjukkan dalam berbagai makalah dan tesis saya bahwa sangat mungkin untuk kinerja kasus terburuk dari salah satu algoritma inkremental ini menjadi lebih buruk daripada membuang semua informasi dan mulai lagi dengan sesuatu yang non-incremental seperti A * biasa.
Ketika informasi biaya yang diubah dekat dengan batas depan pencarian yang diperluas (wilayah 'yang dikunjungi'), beberapa jalur harus diubah, dan pembaruan tambahannya cepat. Contoh terkait adalah robot seluler dengan sensor yang melekat pada tubuhnya. Sensor hanya melihat dunia di dekat robot, dan karenanya perubahan ada di wilayah ini. Wilayah ini adalah titik awal pencarian, bukan tujuan, sehingga semuanya berjalan dengan baik dan algoritme sangat efisien untuk memperbarui jalur optimal untuk memperbaiki perubahan.
Ketika informasi biaya yang diubah dekat dengan tujuan pencarian (atau skenario Anda melihat lokasi perubahan tujuan, bukan hanya permulaan), algoritma ini mengalami pelambatan bencana. Dalam skenario ini, hampir semua informasi yang disimpan perlu diperbarui, karena wilayah yang diubah sangat dekat dengan tujuan sehingga hampir semua jalur pra-perhitungan melewati perubahan dan harus dievaluasi kembali. Karena overhead menyimpan informasi tambahan dan perhitungan untuk melakukan pembaruan tambahan, evaluasi ulang pada skala ini lebih lambat daripada awal yang baru.
Karena skenario contoh Anda muncul untuk membiarkan pengguna memindahkan setiap dinding yang mereka inginkan, Anda akan mengalami masalah ini jika Anda menggunakan D *, D * -Lite, LPA *, dll. Kinerja waktu algoritma Anda akan bervariasi, tergantung pada pengguna memasukkan. Secara umum, "ini adalah hal yang buruk" ...
Sebagai contoh, kelompok Alonzo Kelly di CMU memiliki program fantastis bernama PerceptOR yang mencoba menggabungkan robot darat dengan robot udara, yang semuanya berbagi informasi persepsi secara real-time. Ketika mereka mencoba menggunakan helikopter untuk memberikan pembaruan biaya waktu-nyata ke sistem perencanaan kendaraan darat, mereka menemukan masalah ini karena helikopter dapat terbang di depan kendaraan darat, melihat perubahan biaya yang lebih dekat ke tujuan, dan dengan demikian memperlambat algoritma mereka. Apakah mereka membahas pengamatan yang menarik ini? Tidak. Pada akhirnya, yang terbaik yang mereka kelola adalah memiliki helikopter yang terbang tepat di atas kendaraan darat - menjadikannya tiang sensor termahal di dunia. Tentu, saya picik. Tapi itu masalah besar yang tidak ingin dibicarakan orang - dan mereka harus,
Hanya ada beberapa makalah yang membahas hal ini, kebanyakan oleh saya. Dari makalah yang ditulis oleh penulis atau siswa dari penulis makalah asli yang tercantum dalam pertanyaan ini, saya hanya bisa memikirkan satu yang benar-benar menyebutkan masalah ini. Likhachev dan Ferguson menyarankan untuk mencoba memperkirakan skala pembaruan yang diperlukan, dan menyiram informasi yang tersimpan jika pembaruan tambahan diperkirakan akan memakan waktu lebih lama daripada awal yang baru. Ini adalah solusi yang cukup masuk akal, tetapi ada juga yang lain. PhD saya menggeneralisasi pendekatan yang serupa di berbagai masalah komputasi dan semakin melampaui ruang lingkup pertanyaan ini, namun Anda dapat menemukan referensi yang bermanfaat karena memiliki tinjauan menyeluruh tentang sebagian besar algoritma ini dan banyak lagi. Lihat http://db.acfr.usyd.edu.au/download.php/Allen2011_Thesis.pdf?id=2364 untuk detail.