Deskripsi umum Artificial Intelligence
Artificial Intelligence atau kecerdasan buatan
adalah bagian dari ilmu komputer yang digunakan untuk kajian bagaimana membuat
mesin yang memecahkan masalah dengan cara seperti apa yang dilakukan manusia,
yaitu memerlukan kecerdasan tersebut. Kemampuan dari komputer digital atau
robot dikendalikan komputer untuk menjalankan perintah – perintah.
Setelah populernya kecerdasan buatan karena
pengetahuan yang terbatas, bahwa sebuah komputer dapat berpikir layaknya
manusia.
Implementasi kecerdasan buatan
terdapat pada bidang:
-
Visualisasi komputer
-
Pengenalan Suara
-
System Pakar
-
Permainan
Kecerdasan buatan dapat dikelompokkan menjadi 4,
yaitu:
-
Berpikir seperti layaknya manusia
-
Berpikir secara rasional
-
Berperilaku seperti manusia
-
Berperilaku secara rasional
Tetapi kecerdasan buatan ada kekurangan dan
kelebihan , diantaranya:
Kelebihan
-
Bersifat permanen.
-
Mudah untuk dicopy.
-
Bersifat konsisten
-
Mengerjakan pekerjaan dengan aturan
Kekurangan
-
Akan cepat rusak
-
Pembuatannya sangat mahal
-
Memerlukan daya listrik
-
Strukturnya tidak berpengetahuan
Decision Making
Decision
Tree
Decision Tree atau pohon keputusan diagram alir yang
berbentuk seperti struktur pohon yang mana setiap internal node menyatakan
pengujian terhadap suatu atribut, setiap cabang menyatakan output dari leaf
node atau distribusi kelas. Decision tree digunakan untuk pengklarifikasi
sampel data yang belum diketahui kelasnya.
Kelebihan pohon
keputusan adalah:
-
Pengambilan keputusan yang sebelumnya
kompleks dan dapat diubahnya sangat
mudah.
-
Eliminasi perhitungan tidak diperluka,
karena menggunakan metode pohon keputusan berdasarkan kriteria atau kelas
tertentu.
-
Memilih fitur dari node yang berbeda,
fitur yang terpilih akan membedakan kriteria.
Kekurangan pohon keputusan adalah:
-
Terjadi overlap digunakan jumlahnya
sangat banyak. Hal ini menyebabkan peningkatan waktu pengambilan keputusan.
-
Desain pohon keputusan sangat sulit.
-
Hasil kualitas sangat tergantung pada
bagian pohon yang didesain.
Pada pohon keputusan ini mempunyai notasi – notasi
yaitu:
a.
Lingkaran
digunakan untuk membuat cabang – cabang.
Persegi panjang digunakan untuk simpul keputusan.
Contoh pohon keputusan:
Finite
State Machine
Finite State Machine adalah metodologi perancangan sistem kontrol yang
menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga
hal berikut: State (Keadaan), Event (kejadian) dan Action (aksi). Pada satu saat dalam periode waktu yang
cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem
dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau
event tertentu, baik yang berasal dari perangkat luar atau komponen dalam
sistemnya itu sendiri.
Finite State Machine di dunia AI Game Programming,
merupakan salah satu teknik yang paling sering digunakan. Alasannya yaitu:
1. Implementasinya mudah dan cepat
2. Memudahkan proses debugging. Karena telah dipecah menjadi
kepingan yang lebih kecil, proses debugging kalau terjadi behavoiur yang tidak
semestinya, menjadi lebih mudah
3. Proses komputasi yg minimal, karena sejatinya FSM
hanyalah conditional statement yang dikemas dalam bentuk yang lebih elegan.
4. Fleksibel, dapat dikombinasikan dengan teknik AI lain
misalnya fuzzy logic dan neural network.
Kekurangannya:
1. Behaviour dari agen mudah diprediksi, karena tidak ada
searching dan atau learning di dalam agen tersebut
2. Karena mudah diimplementasi, kadang programmer langsung
tembak di eksekusi tanpa melakukan desain FSM terlbih dahulu. Biasanya akan
terjadi FSM yang terfragmentasi
3. Timbul apa yang dinamakan dengan State Oscillation yaitu
ketika batasan antara dua buah state terlalu tipis.
Pathfinding
Pencarian jalur atau pathfinding adalah
proses pencarian rute/jalur (biasanya rute terdekat) dari suatu arena yang pada
umumnya memiliki penghalang-penghalang dari arena tersebut. Adapun penghalang
dapat berupa tembok, sungai, dsb. Goal dari pathfinding ini pada umumnya adalah
untuk mencari jalur paling efisien dengan sebisa mungkin menghindari penghalang
yang ada.
Pathfinding
dapat diterapkan misalnya dalam membuat AI dari suatu game, misalnya agar AI
tersebut dapat mengejar musuh secara efisien dan tanpa menabrak tembok atau
menghindari penghalang lain.
Tactical Pathfinding
merupakan salah satu algoritma pencarian jalur yang dapat melakukan pencarian
jalur terpendek dengan perhitungan bobot ancaman. Implementasi algoritma
tactical pathfinding dapat memberikan gerakan taktis pada non-player character.
Algoritma tactical pathfinding dilakukan berdasarkan algoritma pencarian jalur
berdasarkan A* ditambah perhitungan bobot.
Waypoint
Waypoint merupakan titik kumpul untuk keperluan
navigasi yang berguna menidentifikasi pada navigasi pergerakan. Dalam sebuah
game pergerakan NPC umumnya digunakan titik arah antara titik koordinat yang
satu dan yang lain untuk menciptakan game.
Gambar tanpa menggunakan waypoint
Gambar menggunakan waypoint
Dari gambar yang kedua dapat
terlihat 29 titik kordinat dari satu ke yang lain saling berhubungan,
yang merupakan rute dari NPC untuk melakukan patroli untuk menemukan dan
menyerang karakter player, dimana NPC akan terus melintas dari satu titik ke
titik selanjutnya.
Cara NPC menentukan titik arah dapat
dilakukan dengan menggunakan graph waypoint untuk menentukan
keputusan yang baik tentang bagaimana menempatkan titik arah, cara mengatur
radius, bagaimana memahami ketika hal-hal yang mungkin tidak berperilaku sesuai
dengan yang di harapkan. Ketika NPC akan memutuskan tujuan yang mana akan
dituju peta permainan, maka NPC akan terlebih dahulu melakukan
pemeriksaan mana waypoint terdekat untuk NPC, dan kemudian NPC akan berjalan
menuju waypoint tersebut, dengan menghindari jalur penghalang. NPC tidak dapat berjalan dengan baik atau sempurna
jika letak waypoint terdapat di tempat yang tidak memungkinkan dalam fisik permainan seperti
penghalang.
Sumber: