Program Studi MMT-ITS, Surabaya 6 Pebruari 00 DESAIN PERILAKU AGEN PADA PERMAINAN BULUTANGKIS DENGAN MENGGUNAKAN MULTI-OBJECTIVE GENETIC ALGORITHM Adianto*,Sueno Mardi** Moch Hariadi** *Jurusan Teknik Elektro FTI, ITS, Surabaya **Jurusan Teknik Elektro FTI, ITS, Surabaya **Jurusan Teknik Elektro FTI, ITS, Surabaya Email: adianto@elect-eng.its.ac.id, mardi@its.ac.id, mochar@its.ac.id Sulit untuk mendesain suatu agen NPC s (non-layer characters) yang memiliki kemamuan mengembangkan ermainannya ada saat melawan layer. Pengembangan ermainan itu meliuti kemamuan untuk menyerang dan bertahan. Pada kebanyakan game saat ini dibuat menggunakan single object dengan melibatkan fungsi satu objektif dan biasanya hasil dalam satu solusi. Untuk mengatasi masalah tersebut dengan membuat solusi otimal yang daat digunakan untuk berbagai fungsi object, yaitu dengan menggunakan Multi-objective Algoritma Genetika. Otimasi. Multiobjective memertimbangkan beberaa konflik untuk mendaatkan tujuan secara bersamaan. Dalam kasus ini, biasanya tidak ada satu solusi otimal, tetai satu set alternatif dengan trade-off berbeda. Multi-objective yang diakai ada enelitian ini dengan memakai NSGA II ( Non-Dominated Sorting in Genetic Algorithms). NSGA II akan memberikan nilai areto front untuk fungsi minimal dan fungsi maksimal. Diharakan dari enelitian ini akan didaatkan solusi otimal yang daat mengakomodir object dalam game ermainan bulutangkis dan agen NPC s akan daat memiliki kemamuan adabtif dalam mengembangkan ermainannya. Kata kunci: Multi-objective Algoritma Genetika, Non-Dominated Sorting in Genetic Algorithms, areto front PENDAHULUAN Game yang memiliki erilaku agent dimana kemamuan agentnya bisa berkembang dengan memelajari kemamuan layer sulit untuk diimlementasikan. Perilaku agent yang memiliki kemamuan komleks akan bermanfaat untuk engembangan ola ermainan game yang lebih menarik. Para erancang game bisa menggunakan metoda ini untuk memberikan karakter keada agent non-layer characters (NPC s), atau mereka bisa melatih agent untuk melawan layer yang memiliki erilaku yang didesign menggunakan scrit dan juga bisa dimanfaatkan untuk menemukan kelemahan-kelemahan ada ola scrit yang dibuat. Metoda ini digunakan agent untuk melatih erilakunya ada saat melawan emain. Untuk membuat game semakin menarik maka game harus melibatkan multiobjective yang disertakan [Jacob Schrum and Risto Miikkulainen,008]. Pada saat ini kebanyakan game dibuat menggunakan single object dimana metoda embelajaran berdasarkan nilai scalar reward-nya dan metoda evolusinya memakai nilai fitness function-nya. Otimasi ersoalan single-objective melibatkan satu objektif dan biasanya hasil dalam satu solusi, dinamakan sebuah solusi otimal.
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 Untuk mengatasi masalah ini maka kita menggunakan metoda multi-objective otimization. Metode multi-objective otimization berhubungan dengan Metode Pareto[Coelo 999]. Multi-objective otimization digunakan juga oleh beberaa eneliti sebelumnya namun tidak digunakan untuk menemukan erilaku agent NPC s ada ermainan game. Metode itu diakai antara lain untuk enelitian mengenai system scheduling [Tamaki, Kita, and Kobayashi 996],Tic-tac-toe[ Yau, Teo, and Anthony 007 ], n-arity roblem [Jong,Watson, and Pollack 00] dan masalah-masalah lainya yang berhubungan dengan otimization. Pada enelitian ini akan dicoba menggunakan multi-objective ootimization untuk dialikasikan ke game ermainan bulutangkis. Pada enelitian ini kami akan mencari langkah-langkah untuk diimlementasikan ada agent NPC s suaya memiliki erilaku yang daat secara adatif melawan erilaku layer yang didesign menggunakan scrit. Selain itu NPC s akan daat mengembangkan kemamuannya dari embelajaran yang diterima dari layer. Diharakan enelitian ini daat membuat game ermainan badminton jadi lebih menarik METODE Penelitian ini dilakukan dengan menggunakan multi-objective genetic algorithm (MOGA), dalam hal ini memakai Elist Non-dominated Sorting Genetic Algorithm (NSGA II). Adaun urutan kerja dari NSGA II ini daat kita lihat berdasarkan flow chart dibawah ini Start Initialise Poulasi gen Po Classified No Fitness Gen= gen+ Crossover Mengidentifikasi Individu yang dominan Mutation Yes Aakah Po Terklasifikasi NO STOP Gambar Flowchart NSGA II Inisialisasi Poulasi Inisialisasi oulasi dilakukan dengan membentuk sejumlah oulasi. Pada enelitian ini ditentukan jumlah oulasi 75 kromosom. Kromosom terdiri atas 3 gen dimana meruakan variable factor dari enyelesaian yaitu keceatan bola lawan (X ), keceatan angina (X ), dan jarak agent dengan lawan (X 3). Inisialisasi oulasi yang dibuat untuk enelitian ini dengan memakai gen float atau bilangan decimal. Pemakaian gen float ini digunakan untuk menyederhanakan system, sehingga tidak erlu adanya C-5-
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 converting binary ke decimal atau sebalaiknya. Kromosom dibangkitkan dari random yang bersifat uniform bilangan 0 < X <. Nilai ini meruakan reresentasi dari bentuk level nilai variable factor yang akan menentukan besarnya nilai objective (fitness function) yang kita buat nanti. Objective ( Fitness Funtion) Dalam enelitian ini kita menggunakan objective atau fitness function untuk menentukan fungsi minimal dan fungsi masimal. Untuk Fitness Function () kita membuat sebagai fungsi maksimal yaitu meruakan fungsi level ukulan agent dimana hubungannya sebagai berikut: Fungsi ertama ini berhubungan dengan momentum tumbukan benda. Gambar Kekekalan Momentum m ' ' v mv mv mv Karena shuttlecock dan raket mengalami lenting sebagaian maka nilai koefisien restitusi a ( e ) = 0 e, dimana koefisien restitusi: ' ' v v Sehingga kita mengambil nilai: Maka daat kita ambil: e v v ' ' mv m v m v mv f( ) dimana: f ( ) : Fungsi maksimal ( Fungsi ukulan agent ) : Keceatan bola lawan ( 0<< ) Untuk Fitness Function () kita buat sebagai fungsi minimal yaitu meruakan fungsi stamina, dimana faktor stamina ini, akan dibuat ersamaan berdasarkan beberaa asumsi di bawah ini: ) Stamina adalah simanan energi energi residu. Hubungan antara stamina dan energi meruakan hubungan berbanding terbalik, artinya semakin besar energi yang dikeluarkan maka semakin kecil/ sedikit simanan energinya (stamina C-5-3
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 berkurang). Sebaliknya, semakin kecil energi yang dikeluarkan maka semakin besar simanan energinya (stamina besar). Stamina Energi ) Energi disini adalah besar Energi kinetik yang dikeluarkan oleh emain. Enegi kinetik oleh emain sebanding dengan Energi kinetik oleh bola dari lawan Dimana: E = Energi Kinetik k Ek emain = Ek bola E k m. v m = Massa Bola, teta, misal 3) Keceatan bola lawan (v) akan diengaruhi (dihambat) oleh faktor k eceatan angin yang searah dengan emain (r) dan jarak antara emain dengan lawan (), sehingga hubungan anatara keceatan bola (v) dengan keceatan angin (r) dan jarak () meruakan hubungan berbanding terbalik dan (v) berbanding lurus dengan (). Jika tidak ada engaruh keceatan angin ( r ) dan jarak ( ), maka: v Karena keceatan bola lawan (v) diengaruhi (dihambat) oleh faktor keceatan angin yang searah dengan emain (r) dan jarak antara emain dengan lawan (), maka: v ( r ) 4) Total Energi yang dimiliki emain adalah 0 Kkalori. Asumsi ini didasarkan ada teori yang disamaikan oleh Jhon R.Cameron,James G.Skofronick,Roderick M.Grant dalam bukunya yang berjudul Physics of the Body Dari keemat asumsi diatas, daat ditarik suatu hubungan sebagai berikut: Stamina yang terisisa adalah Energi maksimal (0 kalori) dikurangi enegi yang dikeluarkan Stamina 0 Energi Stamina 0 E k Stamina 0 mv C-5-4
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 dimana m = sehingga: Stamina 0 ( ( r ) ) Seleksi ( r ) Stamina 0 ( r ) f (, r, ) 0 dimana: f (, r, ) = Fungsi minimal ( Fungsi stamina agent ) = Keceatan bola lawan ( 0<< ) r = Keceatan angina ( 0<< ) = Jarak agent dengan lawan ( 0<< ) Pada multi-objective genetic algorithm (MOGA) dalam hal ini NSGA II sebagai roses seleksinya dengan memakai Non-Dominated Sort dan kemudian diseleksi lagi dengan menggunakan Crowding distance. Adaun langkah-langkah yang dilakukan digambarkan sebagai berikut: Semua individu yang ada didalam oulasi dilakukan insialisasi.langkah yang ertama adalah membuat kumulan dominasi S, S ini nantinya berisi kumulan individu yang dominan. Membentuk variabel n yang digunakan untuk menghitung jumlah individu didalam kumulan dominasi S. Setelah kumulan dominasi S terenuhi dan nilai n jumlah dominasi yang ada didalam kumulan S meruakan reresentasi dari Setelah itu terbentuk kumulan front yang didaat dari jumlah n Langkah selanjutnya adalah roses crowding distance Crowding distance adalah roses sorting dari kumulan S dan menghasilkan nilai non-dominated. Pada roses crowding ini adalah untuk menemukan jarak euclidian diantara masingmasing individu didalam sebuah front berdasarkan fungsi objectivnya. Kemudian individu tersebut terilih menjadi arent yang akan dicrossover Genetic Oerators Genetic oerator terdiri atas dua bagian yaitu Crossover dan Mutasi. Cross-Over Pada roses Crossover ini dilakukan atas kromosom untuk menghasilkan kromosom baru ( offsring). Kromosom anak yang terbentuk akan mewarisi sebagaian sifat kromosom induknya. Pada enelitian ini crossover dilakukan dengan menggunakan C-5-5
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 arithmetic crossover. Proses crossover arithmetic daat digambarkan seerti dibawah ini: dimana: O O R OP ) ( R) R OP ) ( R) O = Offsring () O = Offsring () OP = Old Parent() OP = Old Parent() R = Nilai Random ( 0 < R < ) ( OP ( OP Dalam roses croosover ini ada arameter enting yang harus dierhatikan karena berkaitan dengan rasio anak yang akan dihasilkan dalam satu generasi. Parameter itu adalah robabilitas crossover. Probabilitas crossover menunjukan resentase jumlah Old Parent yang akan di crossover dan menghasilkan offsring (keturunan baru). Penentuan besar kecilnya crossover tergantung dengan ermasalahan yang dicari otimalnya. Mutasi Proses mutasi ini adalah suatu roses eksloitasi terhada kemungkinankemungkinan modifikasi ada hasil yang telah ada. Pada roses mutasi dilakukan dengan menentukan keturunan baru yang diilih secara random dari sejumlah oulasi. Kemudian kromosom yang terilih akan diilih secara acak osisi gen yang akan dimutasi. Setelah terilih gen ada salah satu kromosom kemudian dimutasi dengan merandom lagi nilai gen yang telah dieroleh. Pada roses mutasi ini sama dengan ada roses crossover, dimana mutasi yang terjadi tergantung ada nilai robabilitas mutasinya. Probabilitas mutasi menunjukan resentase jumlah offsring yang terkena mutasi. Penentuan nilai robabilitasnya tergantung ada ermasalahan yang dicari otimalnya. HASIL DAN DISKUSI Pada bagian ini akan dibahas mengenai hasil engujian dan embahasan hasil engujian. Hasil engujian ini berua data areto front dari MOGA NSGA II. 0 MOP using NSGA-II 0 00 90 f( ) 80 70 60 50 40 0 0. 0. 0.3 0.4 0.5 0.6 0.7 0.8 0.9 f( ) C-5-6
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 Hasil Plot diatas diambil dari running rogram NSGA II dengan nilai arameter sebagai berikut: Jumlah Generasi: 5 Poulation size (Even no.): 75 Crossover robability: 0,9 Mutation robability: 0,9 Plot diatas adalah data Pareto Front dari fungsi ukulan dan fungsi stamina agent. Fungsi stamina menunjukan nilai yang tinggi ada semua level nilai ada fungsi ukulan. Dari data hasil diatas daat diketahui bahwa nilai-nilai areto front yang didaatkan dari MOGA NSGA II nilainya sesuai dengan yang kita inginkan dan menghasilkan nilai yang daat memenuhi untuk kedua fungsi objective tersebut. Nilainilai ada kedua fungsi itu memenuhi untuk diimlementasikan menjadi erilaku agent ada game bulutangkis. Agent ada game bulutangkis akan daat diatur level staminanya untuk berbagai level ukulan sehingga agent akan daat berkembang kemamuannya dalam menghadai layer. Proses engujian dari hasil areto front ini dilakukan ada game bulutangkis sederhana dimana arameter ermainan yaitu keceatan bola lawan, keceatan angin searah dengan emain dan jarak emain dengan lawan. Dan faktor tindakan dari emain berdasarkan fungsi stamina dan fungsi ukulan. Tindakan / reson emain ditentukan oleh fungsi stamina dan fungsi ukulan. Sedangkan lawan tindakannya didesain dengan scrit. Dari hasil engujian didaatkan reson dari emain (agent) dimana ukulannya dari setia level ukulan daat mereson ukulan lawan yang didesain dengan scrit, dan reson tersebut daat menyesuaikan dengan kondisi stamina. Karena setia level ukulan daat didukung oleh stamina yang adatif. Sehingga emain akan daat memilih level ukulan sesuai dengan stamina yang dimilikinya. Dari hasil engujian ini daat dilihat bahwa level stamina memberikan reson ukulan yang sesuai dengan hasil areto front dari NSGA II. KESIMPULAN DAN SARAN Dari enelitian yang telah dilakukan,daat diambil suatu kesimulan: MOGA NSGA II menghasilkan solusi alternative yang otiamal untuk lebih dari satu fungsi. MOGA NSGA II daat diimlementasikan ada agent ermainan game bulutangkis untuk memberikan engembangan ermainan yang lebih menarik MOGA NSGA II daat digunakan untuk engembangan game bulutangkis dengan menambah variable factor dan fungsi hasil yang lebih dari satu fungsi Dari enelitian ini MOGA NSGA II daat digunakan untuk dikembangkan jumlah fungsi yang akan dicari solusi otimal bersamanya untuk menambah erilaku dari agent. Selain itu juga daat ditambah variable factor yang memengaruhi fungsi objective sehingga daat dihasilkan game ermainan bulutangkis yang lebih menarik C-5-7
Program Studi MMT-ITS, Surabaya 6 Pebruari 00 DAFTAR PUSTAKA Coello, C. A. C. A Comrehensive Survey of Evolutionarybased Multiobjective Otimization Techniques. KAIS 9 56. 999. Htt://id.wikiedia.org/wiki/Bulutangkis. Jacob Schrum and Risto Miikkulainen. Constructing Comle NPC Behavior via Multi- Objective Neuroevolution. Proceedings of the Fourth Artificial Intelligence and Interactive Digital Entertainment Conference 008. Jong, E. D.; Watson, R.; and Pollack, J. Reducing Bloat and Promoting Diversity using Multi-objective Methods. GECCO. 00. Klein, J. 003. BREVE: a 3D Environment for The Simulation of Decentralized Systems and Artificial Life. ALIFE 39 334. Tamaki, H.; Kita, H.; and Kobayashi, S. Multi-objective Otimization by Genetic Algorithms: a review. Evol. Comut.996. Yau, Y. J.; Teo, J.; and Anthony, P. Pareto Evolution and Co-evolution in Cognitive Game AI Synthesis. EMO 7 4.007. Srinivas Mukkamala, Andrew Sung, Feature Ranking and Selection for Intrusion Detection, Proceedings of the International Conference on Information and Knowledge Engineering IKE 00, June 00. C-5-8