Saya mencoba untuk mempercepat pencarian jalan saya dan menemukan A * dengan JPS . Pada dasarnya memangkas ubin sebelum menambahkannya ke set OPEN.
Bisakah saya menggunakan teknik itu dengan kisi saya yang hanya memungkinkan arah lurus?
sumber
Saya mencoba untuk mempercepat pencarian jalan saya dan menemukan A * dengan JPS . Pada dasarnya memangkas ubin sebelum menambahkannya ke set OPEN.
Bisakah saya menggunakan teknik itu dengan kisi saya yang hanya memungkinkan arah lurus?
Jika Anda membaca artikel , Anda akan melihat bahwa mereka mencantumkan ini sebagai masalah terbuka di bagian "Kesimpulan":
"Salah satu arahan yang menarik untuk pekerjaan lebih lanjut adalah untuk memperluas titik lompatan ke jenis grid lain, seperti hexagon atau tex (Yap 2002). Kami mengusulkan untuk mencapai ini dengan mengembangkan serangkaian aturan pemangkasan yang analog dengan yang diberikan untuk grid persegi."
Jadi, untuk menerapkan Pencarian Titik Langsung ke kisi orthogonal Anda, Anda harus memutuskan titik mana yang harus dihitung sebagai titik lompatan pada kisi itu. Setelah memikirkan hal ini sejenak, saya pikir - tetapi belum terbukti! - bahwa aturan berikut (berdasarkan Definisi 1 dan 2 dalam makalah, agak diucapkan ulang agar mudah dibaca) dapat berfungsi:
Sebuah simpul y adalah titik lompatan dari simpul x, menuju ke arah d, jika y dapat dijangkau dari x dengan bergerak lurus ke arah d, dan merupakan simpul terdekat ke x untuk memenuhi setidaknya salah satu dari kondisi berikut:
Tentu saja, kata "vertikal" dan "horisontal" dapat dipertukarkan dalam definisi di atas. Intinya adalah bahwa kita perlu memilih beberapa cara untuk memecahkan simetri sehingga hanya satu dari jalur yang mungkin untuk melintasi wilayah persegi panjang terbuka dipertimbangkan. Harabor dan Grastien melakukan itu dengan memilih jalur "diagonal-pertama", tetapi karena kita tidak bisa melakukan itu, kita harus melakukannya dengan lebih memilih jalur vertikal-pertama (atau horizontal-pertama).
Ini mungkin juga dimungkinkan untuk mengembangkan aturan pemangkasan alternatif yang menghasilkan lebih "terlihat alami" jalur, seperti lebih memilih judul saat ini lebih berputar, atau bahkan mungkin lebih memilih terus berputar jalur tangga. Aturan yang saya berikan di atas hanyalah terjemahan yang paling mudah dari aturan Harabor & Grastien ke grid ortogonal yang bisa saya pikirkan.
Sebenarnya, jika Anda melihat definisi rute 45 derajat, selalu mungkin untuk mengubah jalur dengan rute 45 derajat menjadi jalur tanpa putaran 45 derajat. Dan itu juga optimal (Anda dapat dengan mudah membuktikannya dengan kontradiksi).
Jadi, cara paling sederhana adalah dengan menjalankan pencarian titik lompatan dan kemudian mengubahnya menjadi rute ortogonal.
sumber