1 / 19

AI pada Game Development [Learning]

AI pada Game Development [Learning]. Agung Toto Wibowo http://gameprogramming.blog.ittelkom.ac.id/blog/ Bourg, David M., dan Seeman, Glenn, ” AI for Game Developers “, O'Reilly, 2004

ronat
Download Presentation

AI pada Game Development [Learning]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AI pada Game Development [Learning] Agung Toto Wibowo http://gameprogramming.blog.ittelkom.ac.id/blog/ Bourg, David M., dan Seeman, Glenn, ”AI for Game Developers “, O'Reilly, 2004 Russell, Stuart and Norvig, Peter, “Artificial Intelligence a Modern Approach – Second Edition”, Prentice Hall, 2003

  2. Learning pada game • Learning : belajardari data sebelumnya, bisa history • Fungsiuntukmengontrolstrategi, pergerakan NPC • Beberapaalgoritma yang bisadipergunakan • Fuzzy Logic (knowledge based) • Bayesian • Neural Network

  3. Fuzzy Logic • Digunakanuntuk : mengontrol NPC, menilai/ mengklasifikasikanancamanpemain, penentuantingkat, dansebagainya • Contohpadaperhitunganancamantimberdasarjarak, danukuran. • Jarakbisadibagimenjadidekat, jauh, dansangatjauh • Ukuranbisadibagimenjadikecil, sedang, menengah, danbesar • Tingkat ancamanmusuhbisadibagimenjadibukanancaman, ancamansedang, danancamantinggi

  4. Himpunan Fuzzy • Variabel Fuzzy • Variabeldalamsuatusistem fuzzy. Contoh : beratbadan, tinggibadan, dsb • Himpunan Fuzzy (Fuzzy set) • Himpunan fuzzy yang mewakilisuatukondisipadasuatuvariabel fuzzy. • Contoh : • Variabelsuhuterbagimenjadi 3 himpunan fuzzy, yaitu : panas, hangat, dingin. • Variabelnilaiterbagimenjadi : tinggi, sedang, rendah • Himpunan fuzzy memiliki 2 atribut, yaitu : • - Linguistik, yaitupenamaansuatu group yang mewakilisuatukondisi, misalnya • panas, hangat, dingin • - Numeris, yaituukurandarisuatuvariabelseperti : 17,19, 21, 33, dst

  5. Himpunan Fuzzy • HimpunanSemesta • keseluruhannilai yang bolehdioperasikandalamsuatuvariabel fuzzy. • Contoh: • Semestauntukvariabelberatbadan : [1, 150] • Semestauntukvariabelsuhu : [0,100]. • Domain • Domain himpunan fuzzy adalahkeseluruhannilai yang diijinkandalamSemestadanboleh • dioperasikandalamsuatuhimpunan fuzzy. • Contoh :

  6. FungsiKeanggotaan : Fungsi Linier [x]= 0; x  a (x-a)/(b-a); a  x  b 1; x  b [x]= (b-x)/(b-a); a  x  b 0; x  b

  7. FungsiKeanggotaan: Segitiga [x] = 0; x  a atau x  c (x-a)/(b-a); a  x  b (c-x)/(c-b); b  x  c

  8. FungsiKeanggotaan: Trapesium [x]= 0; x  a atau x  d (x-a)/(b-a); a  x  b 1; b  x  c (d-x)/(d-c); c  x  d

  9. FungsiKeanggotaan: Sigmoid [x;a,b,c]sigmoid = 0; x  a 2 ((x - a)/(c - a))2; a  x  b 1 - 2((c - x)/(c - a))2; b  x  c 1; x  c

  10. FungsiKeanggotaan: Phi [x;a,b,c]phi = [x;c-b,c-b/2,c]sigmoid; x  c [x;c,c+b/2,c+b]sigmoid; x > c

  11. Fuzzy Logical Operator double FuzzyAND(double A, double B) { return MIN(A, B); } double FuzzyOR(double A, double B) { return MAX(A, B); } double FuzzyNOT(double A) { return 1.0 - A; }

  12. Contoh : MenentukanAncaman Fuzzy Set Jarak Fuzzy Set Kekuatan

  13. Rule Matrix Proses : • Fuzzification derajatkeanggotaan • Rule Evaluation inferensi rule darikonsekuenkeantisenden • Defuzzyfication  penentuanhasil fuzzy • Contoh : Jarak = 55, Kekuatan 18 Rule MatrikAncaman

  14. More Fuzzy : • Baca referensi AI, metode-metode Fuzzy yang lain sepertiMamdani, Sugeno, Tsukamoto

  15. Naïve Bayes

  16. Bayes Rule P(h|D) = P(D|h) P(h) / P(D) h:hypothesisD: dataP(h): probabilitasindependendari hP(D): probabilitasindependendari DP(D|h): probabilitaskondisional D jikadiberikan hP(h|D): probabilitaskondisional h jikadiberikan D h = arg max P(h|D) map hH = arg max P(D|h) P(h)/P(D) hH = arg max P(D|h) P(h) {P(D) konstan} hH

  17. Naïve Bayes • Aksiapa yang dilakukanjikapemainberturutanmelakukan “Menendang, Memukul, danMemukul”?? • Dihitungsemuaprobabilitasnyaterlebihdahulu : • P(memukul) = 5/12 • P(jurus) = 3/12 • P(menendang) = 4/12 • Hitungprobabilitas lain yang terkaitdengan P(B|A) contohpadaaksi 1, aksi 2, dan aksi3.

  18. Naïve Bayes

  19. Naïve Bayes • Aksi yang dilakukan : menendang, memukul, memukul (T1P2P3) • Probabilitasmenendangpadaaksi 4 P(Th| T1P2P3) = P(T1|Th) P(P2|Th) P(P3|Th) P(Th) = 1/4 * 1/4 * 2/4 * 4/12 • Probabilitaspukulpadaaksi 4 P(Ph| T1P2P3) = P(T1|Ph) P(P2|Ph) P(P3|Ph) P(Ph) = 2/5 * 3/5 * 1/5 * 5/12 • Probabilitasjuruspadaaksi 4 P(Jh| T1P2P3) = P(T1|Jh) P(P2|Jh) P(P3|Jh) P(Jh) = 1/3 * 1/3 * 2/3 * 3/12 Note : T=Tendang, P = Pukul, J=Jurus Seharusnyadibagidengan P(D), tapikarena P(D) konstant, makadiabaikan.

More Related