Saya memiliki proyek sekolah untuk membangun AI untuk game balap 2D di mana ia akan bersaing dengan beberapa AI lain ( tanpa tabrakan ).
Kami diberi gambar bitmap hitam dan putih dari trek balap, kami diizinkan untuk memilih statistik dasar untuk mobil kami (penanganan, akselerasi, kecepatan maks, dan rem) setelah kami menerima peta. AI terhubung ke server gim dan memberikannya beberapa kali angka kedua untuk akselerasi dan kemudi saat ini. Omong-omong, bahasa yang saya pilih adalah C ++. Pertanyaannya adalah:
Apa strategi atau algoritma terbaik (karena saya ingin mencoba dan menang)? Saat ini saya memikirkan beberapa ide yang ditemukan di internet dan satu atau dua ide saya sendiri, tetapi saya ingin sebelum saya mulai memberi kode bahwa perspektif saya adalah salah satu yang terbaik. Buku bagus apa yang ada tentang hal itu? Situs apa yang harus saya rujuk?
Jawaban:
Siapkan AI dasar, lalu atur API untuk menangani mobil Anda sendiri. Jika Anda bisa mengalahkannya, Anda harus mengatur algoritma perekaman yang kemudian dapat secara positif memperkuat AI Anda. Ini bisa menjadi jaringan saraf untuk mengubah tindakan AI Anda. Seperti pengereman bertahap ke sudut dll.
Apakah Anda diizinkan menggunakan perpustakaan eksternal di proyek Anda? Jika demikian, saya sarankan Anda melihat FANN . Ini adalah perpustakaan jaringan saraf yang cepat; untuk menyelamatkan Anda menulis sendiri. Jika Anda memerlukan kode sumber, Anda selalu dapat menulisnya sendiri, namun butuh beberapa saat.
sumber
Jika Anda dapat memproses ulang peta sebelum menjalankan AI, maka hitung saja garis balap terbaik melalui segmen peta.
Posting ini di GameDev.net memiliki sejumlah saran.
The AI Wisdom buku memiliki BANYAK artikel tentang balap AI. Saya pasti akan merekomendasikan mereka, terutama yang pertama yang memiliki artikel yang menggambarkan bagaimana Anda dapat mewakili peta sebagai struktur data dalam AI Anda.
Metode lain yang saya lihat adalah pembelajaran penguatan sederhana (Q-learning), yang mungkin akan membutuhkan beberapa ribu iterasi untuk mendapatkan jalur yang optimal. Ini dijelaskan dalam makalah ini: http://www.cs.ubc.ca/~zhijin/540report.pdf
sumber
Berikut ini adalah referensi yang sangat baik untuk mengemudi AI: Steering Behaviors for Autonomous Characters . Diposting di sini untuk referensi semua orang. Ada banyak informasi untuk Anda mulai, tetapi juga banyak informasi, jadi jangan terlalu macet dalam detailnya.
sumber