Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk...

29
Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011 1 Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk Realtime Pathfinding dalam Permainan Komputer Eriq Muhammad Adams J|5109.201.023|Teknik Informatika Institut Teknologi Sepuluh Nopember

Transcript of Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk...

Page 1: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

1

Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk Realtime Pathfinding dalam Permainan Komputer

Eriq Muhammad Adams J|5109.201.023|Teknik Informatika Institut Teknologi Sepuluh Nopember

Page 2: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

2

Latar Belakang

Game sekarang kompleks : grafis realistis & NPC canggih

Game developer fokus pada Game AI

Agent Movement bagian dari Game AI

Agent Movement memerlukan strategi Pathfinding

A* sering dipakai untuk pathfinding

Namun A* punya waktu komputasi lama dan hanya mendukung lingkungan statis

Page 3: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

3

Latar Belakang [cont.]

Kinerja A* dapat diperbaiki dg :

Teknik Map Abstraction : HPA* (Botea, et.al, 2004) PRA * (Sturtevant & Buro, 2005) TRA* (Demyen, 2006) MM (Sturtevant, 2007)

Pathfinding dalam lingkungan dinamis (realtime pathfinding) dapat menggunakan:

Realtime Heuristics : LRTA* (Korf, 1990) PR LRTA* (Bulitko et.al, 2007) D LRTA* (Bulitko et.al, 2008) TBA* (Bjornsson et.al, 2009)

Machine Learning: ANN : NANS (Graham & McCabe, 2006)

MM 100x lebih cepat daripada A* namun hanya untuk lingkungan statis

NANS dapat mempelajari 2 komponen realtime pathfinding (path planning & obstacle avoidance) , cepat tidak butuh preprocessing namun path tidak dijamin optimal

Page 4: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

4

Kontribusi

Mengusulkan pendekatan baru realtime pathfinding dg. MM sbg long steering algorithm (path planning) dan ANN sbg short steering algorithm (obstacle avoidance).

Page 5: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

5

Rumusan Masalah

Bagaimana melakukan abstraksi menggunakan MM ?

Bagaimana melatih neural agent ?

Bagaimana mengintegrasikan MM sbg. long steering algorithm dan ANN sbg. short steering ?

Page 6: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

6

Batasan Masalah

Static Target

Regular Grids Representation

Evaluasi kinerja mengg. game engine 3D

Page 7: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

7

Tujuan & Manfaat

Tujuan : Bangun solusi realtime pathfinding mengg. MM (long steering algo.)dan ANN (short steering algo.)

Manfaat : Alternatif realtime pathfinding baru bg game developer.

Page 8: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

8

Metodologi Mulai

Pengambilan Dataset

Pelatihan Neural Agent

Integrasi MM dan ANN

Evaluasi

Selesai

Page 9: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

9

Metodologi [cont.]

1. Pengambilan Dataset

Peta permainan

Repositori HOG (Hierarchical Open Graph)

Page 10: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

10

Metodologi [cont.]

2. Pelatihan Neural Agent

Mulai

Perancangan Sensor Agen

Perancangan Topologi ANN

Pelatihan Discreet Evolution

Selesai

Page 11: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

11

Metodologi [cont.]

2.a. Perancangan Sensor Agen

5 sensor

Sensor diimpl. dg ray casting

1

2

3

4

5

45°

Agen

Page 12: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

12

Metodologi (cont.)

2.b. Perancangan Topologi ANN

Layer Keluaran

Layer Tersembunyi

Layer Masukan

Posisi Relatif Target

Nilai Sensor 1

Jarak Relatif

Sensor 1Nilai

Sensor 2

Jarak Relatif

Sensor 2

Nilai Sensor 3

Jarak Relatif

Sensor 3Nilai

Sensor 4

Jarak Relatif

Sensor 4Nilai

Sensor 2

Jarak Relatif

Sensor 2Variabel Tabrakan

Nilai Rotasi Searah Jarum Jam

Nilai Rotasi Berlawanan Arah Jarum

Jam

Page 13: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

13

Metodologi [cont.]

2.c. Pelatihan Discreet Evolution

Mode Discreet Evolution

S G S G

S G S G

S G S G

Page 14: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

14

Metodologi [cont.]

Evolusi Bobot Jaringan dg. GA

Page 15: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

15

Metodologi [cont.]

3. Integrasi MM dan ANN

Mulai

Abstraksi dg MM

Pathfinding dg. Abstraksi

Pergerakan Neural Agent

Selesai

Page 16: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

16

Metodologi [cont.]

3.a. Abstraksi dg MM

Komputasi Sektor

Komputasi Region

Komputasi Edge

0 1

2 3

a a

a

a

b b

b b c

32x32 cells

Page 17: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

17

Metodologi [cont.]

3.b. Pathfinding menggunakan abstraksi

Cari region terdekat

Cari abstract path

Cari real path

S

G

a

b

a

a

Page 18: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

18

Metodologi [cont.]

3.c. Pergerakan Neural Agent

Modifikasi reynold steering : path following 1. Inisialisasi 2. 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

Page 19: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

19

Metodologi [cont.]

4. Evaluasi

Skenario 1 : penentuan jumlah hidden layer, neuron per hidden layer

Skenario 2 : pengukuran fps dan collision per frame

Skenario 3 : pengukuran panjang path dan waktu tempuh

Page 20: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

20

Hasil & Uji Coba

Lingkungan Uji Coba

Perangkat Keras : – Prosesor Intel Core i3

– HDD 320 GB

– 3GB RAM

– NVIDIA G310M CUDA

Perangkat Lunak : – Microsoft Windows 7 64-bit

– Java SDK 1.6

– Eclipse IDE Helios

– JMonkeyEngine 3.0

Page 21: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

21

Hasil & Uji Coba [cont.]

Skenario 1 : penentuan jumlah hidden layer, neuron per hidden layer

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

Page 22: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

22

Hasil Uji Coba [cont.]

Gen. terbaik ditemukan pada gen. ke-37

Page 23: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

23

Hasil & Uji Coba [cont.]

Skenario 2 :

Page 24: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

24

Hasil Uji Coba [cont.]

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

Dg penambahan MM tidak menyebabkan perubahan fps yg signifikan

Collision per frame rata2 > ClearPath

Page 25: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

25

Hasil & Uji Coba [cont.]

Skenario 3 : Uji coba pada 10 peta permainan

No Tes

Peta Permainan

Jaringan Syaraf Tiruan Minimal Memory Abstraction &

Jaringan Syaraf Tiruan

Panjang Path (wu)

Waktu Tempuh (detik)

Panjang Path (wu)

Waktu Tempuh (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

Panjang path MM & ANN 3x lebih pendek drpd ANN

Waktu tempuhMM & ANN 3x lebih singkat drpd ANN

Page 26: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

26

Hasil & Uji Coba [cont.]

ANN vs MM & ANN

ANN MM & ANN

Page 27: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

27

Kesimpulan

Realtime pathfinding dpt diselesaikan dg. MM (long steering algo.) dan ANN (short steering algo.).

Neural agent hanya butuh 1 hidden layer u/ mempelajari 2 komponen penting realtime pathfinding

Dg. penambahan MM tidak mempengaruhi fps secara signifikan drpd metode sebelumnya.

Metode yg diusulkan lebih optimal dg. panjang path 3x lebih pendek dan waktu tempuh 3x lebih cepat drpd metode sebelumnya.

Page 28: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

28

Saran

GA diganti dg NEAT (Stanley & Mikkulainen, 2002) karena dapat mengevolusi bobot dan topologi.

Collision per frame dapat dikurangi dg. menggunakan Clearpath (Guy, et.al, 2009) sbg short steering algo.

Page 29: Minimal Memory Abstraction & Jaringan Syaraf Tiruan untuk ...digilib.its.ac.id/public/ITS-Master-15631-Presentation-1912269.pdf · mengg. MM (long steering algo.)dan ANN ... Integrasi

Teknik Informatika | Institut Teknologi Sepuluh Nopember Master Thesis | Juli 2011

29