Pemrograman Game Eko Prasetyo Teknik Informatika Univ Pembangunan Nasional Veteran Jawa Timur 2012 Sistem dalam AI Sistem yang menggunakan kecerdasan buatan ID: 668955
Download Presentation The PPT/PDF document "Game berbasis Artificial Intelligence" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Game berbasis Artificial Intelligence
Pemrograman Game
Eko PrasetyoTeknik InformatikaUniv. Pembangunan Nasional Veteran Jawa Timur2012Slide2
Sistem dalam AI
Sistem
yang menggunakan kecerdasan buatan, akan mencoba untuk memberikan output berupa solusi dari suatu masalah berdasarkan kumpulan pengetahuan yang ada.Untuk membangun suatu sistem yang mampu menyelesaikan masalah, perlu dipertimbangkan 4 hal:Mendefinisikan
masalah
dengan tepat. Pendefinisian ini mencakup spesifikasi yang tepat mengenai keadaan awal dan solusi yang diharapkan.Menganalisis masalah tersebut serta mencari beberapa teknik penyelesaian masalah yang sesuai.Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah tersebut.Memilih teknik penyelesaian masalah yang terbaik.
2
Basis
Pengetahuan
Inference Engine
Sistem yang menggunakan AI
MASALAH
SOLUSISlide3
Mendefinisikan Masalah
Sebagai Suatu Ruang
KeadaanMisalkan permasalahan yang dihadapi adalah “Permainan Catur”, maka harus ditentukan: 1. Posisi awal pada papan catur;Posisi awal setiap permainan catur selalu sama, yaitu semua bidak
diletakkan
di atas papan catur dalam 2 sisi, yaitu kubu putih dan kubu hitam3Slide4
Mendefinisikan Masalah
Sebagai Suatu Ruang
Keadaan (2)2. Aturan-aturan untuk melakukan gerakan secara legal;Aturan-aturan ini sangat berguna untuk menentukan gerakan suatu bidak, yaitu melangkah dari satu keadaan ke keadaan lain. Misalkan untuk mempermudah
menunjukkan
posisi bidak, setiap kotak ditunjukkan dalam huruf (a, b, c, d, e, f, g) pada arah horisontal, dan angka (1, 2, 3, 4, 5, 6,7 8) pada arah vertikal. Suatu aturan untuk menggerakkan bidak dari posisi (e,2) ke (e,4), dapat ditunjukkan dengan aturan: IF Bidak putih pada Kotak(e,2), And Kotak(e,3) Kosong, And Kotak(e,4) Kosong
Then Gerakkan bidak
dari (e,2) ke (e,4)
4Slide5
Mendefinisikan Masalah
Sebagai Suatu Ruang
Keadaan (3)3. Tujuan (goal);Tujuan yang ingin dicapai adalah posisi pada papan catur yang menunjukkan kemenangan seseorang terhadap lawannya. Kemenangan ini ditandai dengan posisi Raja yang sudah tidak dapat bergerak lagi
.
Contoh
di atas menunjukkan representasi masalah dalam Ruang Keadaan (State Space), yaitu suatu ruang yang berisi semua keadaan yang mungkin. Kita dapat memulai bermain catur dengan menempatkan diri pada keadaan awal, kemudian bergerak dari satu keadaan ke keadaan yang lain sesuai dengan aturan yang ada, dan
mengakhiri permainan
jika salah
satu telah mencapai tujuan.Sehingga
secara umum, untuk mendeskripsikan masalah dengan baik, harus:Mendefinisikan suatu ruang keadaan;
Menetapkan satu atau lebih keadaan awal;Menetapkan satu atau lebih tujuan
;Menetapkan kumpulan aturan.5Slide6
Ruang Keadaan
Ada
beberapa cara untuk merepresentasikan Ruang Keadaan:Graph KeadaanPohon PelacakanGraph KeadaanGraph terdiri-dari node-node yang menunjukkan keadaan yaitu keadaan awal dan keadaan baru yang akan dicapai dengan menggunakan operator. Node-node dalam graph keadaan saling dihubungkan
dengan
menggunakan arc (busur) yang diberi panah untuk menunjukkan arah dari suatu keadaan ke keadaan berikutnya.Dalam praktiknya, sangatlah sulit untuk menggambarkan graph keadaan.6Slide7
Graph Keadaan
Pada
gambar, ada lintasan 4 dari M ke T, yaitu:M-A-B-C-E-TM-A-B-C-E-H-TM-D-C-E-TM-D-C-E-H-TPada graph ini, ada juga lintasan yang tidak sampai ke tujuan atau menemui jalan buntu, yaitu:M-A-B-C-E-F-GM-A-B-C-E-I-JM-D-C-E-F-GM-D-C-E-I-JM-D-I-JTanpa
mempertimbangkan
arah, akan didapat siklus: D-C-E-I-D, node-node ini akan selalu berulang (pada graph tanpa arah).7A
M
T
4
3
3
5
2
6
4
8
6
7
4
H
I
D
E
J
F
C
B
G
2
1Slide8
Pohon Pelacakan
Untuk
menghindari kemungkinan adanya proses pelacakan suatu node secara berulang, maka digunakan struktur pohon.8
M
A
D
B
C
C
E
E
F
T
H
I
F
T
H
I
I
J
J
J
G
G
T
T
Level-0
Level-1
Level-2
Level-3
Level-4
Level-5
Level-6
Tujuan
Tujuan
Tujuan
Tujuan
Buntu
Buntu
Buntu
Buntu
BuntuSlide9
Pohon Pelacakan
Struktur
pohon digunakan untuk menggambarkan keadaan secara hirarkis. Pohon terdiri dari beberapa node. Node yang terletak pada level-0 disebut dengan nama “akar”. Node akar menunjukkan keadaan awal yang biasanya merupakan topik atau obyek. Node akar ini
terletak
pada level ke nol. Node akar memiliki beberapa percabangan yang terdiri-atas beberapa node successor yang sering disebut dengan nama “anak” dan merupakan node-node perantara. Namun jika dilakukan pencarian mundur, maka dapat dikatakan bahwa node tersebut memiliki predecessor. Node-node yang tidak memiliki anak sering disebut dengan nama node “daun” yang menunjukkan akhir
dari suatu pencarian,
dapat berupa
tujuan yang diharapkan (goal) atau jalan
buntu (dead end). Pada gambar tersebut, sudah tidak terlihat lagi adanya siklus, karena setiap node tidak
diperbolehkan memiliki cabang kembali ke node dengan level yang lebih rendah.9Slide10
Contoh 1: Masalah
teko air
Ada 2 buah teko masing-masing berkapasitas 4 liter (teko A) dan 3 liter (teko B). Tidak ada tanda yang menunjukkan batas ukuran pada kedua teko tersebut. Ada sebuah pompa air yang akan digunakan untuk mengisikan air pada kedua teko
tersebut
.
Permasalahannya: Bagaimanakah kita dapat mengisikan tepat 2 liter air ke dalam teko yang berkapasitas 4 liter ?10
3 liter
(teko B)
4 liter
(teko A)
Air
tak terbatasSlide11
Penyelesaian
A. Identifikasi
ruang keadaan.Permasalahan ini dapat direpresentasikan dengan 2 bilangan integer, yaitu x dan y:x = air yang diisikan pada teko 4 liter (teko A);y = air yang diisikan pada teko 3 liter (teko B);Ruang keadaan: (x,y) sedemikian hingga x{0,1,2,3,4} dan y{0,1,2,3}.B.
Keadaan
awal & tujuan.Keadaan awal, kedua teko dalam keadaan kosong: (0,0);Tujuan, keadaan dimana pada teko 4 liter berisi tepat 2 liter air: (2,n) untuk sembarang n.C. Keadaan teko air.Keadaan kedua teko dapat dilihat pada gambar. 11
(0,0)
(0,1)
(0,2)
(0,3)
(1,0)
(1,1)
(1,2)
(1,3)
(2,0)
(2,1)
(2,2)
(2,3)
(3,0)
(3,1)
(3,2)
(3,3)
(4,0)
(4,1)
(4,2)
(4,3)
Keadaan Awal
TujuanSlide12
Penyelesaian (2)
D. Aturan-aturan
12Aturan ke-Jika
Maka
1.
(x,y)x < 4(4,y)Isi teko A.
2.
(x,y)
y < 3
(x,3)
Isi teko B.
3.
(x,y)x > 0
(x-d,y)Tuangkan sebagian air keluar
dari teko A.
4.
(x,y)
y > 0
(x,y-d)
Tuangkan sebagian air keluar dari teko B.
5.
(
x,y
)
x > 0
(0,y)
Kosongkan teko A dengan membuang airnya ke tanah.
6.
(x,y)
y > 0
(x,0)
Kosongkan teko B dengan membuang airnya ke tanah.
7.
(x,y)
x+y
4 dan y > 0
(4,y-(4-x))
Tuangkan
air
dari
teko
B
ke
teko
A
sampai
teko
A
penuh
.
8.
(x,y)
x+y
3 dan x > 0
(x-(3-y),y)
Tuangkan air dari teko A ke teko B sampai teko B penuh.
9.
(x,y)
x+y
4 dan y > 0
(x+y,0)
Tuangkan seluruh air dari teko B ke teko A.
10.
(x,y)
x+y
3 dan x > 0
(0,x+y)
Tuangkan seluruh air dari teko A ke teko B.
11.
(0,2)
(2,0)
Tuangkan 2 galon air dari teko B ke teko A.
12.
(2,y)
(0,y)
Kosongkan
2
galon
air
di
teko
A
dengan
membuang
airnya
ke
tanah
.Slide13
Penyelesaian (3)
E. Representasi
ruang keadaan dengan pohon pelacakan.Pencarian suatu solusi dapat dilukiskan dengan menggunakan pohon. Tiap-tiap node menunjukkan satu keadaan. Jalur dari parent ke child menunjukkan satu operasi. Tiap-tiap node pada pohon pelacakan ini
memiliki
node-node child yang
menunjukkan keadaan yang dapat dicapai oleh parent.13Slide14
Graph keadaan solusi
14
Isi Teko A (liter)Isi Teko B (liter)
Aturan
yang
dipakai002
0
3
9
3
0
2
3
3
7
4
2
5
0
2
9
2
0
solusi
Contoh
solusi
pada
masalah
teko
airSlide15
Latihan
Bagaimana jika
ada teko A berkapasitas 4 liter dan teko B berkapasitas 5 liter. Bagaimana cara mengisi 2 liter ke salah satu teko ?Bagaimana jika ada teko A berkapasitas 5 liter dan teko B berkapasitas 7 liter. Bagaimana cara mengisi 6 liter ke teko B?Bagaimana jika ada
teko
A
berkapasitas 5 liter dan teko B berkapasitas 7 liter. Bagaimana cara mengisi 1 liter ke salah satu teko ?15Slide16
Contoh 2: Petani
dan 3 bawaannya
Seorang petani akan menyeberang bersama 3 bawaannya, yaitu: seekor kambing, seekor serigala, dan sayur-sayuran dengan sebuah perahu melalui sungai. Perahu hanya bisa memuat petani dan satu penumpang yang lain (kambing, serigala
atau
sayur-sayuran). Jika ditinggalkan oleh petani tersebut, maka sayur-sayuran akan dimakan oleh kambing, dan kambing akan dimakan oleh serigala.Permasalahan: Bagaimana cara petani bersama 3 bawaannya sampai di seberang ?16Slide17
17
Petani
dan 3 bawaannyaSlide18
Penyelesaian
A. Identifikasi ruang
keadaan.Permasalahan ini dapat dilambangkan dengan (Petani, Sayur, Kambing, Srigala.)Nilai 0 berarti didaerah asal, nilai 1 didaerah seberang. B. Keadaan awal & tujuan.Keadaan awal:Posisi: (0, 0, 0, 0)Tujuan:Posisi: (1,1,1,1)
18Slide19
Penyelesaian (2)
19
C. Keadaan Petani dan 3 bawaannyaAturan ke-Aturan
1.
Petani
dan Kambing menyeberang2.Petani dan Sayuran
menyeberang
3.
Petani
dan
Serigala menyeberang4.
Petani
dan Kambing kembali
5.Petani
dan Sayuran
kembali
6.
Petani
dan
Serigala
kembali
7.
Petani
kembali
D.
Aturan-aturan
Keadaan
awal
TujuanSlide20
Penyelesaian (3)
20
E. Representasi ruang keadaan dengan pohon pelacakanSlide21
Graph keadaan solusi
optimal
21PosisiAturan yang dipakai
(0, 0,
0, 0)
1(1, 0, 1, 0)7(0, 0, 1, 0)
3
(1, 0, 1, 1)
4
(0, 0, 0, 1)
2
(1, 1, 0, 1)
7
(0, 1, 0, 1)
1
(1, 1, 1, 1)
solusi
Contoh
solusiSlide22
Latihan: Keluarga
menyeberang dengan perahu
Ada satu keluarga yang akan menyeberang sungai menggunakan perahu.Keluarga tersebut terdiri dari: Ayah, Ibu, dan 2 anak.Masalahnya kapasitas perahu hanya mampu memuat paling banyak 1 orang dewasa atau 2 anak, jika
melebihi
kapasitas maksimal maka perahu akan tenggelam.Permasalahan: Bagaimana cara satu keluarga tersebut menyeberan sungai ?22Slide23
Latihan: Missionaris
dan Monster
Ada 6 penumpang, terdiri dari 3 missionaris dan 3 monster yang bersama-sama akan menyeberang sungai menggunakan sebuah perahu.Perahu hanya mampu mengangkut maksimal 2 penumpang.Jika disalah satu tepi jumlah missionaris kalah banyak dengan monster maka
missionaris
akan dimakan oleh monster tersebut.Permasalahan: Bagaimana cara menyeberangkan 6 penumpang tersebut ?23Slide24
24
Missionaris
dan MonsterSlide25
Latihan: Keluarga
menyeberang sungai dengan
lampuAda sebuah keluarga terdiri dari keponakan, anak, ibu, ayah, kakek.Mereka akan menyeberangi sungai dengan sebuah jembatan kayu. Jembatan kayu tersebut hanya dapat memuat paling banyak 2 orang.Suasana
saat
itu gelap gulita sehingga untuk menyeberang dibantu dengan lampu penerangan berupa lampu teplok (oplek). Masalahnya, minyak tanah dalam lampu teplok tersebut hanya dapat bertahan untuk menerangi selama 30 menit, terhitung awal sesi penyeberangan. Jika minyak tersebut sudah habis maka lampu
akan mati dan
penyeberangan tidak
dapat dilanjutkan.Karena faktor usia
dan kebiasaan menyeberang sungai, setiap anggota keluarga mempunyai keberanian yang berbeda dalam menyeberangi sungai. Keponakan
dapat menyeberang dalam waktu 1 menit.Anak dapat menyeberang dalam waktu 3 menit.
Ibu dapat menyeberang dalam waktu 6 menit.Ayah dapat menyeberang dalam waktu 8
menit.Kakek dapat menyeberang dalam waktu 12 menit.Aturannya, jika dua orang
bersama-sama menyeberang maka durasi penyeberangan akan mengikuti orang dengan durasi menyeberang
lebih lama.Bagaimana cara tersebut membagi
tugas untuk bisa menyeberangkan
semua anggota keluarga dengan persediaan
minyak
dalam
lampu
teplok
yang
terbatas
tersebut
?
25Slide26
26
Keluarga
menyeberang sungai dengan lampuSlide27
Latihan: Pangeran
berkuda
Ada seorang pengeran yang menunggangi kuda akan melompat dari satu menara ke menara yang lain.Diantara 2 menara itu ada sejumlah spot yang tertata sedemikian rupa sehingga pangeran dapat menggunakannya sebagai batu loncatan ke menara kedua
,
tetapi
dengan syarat:Dia harus melompati semua spot.Mulai dari sebuah spot sembarang dan harus kembali ke spot awal yang dipilih.Setiap spot (selain spot awal yang dipilih) hanya boleh dilewati tepat satu kali.Karena menunggangi kuda, maka pelompatannya harus menggunakan lompatan kuda (seperti permainan catur).Permasalahan
: Bagaimana urutan pelompatan
pangeran
dan kudanya pada spot tersebut ?
27Slide28
28
Pangeran
berkudaSlide29
Saatnya anda
membuat game
Tugas 329