Tuesday, April 19, 2016

#PETGAME – Konsep Artificial Intelligence (AI) / Kecerdasan Buatan

Share it Please


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:


No comments:

Post a Comment

Followers

Follow The Author