Monday, April 18, 2016

#PETGame Yuk Mengenal Konsep dari Artificial Intelligence atau AI

0


Apa sih yang terbesit di pikiran kalian saat mendengar kata Artificial Intelligence? Pasti orang awam kebanyakan membayangkan hal-hal seperti yang ada di film-film itu. Bukan ya? Mungkin hanya pendapat sepihak saya.

Memangnya ada AI atau yang dalam bahasa Indonesianya  sering disebut sebagai Kecerdasan Buatan ini dalam sebuah game? Jelas ada. Bagaimana sebuah musuh yang muncul dalam sebuah game bisa muncul dan mengerti pola serangan kita? Bagaimana game mencocokkan kartu bisa mengenali kartu mana saja yang sudah dibuka sebelumnya? Bagaimana Non-Playable Character dari sebuah game online atau game berbasis petualangan bisa menjawab dan merespon kita layaknya sebuah manusia? Yup, jawabannya sudah pasti menggunakan kecerdasan buatan atau AI itu sendiri.

Sebelumnya, kita cari tahu dulu yuk apa itu Artificial Intelligence~ Kita cari tau sama-sama yaa~

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 :

  Tanda empat persegi panjang, sebagai simpul keputusan (Decision node)

  Tanda lingkaran, sebagai cabang (Event fork)


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 comments:

Post a Comment

resep donat empuk ala dunkin donut resep kue cubit coklat enak dan sederhana resep donat kentang empuk lembut dan enak resep es krim goreng coklat kriuk mudah dan sederhana resep es krim coklat lembut resep bolu karamel panggang sarang semut