dan abstrak - sinta.unud.ac.id · elemen berikutnya dari suatu urutan ... agent controller for...
TRANSCRIPT
iii
Judul : Penerapan Backpropagation Through Time dan Nondominated
Sorting Genetic Algorithm II pada Proses Meniru Gaya
Bermain dalam Permainan Komputer Balap Mobil
Nama : I Putu Yudi Haryasa (NIM: 1108605027)
Pembimbing : 1. Agus Muliantara, S.Kom., M.Kom.
2. I Putu Gede Hendra Suputra, S.Kom., M.Kom.
ABSTRAK
Peniruan atau pemodelan gaya bermain dimaksudkan sebagai
pembentukan pengontrol untuk agen permainan komputer yang dapat memainkan
permainan dengan cara yang mirip dengan pemain tertentu. Pengontrol yang
dibentuk berupa kecerdasan buatan yang dalam memainkan suatu permainan
tertentu, memiliki gaya bermain yang mirip dengan pemain manusia yang
dimodelkan.
Permasalahan peniruan perilaku pemain dapat dilihat sebagai sequence
learning problem (berjenis sequence prediction, yaitu upaya untuk memprediksi
elemen berikutnya dari suatu urutan berdasarkan semua elemen sebelumnya),
sehingga akan digunakan salah satu algoritma supervised learning standar untuk
melatih jaringan recurrent yaitu Backpropagation Through Time (BPTT). BPTT
akan dikombinasikan secara sekuensial dengan salah satu algoritma multiobjective
evolutionary yaitu Nondominated Sorting Genetic Algorithm II (NSGA II).
Implementasi dilakukan dalam konteks memodelkan gaya bermain dalam
permainan balap mobil TORCS.
Dilakukan evaluasi ukuran fitness menggunakan empat ukuran yaitu MSE
(mean squared error) dari perintah setir, MSE dari perintah akselerasi dan
perintah rem, MSE dari waktu tempuh, dan MSE dari kerusakan yang dilakukan
oleh pengemudi buatan dibandingkan dengan pemain yang ditiru. Hasil pelatihan
menggunakan algoritma BPTT dalam kasus terbaik mampu mencapai nilai
0,119819, 0,148762, 30,544044, dan 37636. Sedangkan hasil pelatihan
menggunakan kombinasi algoritma BPTT dan NSGA II dalam kasus terbaik
mampu mencapai nilai 0,120284, 0,144785, 18,731584, dan 24858,77778. Hal ini
menunjukkan bahwa pengemudi buatan hasil dari kombinasi algoritma BPTT dan
NSGA II belum mampu untuk sepenuhnya mengungguli pengemudi buatan hasil
dari algoritma BPTT saja dalam keempat ukuran fitness. Selain itu, dengan
menggunakan evaluasi phenomenological ditemukan bahwa pengembangan yang
dilakukan dengan algoritma NSGA II belum mampu memberikan perubahan yang
signifikan secara visual terhadap pengemudi buatan hasil pelatihan dengan
algoritma BPTT saja.
Kata kunci: Peniruan gaya bermain, permainan komputer balap mobil, sequence
learning, supervised learning, multiobjective evolutionary.
iv
Title : The Application of Backpropagation Through Time and
Nondominated Sorting Genetic Algorithm II in the Playing
Style Imitating Process on the Computer Games of Car Racing
Name : I Putu Yudi Haryasa (NIM: 1108605027)
Supervisors : 1. Agus Muliantara, S.Kom., M.Kom.
2. I Putu Gede Hendra Suputra, S.Kom., M.Kom.
ABSTRACT
Imitation or modeling of playing style of play is defined as a formation of
agent controller for computer games that can play the game in a manner similar to
certain players. The controller is made in the form of artificial intelligence in
playing a particular game that has a style of play that is similar to the human
player being modeled.
Problems of imitation of the behavior of the players can be seen as the
sequence learning problems (in the kind of sequence prediction, which attempts to
predict the next element of a sequence based on all the previous elements), so it
will be used one of the standard supervised learning algorithms to train the
recurrent of network namely Backpropagation Through Time (BPTT). BPTT will
be combined sequentially with one of the multiobjective evolutionary algorithms,
i.e. Nondominated Sorting Genetic Algorithm II (NSGA II). The implementation
was conducted in the context of modeling the style of play in a car racing game of
TORCS.
It was conducted the evaluation of the size of the fitness by using four
sizes of MSE (mean squared error) from the steering wheel commands, MSE of
acceleration and braking commands, MSE of travel time, and the MSE of the
damage done by a driver made in comparison to players who were imitated. The
training result by using the BPTT algorithm in the best case was able to reach a
value of 0.119819, 0.148762, 30.544044, and 37636. While the training results by
using a combination of BPTT and NSGA II algorithm in the best case was able to
reach a value of 0.120284, 0.144785, 18.731584, and 24858.77778. This indicates
that the artificial intelligence based-driver as the result of a combination of BPTT
and NSGA II algorithm has not been able to completely surpass the artificial
driver of the algorithm results of BPTT only in the four sizes of fitness. In
addition, by using a phenomenological evaluation, it was found that the
development conducted by algorithms of NSGA II has not been able to provide
significant visual changes to the artificial driver as a result of training by BPTT
algorithm only.
Keywords: Imitation of the style of play, computer games of car racing, sequence
learning, supervised learning, evolutionary multiobjective.
v
KATA PENGANTAR
Puji syukur dipanjatkan kehadirat Tuhan Yang Maha Esa karena atas
rahmat-Nya penelitian dengan judul “Penerapan Backpropagation Through Time
dan Nondominated Sorting Genetic Algorithm II pada Proses Meniru Gaya
Bermain dalam Permainan Komputer Balap Mobil” ini dapat diselesaikan dengan
baik. Penelitian ini disusun dalam rangkaian kegiatan pelaksanaan Tugas Akhir di
Jurusan Ilmu Komputer FMIPA UNUD dan dilaksanakan pada periode Agustus
2016 hingga Maret 2017 di Universitas Udayana.
Sehubungan dengan telah terselesaikannya penelitian ini, maka diucapkan
terima kasih dan penghargaan kepada berbagai pihak yang telah membantu
penyusun, antara lain:
1. Bapak Agus Muliantara, S.Kom., M.Kom. sebagai pembimbing I yang telah
banyak meluangkan waktu untuk memberikan petunjuk dalam pelaksanaan
penelitian ini.
2. Bapak I Putu Gede Hendra Suputra, S.Kom., M.Kom. sebagai pembimbing II
yang telah banyak meluangkan waktu untuk memberikan petunjuk dalam
pelaksanaan penelitian ini.
3. Bapak-bapak dan ibu-ibu dosen Jurusan Ilmu Komputer FMIPA yang telah
meluangkan waktu turut memberikan saran dan masukan dalam pelaksanaan
penelitian ini.
4. Keluarga dan teman-teman di Jurusan Ilmu Komputer yang telah memberikan
dukungan moral dalam penyelesaian proposal ini.
Disadari pula bahwa hasil-hasil dari penelitian ini masih mengandung
kelemahan dan kekurangan. Memperhatikan hal ini, maka masukan dan saran-
saran penyempurnaan sangat diharapkan.
Bukit Jimbaran, Maret 2017
Penyusun
I Putu Yudi Haryasa
vi
DAFTAR ISI
LEMBAR JUDUL ................................................................................................... i
LEMBAR PENGESAHAN TUGAS AKHIR ........................................................ ii
ABSTRAK ............................................................................................................. iii
ABSTRACT ........................................................................................................... iv
KATA PENGANTAR ............................................................................................ v
DAFTAR ISI .......................................................................................................... vi
DAFTAR TABEL .................................................................................................. ix
DAFTAR GAMBAR ............................................................................................. xi
DAFTAR LAMPIRAN ........................................................................................ xiv
BAB I PENDAHULUAN ....................................................................................... 1
1.1. Latar Belakang ........................................................................................ 1
1.2. Rumusan Masalah .................................................................................. 3
1.3. Batasan Masalah ..................................................................................... 3
1.4. Tujuan Penelitian .................................................................................... 4
1.5. Manfaat Penelitian .................................................................................. 4
1.6. Metodelogi Penelitian ............................................................................. 4
1.6.1. Gambaran Umum Sistem ................................................................... 6
1.6.2. Pengumpulan Data ............................................................................. 9
1.6.3. Metode yang Digunakan .................................................................. 13
1.6.4. Eksperimen ...................................................................................... 15
1.6.5. Evaluasi ............................................................................................ 15
BAB II TINJAUAN PUSTAKA ........................................................................... 17
2.1. Backpropagation Through Time ........................................................... 17
2.1.1. Backpropagation .............................................................................. 18
2.1.2. Backpropagation dengan Perbedaan Waktu .................................... 23
2.2. Nondominated Sorting Genetic Algorithm II ....................................... 24
2.2.1. Solusi Pareto-optimal ....................................................................... 25
2.2.2. Pendekatan Nondominated Sorting ................................................. 26
2.2.3. Mempertahankan Keragaman .......................................................... 26
2.2.4. Proses Utama NSGA-II .................................................................... 28
2.3. Perilaku Dapat Dipercaya dan Peniruan Perilaku Pemain ................... 29
vii
2.4. Direct Modelling dan Indirect Modelling ............................................. 30
2.5. The Open Racing Car Simulator (TORCS) .......................................... 31
2.5.1. Sensor ............................................................................................... 32
2.5.2. Aktuator ........................................................................................... 33
2.6. Tinjauan Studi ...................................................................................... 33
BAB III ANALISIS DAN PERANCANGAN ..................................................... 36
3.1. Kebutuhan Fungsional .......................................................................... 36
3.1.1. Mengontrol Mobil ............................................................................ 36
3.1.2. Mengemudi Secara Manual ............................................................. 36
3.1.3. Mengemudi dengan Pengemudi Buatan .......................................... 36
3.1.4. Melakukan Prosedur Pengontrolan Otomatis .................................. 36
3.1.5. Merekam Data Pemain ..................................................................... 37
3.1.6. Membaca Data Rekaman Pemain .................................................... 37
3.1.7. Melatih Pengemudi Buatan Awal .................................................... 38
3.1.8. Melatih Pengemudi-Pengemudi Buatan Akhir ................................ 38
3.1.9. Melakukan Klasterisasi Pengemudi-Pengemudi Buatan Akhir ....... 38
3.2. Rancangan Arsitektur Sistem ............................................................... 39
3.2.1. Rancangan Arsitektur Pengemudi Buatan ....................................... 40
3.3. Rancangan Data .................................................................................... 42
3.3.1. Data Rekaman Pemain ..................................................................... 43
3.3.2. Data File Pengemudi ........................................................................ 44
3.4. Rancangan Proses ................................................................................. 46
3.5. Rancangan Prosedural .......................................................................... 48
3.5.1. Mengontrol Mobil ............................................................................ 48
3.5.2. Mengemudi Secara Manual ............................................................. 51
3.5.3. Mengemudi dengan Pengemudi Buatan .......................................... 52
3.5.4. Melakukan Prosedur Pengontrolan Otomatis .................................. 53
3.5.5. Merekam Data Pemain ..................................................................... 58
3.5.6. Membaca Data Rekaman Pemain .................................................... 60
3.5.7. Melatih Pengemudi Buatan Awal .................................................... 62
3.5.8. Melatih Pengemudi-Pengemudi Buatan Akhir ................................ 69
3.5.9. Melakukan Klasterisasi Pengemudi-Pengemudi Buatan Akhir ....... 74
3.6. Rancangan Eksperimen ........................................................................ 78
3.6.1. Eksperimen Jumlah Hidden Neuron dan Learning Rate BPTT ...... 79
viii
3.6.2. Eksperimen Mutation Random Variance NSGA II ......................... 79
3.7. Rancangan Evaluasi .............................................................................. 81
3.7.1. Evaluasi Ukuran Fitness .................................................................. 81
3.7.2. Evaluasi Phenomenological ............................................................. 82
BAB IV HASIL DAN PEMBAHASAN .............................................................. 86
4.1. Implementasi Sistem ............................................................................ 86
4.1.1. Implementasi Pengontrolan Mobil ................................................... 86
4.1.2. Implementasi Perekaman Data Pemain ........................................... 90
4.1.3. Implementasi Pembacaan Data Rekaman Pemain ........................... 91
4.1.4. Implementasi Pelatihan Pengemudi Buatan Awal ........................... 93
4.1.5. Implementasi Pelatihan Pengemudi-Pengemudi Buatan Akhir ....... 96
4.1.6. Implementasi Klasterisasi Pengemudi-Pengemudi Buatan Akhir . 101
4.2. Pengumpulan Data .............................................................................. 104
4.3. Eksperimen ......................................................................................... 105
4.3.1. Eksperimen Jumlah Hidden Neuron dan Learning Rate BPTT .... 105
4.3.2. Eksperimen Mutation Random Variance NSGA II ....................... 107
4.4. Evaluasi .............................................................................................. 109
4.4.1. Pelatihan Pengemudi Buatan ......................................................... 110
4.4.2. Evaluasi Ukuran Fitness ................................................................ 115
4.4.3. Evaluasi Phenomenological ........................................................... 121
BAB V KESIMPULAN DAN SARAN .............................................................. 125
5.1. Kesimpulan ......................................................................................... 125
5.2. Saran ................................................................................................... 126
DAFTAR PUSTAKA ......................................................................................... 128
LAMPIRAN
ix
DAFTAR TABEL
Tabel 1.1 Daftar sensor yang digunakan ............................................................... 10
Tabel 1.2 Daftar aktuator yang digunakan ............................................................ 10
Tabel 1.3 Daftar sensor lain .................................................................................. 11
Tabel 1.4 Daftar aktuator lain ............................................................................... 11
Tabel 3.1 Atribut-atribut class diagram pengemudi buatan ................................. 45
Tabel 3.2 Rentang nilai output .............................................................................. 67
Tabel 3.3 Nilai minimum dan maksimum dari ukuran-ukuran fitness.................. 76
Tabel 3.4 Prosedur untuk pelatihan dan evaluasi supervised neural network....... 82
Tabel 3.5 Daftar pengemudi yang dibandingkan .................................................. 84
Tabel 3.6 Rancangan presentasi hasil dari survei online ...................................... 85
Tabel 4.1 Rincian data rekaman pemain 1 .......................................................... 104
Tabel 4.2 Rincian data rekaman pemain 2 .......................................................... 104
Tabel 4.3 Nilai error test set hasil eksperimen .................................................... 105
Tabel 4.4 Waktu pelatihan ketika kriteria pemberhentian terpenuhi .................. 105
Tabel 4.5 Nilai error training set hasil eksperimen............................................. 106
Tabel 4.6 Hasil eksperimen mutation random variance NSGA II...................... 108
Tabel 4.7 Error test set dari pengemudi buatan awal yang dihasilkan ................ 110
Tabel 4.8 Jumlah epoch dan waktu pelatihan saat kriteria pemberhentian terpenuhi
........................................................................................................................ 110
Tabel 4.9 Hasil klasterisasi pengemudi-pengemudi buatan akhir dari pemain 1 113
Tabel 4.10 Hasil klasterisasi pengemudi-pengemudi buatan akhir dari pemain 2
........................................................................................................................ 114
Tabel 4.11 Hasil evaluasi ukuran fitness pengemudi buatan dari pemain 1 ....... 117
Tabel 4.12 Hasil evaluasi ukuran fitness pengemudi buatan dari pemain 2 ....... 117
Tabel 4.13 Rata-rata waktu tempuh dan kerusakan putaran pengemudi-pengemudi
buatan dari pemain 1 ...................................................................................... 117
Tabel 4.14 Rata-rata waktu tempuh dan kerusakan putaran pengemudi-pengemudi
buatan dari pemain 2 ...................................................................................... 118
x
Tabel 4.15 Ukuran fitness pengemudi buatan awal dari pemain 1 pada masing-
masing trek ..................................................................................................... 119
Tabel 4.16 Ukuran fitness pengemudi buatan akhir 924 dari pemain 1 pada
masing-masing trek ........................................................................................ 119
Tabel 4.17 Ukuran fitness pengemudi buatan awal dari pemain 2 pada masing-
masing trek ..................................................................................................... 119
Tabel 4.18 Ukuran fitness pengemudi buatan akhir 975 dari pemain 2 pada
masing-masing trek ........................................................................................ 119
Tabel 4.19 Rata-rata waktu tempuh dan kerusakan putaran pengemudi buatan
awal dari pemain 1 ......................................................................................... 120
Tabel 4.20 Rata-rata waktu tempuh dan kerusakan putaran pengemudi buatan
akhir dari pemain 1 ......................................................................................... 120
Tabel 4.21 Rata-rata waktu tempuh dan kerusakan putaran pengemudi buatan
awal dari pemain 2 ......................................................................................... 120
Tabel 4.22 Rata-rata waktu tempuh dan kerusakan putaran pengemudi buatan
akhir dari pemain 2 ......................................................................................... 120
Tabel 4.23 Hasil survei online dengan video acuan pemain 1 ............................ 122
Tabel 4.24 Hasil survei online dengan video acuan pemain 2 ............................ 122
Tabel 4.25 Hasil pengujian Mann-Whitney U pada hasil survei dengan video
acuan pemain 1 ............................................................................................... 124
Tabel 4.26 Hasil pengujian Mann-Whitney U pada hasil survei dengan video
acuan pemain 2 ............................................................................................... 124
Tabel 4.27 Nilai kritis dari U (𝛼 = 0,05) untuk setiap pasang pengemudi ........ 124
xi
DAFTAR GAMBAR
Gambar 1.1 Metodelogi penelitian .......................................................................... 5
Gambar 1.2 Tugas utama sistem ............................................................................. 7
Gambar 1.3 Skema sistem dalam mengontrol mobil .............................................. 7
Gambar 1.4 Skema mengemudi secara manual ...................................................... 8
Gambar 1.5 Skema mengemudi dengan pengemudi buatan ................................... 8
Gambar 1.6 Ilustrasi pengumpulan data pemain ..................................................... 9
Gambar 1.7 Trek 1: CG Speedway number 1 ....................................................... 12
Gambar 1.8 Trek 2: Alpine 1 ................................................................................ 12
Gambar 1.9 Trek 3: E-Track 3 .............................................................................. 13
Gambar 1.10 Trek 4: Street-1................................................................................ 13
Gambar 1.11 Trek 5: CG track 3 ........................................................................... 13
Gambar 1.12 Skema umum dari kombinasi algoritma yang digunakan ............... 14
Gambar 2.1 Generalisasi desain jaringan dengan perbedaan waktu ..................... 18
Gambar 2.2 Desain jaringan backpropagation standar ......................................... 20
Gambar 2.3 Alur mundur dalam perhitungan derivatif ......................................... 22
Gambar 2.4 Perhitungan crowding distance ......................................................... 27
Gambar 2.5 Tampilan TORCS .............................................................................. 32
Gambar 2.6 Arsitektur dari perangkat lunak kompetisi ........................................ 32
Gambar 3.1 Rancangan arsitektur sistem .............................................................. 39
Gambar 3.2 Rancangan arsitektur jaringan saraf tiruan dari pengemudi buatan .. 41
Gambar 3.3 Struktur file rekaman pemain ............................................................ 43
Gambar 3.4 Pembagian data penelitian ................................................................. 44
Gambar 3.5 Class diagram dari pengemudi buatan .............................................. 45
Gambar 3.6 Pembentukan file pengemudi ............................................................ 45
Gambar 3.7 Rancangan proses utama sistem ........................................................ 46
Gambar 3.8 Diagram alir prosedur mengontrol mobil .......................................... 49
Gambar 3.9 Diagram alir prosedur mengontrol mobil (lanjutan) ......................... 50
Gambar 3.10 Diagram alir prosedur mengemudi secara manual .......................... 51
xii
Gambar 3.11 Diagram alir prosedur mengemudi dengan pengemudi buatan ....... 52
Gambar 3.12 Diagram alir prosedur pemulihan otomatis ..................................... 54
Gambar 3.13 Diagram alir prosedur pengereman ABS ........................................ 56
Gambar 3.14 Diagram alir prosedur transmisi otomatis ....................................... 57
Gambar 3.15 Diagram alir prosedur kopling otomatis.......................................... 58
Gambar 3.16 Diagram alir prosedur merekam data pemain ................................. 59
Gambar 3.17 Diagram alir prosedur membaca data rekaman pemain .................. 61
Gambar 3.18 Diagram alir pelatihan pengemudi buatan awal .............................. 63
Gambar 3.19 Diagram alir pelatihan pengemudi-pengemudi buatan akhir .......... 71
Gambar 3.20 Representasi Individu ...................................................................... 73
Gambar 3.21 Pengukuran nilai fitness dengan simulasi ....................................... 73
Gambar 3.22 Diagram alir klasterisasi pengemudi-pengemudi buatan akhir ....... 75
Gambar 4.1 Tampilan antarmuka tab Driving ...................................................... 87
Gambar 4.2 Pengontrolan mobil pada TORCS dalam satu komputer .................. 89
Gambar 4.3 Contoh isi dari file rekaman pemain ................................................. 90
Gambar 4.4 Beberapa file rekaman pemain yang dihasilkan ................................ 91
Gambar 4.5 Tampilan antarmuka tab Records Selector........................................ 92
Gambar 4.6 Tampilan antarmuka tab Supervised Learning.................................. 95
Gambar 4.7 File-file yang dihasilkan dari pelatihan pengemudi buatan awal ...... 95
Gambar 4.8 Tampilan antarmuka tab Multiobjective Evolution ........................... 98
Gambar 4.9 File dan direktori yang dihasilkan dari pelatihan pengemudi-
pengemudi buatan akhir ................................................................................... 99
Gambar 4.10 Direktori yang menyimpan pareto front dari setiap generasi ......... 99
Gambar 4.11 Direktori-direktori pengemudi buatan pada suatu generasi .......... 100
Gambar 4.12 File pengemudi buatan dalam direktori pengemudi buatan .......... 100
Gambar 4.13 Tampilan antarmuka tab Clustering .............................................. 102
Gambar 4.14 File dan direktori tambahan yang dihasilkan proses klasterisasi .. 103
Gambar 4.15 Isi dari direktori LastParetoFrontClustering ................................ 103
Gambar 4.16 Grafik hasil eksperimen jumlah hidden neuron dan learning rate 107
Gambar 4.17 Grafik hasil eksperimen mutation random variance NSGA II ..... 108
xiii
Gambar 4.18 Scatter plot nilai ukuran fitness pengemudi buatan akhir pemain 1
........................................................................................................................ 111
Gambar 4.19 Scatter plot nilai ukuran fitness pengemudi buatan akhir pemain 2
........................................................................................................................ 112
Gambar 4.20 Scatter plot ukuran fitness pengemudi buatan akhir terpilih dari
pemain 1 ......................................................................................................... 114
Gambar 4.21 Scatter plot ukuran fitness pengemudi buatan akhir terpilih dari
pemain 2 ......................................................................................................... 115
Gambar 4.22 Contoh tampilan survei online yang dilakukan ............................. 121
xiv
DAFTAR LAMPIRAN
Lampiran
1. Hasil Pelatihan Pengemudi-Pengemudi Buatan Akhir
2. Transkrip Hasil Survei Online dalam Evaluasi Phenomenological
1
BAB I
PENDAHULUAN
1
1.1. Latar Belakang
Peniruan atau pemodelan gaya bermain dimaksudkan sebagai
pembentukan pengontrol untuk agen permainan komputer yang dapat memainkan
permainan dengan cara yang mirip dengan pemain tertentu (Hoorn et al, 2009).
Pengontrol yang dibentuk berupa kecerdasan buatan yang dalam memainkan
suatu permainan tertentu, memiliki gaya bermain yang mirip dengan pemain
manusia yang dimodelkan.
Terdapat beberapa alasan untuk membangun pengontrol yang dapat
memainkan suatu permainan dengan cara yang mirip dengan manusia (human-
like) atau bahkan dengan cara yang mirip dengan manusia tertentu. Pertama,
terdapat asumsi umum bahwa dengan adanya agen permainan komputer (biasa
disebut NPC (Non-player Character)) yang memiliki believable behaviour
(perilaku dapat dipercaya) dalam sebuah permaian, misal sebagai lawan atau
rekan satu tim, dapat membuat permainan tersebut lebih menyenangkan dan
menarik (Ortega et al, 2013). Agen permainan komputer yang dapat bermain
dengan cara yang mirip dengan pemain juga dapat membantu mendemonstrasikan
bagaimana memainkan permainan secara umum atau memainkan level permainan
tertentu, sehingga memungkinkan demonstrasi yang diberikan akan lebih berguna
atau lebih mudah diterima (Ortega et al, 2013). Alasan lain adalah bahwa
mungkin akan berguna jika dapat mengetahui bagaimana performa pemain
tertentu dalam memainkan suatu konten permainan, misalnya sebuah level
permainan, tanpa pemain perlu menghabiskan waktu memainkan konten
permainan tersebut (Ortega et al, 2013). Secara khusus, hal ini sangat berguna
dalam automatic personalized content creation seperti yang dilakukan oleh
Togelius et al (2007).
Secara umum terdapat dua pendekatan metode yang digunakan untuk
memodelkan gaya bermain pemain, yaitu metode direct dan indirect modelling
2
(Hoorn et al, 2009). Namun pendekatan-pendekatan tersebut memiliki
kekurangannya masing-masing. Idealnya, keuntungan dari kedua pendekatan
tersebut ingin dikombinasikan menjadi sebuah metode pemodelan yang lebih
baik. Salah satu metode yang dianggap ideal adalah Multiobjective Optimization
Evolutionary Algorithm (MOEA). MOEA mengevaluasi setiap solusi berdasarkan
sejumlah objektif dan membuat Pareto front dari nondominated solution (Hoorn
et al, 2009). Dalam penelitian ini, MOEA akan digunakan untuk membangun
pengontrol yang mereproduksi aspek perilaku atau gaya bermain pemain
menggunakan beberapa objektif terkait dengan kriteria-kriteria yang akan ditiru
dari pemain yang dimodelkan. Idenya adalah bahwa dalam melakukan pemodelan,
pendekatan ini dapat mengkombinasikan generalitas dari indirect modelling dan
reproduksi perilaku pemain yang lebih meyakinkan dari direct modelling.
Diyakini bahwa membuat pengontrol agen permainan yang dapat
memainkan permainan dengan cara yang mirip dengan manusia adalah masalah
yang belum terpecahkan sepenuhnya dalam penelitian kecerdasan buatan dalam
permainan komputer. Melihat hal tersebut, dalam penelitian ini akan dicoba
melakukan pengembangan pada metode yang digunakan pada penelitian
sebelumnya oleh Hoorn et al (2009). Permasalahan peniruan perilaku pemain
dapat dilihat sebagai sequence learning problem, sehingga akan digunakan salah
satu algoritma supervised learning standar untuk melatih jaringan recurrent yaitu
Backpropagation Through Time (BPTT). BPTT akan dikombinasikan dengan
salah satu algoritma multiobjective evolutionary seperti yang digunakan oleh
Hoorn et al (2009) yaitu Nondominated Sorting Genetic Algorithm II (NSGA II)
dengan cara, pertama-tama jaringan dilatih terhadap data perilaku pemain
menggunakan BPTT, kemudian menggunakannya sebagai benih untuk proses
NSGA II.
Dalam penelitian ini, implementasi dilakukan dalam konteks memodelkan
gaya bermain dalam permainan balap mobil TORCS. Untuk memperjelas maksud
dan menyesuaikan dengan konteks penelitian, selanjutnya istilah pengontrol akan
digantikan dengan istilah pengemudi buatan. Didefinisikan empat ukuran fitness
yang terinspirasi dari ukuran yang digunakan oleh Hoorn et al (2009) dan Muñoz
3
et al (2012) terkait seberapa baik pengemudi buatan meniru gaya bermain pemain
yaitu perilaku setir, perilaku akselerasi, waktu tempuh per putaran dan kerusakan
mobil per putaran.
1.2. Rumusan Masalah
Beberapa pertanyaan khusus yang akan coba dijawab dalam penelitian ini:
a) Seberapa baik peniruan gaya bermain yang dilakukan oleh pengemudi
buatan yang hanya dilatih dengan algoritma Backpropagation Through
Time? Apakah secara visual terlihat menyerupai pemain yang ditiru?
b) Seberapa baik peniruan gaya bermain yang dilakukan oleh pengemudi
buatan yang dilatih dengan kombinasi algoritma Backpropagation
Through Time dan Nondominated Sorting Genetic Algorithm II? Apakah
secara visual terlihat menyerupai pemain yang ditiru?
c) Dalam melatih pengemudi buatan menggunakan algoritma Nondominated
Sorting Genetic Algorithm II, akankah ada tradeoff dalam memenuhi
objektif-objektif terkait seberapa baik peniruan yang dilakukan?
d) Bagaimanakah pengaruh pengembangan yang dilakukan dengan algoritma
Nondominated Sorting Genetic Algorithm II terhadap pengemudi buatan
benih hasil dari proses algoritma Backpropagation Through Time?
1.3. Batasan Masalah
Sistem yang dikembangkan untuk meniru gaya bermain dalam penelitian
ini bersifat umum, tidak terbatas untuk meniru pemain tertentu saja. Namun,
penelitian dilakukan untuk lingkungan permainan khusus dengan spesifikasi
sebagai berikut:
a) Implementasi dilakukan menggunakan perangkat lunak permainan balap
mobil sumber terbuka The Open Racing Car Simulator (TORCS).
b) Simulasi dilakukan dengan tanpa adanya lawan.
c) Jenis mobil yang digunakan pada tahap pelatihan sama dengan jenis mobil
yang digunakan pada tahap evaluasi.
4
d) Sistem hanya meniru perilaku aktuator gas, rem, dan setir dari pemain.
Sedangkan untuk transmisi dan kopling menggunakan mode otomatis yang
diatur menggunakan prosedur tertanam dalam kode sumber.
e) Sistem tidak meniru perilaku pemulihan mobil saat tersangkut. Untuk itu
mobil menggunakan prosedur pemulihan otomatis saat tersangkut yang
diatur menggunakan prosedur tertanam dalam kode sumber.
1.4. Tujuan Penelitian
Penelitian ini bertujuan untuk mendemonstrasikan dan menyempurnakan
metode yang diperlukan untuk melakukan peniruan gaya bermain khususnya
dalam permainan komputer balap mobil.
1.5. Manfaat Penelitian
Manfaat penelitian ini dibagi menjadi manfaat ilmiah dan manfaat praktis,
yaitu sebagai berikut:
a) Manfaat Ilmiah
Memberikan sumbangan pemikiran atau menambah informasi bagi
perkembangan dalam bidang sequence learning dan multiobjective
optimization.
b) Manfaat Praktis
Memberikan acuan pada industri permainan komputer untuk menerapkan
metode peniruan gaya bermain, khusunya dalam permainan komputer
balap mobil. Diharapkan peniruan gaya bermain dapat lebih efektif
penggunaannya pada fitur-fitur permainan yang telah dijelaskan
sebelumnya atau bahkan ditemukan fitur baru sebagai penggunaan dari
peniruan gaya bermain ini di berbagai jenis permainan komputer lainnya.
Hal ini pada akhirnya akan berdampak pada peningkatan pengalaman
bermain bagi pemain.
1.6. Metodelogi Penelitian
Penelitian ini menggunakan desain eksperimental (Hasibuan, 2007).
Adapun metodelogi yang digunakan dalam penelitian ini meliputi beberapa
5
tahapan yang diilustrasikan pada Gambar 1.1 yaitu sebagai berikut: (1)
Identifikasi masalah, pada tahap ini dilakukan identifikasi terhadap permasalahan
yang ada. (2) Studi literatur, dimana literatur-literatur diambil dari penelitian-
penelitian sebelumnya berupa jurnal-jurnal ilmiah maupun dari beberapa buku. (3)
Perancangan sistem, dimana berdasarkan hasil studi literatur, dilakukan desain
arsitektur sistem pengemudi buatan yang memperoleh pengetahuan dengan cara
meniru gaya bermain pemain. Sistem pengemudi buatan menggunakan jaringan
saraf tiruan sebagai komponen kecerdasan buatan untuk mengontrol pergerakan
mobil dalam permainan. (4) Implementasi sistem menggunakan bahasa
pemrograman Java. (5) Pengumpulan data, dimana data akan diperoleh dari dua
pemain, yang salah satunya memiliki kategori kemampuan bermain baik dan yang
lainnya memiliki kemampuan bermain buruk.
(1) Identifikasi masalah
(2) Studi literatur
(4) Implementasi sistem
(5) Pengumpulan data
(6) Eksperimen
(7) Evaluasi
(8) Penarikan kesimpulan
(3) Perancangan sistem
Gambar 1.1 Metodelogi penelitian
6
(6) Eksperimen, dilakukan dengan memberikan perlakuan berbeda-beda terhadap
konfigurasi jaringan saraf tiruan dan parameter pelatihan algoritma
Backpropagation Through Time dan Nondominated Sorting Genetic Algorithm II
untuk memperoleh konfigurasi jaringan dan parameter terbaik. (7) Evaluasi,
dilakukan untuk melihat seberapa baik peniruan gaya bermain yang dilakukan
oleh pengemudi buatan yang dilatih dengan algoritma Backpropagation Through
Time dan Nondominated Sorting Genetic Algorithm II. Disamping itu, evaluasi
juga dilakukan untuk melihat pengaruh pengembangan yang dilakukan dengan
algoritma Nondominated Sorting Genetic Algorithm II terhadap pengemudi buatan
benih hasil dari proses algoritma Backpropagation Through Time. (8) Penarikan
kesimpulan, dimana hasil evaluasi pada tahap 7 akan digunakan sebagai dasar
untuk penarikan kesimpulan.
1.6.1. Gambaran Umum Sistem
Sistem yang dibangun dalam penelitian ini secara umum memiliki dua
tugas utama seperti yang diilustrasikan pada Gambar 1.2, yaitu mengontrol mobil
dan melatih pengemudi buatan. Tugas mengontrol mobil berarti sistem
berkomunikasi dengan TORCS untuk mengendalikan mobil dalam permainan.
Sedangkan yang dimaksud tugas melatih pengemudi buatan yaitu sistem
mempelajari data rekaman pemain untuk menghasilkan pengemudi buatan yang
memiliki gaya bermain mirip dengan pemain, atau dengan kata lain meniru gaya
bermain pemain. Bagian ini akan menjelaskan lebih lanjut mengenai tugas
mengontrol mobil. Sedangkan tugas melatih pengemudi buatan akan dijelaskan
lebih lanjut pada bagian 1.6.3.
Skema sistem dalam melakukan pengontrolan mobil ditunjukkan pada
Gambar 1.3. Penelitian ini menggunakan TORCS versi kompetisi Simulated Car
Racing Championship 2013 (Loiacono et al, 2013). Saat melakukan pengontrolan
mobil, TORCS mengirim nilai dari sensor-sensor mobil dalam permainan kepada
sistem, yang kemudian akan dibalas oleh sistem dengan mengirimkan nilai-nilai
aktuator sebagai aksi yang dilakukan mobil. Hal ini dilakukan terus menerus
7
selama pengontrolan berlangsung, sehingga pergerakan mobil dalam permainan
diatur sepenuhnya oleh sistem.
Sistem Peniruan Gaya Bermain
Mengontrol MobilMelatih Pengemudi
Buatan
Gambar 1.2 Tugas utama sistem
Sistem Peniruan Gaya Bermain
Nilai aktuator
Nilai sensor
TORCS
Gambar 1.3 Skema sistem dalam mengontrol mobil
Dalam melakukan pengontrolan mobil, sistem dapat melakukannya secara
manual (mengemudi secara manual) maupun dengan pengemudi buatan hasil dari
proses pelatihan (mengemudi dengan pengemudi buatan). Saat mengemudi secara
manual, nilai-nilai aktuator diputuskan dengan membaca masukan langsung dari
pemain pada antarmuka gamepad, seperti yang diilustrasikan pada Gambar 1.4.
Mengemudi secara manual dilakukan pada proses pengumpulan data pemain.
Sedangkan dalam mengemudi dengan pengemudi buatan, digunakan
komponen kecerdasan buatan berupa jaringan saraf tiruan (JST). Proses
mengemudi dilakukan dengan cara menerima masukan berupa sensor-sensor,
kemudian memutuskan nilai-nilai aktuator dengan bantuan jaringan saraf tiruan
yang memiliki pengetahuan mengemudi dari hasil meniru pemain. Skema dari
8
proses mengemudi dengan pengemudi buatan ditunjukkan pada Gambar 1.5.
Pembentukan pengemudi buatan merupakan fokus dari penelitian ini, yang mana
akan digunakan kombinasi dari dua algoritma utama yaitu BPTT dan NSGA II
untuk melatih pengemudi buatan dengan menggunakan data pemain.
AktuatorSensor
Nilai gas, rem, dan setir
Mengemudi secara manual
Masukan langsung
Gambar 1.4 Skema mengemudi secara manual
AktuatorSensor
Nilai sensor speedX, angle, trackPos, dan
track
Nilai gas, rem, dan setir
Mengemudi dengan pengemudi buatan
Jaringan saraf tiruan
Gambar 1.5 Skema mengemudi dengan pengemudi buatan
9
1.6.2. Pengumpulan Data
Data penelitian yang digunakan berupa file rekaman pemain saat
mengemudikan mobil dalam TORCS. File rekaman tersebut menyimpan catatan
nilai sensor-sensor input dan aktuator-aktuator pemain pada setiap step waktu
permainan. Data tersebut didapatkan dengan melakukan perekaman terhadap
pemain yang bermain melalui fungsionalitas mengemudi manual dari sistem yang
dibangun. Pemain akan menggunakan antarmuka gamepad saat bermain.
Antarmuka gamepad dipilih karena terdapat analog sticks yang dapat menangkap
nilai input lebih presisi daripada tombol biasa seperti pada antarmuka keyboard.
Pengumpulan data dilakukan pada dua pemain, yaitu pemain 1 (waktu
putaran lebih cepat dan jarang keluar dari trek) dan pemain 2 (waktu putaran lebih
lambat dan sering keluar dari trek). Setiap pemain akan mengemudi dalam
permainan TORCS pada lima buah trek yang masing-masing terdiri dari tiga
putaran. Pemain akan menghasilkan satu buah file rekaman setiap mengemudi
pada sebuah trek, sehingga setiap pemain akan menghasilkan lima buah file
rekaman pemain. Hal ini diilustrasikan pada Gambar 1.6.
File rekaman trek 1 File rekaman trek 2 File rekaman trek 3 File rekaman trek 4 File rekaman trek 5
File rekaman trek 1 File rekaman trek 2 File rekaman trek 3 File rekaman trek 4 File rekaman trek 5
PEMAIN 1Waktu putaran lebih cepat dan jarang keluar dari trek
PEMAIN 2Waktu putaran lebih lambat dan sering keluar dari trek
Gambar 1.6 Ilustrasi pengumpulan data pemain
10
1.6.2.1. Sensor dan Aktuator yang Digunakan
Tidak semua sensor dan aktuator yang disediakan pada perangkat lunak
kompetisi Simulated Car Racing Championship 2013 (Loiacono et al, 2013)
digunakan sebagai data dalam penelitian ini. Sensor-sensor masukan dan aktuator-
aktuator yang dipertimbangkan sebagai data dalam penelitian ini masing-masing
dapat dilihat pada Tabel 1.1 dan Tabel 1.2.
Tabel 1.1 Daftar sensor yang digunakan
Nama Rentang Deskripsi
speedX (−∞, +∞) (𝑘𝑚/ℎ) Kecepatan mobil pada aksis
longitudinal.
angle [−𝜋, 𝜋](𝑟𝑎𝑑) Sudut antara arah mobil dengan arah
aksis trek.
trackPos (−∞, +∞) Jarak antara aksis mobil dengan aksis
trek.
track [0, 200] (𝑚) Vektor 19 sensor rangefinder. Setiap
sensor menunjukkan jarak antara tepi
trek dan mobil pada rentang 200 meter
pada arah tertentu.
Tabel 1.2 Daftar aktuator yang digunakan
Nama Rentang Deskripsi
accel [0,1] Pedal gas virtual (0 berarti tidak ada gas, 1
berarti gas penuh).
brake [0,1] Pedal rem virtual (0 berarti tidak
mengerem, 1 berarti rem penuh).
steering [−1,1] Nilai setir: −1 dan 1 secara berurutan
berarti setir penuh ke kanan dan setir penuh
ke kiri, dengan sudut sebesar 0.366519 rad.
Terdapat beberapa data sensor lain yang digunakan dalam membantu
proses pelatihan dan evaluasi, seperti misalnya untuk menentukan nilai fitness dari
pengemudi buatan. Sensor-sensor tersebut dijelaskan pada Tabel 1.3. Terdapat
juga dua aktuator yang digunakan dalam proses pengontrolan mobil, namun tidak
digunakan dalam proses pelatihan karena nilai-nilainya telah diatur dengan
prosedur otomatis. Aktuator-aktuator tersebut dijelaskan pada Tabel 1.4.
11
Tabel 1.3 Daftar sensor lain
Nama Rentang Deskripsi
curLaptime [0, +1) (𝑠) Waktu yang ditempuh pada putaran saat
ini.
damage [0, +1) (𝑝𝑜𝑖𝑛𝑡) Kerusakan mobil saat ini.
distFromStart [0, +1) (𝑚) Jarak mobil dari garis start sepanjang
lintasan trek.
distRaced [0, +1) (𝑚) Jarak yang ditempuh mobil dari mulainya
balapan.
lastLapTime [0, +1) (𝑠) Waktu untuk menyelesaikan putaran
terakhir.
Tabel 1.4 Daftar aktuator lain
Nama Rentang Deskripsi
clutch [0,1] Pedal kopling virtual (0 berarti tidak
mengopling, 1 berarti kopling penuh)
gear -1, 0, 1, ..., 6 Nilai gigi transmisi
1.6.2.2. Trek yang Digunakan
Trek-trek yang digunakan adalah trek standar yang sudah terdapat dalam
TORCS. Lima buah trek dipilih dengan karakteristik dan tingkat kesulitan yang
berbeda-beda. Tiga dari lima trek tersebut (CG Speedway number 1, Alpine 1,
dan CG track 3) juga digunakan oleh Hoorn et al (2009), dua trek diantaranya
(CG Speedway number 1 dan Street 1) juga digunakan oleh Munoz et al (2012)
(2010), dan satu trek (E-Track 3) juga digunakan oleh Cardamone (2009) dalam
penelitiannya. Trek diberi nomor dari 1 sampai 5 dan ditunjukkan masing-masing
pada Gambar 1.7 sampai Gambar 1.11.
1) Trek 1: CG Speedway number 1
Trek yang cukup mudah, dengan bagian lurus yang panjang dan beberapa
tikungan tajam. Ketika keluar dari trek, untuk masuk lagi cukup mudah.
2) Trek 2: Alpine 1
Trek degan banyak tikungan tajam, dimana terdapat pembatas di sisi trek,
sehingga tidak mungkin untuk keluar dari trek.
3) Trek 3: E-Track 3
Trek yang berisi banyak tikungan cepat dan sulit. Juga terdapat rumput di
sepanjang sisi trek.
12
4) Trek 4: Street-1
Trek yang cukup sulit dan dapat dikatakan memiliki karakteristik yang
merupakan gabungan trek 1-3, terdiri dari tikungan tajam dan halus,
bagian lurus, dan terdapat bagian berpembatas maupun berumput di sisi
nya.
5) Trek 5: CG track 3
Trek yang sulit, mirip dengan trek 4 yang merupakan gabungan trek 1-3,
dengan karakter setiap bagian nya yang bervariasi: tikungan tajam dan
halus, bagian lurus yang panjang dan pembatas juga rumput di sepanjang
sisi trek.
Gambar 1.7 Trek 1: CG Speedway number 1
Gambar 1.8 Trek 2: Alpine 1
13
Gambar 1.9 Trek 3: E-Track 3
Gambar 1.10 Trek 4: Street-1
Gambar 1.11 Trek 5: CG track 3
1.6.3. Metode yang Digunakan
Metode yang digunakan untuk melatih pengemudi buatan dalam penelitian
ini adalah kombinasi sekuensial dari dua algoritma utama yaitu Backpropagation
Through Time (BPTT) dan Nondominated Sorting Genetic Algorithm II (NSGA
II) untuk melatih pengemudi buatan dengan mempelajari kriteria-kriteria tertentu
dari pemain. Skema kombinasi ini ditunjukkan pada Gambar 1.12.
14
Multiobjective evolutionary dengan
NSGA II
Supervised learning dengan BPTT
Pengemudi Buatan Awal
Pengemudi-Pengemudi
Buatan Akhir
Gambar 1.12 Skema umum dari kombinasi algoritma yang digunakan
Pertama, dilakukan supervised learning dengan algoritma BPTT untuk
mempelajari pola aktuator setir, pedal gas, dan pedal rem terhadap kondisi sensor
tertentu. Proses pertama ini akan menghasilkan pengemudi buatan awal.
Pengemudi buatan awal akan menjadi dasar untuk proses selanjutnya yaitu
multiobjective evolutionary menggunakan algoritma NSGA II. Pada tahap kedua
ini, akan dilakukan proses evolusi dengan empat buah objektif (dijelaskan pada
bagian 1.6.3.1) agar pengemudi buatan yang dihasilkan nantinya dapat
mengemudi dengan lebih baik namun tetap mempertahankan perilaku pemain
yang dimilikinya. Hal ini penting agar pengemudi buatan masih dapat mengemudi
dengan baik terutama saat berhadapan dengan situasi yang tidak terdapat pada set
data pelatihan dengan supervised learning. Proses multiobjective evolutionary
memungkinkan dihasilkannya lebih dari satu pengemudi buatan akhir. Untuk itu,
bila diperlukan akan dilakukan reduksi dengan teknik klasterisasi menggunakan
algoritma k-means agar pemilihan pengemudi buatan akhir lebih mudah
dilakukan.
1.6.3.1. Ukuran Fitness
Didefinisikan empat ukuran fitness yang mana keempat ukuran tersebut
terkait seberapa baik pengemudi buatan meniru gaya bermain pemain. Dua
diantara ukuran-ukuran tersebut, yaitu ukuran setir dan akselerasi, terinspirasi dari
ukuran yang digunakan oleh Hoorn et al (2009) sedangkan dua ukuran lainnya
yaitu waktu tempuh dan kerusakan terinspirasi dari ukuran yang digunakan oleh
Muñoz et al (2012).
1) Setir
Meminimalkan mean squared error antara perintah setir yang dilakukan
oleh pemain dengan perintah setir yang dilakukan oleh pengemudi buatan
ketika diberikan situasi yang sama dengan pemain. Ukuran ini dapat
dilatih menggunakan supervised learning.
15
2) Akselerasi
Meminimalkan jumlah mean squared error dari perintah akselerasi dan
mean squared error dari perintah rem yang dilakukan oleh pemain dengan
perintah akselerasi dan perintah rem yang dilakukan oleh pengemudi
buatan ketika diberikan situasi yang sama dengan pemain. Ukuran ini
dapat dilatih menggunakan supervised learning.
3) Waktu tempuh
Meminimalkan mean squared error dari rata-rata waktu tempuh (dalam
detik) yang dibutuhkan pengemudi buatan dengan yang dibutuhkan
pemain untuk mencapai satu putaran pada trek.
4) Kerusakan
Meminimalkan mean squared error antara rata-rata kerusakan mobil
pengemudi buatan dengan kerusakan mobil pemain setelah menjalani satu
putaran pada trek.
Proses supervised learning dengan algoritma BPTT melakukan pelatihan
terkait dua diantara ukuran-ukuran tersebut yaitu ukuran setir dan ukuran
akselerasi. Sedangkan proses multiobjective evolution dengan algoritma NSGA II
melakukan pelatihan terkait keempat ukuran fitness tersebut melalui empat
objektifnya.
1.6.4. Eksperimen
Pada tahap eksperimen akan dicoba konfigurasi jaringan dan parameter
pelatihan berbeda-beda terhadap algoritma BPTT dan NSGA II dalam melakukan
peniruan gaya bermain. Untuk algoritma BPTT akan dilakukan eksperimen
terhadap jumlah hidden neuron dan nilai learning rate yang digunakan.
Sedangkan untuk algoritma NSGA II akan dilakukan eksperimen terhadap nilai
mutation random variance nya. Hal ini dilakukan untuk mendapatkan konfigurasi
jaringan dan parameter pelatihan terbaik bagi kombinasi algoritma ini.
1.6.5. Evaluasi
Digunakan dua metode untuk mengevaluasi aspek-aspek berbeda dari
pengemudi-pengemudi buatan yang dihasilkan yaitu evaluasi ukuran fitness dan
16
evaluasi phenomenological. Evaluasi akan dilakukan terhadap pengemudi buatan
awal dan pengemudi-pengemudi buatan akhir hasil dari proses pelatihan
menggunakan konfigurasi jaringan dan parameter pelatihan terbaik yang
didapatkan dari eksperimen sebelumnya. Evaluasi dengan menggunakan ukuran
fitness dilakukan terhadap pengemudi buatan awal dan pengemudi buatan akhir
untuk membandingkan ukuran fitness dari pengemudi buatan yang hanya
dibangun menggunakan algoritma BPTT dan pengemudi buatan yang dibangun
menggunakan kombinasi algoritma BPTT dan NSGA II. Sedangkan pengujian
secara phenomenological dilakukan untuk membandingkan kemiripan secara
visual antara pengemudi-pengemudi buatan yang dihasilkan terhadap pemain
yang ditiru.