Cara Membuat Artificial Intelligence Sendiri
Cara Membuat Artificial Intelligence Sendiri

Cara Membuat Artificial Intelligence Sendiri

Cara membuat artificial intelligence sendiri – Artificial Intelligence adalah sebuah studi untuk membuat suatu perangkat lunak yang bisa memecahkan masalah dengan pola pikir seperti manusia. Yang mana di dalam kecerdasan buatan (Al) ini, terdapat beberapa proses seperti searching, reasoning, dan juga learning, untuk membuat keputusan terhadap aksi yang akan dilakukan. Sedangkan penggunaan logika fuzzy sendiri merupakan bagian dari proses reasoning (memiliki kemampuan untuk berpikir secara rasional seperti otak manusia).

Kali ini kami akan menjelasan tentang cara membuat artificial intelligence sendiri dengan menggunakan logika fuzzy. Logika fuzzy merupakan suatu logika yang memiliki nilai jamak yang berupa bilangan real antara 0 – 1. Yang mana logika ini biasa digunakan untuk menangani konsep parsial dimana hasilnya dapat bernilai sepenuhnya salah dan juga sepenuhnya benar. Logika fuzzy ini di dasarkan pada pengamatan, bahwa orang membuat keputusan berdasarkan informasi yang tidak tepat atau pun non-numerik.

Cara Membuat Artificial Intelligence Sendiri

  • Membuat Variabel Linguistik

Tahapan awal dalam penerapan logika fuzzy ialah menentukan variabel linguistik. Yang mana variabel tersebut merupakan parameter tingkatan, yang menjadi acuan untuk perhitungan fuzzy yang dibagi mejadi 2 jenis yaitu input (atribut yang dimiliki karakter saat ini) dan juga output (aksi / aktivitas yang dilakukan karakter). Berikut adalah contoh dari gim yang akan dibuat dengan tampilan yang sederhana:

Input :

  1. Damage: HIGH dan LOW (μDmg)
  2. Energy: HIGH dan LOW (μEgy)
  3. Health: HIGH dan LOW (μHlt)
  4. Armor: HIGH dan LOW (μAmr)

Output :

  1. Aksi menyerang: HIGH, MID, dan LOW (μAttc)
  2. Aksi penyembuhan: HIGH, MID, dan LOW (μHeal)
  • Menentukan Nilai Fuzzy

Dalam menentukan nilai fuzzy Anda memerlukan banyak percobaan untuk mendapatkan nilai yang tepat. Oleh sebab itu, awalan nilai fuzzy pada setiap variabel ditetapkan sebagai berikut :

  1. Dengan menentukan nilai maksimum dari setiap variabel. Contoh: Dmg (Max = 100).
  2. Dan juga mengisi nilai range pada setiap tingkatan dengan pembagian nilai maksimum masing-masing variabel. Berikut ini contohnya :
  • μDmg: (HIGH = 51 – 100) dan (LOW = 0 – 50)
  • μEgy: (HIGH = 46 – 90) dan (LOW = 0 – 45)
  • μHlt: (HIGH = 61 – 120) dan (LOW = 0 – 60)
  • μAmr: (HIGH = 51 – 100) dan (LOW = 0 – 50)
  • μAttc: (HIGH = 67 – 100), (MID = 34 – 66), dan (LOW = 0 – 33)
  • μHeal: (HIGH = 67 – 100), (MID = 34 – 66), dan (LOW = 0 – 33)
  • Menetapkan Rule

Rule di sini akan sangat berguna untuk menentukan hasil atau output yang Anda inginkan. Maka untuk mengawali pembuatan rule, Anda dapat menggabungkan 2 input untuk 1 ouput seperti berikut ini :

  1. Dmg LOW & Egy LOW = Attc LOW
  2. Dmg LOW & Egy LOW = Attc HIGH
  3. Dmg LOW & Egy LOW = Heal LOW
  4. …. dst

Nantinya daftar rule tahap pertama akan banyak sekali, karena memasukan semua kemungkinan kombinasi 2 input dan juga 1 output.  Setelah selesai mendaftar rule, agar lebih mudah lagi Anda dapat menggunakan metode trial dan juga error untuk mendapatkan rule yang berhubungan dan benar. Metode trial dan error ini lah yang merupakan percobaan secara observasi terhadap keterkaitan atribut input dan juga output dari rule. Sebagai contoh, pada aksi menyerang Anda kaitkan dengan damageenergyhealth, dan armor. Kemudian, nantinya akan ditanyakan satu persatu seperti “Apakah health mempengaruhi ketika melakukan aksi menyerang?”. Namun jika tidak, maka rule yang terdapat health dan juga menyerang akan dihapus. Begitu seterusnya sampai Anda menghasilkan rule seperti berikut ini:

  1. Dmg HIGH & Egy HIGH = Attc HIGH
  2. Dmg HIGH & Egy LOW = Attc MID
  3. Dmg LOW & Egy HIGH = Attc MID
  4. Dmg LOW & Egy LOW = Attc LOW
  5. Hlt HIGH & Amr HIGH = Heal LOW
  6. Hlt HIGH & Amr LOW = Heal HIGH
  7. Hlt LOW & Amr HIGH = Heal LOW
  8. Hlt LOW & Amr LOW = Heal HIGH
  • Pengujian

Percoba ini dilakukan secara matematis melalui rule yang telah dibuat. Sebagai contoh, silahkan Anda ambil rule pada aksi menyerang, kemudian Anda jabarkan dan diberikan input seperti berikut ini:
Input: Dmg = 30 dan Egy = 75.

  1. Pertama silahkan Anda ubah input menjadi variabel linguistik
    μDmgHIGH = 0,     nilai Dmg kurang dari nilai terendah μDmgHIGH.
    μDmgLOW = (50 – Dmg) / (50 – 0)
    = (50 – 30) / 50
    = 0.4
    μEgyHIGH = (Egy – 46) / (90 – 46)
    = (75 – 46) / 44
    = 0.659
    μEgyLOW = 0,     nilai Egy lebih dari nilai tertinggi μEgyLOW.
  2. Kemudian, silahkan Anda cari variabel linguistik output aksi menyerang menggunakan rule yang telah ditetapkanDmg HIGH & Egy HIGH = Attc HIGH
    μAttcHIGH = min(μDmgHIGH, μEgyHIGH)
    = min(0, 0.659)
    = 0
    AttcHIGH = 67,    nilai 0 berada pada nilai terendah μAttcHIGH
  • Dmg HIGH & Egy LOW = Attc MID
    μAttcMID = min(μAttcHIGH, μEgyLOW)
    = min(0, 0)
    = 0
    AttcMID = 34,    nilai 0 berada pada nilai terendah μAttcHIGH
  • Dmg LOW & Egy HIGH = Attc MID
    μAttcMID = min(μDmgLOW, μEgyHIGH)
    = min(0.4, 0.659)
    = 0.4
    AttcMID = (66 – 34) * μAttcMID + 34
    = 32 * 0.4 + 34
    = 46.8
  • Dmg LOW & Egy LOW = Attc LOW
    μAttcLOW = min(μDmgLOW, μEgyLOW)
    = min(0.4, 0)
    = 0
    AttcLOW = 33,    nilai 0 berada pada nilai tertinggi μAttcLOW

Seteleh semua rule fuzzy aksi menyerang didapatkan, maka langkah selanjutnya ialah menghitung defuzzyfikasi dengan rumus berikut ini:

Dihasilkan:
y* = (0*67 + 0*34 + 0.4*46.8 + 0*33) / (0 + 0 + 0.4 + 0)
= 46.8
Lakukan sekali lagi pada aksi penyembuhan dan coba Anda bandingkan hasil y* penyembuhan, dengan aksi menyerang. Nantinya nilai y* yang lebih tinggi akan menjadi aksi yang akan dilakukan oleh karakter.

  • Evaluasi

Variabel linguistik dan rule fuzzy merupakan penentu keberhasilan dari pembuatan kecerdasan buatan Anda. Oleh karena itu, nilai dari variabel linguistik dan rule fuzzy ini, harus Anda perbarui pada setiap percobaan hingga Anda mendapatkan hasil yang diinginkan. Bentuk perubahan nilai pada variabel linguistik ini, juga tergantung pada gim terkait dan keputusan dari pembuatan.

Implementasi Serta Pengembangan Kedepannya

Tidak berhenti sampai di sini saja, Anda dapat mengembangkan kecerdasan buatan sederhana ini ke cakupan yang lebih luas lagi. Sama halnya dengan menambahkan probabilitas keputusan lawan di multiplayer online game, perkembangan karakter dalam satuan waktu, atau pun semacamnya. Selain itu pembuatan kecerdasan buatan ini, juga tidak hanya diterapkan dalam keputusan karakter terhadap lawan. Kecerdasan buatan ini juga dapat Anda terapkan pada perkembangan permainan, seperti membuat guideline, memberikan rekomendasi terbaik untuk pemain, atau pun meningkatkan komponen-komponen permainan.

  • Sumber :

  1. https://en.wikipedia.org/wiki/Decision-making
  2. https://en.wikipedia.org/wiki/Fuzzy_logic
  3. https://www.researchgate.net/publication/324558255_Kecerdasan_Buatan_Artificial_Intelligent
  • Sumber Gambar :

  1. https://b8g9x2x5.rocketcdn.me/wp-content/uploads/2018/08/AI-model_pqwxl3.png