AI yang berorientasi tindakan: algoritma penghindaran membutuhkan banyak waktu

9

Evasion, proses menghindar, adalah kebalikan dari mengejar. Alih-alih mencoba mengurangi jarak ke target, kami mencoba memaksimalkannya.

Dibutuhkan banyak waktu saat menghindari beberapa objek secara bersamaan. Saya menggunakan BFS di sini. Untuk membuatnya lebih cepat, algoritma apa yang harus saya gunakan?

Md Mahbubur Rahman
sumber
2
Saya pikir maksud Anda "penggelapan"
BigStuuu
@BigStuuu, Ya, "evasion"
Md Mahbubur Rahman

Jawaban:

12

Saya sarankan Anda menggunakan Perilaku Kemudi untuk mensimulasikan jenis perilaku ini. Lihat halaman ini untuk contoh perilaku menghindar yang diterapkan dengan cara ini.

Ide dasarnya adalah Anda hanya mempertimbangkan properti sederhana seperti vektor posisi dan kecepatan mangsa Anda dan predator untuk menghitung perubahan yang diinginkan dalam properti ini dalam waktu linier. Ini menghasilkan perilaku responsif namun realistis.

Namun, ini harus dibayar dengan tidak mempertimbangkan faktor-faktor lain, seperti lebih banyak tujuan tingkat tinggi (posisi power-up misalnya) atau posisi hambatan statis, seperti yang Anda lakukan dalam merintis jalan. Ini dapat diperhitungkan dengan menggabungkan pendekatan Perilaku Kemudi dengan, misalnya, bidang potensial (lihat Menggunakan Bidang Potensial dalam Skenario Game Strategi (Tutorial) ) atau pencarian jalan (misalnya Metode Peta Koridor ). Dalam kasus yang terakhir Anda ingin mengurangi frekuensi pembaruan (dan percaya Perilaku Pengarah untuk mengkompensasi kesalahan yang mungkin terjadi karena ini) atau melakukan perencanaan ulang parsial, mungkin dikombinasikan dengan pendekatan yang lebih hierarkis (misalnya Pathfinding Hierarchical Near-Optimal) (HPA *) .

Jika Anda menginginkan jawaban yang lebih spesifik, perbaiki pertanyaan Anda dengan lebih detail tentang masalah Anda. Misalnya, pertimbangkan untuk menjelaskan tentang game Anda dan jumlah NPC yang sedang kita bicarakan.

Eric
sumber
Anda juga dapat menangani perkembangan sasaran yang bersaing dengan logika fuzzy. Jadi jika mangsa melarikan diri dari predator, ia juga dapat bergerak menuju gua (atau naik atau apa pun.) Ini dapat menghasilkan situasi yang menarik di mana predator berdiri di antara gua dan mangsa dan mangsa ragu-ragu melarikan diri keluar-dan-keluar dan saat predator mengejar mangsa yang berbeda, ia bergerak di tempat tidur yang luas di sekitar predator untuk mencapai gua. Semua dengan biaya tambahan terbatas. (sub gua untuk sesuatu yang mobile, seperti tenaga medis di medan perang, untuk melihat mengapa Potensi Fields bukan solusi yang baik di sini.)
DampeS8N