Konteks
Jadi, apa AI sih? Apa tujuan dan
kondisi yang membedakan sistem AI yang baik dari yang buruk? Pada dasarnya,
desain buruk AI sering dimulai dengan menetapkan tujuan yang salah.
Salah satu definisi AI mungkin seperti
"AI adalah simulasi komputer dari perilaku cerdas." Ini akan berlaku
kecuali kenyataan bahwa kita benar-benar tidak tahu pasti apa kecerdasan itu.
Apakah "kecerdasan" berarti "perilaku yang menunjukkan kemampuan
besar untuk beradaptasi dan memecahkan masalah kompleks," atau
"perilaku yang sama dengan manusia menutupi manusia tersebut”? Sejarah
lagi dan lagi bahwa menyatakan manusia tidak selalu cemerlang, namun ada adalah
kualitas dengan perilaku mereka yang membuat mereka cerdas. Seperti yang akan
Anda pelajari dalam bab ini, beberapa permainan membuat kesalahan dengan
mencoba mengikuti definisi pertama, dan dengan demikian, menghasilkan hasil
yang benar-benar realistis. Ambil contoh, salah satu masalah klasik
AI-menemukan rute dari titik A ke titik B yang menghindari rintangan.
Banyak algoritma ada untuk
memecahkan masalah ini dengan berbagai tingkat keberhasilan. Mereka
menganalisis peta dan menelusuri jalan yang menghubungkan dua titik akhir dan
menghindari rintangan. Beberapa dari mereka, bagaimanapun, pergi terlalu jauh,
memastikan bahwa jalan antara A dan B adalah optimal-yaitu, jalur sesingkat
mungkin. Ini adalah kasus dalam algoritma A * yang populer, yang akan kita
bahas pada Bab 8, "Taktical AI." Menurut definisi pertama, * A jelas
merupakan algoritma yang sangat cerdas. Bahkan, sangat cerdas bahwa itu secara
algoritma dapat membangun jalur optimal antara dua point terakhir, bahkan jika
kita harus menyeberang bermil-mil dan melalui hambatan dalam proses. Tapi itu
benar-benar tidak realistis jika dibandingkan dengan perilaku manusia. Manusia
tidak melacak jalur yang optimal, dan mereka sering melakukan kesalahan
melintasi labirin yang sangat kompleks (lihat Gambar 6.1).
Gambar 6.1. Perbandingan antara A
* dan pencari jalan manusia. Kiri: awal masalah. Tengah: manusia. Perhatikan
bagaimana kita mencoba untuk mendekati target, dan jika tidak ada jalan yang
tersedia, sering menyelamatkan. Kanan: * A tahu solusinya sebelumnya sehingga
ini menelusuri jalan yang sangat realistis tetapi yang benar melalui daerah
kanan atas.
Seorang manusia beralih dari A B
untuk akan mengikuti lintasan padat (dengan asumsi dia tidak tahu jalan
sebelumnya), dan A * akan menemukan solusi yang optimal, putus-putus. Jadi,
permainan menggunakan metode ini mungkin cukup pintar, tapi tidak terlalu
realistis. Dan ini adalah sangat penting karena berkonsentrasi pada memiliki
"pintar" AI tetapi bukan "manusia" AI kadang-kadang dapat
menghasilkan permainan yang buruk, dan itu modal buruk dalam pembangunan permainan
AI. Dengan kata lain, kita akan dapat menciptakan AI yang sempurna yang akan
membuat frustasi untuk pemain manusia. Jadi, kita perlu menjaga tingkat yang
wajar ketidaksempurnaan dibangun ke dalam desain AI.
Di sisi lain, kita tidak ingin
membuat AI bodoh hanya demi realisme. Permainan adalah tentang tantangan, dan
ini memerlukan musuh cerdas sehingga sulit untuk mengalahkan. Contoh yang baik
adalah strategi permainan real-time. Komputer menciptakan strategi untuk
tentara CPU dikontrol dengan menggunakan berbagai teknik. Tapi tentara di sisi
AI yang dikontrol sangat dangkal dalam hal spontanitas dan improvisasi nilai
kinerja mereka. Mereka lebih seperti robot yang dirancang untuk melaksanakan
rencana induk. Ini harus jadi atau permainan akan terlalu mudah dan menjadi
membosankan.
Jadi jelas, permainan AI adalah
keseimbangan antara perilaku menghasilkan yang baik sangat berkembang dan
canggih, dan perilaku yang kurang lebih manusia (dalam arti tidak optimal dari
kata tersebut). Beberapa teknik dapat digunakan untuk memastikan bahwa AI kita
tidak hanya "robot pemecah masalah" tetapi juga harus ada entitas manusia
yang menyediakan jumlah yang tepat hanya untuk kompleksitas sehingga akan
menantang dan menarik, tetapi tidak lebih dari itu.
Struktur dari sebuah Sistem AI
Mari kita mulai perjalanan kita
dengan mengambil mikroskop virtual dan mencari di dalam sebuah entitas AI
tunggal. Ini bisa menjadi Quake musuh, sebuah tentara Age of Empires, atau makhluk dari Black &
White. Memahami utama blok bangunan nantinya akan membantu struktur dan kode
sistem Anda secara efisien.
Pada dasarnya, sistem AI datang
dalam dua rasa. Yang pertama dan paling umum adalah agen, yang merupakan
virtual karakter dalam permainan dunia. Ini biasanya musuh, tetapi juga dapat karakter
yang tidak bermain, sidekicks, atau bahkan seperti animasi sapi di lapangan.
Untuk jenis entitas, struktur biologis harus diikuti, sehingga membuat suatu perilaku
model dapat dilihat secara realistis. Dengan demikian, sistem AI yang
terstruktur dengan cara yang sama untuk otak kita. Sangat mudah untuk
mengidentifikasi empat elemen atau aturan, yaitu seperti dibawah ini:
-
Sebuah sensor atau input sistem
-
Sebuah memori kerja
-
Sebuah inti penalaran / analisis
-
Sebuah sistem tindakan / keluaran
Beberapa AI lebih sederhana dari
itu dan mengganti dapat beberapa komponen. Tapi ini kerangka kerja global
meliputi sebagian besar entitas yang ada. Dengan mengubah sifat setiap
komponen, pendekatan yang berbeda dapat diimplementasikan.
Tipe kedua entitas AI adalah
pengendali abstrak. Ambil game strategi, misalnya. Siapa yang menyediakan
penalaran Tactical? Setiap unit mungkin sangat baik dimodelkan dengan
menggunakan aturan sebelumnya, tapi yang jelas, strategi permainan membutuhkan
entitas tambahan yang bertindak seperti controller master pertempuran dari sisi
CPU. Hal ini tidak semua karakter diwujudkan tapi koleksi rutinitas yang
memberikan dinamika kelompok diperlukan untuk keseluruhan sistem. Pengendali
abstrak memiliki struktur sangat mirip dengan yang dijelaskan sebelumnya,
tetapi masing-masing subsistem bekerja pada tingkat yang lebih tinggi daripada
individu.
Mari kita membahas secara singkat
setiap elemen struktur.
Penginderaan Dunia
Semua AI perlu menyadari keadaan
di sekitar mereka sehingga mereka dapat menggunakan informasi tersebut dalam fase
penalaran atau analisis. Apa yang dirasakan dan bagaimana sebagian besar
bergantung pada jenis permainan yang Anda ciptakan. Untuk memahami hal ini,
mari kita bandingkan AI tingkat individu untuk permainan seperti Quake ke
controller abstrak dari Age of Empires.
Dalam Quake, musuh individu perlu
tahu:
-
Dimana pemain dan di manakah dia mencari?
-
Apakah geometri terhadap lingkungan sekitarnya?
-
Kadang-kadang, yang senjata yang saya gunakan
dan yang ia gunakan?
Jadi model dunia relatif mudah.
Dalam permainan, sistem visual adalah penyederhanaan bentuk satu manusia. Kita
mengasumsikan kita melihat pemain jika dia dalam jarak tertentu, dan kami
menggunakan algoritma sederhana untuk menguji untuk tabrakan dengan dunia game.
Tahap sensori sangat penting untuk mengumpulkan informasi yang akan mendorong
semua analisis berikutnya.
Sekarang mari kita lihat data
sensorik yang digunakan oleh controller master dalam strategi permainan,
seperti Age of Empires:
-
Apakah keseimbangan kekuatan di setiap subarea
dari peta?
-
Berapa banyak masing-masing jenis sumber daya
yang saya miliki?
-
Apa rincian jenis unit: infanteri, kavaleri, dan
sebagainya?
-
Apakah status saya dalam hal pohon teknologi?
-
Apakah geometri dari dunia permainan?
Perhatikan bahwa ini bukan tes
sederhana. Sebagai contoh, kita perlu mengetahui geometri dari seluruh
permainan dunia untuk memastikan bahwa temuan jalan bekerja seperti yang
diharapkan untuk semua unit. Bahkan, sebagian besar dari AI sedemikian waktu permainan
dihabiskan dalam menyelesaikan jalur-temuan perhitungan. Sisa dari pemeriksaan
yang dilakukan sudah tidak lebih mudah. Menghitung keseimbangan kekuatan
sehingga kita tahu mana musuh dan distribusi spasial nya adalah kompleks
masalah. Hal ini begitu kompleks sehingga kita hanya akan recompute solusi setiap
frame N sekali untuk mempertahankan kinerja yang layak.
Dalam banyak skenario, merasakan
permainan dunia adalah bagian paling lambat dari AI. Menganalisis peta dan
penggalian informasi yang berharga dari data mentah adalah proses memakan
waktu.
Ingatan
Menyimpan data AI sering kompleks
karena konsep yang disimpan tidak mudah. Dalam AI tingkat individu, ini akan
menjadi kekurangan dari masalah. Kita dapat menyimpan poin dan orientasi dan
menggunakan numerik nilai-nilai untuk menggambarkan "state AI adalah masuk
Jika karakter berjalan, state sama dengan satu, jika dia berjalan, state sama
dengan dua, dan sebagainya. Sekarang, bagaimana kita menyimpan informasi yang
lebih abstrak, seperti keseimbangan daya dari pernyataan sebelumnya? Dan
bagaimana menjalankannya? Bagaimana kita menyimpan jalan sehingga karakter
memiliki peta mini dalam memori dan mengingat bagaimana untuk pergi dari A ke
B? Beberapa struktur data adalah nontrivial, dan kita sering akan berakhir
dengan kasus per kasus solusi, terutama ketika coding controller master.
Analisis / Penalaran Inti
Inti analisis / penalaran adalah
apa yang orang sering berpikir tentang ketika mereka berbicara tentang AI. Ini
adalah bagian yang benar-benar menggunakan data sensori dan memori untuk menganalisis
konfigurasi dan membuat keputusan saat ini. Metode populer untuk tugas-tugas
seperti adalah mesin negara yang terbatas dan sistem aturan, baik yang dibahas
dalam bab ini. Membuat keputusan bisa lambat atau cepat tergantung pada
sejumlah alternatif dan data indrawi untuk mengevaluasi. Bermain catur adalah
proses yang lambat, sedangkan karakter bergerak dalam Quake benar-benar mudah.
Jelas, tokoh dalam Quake memiliki berbagai pilihan terbatas (biasanya, bergerak
di empat arah, melompat dan menembak), sedangkan 20 sampai 50 bergerak dapat dilakukan
pada papan catur, diberikan awal konfigurasi.
Untungnya, banyak permainan
sederhana hanya memerlukan pengambilan keputusan proses yang melibatkan
beberapa pilihan, dan besar Hasil sering datang dengan harga yang relatif
rendah. Ketika Anda akan segera melihat, banyak permainan dipuji karena mereka
AI besar telah dibangun dengan algoritma yang relatif sederhana.
Action / Output System
Intelijen, tidak peduli seberapa
canggih, harus menyerap tindakan dan tanggapan, sehingga kita menyadari ada
sesuatu yang terjadi di dalam otak makhluk maya itu. Dengan demikian, adalah
penting untuk pasangan kita rutinitas AI dengan tindakan pintar subrutin,
sehingga kami mendapatkan perasaan kecerdasan nyata. Bahkan, banyak permainan
membesar-besarkan sistem tindakan banyak seperti di sebuah drama teater, jadi
niat karakter yang jelas dan kepribadian yang disampaikan. Dengan melakukan
demikian, tingkat kecerdasan dirasakan oleh pemain bisa jauh lebih tinggi
daripada kompleksitas sebenarnya dari inti AI rutinitas. Sebagai contoh,
mengingat Super permainan Mario Bros. Semua jenis makhluk aneh memenuhi permainan
tersebut, dari penyu untuk kadal dan makhluk lainnya. Jika Anda memisahkan
logika dari tindakan-tindakan yang sebenarnya,
Anda akan menemukan bahwa AI ini semua sangat mirip. Mereka musuh AI yang mengejar kesederhanaan atau koreografer AI. Tapi dengan membuat "tanda" gerakan untuk masing-masing dari mereka, kepribadian dan intelijen perlu ditingkatkan.
Anda akan menemukan bahwa AI ini semua sangat mirip. Mereka musuh AI yang mengejar kesederhanaan atau koreografer AI. Tapi dengan membuat "tanda" gerakan untuk masing-masing dari mereka, kepribadian dan intelijen perlu ditingkatkan.