#PetGame Konsep Dari Artificial Intelligence
April 14, 2016
Pada postingan kali ini Saya akan membahas sedikit tentang Artifiicial Intelligence atau biasa kita sebut dengan kecerdasan buatan. Semoga bermanfaat :)
Deskripsi Umum Artificial
Intelligence (AI)
Artificial
Intelligence atau AI dalam bahasa Indonesia artinya Kecerdasan Buatan yaitu
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 adalah 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.
Sistem
pakar terdiri atas 4 bagian utama, yaitu:
- Antarmuka pengguna
- Basis pengetahuan (knowledge basis)
- Mesin inferensi (inference engine)
- Mesin pengembangan
Kelebihan
Artificial Intelligence:
- Artificial Intelligence bersifat konsisten dan teliti.
- Artificial Intelligence lebih bersifat permanent.
- Artificial Intelligence dapat lebih murah daripada kecerdasan alami.
- Artificial Intelligence menawarkan kemudahan untuk digandakan atau disebarkan.
- Artificial Intelligence dapat didokumentasi.
Contoh
Penerapan Artificial Intelligence:
- SYSTRAN, merupakan perangkat lunak untuk penerjemahan bahasa.
- Delco Electronics, adalah mobil yang dapat mengemudikan sendiri yang menggunakan pendeteksi tepi untuk tetap bertahan di jalan.
- Deep Blue, adalah program catur 1997 yang mengalahkan Garry Kasparov pecatur dunia .
- Volkswagen AG, merupakan sistem pengemudi kendaraan otomatis yang diciptakan oleh Jerman.
Decision Making
Decision
Tree
Di
Informatika kita belajar tentang pohon dan
jenis-jenis pohon. Salah satu jenis pohon tersebut adalah pohon
keputusan. Keputusan adalah pemilihan alternatif yang merupakan suatu kumpulan
alternatif tindakan yang akan diikuti dengan kejadian yang tidak pasti. Pohon merupakan
tipedata yang berupa Graf, namun Graf tersebut tidak memiliki sirkuit, jadi
untuk ke 1 titik tertentu hanya ada 1 jalur yang dapat dilewati, dan tidak ada
siklus dalam pohon.
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 :
Contoh
pohon keputusan.
Keuntungan
dari pohon keputusan ialah :
- 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.
Kekurangan
pohon keputusan :
- Terjadi tumpang tindih data, jika data terlalu banyak, selain itu banyak waktu yang terbuang.
- Memakan banyak memori, akibat jumlah kemungkinan yang tidak terbatas.
- Jumlah eror akan semakin banyak seiring kompleksnya struktur pohontersebut.
- Sulitnya mencari pohon keputusan yang optimal.
- Kualitas keputusan bergantung pada desain pohon tersebut.
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 system mulai
dihidupka n, sistem akan bertransisi menuju state0, pada keadaan ini system 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 (Zen, 2008).
Ada
dua metode utama untuk memperlakukan FSM untuk menghasilkan output. Yaitu Moore Machine dan Mearly Machine yang
dinamakan berdasarkan penemunya.
a.
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).
b.
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 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 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 system dimana sifat sistem bisa didekomposisi menjadi state.
- Kondisi untuk transisi state adalah tetap
Rule-based
System
Rule,
atau yang biasa kita sebut kaidah, menyediakan cara formal untuk merepresentasikan
rekomendasi, arahan, atau strategi. Pada aturan produk atau kaidah produksi
pengetahuan disajikan dalam aturan-aturan yang berbentuk pasangan keadaan-aksi (condition-action):
“JIKA keadaan terpenuhi atau terjadi MAKA suatu aksi akan terjadi”.
Sistem
Pakar yang basis pengetahuannya selalu disajikan dalam bentuk aturan
produk disebut sistem berbasis-aturan
(rule-based sistem). Dari decision table yang telah tereduksi, setiap barisnya
dapat dikonversikan menjadi IF_THEN
Rule. Setiap baris pada decision
table yang telah tereduksi akan membentuk satu set rule final. Struktur dan
penulisan rule adalah sebagai berikut
:
- RULE label, Tabel yang berisi nama rule tersebut.
- IF, sebagai penanda awal kondisi.
- THEN, sebagai penanda awal kesimpulan pada sebuah rule.
- ELSE, sebagai penanda awal alternatif kesimpulan pada sebuah rule, bersifat opsional, jadi boleh tidak ada.
Operator
yang dapat digunakan pada IF-THEN rule adalah
:
a.
AND
Semua
kondisi yang dihubungkan oleh operator ini harus bernilai benar, agar kondisi
keseluruhan rule tersebut bernilai benar. Bila ada satu kondisi yang bernilai
salah, keseluruhan rule tersebut bernilai salah.
b.
OR
Bila
semua kondisi yang dihubungkan oleh operator ini bernilai salah, maka kondisi keseluruhan rule tersebut bernilai salah,
bila ada salah satu kondisi atau lebih yang bernilai benar, keseluruhan rule tersebut
bernilai benar.
Pathfinding
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.
Tanpa
waypoint.
Dengan
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.
Arsitektur Model
AI
Pada
level pertama mengandung komponen yang mewakili sensor yang memungkinkan
karakter untuk mengamati lingkungan serta state sendiri. Sensors menyaring
informasi dan peristiwa serta mengirimnya ke tingkat berikutnya. Tingkat kedua
berisi komponen analyzers yang menganalisis atau menghubungkan kejadian dari
individu sensor, yang mungkin mengarah pada peristiwa generasi selanjutnya.
Komponen memorizer bertugas menyimpan peristiwa yang telah terjadi.
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:
0 komentar