PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI...

6
10 rotasi menjadi sebuah pergerakan agen. Berikut merupakan pseudo code pengolahan keluaran jaringan syaraf tiruan menjadi pergerakan agen : 1. 2. Hitung gaya rotasi (rotational force) : rotasi kiri = keluaran neuron ke-0 rotasi kanan = keluaran neuron ke-1 gaya rotasi = rotasi kiri – rotasi kanan if gaya rotasi < minimum gaya rotasi then gaya rotasi = minimum gaya rotasi else if gaya rotasi > maksimum gaya rotasi then gaya rotasi = maksimum gaya rotasi end if rotasi agen += gaya rotasi Update rotasi dan posisi agen : x agen = -sin(rotasi agen) z agen = cos(rotasi agen) if agen tidak tertabrak then kecepatan = (rotasi kiri + rotasi kanan) * konstanta kecepatan agen x agen += kecepatan * selisih waktu frame update z agen += kecepatan * selisih waktu frame update end if Pelatihan Discreet Evolution Pelatihan jaringan syaraf tiruan dilakukan menggunakan algoritma genetika untuk mengevolusi bobot jaringan syaraf tiruan. Pelatihan agen dilakukan dengan cara menaruh masing-masing agen dalam peta permainan yang sama dimana setiap agen harus dapat bergerak dari titik awal (S) sampai titik tujuan (G) dengan menghindari halangan seperti yang ditunjukkan dalam Gambar 11. Jika interval waktu evolusi tercapai maka agen akan direset ke posisi awal, hal ini akan dilakukan berulang kali sampai pelatihan selesai. Berikut merupakan pseudo code pelatihan discreet evolution menggunakan algoritma genetika : Pada saat frame update : if timer > interval waktu evolusi Hitung nilai fungsi fitness populasi Evolusi bobot jaringan menggunakan algoritma genetika Update bobot jaringan agen Reset posisi agen Reset timer else Update agen Timer += waktu selisih frame update end if Evolusi Bobot Jaringan Syaraf Tiruan Evolusi bobot jaringan syaraf tiruan agen menggunakan algoritma genetika dilakukan ketika waktu interval evolusi tercapai. Proses evolusi algoritma genetika dimulai meliputi proses elitisme, seleksi, crossover, dan mutasi. Berikut merupakan pseudo code evolusi bobot jaringan syaraf tiruan menggunakan algoritma genetika : Pada setiap iterasi : Lakukan proses elitisme while jumlah populasi baru < jumlah populasi Dapatkan parent 1 dan parent 2 dengan seleksi turnamen Dapatkan child 1 dan child 2 dengan melakukan crossover antara parent 1 dan parent 2 Lakukan mutasi terhadap child 1 dan child 2 Masukkan child 1 dan child 2 dalam populasi baru end while Proses elitisme dilakukan dengan cara menyalin beberapa individu terbaik dalam populasi. Berikut merupakan pseudo code proses elitisme : 1. 2. Urutkan individu dalam populasi (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan jumlah individu terbaik yang disalin (n) Tentukan banyaknya penyalinan (numCopies) for i=1 to n for j=1 to numCopies ambil individu terbaik peringkat ke-n end for end for Proses seleksi dilakukan menggunakan teknik tournament selection. Berikut merupakan pseudo code tournament selection : 1. 2. Tentukan jumlah pesaing atau competitor dalam seleksi turnamen (numCompetitor) Seleksi turnamen : for i=1 to numCompetitor individu ambil individu secara acak if fitness individu > fitness terbaik then individu terpilih ← individu fitness terbaik fitness individu end if end for Proses crossover yang dilakukan dengan cara membagi kromosom menjadi beberapa split points dan dilanjutkan dengan menentukan dua buah titik crossover secara acak dari split points yang dihasilkan. Jumlah

Transcript of PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI...

Page 1: PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI …digilib.its.ac.id/public/ITS-Master-15631-Paper-1072453.pdf · (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan

10

rotasi menjadi sebuah pergerakan agen.

Berikut merupakan pseudo code pengolahan

keluaran jaringan syaraf tiruan menjadi

pergerakan agen :

1.

2.

Hitung gaya rotasi (rotational

force) :

rotasi kiri = keluaran neuron

ke-0

rotasi kanan = keluaran neuron

ke-1

gaya rotasi = rotasi kiri –

rotasi kanan

if gaya rotasi < minimum gaya

rotasi then

gaya rotasi = minimum gaya

rotasi

else if gaya rotasi > maksimum

gaya rotasi then

gaya rotasi = maksimum gaya

rotasi

end if

rotasi agen += gaya rotasi

Update rotasi dan posisi agen :

x agen = -sin(rotasi agen)

z agen = cos(rotasi agen)

if agen tidak tertabrak then

kecepatan = (rotasi kiri +

rotasi kanan) * konstanta

kecepatan agen

x agen += kecepatan * selisih

waktu frame update

z agen += kecepatan * selisih

waktu frame update

end if

Pelatihan Discreet Evolution

Pelatihan jaringan syaraf tiruan

dilakukan menggunakan algoritma genetika

untuk mengevolusi bobot jaringan syaraf

tiruan. Pelatihan agen dilakukan dengan

cara menaruh masing-masing agen dalam

peta permainan yang sama dimana setiap

agen harus dapat bergerak dari titik awal (S)

sampai titik tujuan (G) dengan menghindari

halangan seperti yang ditunjukkan dalam

Gambar 11. Jika interval waktu evolusi

tercapai maka agen akan direset ke posisi

awal, hal ini akan dilakukan berulang kali

sampai pelatihan selesai. Berikut merupakan

pseudo code pelatihan discreet evolution

menggunakan algoritma genetika :

Pada saat frame update :

if timer > interval waktu evolusi

Hitung nilai fungsi fitness populasi

Evolusi bobot jaringan menggunakan

algoritma genetika

Update bobot jaringan agen

Reset posisi agen

Reset timer

else

Update agen

Timer += waktu selisih frame update

end if

Evolusi Bobot Jaringan Syaraf Tiruan

Evolusi bobot jaringan syaraf tiruan

agen menggunakan algoritma genetika

dilakukan ketika waktu interval evolusi

tercapai. Proses evolusi algoritma genetika

dimulai meliputi proses elitisme, seleksi,

crossover, dan mutasi. Berikut merupakan

pseudo code evolusi bobot jaringan syaraf

tiruan menggunakan algoritma genetika :

Pada setiap iterasi :

Lakukan proses elitisme

while jumlah populasi baru < jumlah

populasi

Dapatkan parent 1 dan parent 2

dengan seleksi turnamen

Dapatkan child 1 dan child 2 dengan

melakukan crossover antara parent 1

dan parent 2

Lakukan mutasi terhadap child 1 dan

child 2

Masukkan child 1 dan child 2 dalam

populasi baru

end while

Proses elitisme dilakukan dengan cara

menyalin beberapa individu terbaik dalam

populasi. Berikut merupakan pseudo code

proses elitisme :

1.

2.

Urutkan individu dalam populasi

(dari nilai terendah ke

tertinggi)

Lakukan proses elitisme :

Tentukan jumlah individu terbaik

yang disalin (n)

Tentukan banyaknya penyalinan

(numCopies)

for i=1 to n

for j=1 to numCopies

ambil individu terbaik

peringkat ke-n

end for

end for

Proses seleksi dilakukan menggunakan

teknik tournament selection. Berikut

merupakan pseudo code tournament selection : 1.

2.

Tentukan jumlah pesaing atau

competitor dalam seleksi turnamen

(numCompetitor)

Seleksi turnamen :

for i=1 to numCompetitor

individu ← ambil individu

secara acak

if fitness individu > fitness

terbaik then

individu terpilih ← individu

fitness terbaik ← fitness

individu

end if

end for

Proses crossover yang dilakukan

dengan cara membagi kromosom menjadi

beberapa split points dan dilanjutkan dengan

menentukan dua buah titik crossover secara

acak dari split points yang dihasilkan. Jumlah

Page 2: PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI …digilib.its.ac.id/public/ITS-Master-15631-Paper-1072453.pdf · (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan

11

split points adalah sejumlah neuron pada layer

tersembunyi. Penentuan split points

ditunjukkan dalam Gambar 12. Berikut

merupakan pseudo code proses crossover :

1.

2.

Tentukan split points :

Inisialisasi counter index bobot

(n) = 0

for i=1 to jumlah layer

tersembunyi

for j=1 to jumlah neuron dalam

layer tersembunyi ke-i

for k=1 to jumlah masukan

dalam neuron ke-j

++n

end for

definisikan split point pada

gen indeks ke-n

end for

end for

Proses crossover menggunakan

split points :

ambil sebuah nilai acak (rate)

if rate > crossover rate ||

parent 1 == parent 2 then

child 1 ← parent 1

child 2 ← parent 2

return

end if

Titik crossover ke-1 ← ambil

secara acak titik crossover dari

posisi gen pertama sampai dengan

posisi split point indek

terakhir-1

Titik crossover ke-2 ← ambil

secara acak titik crossover dari

posisi titik crossover ke-2

sampai dengan posisi split point

indeks terakhir.

Lakukan crossover antara parent 1

dan parent 2 dengan titik

crossover ke-1 dan titik

crossover ke-2 sehingga

didapatkan child 1 dan child 2

Proses mutasi dilakukan dengan cara

menambahkan masing-masing nilai gen

dengan nilai yang dihasilkan secara acak.

Berikut merupakan pseudo code mutasi :

Tentukan maksimum penambahan nilai

(maxPeturbation)

for i=1 to jumlah gen dalam kromosom

ambil sebuah nilai acak (rate)

if rate < mutation rate then

nilai gen ke-i = nilai gen ke-i

+ random number *

maxPeturbation

end if

end for

Penghitungan Fungsi Fitness

Agen akan mendapatkan bonus (nilai

fitness akan bertambah) ketika agen tersebut

mendekati tujuan dan menghindari

halangan serta ketika mencapai target.

Berikut merupakan pseudo code

penghitungan nilai fitness agen :

Pada saat frame update :

jarak agen sekarang = (x target – x

agen) + (z target – z agen)

if agen tidak tertabrak and jarak

agen sekarang < jarak agen minimum

then

fitness++

jarak agen minimum = jarak agen

sekarang

end if

if agen mencapai target then

fitness +=50

end if

Integrasi Minimal-Memory Abstraction

dengan Jaringan Syaraf Tiruan

Dalam menyelesaikan permasalahan

realtime pathfinding dilakukan integrasi

antara minimal-memory abstraction sebagai

algoritma long steering dan jaringan syaraf

tiruan sebagai algoritma short steering.

Algoritma long steering digunakan sebagai

path planning yaitu untuk menentukan path

dari node awal sampai ke node tujuan

sedangkan algoritma short steering

digunakan untuk menghindari halangan

dinamis yang posisinya berada pada path

yang dihasilkan (menghalangi pergerakan

agen). Langkah – langkah pendekatan baru

yang diusulkan dimulai dengan (i)

melakukan abstraksi peta permainan

menggunakan minimal-memory abstraction

sehingga dihasilkan abstract map beserta

sectors, regions, dan edges, (ii) selanjutnya dari

hasil abstraksi tersebut dapat dilakukan

proses pathfinding untuk menentukan abstract

path dan real path, (iii) dan akhirnya

dilakukan pergerakan neural agent.

Abstraksi Peta Permainan Menggunakan

Minimal-Memory Abstraction

Untuk mempercepat proses pathfinding

dapat dilakukan tahap pre-processing dengan

melakukan abstraksi peta permainan

menggunakan minimal memory abstraction.

Minimal memory abstraction merupakan

teknik abstraksi yang membutuhkan sedikit

memori penyimpanan hasil abstraksi. Proses

abstraksi ini dapat dilakukan secara offline.

Berikut merupakan pseudo code abstraksi peta

permainan menggunakan minimal memory

abstraction :

1.

2.

Definisikan maksimum jumlah

region yang ada dalam sebuah

sektor sebesar 16x16 :

ukuran sektor = 16

Buat sektor :

jumlah sektor x = (panjang map

Page 3: PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI …digilib.its.ac.id/public/ITS-Master-15631-Paper-1072453.pdf · (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan

12

3.

4.

5.

+ ukuran sektor - 1) / ukuran

sektor

jumlah sektor y = (lebar map +

ukuran sektor -1) / ukuran

sektor

jumlah sektor = jumlah sektor x

* jumlah sektor y

for sektor i=1 to jumlah sektor

buat sektor ke-i

end for

Buat region :

for sektor i=1 to jumlah sektor

hitung jumlah region dalam

sektor ke-i

for j=1 to jumlah region

dalam sektor ke-i

buat region ke-j

end for

end for

Buat edge :

for sektor i=1 to jumlah sektor

hitung jumlah edge dalam

sektor ke-i

for j=1 to jumlah edge

dalam sektor ke-i

buat edge ke-j

end for

end for

Simpan informasi abstraksi ke

memori :

for sektor i=1 to jumlah sektor

hitung jumlah edge dalam

sektor ke-i

for j=1 to jumlah region

dalam sektor ke-i

simpan region ke-j

end for

for j=1 to jumlah edge dalam

sektor ke-i

simpan edge ke-j

end for

end for

Pathfinding Menggunakan Abstraksi

Setelah hasil abstraksi diperoleh maka

tahap selanjutnya adalah melakukan proses

pathfinding menggunakan abstraksi untuk

memperoleh abstract path dan real path. Real

path yang dihasilkan akan digunakan

sebagai penunjuk jalan neural agent dalam

menelusuri peta permainan sampai ke

tujuan. Berikut merupakan pseudo code

pathfinding menggunakan abstraksi : 1.

2.

3.

4.

Cari region terdekat dengan

posisi awal dengan Breadth

First Search

Cari region terdekat dengan

posisi tujuan dengan Breadth

First Search

Cari abtract path menggunakan

A* dari posisi awal sampai ke

posisi tujuan (sektor dan

region mana yang akan

dilewati)

Cari real path menggunakan A*

dari posisi awal sampai ke

posisi tujuan (grid cell mana

yang akan dilewati)

Pergerakan Neural Agent

Real path yang dihasilkan dari proses

pathfinding menggunakan abstraksi akan

digunakan oleh agen sebagai penunjuk jalan

dalam menelusuri peta permainan. Neural

Gambar 12. Split points crossover [16]

agent bergerak sesuai dengan real path yang

dihasilkan dan secara realtime menghindari

halangan dinamis menggunakan modifikasi

salah satu algoritma reynold steering [17]

yaitu algoritma path following. Berikut

merupakan pseudo code algoritma path

following yang digunakan agen :

1.

2.

Inisialisasi :

awal = path indeks awal

tujuan = path indeks terakhir

target = path indeks ke-1

indeks path sekarang = 1

definisikan offset

Pada saat frame update :

Hitung jarak posisi agen dan

target

if posisi agen == tujuan then

agen berhenti

return

end

if target terblok || jarak

posisi agen dan target <

offset then

if indeks path sekarang !=

tujuan then

indeks path sekarang++;

target = indeks path

sekarang

end if

end if

Update informasi sensor

Update jaringan syaraf tiruan

agen

Update posisi dan rotasi agen

HASIL DAN PEMBAHASAN

Lingkungan Uji Coba

Spesifikasi perangkat keras yang

digunakan dalam uji coba adalah prosesor

Intel Core i3, harddisk 320 GB, 3GB RAM,

NVIDIA G310M CUDA. Sedangkan

spesifikasi perangkat lunak yang digunakan

adalah Microsoft Windows 7 64-bit, Java

Page 4: PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI …digilib.its.ac.id/public/ITS-Master-15631-Paper-1072453.pdf · (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan

13

SDK 1.6, game engine 3D JMonkeyEngine 3,

Eclipse IDE Helios.

Uji Coba Skenario 1

Uji coba dilakukan dengan cara

mengubah secara manual jumlah layer

tersembunyi dan jumlah neuron layer

tersembunyi pada saat pelatihan neural agent

menggunakan mode discreet evolution.

Generasi terbaik diperoleh pada generasi ke-

37 dengan parameter pelatihan yang

ditunjukkan pada Tabel 1. Gambar 13

menunjukkan individu pada generasi ke-37

berhasil sampai ke tujuan serta menghindari

halangan.

Tabel 1. Parameter uji coba skenario 1.

No. Parameter Nilai

1. Crossover rate 0,7

2. Mutation rate 0,1

3. Jumlah Agen 50

4. Tournament selection Ya

5. Elitism Ya

6. Jumlah layer tersembunyi 1

7. Jumlah neuron tiap layer

tersembunyi

10

8. Jumlah layer masukan 12

9. Jumlah layer keluaran 2

10. Waktu interval evolusi 15 detik

Gambar 13. Generasi terbaik ditemukan

pada generasi ke-37.

Gambar 14. Outline uji coba skenario 2.

Gambar 15. Peta permainan arena.map.

Uji Coba Skenario 2

Uji coba dilakukan dengan cara menaruh

sejumlah agen pada posisi yang saling

berlawanan seperti yang ditunjukkan pada

Gambar 14. Masing masing agen harus dapat

sampai ke tujuan. Dalam uji coba ini

digunakan peta permainan arena.map yang

ditunjukkan pada Gambar 15 dan diukur 2

parameter yaitu frame rate game engine rata-

rata dan jumlah tabrakan setiap frame.

Uji Coba Skenario 3

Uji coba dilakukan dengan menaruh

agen ke dalam 10 peta permainan yang

berbeda untuk mengukur solusi path yang

dihasilkan (path length) dan waktu tempuh

agen untuk sampai ke tujuan.

Tabel 2. Hasil uji coba skenario 2.

Jumlah

Agen

Jaringan Syaraf

Tiruan

Minimal Memory

Abstraction &

Jaringan Syaraf

Tiruan

Frame

Rate

Jumlah

Tabrakan

per

Frame

Frame

Rate

Jumlah

Tabrakan

per

Frame

10 59 0 59 0

20 59 1 59 1

30 59 3 59 1

40 59 4 59 3

50 59 5 59 5

60 59 5 59 5

70 59 6 59 6

80 59 9 59 10

90 59 10 59 11

100 58 12 59 11

Rata-

rata 59 5 59 5

Tabel 3. Hasil uji coba skenario 3.

No

Tes

Peta

Perma-

inan

Jaringan

Syaraf Tiruan

Minimal

Memory

Abstraction &

Jaringan

Syaraf Tiruan

Pan-

jang

Path

(wu)

Waktu

Tem-

puh

(detik)

Pan-

jang

Path

(wu)

Waktu

Tem-

puh

(detik)

1 test1.map 60,60 19,86 33,49 11,61

2 test2.map 28,12 9,68 27,86 9,66

3 test3.map 54,09 17,98 37,97 13,05

4 test4.map 61,23 20,43 56,20 19,26

5 test5.map 32,88 11,08 33,03 11,45

6 test6.map 111,33 36,48 45,33 15,51

7 test7.map 32,91 11,22 32,85 11,36

8 test8.map 88,12 29,01 53,16 18,25

9 test9.map 38,92 13,17 29,34 10,15

10 test10.map 36,54 12,48 29,34 10,15

Rata-rata 54,47 18,14 37,86 13,05

Page 5: PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI …digilib.its.ac.id/public/ITS-Master-15631-Paper-1072453.pdf · (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan

14

(a)

(b)

Gambar 16. Contoh perbandingan path yang

dihasilkan oleh (a) minimal

memory abstraction & jaringan

syaraf tiruan (b) jaringan syaraf

tiruan dalam peta permainan

test1.map.

Analisa Uji Coba

Tabel 1 menunjukkan hasil uji coba

skenario 1. Dalam uji coba skenario 1 dapat

disimpulkan bahwa agen hanya

membutuhkan sebuah layer tersembunyi

pada arsitektur jaringan syaraf tiruan agar

berhasil mempelajari dua komponen penting

realtime pathfinding yaitu path planning dan

obstacle avoidance. Dengan arsitektur jaringan

syaraf tiruan dengan 12 buah masukan, 1

buah layer tersembunyi, 10 buah neuron

layer tersembunyi, dan 2 buah keluaran

menyebabkan proses pelatihan neural agent

menjadi relatif singkat dengan diperoleh

generasi terbaik pada generasi ke-37.

Tabel 2 menunjukkan hasil uji coba

skenario 2 dalam peta permainan arena.map.

Pada Tabel 2 terdapat beberapa parameter

yang dievaluasi yaitu frame rate game engine

dan jumlah tabrakan per frame. Pada Tabel

2, dapat diketahui bahwa jumlah frame rate

game engine dan jumlah tabrakan per frame

yang dihasilkan dari kedua metode yang

diujikan tidak memiliki perbedaan yang

signifikan. Perbedaan frame rate game engine

antara metode realtime pathfinding

menggunakan jaringan syaraf tiruan dan

metode realtime pathfinding menggunakan

minimal memory abstraction yang tidak

signifikan mengindikasikan bahwa proses

pathfinding menggunakan minimal memory

abstraction berjalan cepat. Jumlah rata-rata

tabrakan per frame kedua metode adalah 5

buah tabrakan per frame. Jumlah tabrakan

per frame kedua metode lebih banyak

daripada algoritma clearpath [15], dimana

dalam skenario uji coba yang kompleks

dengan 100 buah agen algoritma clearpath

menghasilkan 0 tabrakan per frame. Hal ini

dikarenakan dalam kedua metode realtime

pathfinding yang diujicoba dalam penelitian

tidak dilatih untuk mempelajari pathfinding

dalam lingkungan yang ramai (crowded

environment).

Tabel 3 menunjukkan hasil uji coba

skenario 3. Pada Tabel 3 terdapat beberapa

parameter yang dievaluasi yaitu panjang

path dan waktu tempuh agen sampai ke

tujuan. Pada Tabel 3, dapat diketahui bahwa

path yang dihasilkan oleh metode realtime

pathfinding menggunakan jaringan syaraf

tiruan dan minimal memory abstraction 3 kali

lebih pendek daripada metode realtime

pathfinding menggunakan jaringan syaraf

tiruan. Serta waktu tempuh yang dihasilkan

oleh metode realtime pathfinding

menggunakan jaringan syaraf tiruan dan

minimal memory abstraction 3 kali lebih

cepat daripada metode realtime pathfinding

menggunakan jaringan syaraf tiruan.

Sehingga dapat disimpulkan bahwa metode

realtime pathfinding menggunakan jaringan

syaraf tiruan dan minimal memory abstraction

menghasilkan solusi path yang lebih optimal

daripada metode realtime pathfinding

menggunakan jaringan syaraf tiruan seperti

yang ditunjukkan pada Gambar 16.

KESIMPULAN

Dari uji coba yang telah dilakukan,

maka dapat ditarik kesimpulan sebagai

berikut:

1. Permasalahan realtime pathfinding

berhasil diselesaikan menggunakan

minimal memory abstraction sebagai

algoritma long steering dan jaringan

syaraf tiruan sebagai algoritma short

steering.

2. Neural agent hanya membutuhkan

sebuah layer tersembunyi untuk dapat

mempelajari dua komponen penting

realtime pathfinding.

Page 6: PEMBANGUNAN PORTAL SMS UNTUK SISTEM INFORMASI …digilib.its.ac.id/public/ITS-Master-15631-Paper-1072453.pdf · (dari nilai terendah ke tertinggi) Lakukan proses elitisme : Tentukan

15

3. Dengan menambahkan minimal memory

abstraction sebagai algoritma long

steering tidak mempengaruhi frame rate

game engine secara signifikan dibanding

metode realtime pathfinding

menggunakan jaringan syaraf tiruan.

4. Metode yang diusulkan mempunyai

solusi path yang optimal dengan hasil

panjang path 3 kali lebih pendek dan

waktu tempuh 3 kali lebih cepat

daripada metode realtime pathfinding

menggunakan jaringan syaraf tiruan. Untuk meningkatkan hasil yang telah

dicapai dari penelitian ini dapat dilakukan

beberapa perbaikan sebagai berikut:

1. NEAT (Neuro Evolution Augmented

Topologies) [18] dapat digunakan

sebagai pengganti algoritma genetika

untuk menggantikan penentuan jumlah

layer tersembunyi dan neuron per layer

tersembunyi secara manual karena

NEAT mampu mengevolusi bobot dan

topologi jaringan syaraf tiruan.

2. Jumlah tabrakan per frame dari metode

realtime pathfinding yang diusulkan

dalam lingkungan ramai (crowded

environment) dapat dikurangi dengan

menggunakan algoritma clearpath [15]

sebagai algoritma short steering.

DAFTAR PUSTAKA

[1] Sturtevant, Nathan, & Jansen, Reene.

(2007). An Analysis of Map-Based

Abstraction and Refinement, SARA 2007:

344-358.

[2] Graham, Ross & McCabe, Hugh. (2006),

Real-time Agent Navigation with Neural

Networks for Computer Games, MSc.

Thesis.

[3] Botea, A., Müller, M., & Schaeffer, J.

(2004), Near Optimal Hierarchical

Pathfinding, Journal of Game

Development 1(1):7–28.

[4] Sturtevant, N., & Buro, M. (2005), Partial

Pathfinding Using Map Abstraction And

Refinement, Proceedings of AAAI 2005,

47-52.

[5] Demyen, D., & Buro, M. (2006), Efficient

Triangulation-Based Pathfinding, AAAI.

[6] Sturtevant, N. (2007), Memory-Efficient

Abstraction for Pathfinding, AIIDE.

[7] Graham, R., McCabe, H., Sheridan, S.

(2005), Neural Pathways for Real-Time

Dynamic Computer Games, The

Eurographics Association.

[8] Tomlinson, S. L. (2004), The Long and

Short of Steering in Computer Games,

International Journal of Simulation Vol

1-2 No 5.

[9] Korf, R. (1990), Real-time Heuristic Search,

Artificial Intelligence 42(2-3):189-211.

[10] Bulitko, V., Sturtevant, N., Lu, J., & Yau,

T.. (2007), Graph Abstraction in Real-time

Heuristic Search, Journal of Artificial

Intelligence Research 30: 51 - 100.

[11] Bulitko, V., Lûstrek, M., Schaeffer, J.,

Björnsson, Y., & Sigmundarson, S.

(2008), Dynamic Control in Real-Time

Heuristic Search, Journal of Artificial

Intelligence Research 32: 419-452.

[12] Björnsson, Y., Bulitko, V., & Sturtevant,

N. (2009), Time-Bounded A*,

Proceedings of the Twenty-First

International Joint Conference on

Artificial Intelligence.

[13] Sweetser, Penny. (2004), “How to Build

Neural Networks for Games”, AI Game

Programming Wisdom 2, Charles River

Media.

[14] Schwab, Brian. (2004), AI Game Engine

Programming, Charles River Media.

[15] Guy, J., Stephen, et.al. (2009). ClearPath:

Highly Parallel Collision Avoidance for

Multi-Agent Simulation. ACM

SIGGRAPH Symposium on Computer

Animation.

[16] Buckland, Matt. (2002), AI Techniques

for Game Programming, Premier Press.

[17] Reynolds, C., W. (1999). Steering

Behavoirs For Autonomous Characters.

Game Developers Conference, San Jose

California.

[18] Stanley, O. , Kenneth, Mikkulainen,

Risto. (2002), Evolving Neural

Networks through Augmenting

Topologies. MIT Press Journal.