45
HASIL DAN PEMBAHASAN
4.1 Hasil
Percobaan dilakukan dengan menggunakan novelty search, NEAT, dan gabungan keduanya. Percobaan dibagi menjadi 2 bagian di mana terdapat perbedaan fitur yang diterima pada node input. Percobaan dilakukan dengan perbedaan fitur pada node input berupa:
1. Input posisi musuh berdasarkan jarak dan posisi radial musuh terhadap posisi robot peneliti.
2. Input posisi musuh berdasarkan posisi musuh pada koordinat kartesius.
Terdapat 6 metode yang digunakan pada masing-masing percobaan, yaitu:
1. 100% NEAT
2. 70% NEAT dan 30% Novelty 3. 50% NEAT dan 50% Novelty 4. 30% NEAT dan 70% Novelty 5. 100% Novelty
6. Random
Pada percobaan pertama, input posisi robot musuh pada ANN berdasarkan pada jarak dan posisi radial musuh terhadap posisi robot peneliti. Hasil percobaan yang didapatkan adalah sebagai berikut:
Gambar 15: Grafik Hasil Percobaan 1 (Nilai Objektif Tertinggi)
Gambar 16: Grafik Hasil Percobaan 1 (Rata-Rata Nilai Objektif)
Pada percobaan kedua, input posisi musuh pada ANN berdasarkan pada koordinat kartesius robot musuh. Hasil percobaan yang didapatkan adalah sebagai berikut: 0 10 20 30 40 50 60 70 80 1 15 29 43 57 71 85 99 11 3 12 7 14 1 15 5 16 9 18 3 19 7 21 1 22 5 23 9 Ni la i Ob jektif (%) Generasi ke ‐ NEAT Novelty NEAT 70, Novelty 30 NEAT 30, Novelty 70 NEAT 50, Novelty 50 Random 0 5 10 15 20 25 30 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 Ni la i Ob jektif (%) Generasi ke ‐ NEAT Novelty NEAT 70, Novelty 30 NEAT 30, Novelty 70 NEAT 50, Novelty 50 Random
Gambar 17: Grafik Hasil Percobaan 2 (Nilai Objektif Tertinggi)
Gambar 18: Grafik Hasil Percobaan 2 (Rata-Rata Nilai Objektif)
Gambar 15 dan Gambar 17 menunjukkan individu-individu yang memiliki nilai objektif tertinggi pada tiap generasi pada masing-masing percobaan. Gambar 16 dan Gambar 18 menunjukkan rata-rata nilai objektif individu yang dihasilkan pada tiap generasi pada tiap percobaan. Pada setiap percobaan terdapat 6 metode yang diterapkan. 0 10 20 30 40 50 60 70 80 1 15 29 43 57 71 85 99 11 3 12 7 14 1 15 5 16 9 18 3 19 7 21 1 22 5 23 9 Ni la i Ob jektif (%) Generasi ke ‐ NEAT Novelty NEAT 70, Novelty 30 NEAT 30, Novelty 70 NEAT 50, Novelty 50 Random 0 5 10 15 20 25 30 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 Ni la i Ob je kt if (%) Generasi ke ‐ NEAT Novelty NEAT 70, Novelty 30 NEAT 30, Novelty 70 NEAT 50, Novelty 50 Random
Pada gambar 15, dapat dilihat bahwa pada percobaan 1, metode yang menghasilkan individu dengan nilai objektif tertinggi dapat diurutkan sebagai berikut:
1. NEAT 70% dan novelty 30% (74.926 %) 2. NEAT 30% dan novelty 70% (74.386 %) 3. NEAT 50% dan novelty 50% (73.889 %)
4. NEAT (73.086 %)
5. Novelty (64.921 %)
6. Random (52.200 %)
Pada gambar 17, dapat dilihat bahwa pada percobaan 2, metode yang menghasilkan individu dengan nilai objektif tertinggi dapat diurutkan sebagai berikut:
1. NEAT 70% dan novelty 30% (72.820 %)
2. NEAT (68.429 %)
3. NEAT 50% dan novelty 50% (62.154 %) 4. NEAT 30% dan novelty 70% (58.649 %)
5. Novelty (57.034 %)
6. Random (50.486 %)
Pada gambar 16, dapat dilihat bahwa pada percobaan 1, metode yang menghasilkan rata-rata nilai objektif tertinggi dapat diurutkan sebagai berikut:
1. NEAT 70% dan novelty 30% (21.918 %) 2. NEAT 50% dan novelty 50% (20.369 %)
4. NEAT 30% dan novelty 70% (17.210 %)
5. Novelty (12.727 %)
6. Random (11.597 %)
Pada gambar 18, dapat dilihat bahwa pada percobaan 2, metode yang menghasilkan rata-rata nilai objektif tertinggi dapat diurutkan sebagai berikut:
1. NEAT (15.060 %)
2. NEAT 70% dan novelty 30% (14.196 %) 3. NEAT 50% dan novelty 50% (13.521 %) 4. NEAT 30% dan novelty 70% (13.174 %)
5. Novelty (12.197 %)
6. Random (10.605 %)
Node input pada neural network dapat dianggap sebagai sekumpulan vektor fitur yang digunakan untuk merepresentasikan kondisi lingkungan dari robot untuk digunakan dalam membentuk perilaku robot. Percobaan 1 dan percobaan 2 memiliki perbedaan pada cara mengenali posisi musuh di mana percobaan 1 mengenali posisi musuh berdasarkan jarak dan posisi radial musuh terhadap posisi robot peneliti, sedangkan percobaan 2 mengenali posisi musuh berdasarkan posisi musuh pada koordinat kartesius.
Perbedaan node input pada kedua percobaan dapat dianggap sebagai suatu konstruksi fitur, karena posisi musuh pada koordinat kartesius dapat dihitung berdasarkan jarak dan posisi radial musuh terhadap robot peneliti dan sebaliknya jarak dan posisi radial musuh dapat dihitung berdasarkan koordinat kartesius musuh. Kedua percobaan ini dilakukan untuk mengamati pengaruh perubahan fitur yang digunakan oleh ANN terhadap kemampuan metode NEAT, novelty
search, dan penggabungannya dalam menghasilkan robot pada permainan
robocode.
Gambar 19: Nilai Objektif Tertinggi dan Rata-Rata Nilai Objektif NEAT
Gambar 20: Nilai Objektif Tertinggi dan Rata-Rata Nilai Objektif Novelty
0 10 20 30 40 50 60 70 80 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 Ni la i Ob je kt if (%) Generasi ke ‐ Best 1 Best 2 Average 1 Average 2 0 10 20 30 40 50 60 70 80 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 Ni la i Ob jektif (%) Generasi ke ‐ Best 1 Best 2 Average 1 Average 2
Gambar 21: Nilai Objektif Tertinggi dan Rata-Rata Nilai Objektif
NEAT 70% & Novelty 30%
Gambar 22: Nilai Objektif Tertinggi dan Rata-Rata Nilai Objektif
NEAT 30% & Novelty 70% 0 10 20 30 40 50 60 70 80 1 13 25 37 49 61 73 85 97 10 9 12 1 13 3 14 5 15 7 16 9 18 1 19 3 20 5 21 7 22 9 24 1 Ni la i Ob jektif (%) Generasi ke ‐ Best 1 Best 2 Average 1 Average 2 0 10 20 30 40 50 60 70 80 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 Ni la i Ob jek tif (%) Generasi ke ‐ Best 1 Best 2 Average 1 Average 2
Gambar 23: Nilai Objektif Tertinggi dan Rata-Rata Nilai Objektif
NEAT 50% & Novelty 50%
Gambar 24: Nilai Objektif Tertinggi dan Rata-Rata Nilai Objektif Random
Gambar 19 – Gambar 24 menunjukkan perbandingan antara nilai objektif tertinggi dan rata-rata nilai objektif yang dihasilkan oleh percobaan 1 dan
0 10 20 30 40 50 60 70 80 1 13 25 37 49 61 73 85 97 10 9 12 1 13 3 14 5 15 7 16 9 18 1 19 3 20 5 21 7 22 9 24 1 Ni la i Ob jektif (%) Generasi ke ‐ Best 1 Best 2 Average 1 Average 2 0 10 20 30 40 50 60 70 80 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 Ni la i Ob jek tif (%) Generasi ke ‐ Best 1 Best 2 Average 1 Average 2
percobaan 2 pada masing-masing metode. Pada setiap metode, ternyata percobaan 1 yang menggunakan jarak dan posisi radial robot musuh terhadap robot peneliti sebagai input menghasilkan robot yang memiliki nilai objektif lebih tinggi dibandingkan percobaan 2.
Tabel 1: Nilai Objektif Tertinggi Robot Metode NEAT Novelty NEAT
70% & Novelty 30% NEAT 30% & Novelty 70% NEAT 50% & Novelty 50% Random Percobaan 1 73.086 % 64.921 % 74.926 % 74.386 % 73.889 % 52.200 % Percobaan 2 68.429 % 57.034 % 72.820 % 58.649 % 62.154 % 50.486 %
Tabel 2: Rata-Rata Nilai Objektif Robot Metode NEAT Novelty NEAT
70% & Novelty 30% NEAT 30% & Novelty 70% NEAT 50% & Novelty 50% Random Percobaan 1 19.723 % 12.727 % 21.918 % 17.210 % 20.369 % 11.597 % Percobaan 2 15.060 % 12.197 % 14.196 % 13.174 % 13.521 % 10.605 %
Nilai objektif tertinggi robot dan rata-rata nilai objektif robot yang dihasilkan pada percobaan 1 dan percobaan 2 untuk setiap metode dirangkum dalam Tabel 1 dan Tabel 2.
4.2 Pembahasan
Analisa data hasil percobaan dilakukan dengan membandingkan nilai objektif dari robot yang dihasilkan. Nilai objektif dinyatakan sebagai
perbandingan antara skor robot peneliti dengan jumlah skor robot peneliti dan musuh. Nilai objektif yang tinggi menunjukkan bahwa robot dapat memaksimalkan skor yang didapatnya sekaligus meminimalkan skor yang didapat oleh musuh. Semakin tinggi nilai objektif yang dapat dihasilkan oleh robot pada suatu metode, semakin baik metode tersebut.
Berdasarkan Gambar 15 dan Gambar 17, penggabungan metode NEAT dan novelty search dengan komposisi NEAT 70% dan novelty 30% menghasilkan robot dengan nilai objektif yang tertinggi. Pada percobaan 1, rata-rata tertinggi diperolah dengan menggunakan metode NEAT 70% dan novelty 30%. Pada percobaan 2, rata-rata tertinggi diperolah dengan menggunakan metode NEAT.
Berdasarkan hasil pengurutan rata-rata nilai objektif untuk semua metode dapat terlihat bahwa terdapat kecenderungan di mana rata-rata nilai objektif yang dihasilkan oleh metode dengan persentase novelty yang tinggi memiliki nilai objektif yang lebih rendah dibandingkan dengan metode yang menggunakan persentase NEAT yang tinggi. Hal ini terjadi karena sifat novelty search yang selalu mencari keterbaruan tanpa mempedulikan nilai objektif yang dihasilkan.
Berdasarkan hasil percobaan, dapat dilihat pada Gambar 15 – Gambar 18 bahwa penggunaan novelty search sendiri ternyata menghasilkan robot dengan kemampuan terendah kedua setelah random search. Penggunaan novelty search untuk permasalahan pembuatan NPC pada robocode ternyata tidak menghasilkan robot yang lebih baik dibandingkan dengan penggunaan NEAT.
Ketidakmampuan novelty search menemukan penyelesaian yang lebih optimal dibandingkan dengan NEAT yang menggunakan objective search
disebabkan karena karakter dari permasalahan pembuatan NPC pada robocode sendiri. Pada pembuatan NPC robocode, dibutuhkan suatu pengontrol NPC yang dapat dengan tepat menghasilkan pergerakan NPC, dalam menghindari dan menembak musuh. Penggunaan novelty search yang hanya mencari keterbaruan ternyata tidak dapat menghasilkan robot yang dapat menghindari tembakan musuh dan menembak musuh secara akurat. Pencarian keterbaruan memungkinkan terdapat keanekaragaman individu pada suatu generasi, akan tetapi tidak terdapat optimalisasi ke arah lokal optimal yang dilakukan oleh fungsi objektif.
Meskipun penggunaan novelty search murni tidak menghasilkan robot yang baik (memiliki nilai objektif yang tinggi), akan tetapi penggunaan novelty search dalam persentase kecil ternyata dapat membantu NEAT untuk
menghasilkan solusi NPC robocode yang lebih baik daripada penggunaan NEAT saja ataupun novelty search saja. Penggabungan NEAT dan novelty search dengan persentase novelty search yang rendah dapat menghasilkan robot yang memiliki nilai objektif yang lebih tinggi dibandingkan metode NEAT saja.
Novelty search mirip dengan teknik pemeliharaan keanekaragaman yang
biasa digunakan pada algoritma genetik. Akan tetapi teknik pemeliharaan keanekaragaman biasanya masih dituntun arahnya oleh fungsi objektif (Lehman, 2007). Dengan adanya fungsi novelty yang tidak mempedulikan objektif dari permasalahan dan hanya mempedulikan keterbaruan sifat individu, maka terdapat sifat di mana pencarian akan diarahkan ke pencarian sifat baru. Pencarian sifat baru ini akan mengakibatkan adanya pemeliharaan keanekaragaman yang berdasarkan pada keterbaruan perilaku, bukan berdasarkan pada objektif permasalahan. Adanya pemeliharaan keanekaragaman pada penggabungan
metode NEAT dan novelty search menyebabkan metode hasil penggabungan tersebut lebih baik dibandingkan NEAT saja yang tidak memiliki teknik pemeliharaan keanekaragaman.
Semua metode pada hasil percobaan 1 memiliki nilai objektif tertinggi dan rata-rata nilai objektif yang lebih tinggi daripada percobaan 2 pada metode yang sama. Perbandingan antara nilai objektif tertinggi dan rata-rata nilai objektif untuk setiap metode dapat dilihat pada Gambar 19 – Gambar 24. Meskipun terdapat perbedaan urutan robot terbaik yang dihasilkan, akan tetapi baik pada percobaan 1 ataupun percobaan 2, robot dengan nilai objektif terbaik tetap dihasilkan oleh penggabungan antara NEAT dan novelty search dengan persentase NEAT 70% dan novelty search 30%. Hal ini menunjukkan bahwa penggabungan NEAT dan novelty search dapat menaikkan nilai objektif yang dihasilkan oleh robot yang
dievolusi.
Dalam percobaan, dilakukan juga random search di mana nilai fitness dari suatu robot diacak. Beradasarkan nilai fitness tersebut, generasi berikutnya diturunkan. Dari data hasil percobaan, dapat dilihat bahwa novelty search tidak sama dengan random search. Novelty search ternyata dapat menghasilkan NPC yang lebih baik dibandingkan dengan random search dengan selisih nilai objektif pada robot terbaik masing-masing metode sebesar 12.721% pada percobaan 1 dan 6.548% pada percobaan 2. Lehman & Stanley (2011) juga menyimpulkan bahwa novelty search tidak sama dengan random search melalui penelitiannya dengan