#PetGame Konsep AI
Belakangan ini kita pasti sudah tidak asing denga istilah AI . apalagi untuk seorang yang sering bermain Game . Kali ini saya akan membahas tentang Konsep – Konsep AI (Artificial Intelligence).
Deskripsi
Umum AI
Artificial Intelligence atau AI
dalam bahasa Indonesia artinya Kecerdasan Buatan adalah kecerdasan yang
ditunjukkan oleh suatu entitas ilmiah. Kecerdasan dibuat dan dimasukkan ke
dalam suatu mesin/ komputer supaya bisa melakukan pekerjaan seperti yang bisa
dikerjakan oleh manusia. Contohnya kemampuan untuk menjawab diagnosa dan
pertanyaan pelanggan, perencanaan dan penjadwalan, pengendalian, serta
pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi
disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi
masalah di kehidupan yang nyata.
Terdapat macam-macam bidang yang menggunakan kecerdasan buatan
diantaranya yaitu: game komputer, sistem pakar, jaringan syaraf tiruan, logika
fuzzy dan robotika.
Bagian Utama AI
·
Basis Pengetahuan (Knowledge Base)
Berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan
lainnya
·
Motor Inferensi (Inference Engine)
Kemampuan menarik kesimpulan berdasarkan pengalaman
Kelebihan dan Kekurangan
Artificial Intelligence
Walaupun perkembangan
teknologi AI ini sangat pesat namun tidak membuat AI menjadi sempurna,sistem AI
ini pun juga memiliki kekurangan.
Berikut ini adalah
kelebihan dan kekurangan dari Artificial intelligence:
Kelebihan Artificial Intelligence
· Kemampuan menyimpan data yang tidak terbatas
(dapat disesuaikan dengan kebutuhan).
· Memiliki ketepatan dan kecepatan yang sangat
akurat dalam system kerjanya
· Dapat digunakan kapan saja karena tanpa ada rasa
lelah atau bosan
Kekurangan Artificial Intelligence
·
Teknologi artificial
intelegensi tidak memiliki common sense. common sense adalah sesuatu yang
membuat kita tidak sekedar memproses informasi, namun kita mengerti informasi
tersebut. Kemengertian ini hanya dimiliki oleh manusia.
·
Kecerdasan yang ada pada
artificial intelligence terbatas pada apa yang diberikan kepadanya (terbatas
pada program yang diberikan). Alat teknologi artificial intelligence tidak
dapat mengolah informasi yang tidak ada dalam sistemnya.
Decision Making
Decision tree, atau yang biasa kita sebut
dengan pohon keputusan, menggambarkan pemilihan alternatif secara
sistimatis dan komprehensif dan menyeluruh tentang kejadian apa yang mungkin
yang terjadi sebagai akibat suatu keputusan. Model ini biasa digunakan dalam
melakukan evaluasi alternatif dugaan dampak yang tidak pasti dikemudian hari.
Penerapannya memerlukan imajinasi hubungan variabel serta data nilai
kemungkinan untuk setiap kejadian tak pasti serta memuat hasil keputusan berupa
nilai pay-off atau losses. Hasil keputusan bisa dinyatakan secara kuantitatif
atau kualitatif.
Notasi atau simbol yang dipergunakan adalah sebagai berikut :
Tanda empat persegi panjang,
sebagai simpul keputusan (Decision node)
Tanda lingkaran, sebagai cabang
(Event fork)
contoh pohon keputusan. |
Kelebihan dari metode pohon
keputusan adalah
·
Daerah
pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah
menjadi lebih simpel dan spesifik.
·
Eliminasi
perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode
pohon keputusan maka sample diuji hanya berdasarkan kriteria atau kelas
tertentu.
·
Fleksibel
untuk memilih fitur dari internal node yang berbeda, fitur yang terpilih akan
membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama.
·
Dalam
analisis multivariat, dengan kriteria dan kelas yang jumlahnya sangat banyak,
seorang penguji biasanya perlu untuk mengestimasikan baik itu distribusi
dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut.
Kekurangan
metode Pohon Keputusan
·
Terjadi
overlap terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya
sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu
pengambilan keputusan dan jumlah memori yang diperlukan.
·
Pengakumulasian
jumlah eror dari setiap tingkat dalam sebuah pohon keputusan yang besar.
·
Kesulitan
dalam mendesain pohon keputusan yang optimal.
·
Hasil
kualitas keputusan yang didapatkan dari metode pohon keputusan sangat
tergantung pada bagaimana pohon tersebut didesain.
Finite State Machine (FSM)
Bahasa
formal dapat dipandang sebagai entitas abstrak, yaitu sekumpulan string-string
simbol alphabet tertentu. Namun bahasa juga dapat dipandang sebagai
entitas-entitas abtrak yang dapat dikenali atau dibangkitkan melalui suatu
mesin komputasi. Mesin yang dapat mengenali bahasa kelas ini adalah finite
state machine.
contoh diagram state sederhana |
Diagram tersebut memperlihatkan FSM dengan dua buah state
dan dua buah input serta empat buah aksi output yang berbeda :
seperti terlihat pada gambar, ketika sistem mulai dihidupkan, sistem akan
bertransisi menuju state0, pada keadaan ini sistem akan menghasilkan Action1
jika terjadi masukan Event0, sedangkan jika terjadi Event1 maka Action2
akan dieksekusi kemudian sistem selanjutnya bertransisi ke keadaan State1
dan seterusnya.
FSM terdiri dari dua jenis, yaitu FSM
ber-output dan FSM tidak ber-output. FSM tidak ber-output digunakan
untuk pengenalan bahasa dalam komputer, dengan input yang dimasukkan
akan diperoleh apakah input tersebut dikenal oleh bahasa komputer atau
tidak. Salah satu penggunaan FSM tidak ber-output adalah program compiler,
yaitu program untuk memeriksa apakah perintah yang digunakan pengguna benar
atau salah.
Sementara untuk FSM ber-output digunakan
untuk merancang mesin atau sistem . Dan FSM yang akan digunakan dalam
penelitian ini adalah FSM ber-output, dan untuk selanjutnya akan
dituliskan dengan FSM saja.
Ada dua metode utama untuk
memperlakukan FSM untuk menghasilkan output. Yaitu Moore Machine dan Mearly
Machine yang dinamakan berdasarkan penemunya.
Moore Machine
Moore Machine adalah tipe dari FSM dimana output
dihasilkan dari state. Pada gambar diatas mencontohkan dimana state mendefenisikan
apa yang harus dilakukan (Brownlee, 2010). Keluaran pada Moore Machine diasosiasikan
sebagai state (Hariyanto, 2004). Dan pada penelitian ini, penulis
menggunakan Moore Machine.
Mearly
Machine
Mearly Machine berbeda dengan Moore
Machine dimana keluarannya merupakan hasil dari transisi antar state (Brownlee,
2010). Keluaran pada Mearly Machine diasosiasikan sebagai transisi
(Hariyanto, 2004)
Kelebihan FSM
FSM memiliki beberapa kelebihan (Brownlee, 2010), diantaranya
:
·
Sederhana, sehingga mudah diimplementasikan
·
Bisa diprediksi responnya
·
Komputasi ringan
·
Relatif fleksibel
·
Merupakan metode AI lama yang bisa digunakan pada berbagai
sistem
·
Mudah ditransfer dari abstrak menjadi kode program
Kelemahan FSM
Selain memiliki banyak kelebihan, FSM juga mempunyai beberapa
kelemahan (Brownlee, 2010), diantaranya :
·
Karena sifatnya bisa diprediksi, maka implementasi pada game
kurang disukai
·
Implementasi pada sistem yang lebih besar lebih sulit karena
pengaturan dan pemeliharaannya jadi kompleks
·
Sebaiknya hanya digunakan pada sistem dimana sifat sistem
bisa didekomposisi menjadi state.
·
Kondisi untuk transisi state adalah tetap.
Teknik Pemodelan FSM
Ada
beberapa teknik pemodelan abstrak yang bisa digunakan untuk membantu defenisi
atau pemahaman dan desain dari FSM, mayoritas teknik ini berasal dari disiplin
ilmu desain atau matematika (Lee: 1998).
·
Diagram Transisi State
Juga dikenal sebagai Diagram Gelembung
(Bubble Diagram). Menunjukkan relasi antara state dengan input yang
menyebabkan transisi state.
·
Diagram Pengambilan Keputusan State-Aksi.
Diagram Alir sederhana dengan tambahan
gelembung yang menunjukkan penungguan terhadap input.
·
Diagram Grafik State
Salah satu bentuk dari notasi UML yang
berfungsi untuk menunjukkan sifat individu dari objek sebagai nomor state dan transisi dari state
tersebut.
·
Analisa Hirarki Perintah
Meskipun tidak seperti state,
ini merupakan teknik dekomposisi perintah yang melihat dari sudut pandang
bagaimana caranya perintah dibagi jadi sub perintah dan urut sesuai urutan
kejadiannya.
Rule Based System ( RBS
)
Rule Based System (RBS) merupakan suatu
sistem pakar yang menggunakan aturan-aturan untuk menyajikan pengetahuannya. Menurut Lusiani
dan Cahyono, sistem berbasis aturan adalah suatu perangkat lunak yang
menyajikan keahlian pakar dalam bentuk aturan-aturan pada suatu domain tertentu
untuk menyelesaikan suatu permasalahan. RBS adalah model sederhana yang bisa
diadaptasi ke banyak masalah. Namun, jika aturan terlalu banyak, pemeliharaan
sistem akan rumit dan terdapat banyak kesalahan dalam kerjanya.
Untuk membuat RBS, ada beberapa hal
penting yang harus dimiliki:
·
Sekumpulan
fakta yang mewakili working memory. Ini dapat berupa suatu
keadaan yang relevan dengan keadaan awal sistem bekerja.
·
Sekumpulan
aturan. Aturan ini mencakup setiap tindakan yang harus diambil dalam ruang
lingkup permasalahan yang dibutuhkan.
·
Kondisi
yang menentukan bahwa solusi telah ditemukan atau tidak (non-exist). Hal
ini berguna untuk menghindari looping yang tidak akan pernah
berakhir.
Teori RBS ini
menggunakan teknik yang sederhana, dimulai dengan dasar aturan yang berisi
semua pengetahuan dari permasalahan yang dihadapi yang kemudian dikodekan ke
dalam aturanif-then yang
mengandung data, pernyataan dan informasi awal. Sistem akan memeriksa semua
aturan kondisi if yang menentukan subset, set konflik yang ada. Jika
ditemukan, maka sistem akan melakukan kondisi then.
Perulangan ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu,
jika aturan tidak diketemukan maka sistem tersebut harus keluar dari perulangan
(terminate).
Pendekatan
Untuk mengelola aturan, terdapat dua pendekatan yaitu:
·
Forward Chaining : aturan diproses
berdasarkan sejumlah fakta yang ada, dan didapatkan konklusi sesuai dengan
fakta-fakta tersebut. Pendekatan forward chaining disebut
juga data driven.
·
Backward Chaining : diberikan target, kemudian aturan yang
aksinya mengandung targetdi-trigger. Backward chaining ini
cocok untuk menelusuri fakta yang masih belum lengkap, disebut juga goal
driven.
Kelebihan
dan Kekurangan
Berikut ini beberapa kelebihan yang dimiliki oleh RBS
sebagaimana dijelaskan oleh Sasikumar dkk:
·
Homogenitas
Karena memiliki sintaks yang seragam, makna dan interpretasi dari masing-masing aturandapat dengan mudah dianalisis.
Karena memiliki sintaks yang seragam, makna dan interpretasi dari masing-masing aturandapat dengan mudah dianalisis.
·
Kesederhanaan
Karena sintaks sederhana, mudah untuk memahami makna dari aturan. Ahli domain seringkali dapat memahami aturan tanpa penerjemahan yang eksplisit. Aturan sehingga dapat mendokumentasikan diri sampai batas yang baik.
Karena sintaks sederhana, mudah untuk memahami makna dari aturan. Ahli domain seringkali dapat memahami aturan tanpa penerjemahan yang eksplisit. Aturan sehingga dapat mendokumentasikan diri sampai batas yang baik.
· Independensi
Ketika menambahkan pengetahuan yang baru tidak
perlu khawatir tentang dimana aturan
itu akan ditambahkan, atau apakah ada interaksi dengan
aturan lainnya. Secara
teori, setiap aturan adalah bagian independen
dari pengetahuan
tentang domain tersebut. Namun, dalam
prakteknya, hal ini tidak sepenuhnya benar.
· Modularitas
Independensi aturan mengarah ke modularitas dalam rule base. Prototipe sistem dapatdiciptakan cukup cepat dengan membuat beberapa aturan. Hal ini dapat ditingkatkandengan memodifikasi aturan berdasarkan kinerja dan menambahkan aturan baru.
Independensi aturan mengarah ke modularitas dalam rule base. Prototipe sistem dapatdiciptakan cukup cepat dengan membuat beberapa aturan. Hal ini dapat ditingkatkandengan memodifikasi aturan berdasarkan kinerja dan menambahkan aturan baru.
Sedangkan
beberapa kekurangan yang dimiliki oleh RBS antara lain:
·
Jika
terlalu banyak aturan, sistem menjadi sulit dalam memelihara performance.
·
Keterbatasan
dalam memutuskan teknik yang digunakan untuk suatu masalah.
Patch
Finding
Pathfinding, atau pencarian jalur, merupakan
salah satu implementasi kecerdasan buatan dalam permainan. Pencarian jalur
terpendek merupakan hal yang mempengaruhi pergerakan dan pengambilan keputusan
pada non-player character. Namun, jalur terpendek belum tentu dan tidak selalu
menjadi jalur paling aman. Dalam permainan berbasis militer, karakter dituntut
untuk bergerak secara taktis dalam menghadapi ancaman. Agen yang bergerak
secara taktis dalam pencarian jalur tidak hanya mencari jalur terpendek, namun
harus mempertimbangkan ancaman karena pertimbangan hit points, demi
meningkatkan kesan nyata pada permainan.
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.
Metode Waypoint
Waypoint merupakan kumpulan
dari beberapa titik kordinat yang kemudian dijadikan sebagai navigasi
pergerakan. Dalam sebuah game, pergerakan NPC (non-playable character) umumnya
menggunakan titik arah antara titik kordinat yang satu yang lain ditentukan
oleh pencipta game. Waypoint dapat digunakan pada non-playable character untuk
melakukan patroli di dalam game dengan melintasi titik-titik
kordinat yang ditentukan.
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.
Tactile & Strategic AI
Strategic Deciders adalah komponen yang secara konseptual di tingkat tertinggi abstraksi.
Komponen ini harus memutuskan strategi untuk karakter yang didasarkan pada
kondisi saat ini dan memori. Pada tingkat berikutnya, Tactic Deciders merencanakan bagaimana membuat strategi yang dipakai sekarang dapat
berjalan dengan baik. Executors atau pelaksana kemudian menerjemahkan keputusan
dari tactical deciders untuk perintah tingkat rendah (low-level commands) sesuai dengan batasan yang
digunakan oleh permainan atau simulasi. Komponen coordinators memahami hubungan
antar aktuator dan mungkin kembali memberikan perintah tingkat rendah lebih
lanjut. Akhirnya, aktuator melakukan tindakan yang diinginkan.
Referensi
Thanks gan sangat membantu
BalasHapus