gameprog 5 game berbasis ai
TRANSCRIPT
-
7/24/2019 Gameprog 5 Game Berbasis Ai
1/29
Game berbasis Artifcial
IntelligencePemrograman Game
Eko Prasetyo
Teknik Inormatika
Univ. Pembangunan Nasional Veteran Jaa Timur
!"#!
-
7/24/2019 Gameprog 5 Game Berbasis Ai
2/29
$istem %alam AI$istem yang menggunakan kecer%asan buatan& akan
mencoba untuk memberikan out'ut beru'a solusi %ari suatumasala( ber%asarkan kum'ulan 'engeta(uan yang a%a.
Untuk membangun suatu sistem yang mam'umenyelesaikan masala(& 'erlu %i'ertimbangkan ) (al*
#. +en%efnisikan masala( %engan te'at. Pen%efnisian ini mencaku's'esifkasi yang te'at mengenai kea%aan aal %an solusi yang%i(ara'kan.
!. +enganalisis masala( tersebut serta mencari bebera'a teknik'enyelesaian masala( yang sesuai.
,. +ere'resentasikan 'engeta(uan yang 'erlu untuk menyelesaikanmasala( tersebut.
). +emili( teknik 'enyelesaian masala( yang terbaik.
!
BasisPengetahua
n
BasisPengetahua
n
InferenceEngine
InferenceEngine
Sistem yangmenggunakan AI
MASALAHMASALAH SOLUSISOLUSI
-
7/24/2019 Gameprog 5 Game Berbasis Ai
3/29
+en%efnisikan +asala( $ebagai$uatu -uang ea%aan
+isalkan 'ermasala(anyang %i(a%a'i a%ala(/Permainan 0atur1&maka (arus %itentukan*
#. Posisi aal 'a%a 'a'ancatur2
Posisi aal setia''ermainan catur selalu
sama& yaitu semua bi%ak%iletakkan %i atas 'a'ancatur %alam ! sisi& yaitukubu 'uti( %an kubu (itam
,
-
7/24/2019 Gameprog 5 Game Berbasis Ai
4/29
+en%efnisikan +asala( $ebagai$uatu -uang ea%aan 3!4!. Aturan5aturan untuk melakukan gerakan secara legal2
Aturan5aturan ini sangat berguna untuk menentukan gerakan suatubi%ak& yaitu melangka( %ari satu kea%aan ke kea%aan lain. +isalkanuntuk mem'ermu%a( menun6ukkan 'osisi bi%ak& setia' kotak%itun6ukkan %alam (uru 3a& b& c& %& e& & g4 'a%a ara( (orisontal& %anangka 3#& !& ,& )& 7& 8&9 :4 'a%a ara( vertikal. $uatu aturan untuk
menggerakkan bi%ak %ari 'osisi 3e&!4 ke 3e&)4& %a'at %itun6ukkan%engan 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)
)
-
7/24/2019 Gameprog 5 Game Berbasis Ai
5/29
+en%efnisikan +asala( $ebagai$uatu -uang ea%aan 3,4,. Tu6uan 3goal42
Tu6uan yang ingin %ica'ai a%ala( 'osisi 'a%a 'a'an catur yangmenun6ukkan kemenangan seseorang ter(a%a' laannya. emenanganini %itan%ai %engan 'osisi -a6a yang su%a( ti%ak %a'at bergerak lagi.
0onto( %i atas menun6ukkan re'resentasi masala( %alam
Ruang Keadaan (State Space),yaitu suatu ruang yang
berisi semua kea%aan yang mungkin. ita %a'at memulai bermain catur %engan menem'atkan %iri 'a%a
kea%aan aal& kemu%ian bergerak %ari satu kea%aan ke kea%aan yanglain sesuai %engan aturan yang a%a& %an mengak(iri 'ermainan 6ikasala( satu tela( menca'ai tu6uan.
$e(ingga secara umum& untuk men%eskri'sikan masala(
%engan baik& (arus*#. +en%efnisikan suatu ruang kea%aan2
!. +eneta'kan satu atau lebi( kea%aan aal2
,. +eneta'kan satu atau lebi( tu6uan2
). +eneta'kan kum'ulan aturan.
7
-
7/24/2019 Gameprog 5 Game Berbasis Ai
6/29
-uang ea%aan
A%a bebera'a cara untuk mere'resentasikan -uangea%aan*
Gra'( ea%aan
Po(on Pelacakan
Graph Keadaan
Gra'( ter%iri5%ari no%e5no%e yang menun6ukkankea%aan yaitu kea%aan aal %an kea%aan baru yangakan %ica'ai %engan menggunakan o'erator.
No%e5no%e %alam gra'( kea%aan saling %i(ubungkan%engan menggunakan arc3busur4 yang %iberi 'ana(untuk menun6ukkan ara( %ari suatu kea%aan kekea%aan berikutnya.
-
7/24/2019 Gameprog 5 Game Berbasis Ai
7/29
Gra'( ea%aanPa%a gambar& a%a lintasan ) %ari + ke T& yaitu*
+5A5=505E5T
+5A5=505E5>5T
+5
-
7/24/2019 Gameprog 5 Game Berbasis Ai
8/29
Po(on Pelacakan
Untuk meng(in%ari kemungkinan a%anya 'roses 'elacakansuatu no%e secara berulang& maka %igunakan struktur 'o(on.
:
M
A D
B
C
C
E
E FT
HI
FT
HI
I
J
J
J
G
GT
T
Level-0
Level-1
Level-2
Level-3
Level-4
Level-5
Level-6
Tuuan
TuuanTuuan
Tuuan
BuntuBuntu
Buntu
BuntuBuntu
-
7/24/2019 Gameprog 5 Game Berbasis Ai
9/29
Po(on Pelacakan
$truktur 'o(on %igunakan untuk menggambarkan kea%aan secara(irarkis.
Po(on ter%iri %ari bebera'a no%e.
No%e yang terletak 'a%a level5" %isebut %engan nama /akar1.
No%e akar menun6ukkan kea%aan aal yang biasanya meru'akan to'ik atauobyek.
No%e akar ini terletak 'a%a level ke nol.No%e akar memiliki bebera'a 'ercabangan yang ter%iri5atas
bebera'a no%e successor yang sering %isebut %engan nama /anak1%an meru'akan no%e5no%e 'erantara.
Namun 6ika %ilakukan 'encarian mun%ur& maka %a'at %ikatakan ba(a no%etersebut memiliki 're%ecessor.
No%e5no%e yang ti%ak memiliki anak sering %isebut %engan namano%e /%aun1 yang menun6ukkan ak(ir %ari suatu 'encarian& %a'atberu'a tu6uan yang %i(ara'kan 3goal4 atau 6alan buntu 3dead end4.
Pa%a gambar tersebut& su%a( ti%ak terli(at lagi a%anya siklus&
karena setia' no%e ti%ak %i'erbole(kan memiliki cabang kembalike no%e %engan level yang lebi( ren%a(.
@
-
7/24/2019 Gameprog 5 Game Berbasis Ai
10/29
0onto( #* +asala( tekoairA%a ! bua( teko masing5masing berka'asitas ) liter
3teko A4 %an , liter 3teko =4.
Ti%ak a%a tan%a yang menun6ukkan batas ukuran 'a%ake%ua teko tersebut.
A%a sebua( 'om'a air yang akan %igunakan untuk
mengisikan air 'a%a ke%ua teko tersebut.Permasala(annya* =agaimanaka( kita %a'at mengisikan
te'at ! liter air ke %alam teko yang berka'asitas ) liter
#"
3 liter
(tekoB)
4 liter
(tekoA)
Air
takterbatas
Airtak
terbatas
-
7/24/2019 Gameprog 5 Game Berbasis Ai
11/29
Penyelesaian
A Identi!kasi ruang keadaanPermasala(an ini %a'at
%ire'resentasikan %engan ! bilanganinteger& yaitu B %an y*
B C air yang %iisikan 'a%a teko ) liter3teko A42
y C air yang %iisikan 'a%a teko , liter
3teko =42-uang kea%aan* 3B&y4 se%emikian
(ingga BD"&!&,&) %an yD"&!&,.
B Keadaan a"al # tu$uanea%aan aal& ke%ua teko %alam
kea%aan kosong* 3"&"42
Tu6uan& kea%aan %imana 'a%a teko )
liter berisi te'at ! liter air* 3!&n4 untuksembarang n.
% Keadaan teko air
ea%aan ke%ua teko %a'at %ili(at 'a%agambar.
##
!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
Tujuan
-
7/24/2019 Gameprog 5 Game Berbasis Ai
12/29
Penyelesaian 3!4
& Aturan'aturan
#!
Aturanke-
Jika Maka
1$ !%"y#
% & 4
!4"y#
Isi tek' A$
2$ !%"y#
y & 3
!%"3#
Isi tek' B$
3$ !%"y#
% ( 0
!%-)"y#
Tuangkan se*agian ai+ kelua+ )a+i tek' A$4$ !%"y#
y ( 0
!%"y-)#
Tuangkan se*agian ai+ kelua+ )a+i tek' B$5$ !%"y#
% ( 0
!0"y#
,'s'ngkan tek' A )engan mem*uang ai+nya ke tanah$
6$ !%"y#
y ( 0
!%"0#
,'s'ngkan tek' B )engan mem*uang ai+nya ke tanah$
$ !%"y#
%.y 4 )an y ( 0
!4"y-!4-%##
Tuangkan ai+ )a+i tek' B ke tek' A sam/ai tek' A /enuh$
$ !%"y#%.y 3 )an % ( 0
!%-!3-y#"y#Tuangkan ai+ )a+i tek' A ke tek' B sam/ai tek' B /enuh$
$ !%"y#
%.y 4 )an y ( 0
!%.y"0#
Tuangkan selu+uh ai+ )a+i tek' B ke tek' A$
10$ !%"y#%.y 3 )an % ( 0
!0"%.y#Tuangkan selu+uh ai+ )a+i tek' A ke tek' B$
11$ !0"2# !2"0#Tuangkan 2 gal'n ai+ )a+i tek' B ke tek' A$
12$ !2"y# !0"y#,'s'ngkan 2 gal'n ai+ )i tek' A )engan mem*uang ai+nya ketanah$
-
7/24/2019 Gameprog 5 Game Berbasis Ai
13/29
Penyelesaian 3,4
Representasi ruangkeadaan dengan pohonpelaakanPencarian suatu solusi
%a'at %ilukiskan %enganmenggunakan 'o(on.
Tia'5tia' no%e menun6ukkansatu kea%aan.
Jalur %ari 'arent ke c(il%menun6ukkan satu o'erasi.
Tia'5tia' no%e 'a%a 'o(on
'elacakan ini memilikino%e5no%e c(il% yangmenun6ukkan kea%aan yang%a'at %ica'ai ole( 'arent.
#,
-
7/24/2019 Gameprog 5 Game Berbasis Ai
14/29
Gra'( kea%aan solusi
#)
Isi Teko
A (liter)
Isi Teko
B (liter)
Aturan
an!
"i#akai
0 0 2
0 3
3 0 23 3
4 2 5
0 2
2 0 s'lusi
0onto( solusi 'a%a masala( teko
-
7/24/2019 Gameprog 5 Game Berbasis Ai
15/29
Fati(an
=agaimana 6ika a%a teko A berka'asitas )liter %an teko = berka'asitas 7 liter.=agaimana cara mengisi ! liter ke sala(satu teko
=agaimana 6ika a%a teko A berka'asitas 7liter %an teko = berka'asitas 9 liter.=agaimana cara mengisi 8 liter ke teko =
=agaimana 6ika a%a teko A berka'asitas 7liter %an teko = berka'asitas 9 liter.=agaimana cara mengisi # liter ke sala(satu teko
#7
-
7/24/2019 Gameprog 5 Game Berbasis Ai
16/29
0onto( !* Petani %an ,baaannya$eorang 'etani akan menyeberang bersama
, baaannya& yaitu* seekor kambing& seekorserigala& %an sayur5sayuran %engan sebua('era(u melalui sungai.
Pera(u (anya bisa memuat 'etani %an satu'enum'ang yang lain 3kambing& serigalaatau sayur5sayuran4.
Jika %itinggalkan ole( 'etani tersebut& maka
sayur5sayuran akan %imakan ole( kambing&%an kambing akan %imakan ole( serigala.
Permasala(an* =agaimana cara 'etanibersama , baaannya sam'ai %i seberang
#8
-
7/24/2019 Gameprog 5 Game Berbasis Ai
17/29
#9
*etani dan 3 ba"aann+a
-
7/24/2019 Gameprog 5 Game Berbasis Ai
18/29
Penyelesaian
A Identi!kasi ruang keadaanPermasala(an ini %a'at %ilambangkan
%engan 3Petani& $ayur& ambing& $rigala.4
Nilai " berarti %i%aera( asal& nilai #
%i%aera( seberang.
B Keadaan a"al # tu$uan
ea%aan aal* Posisi* 3"& "& "& "4Tu6uan*
Posisi* 3#
#:
-
7/24/2019 Gameprog 5 Game Berbasis Ai
19/29
Penyelesaian 3!4
#@
0. ea%aan Petani %an , baaannyaAturan
ke-Aturan
1$ Petani )an ,am*ing
menye*e+ang2$ Petani )an Sayu+an
menye*e+ang3$ Petani )an Se+igala
menye*e+ang4$ Petani )an ,am*ing
kem*ali5$ Petani )an Sayu+an
kem*ali
6$ Petani )an Se+igalakem*ali
$ Petani kem*ali
& Aturan'aturan
ea%aan aal
Tu6uan
-
7/24/2019 Gameprog 5 Game Berbasis Ai
20/29
Penyelesaian 3,4
!"
E. -e'resentasi ruang kea%aan %engan 'o(on'elacakan
-
7/24/2019 Gameprog 5 Game Berbasis Ai
21/29
Gra'( kea%aan solusio'timal
!#
P'sisiAtu+an yang
)i/akai(0, 0, 0, 0) 1(1, 0, 1, 0)
(0, 0, 1, 0) 3(1, 0, 1, 1) 4(0, 0, 0, 1) 2(1, 1, 0, 1) (0, 1, 0, 1) 1(1, 1, 1, 1) s'lusi
0onto( solusi
-
7/24/2019 Gameprog 5 Game Berbasis Ai
22/29
Fati(an* eluarga menyeberang%engan 'era(u
A%a satu keluarga yang akan menyeberangsungai menggunakan 'era(u.
eluarga tersebut ter%iri %ari* Aya(& Ibu&%an ! anak.
+asala(nya ka'asitas 'era(u (anyamam'u memuat 'aling banyak # orang%easa atau ! anak& 6ika melebi(ika'asitas maksimal maka 'era(u akan
tenggelam.Permasala(an* =agaimana cara satu
keluarga tersebut menyeberan sungai
!!
-
7/24/2019 Gameprog 5 Game Berbasis Ai
23/29
Fati(an* +issionaris %an+onsterA%a 8 'enum'ang& ter%iri %ari , missionaris
%an , monster yang bersama5sama akanmenyeberang sungai menggunakan sebua('era(u.
Pera(u (anya mam'u mengangkutmaksimal ! 'enum'ang.
Jika %isala( satu te'i 6umla( missionariskala( banyak %engan monster maka
missionaris akan %imakan ole( monstertersebut.
Permasala(an* =agaimana caramenyeberangkan 8 'enum'ang tersebut
!,
-
7/24/2019 Gameprog 5 Game Berbasis Ai
24/29
!)
issionaris dan onster
-
7/24/2019 Gameprog 5 Game Berbasis Ai
25/29
Fati(an* eluarga menyeberangsungai %engan lam'u
A%a sebua( keluarga ter%iri %ari ke'onakan& anak& ibu& aya(& kakek.+ereka akan menyeberangi sungai %engan sebua( 6embatan kayu. Jembatan
kayu tersebut (anya %a'at memuat 'aling banyak ! orang.
$uasana saat itu gela' gulita se(ingga untuk menyeberang %ibantu %enganlam'u 'enerangan beru'a lam'u te'lok 3o'lek4. +asala(nya& minyak tana(%alam lam'u te'lok tersebut (anya %a'at berta(an untuk menerangi selama," menit& ter(itung aal sesi 'enyeberangan. Jika minyak tersebut su%a(
(abis maka lam'u akan mati %an 'enyeberangan ti%ak %a'at %ilan6utkan.arena aktor usia %an kebiasaan menyeberang sungai& setia' anggota
keluarga mem'unyai keberanian yang berbe%a %alam menyeberangi sungai.
e'onakan %a'at menyeberang %alam aktu # menit.
Anak %a'at menyeberang %alam aktu , menit.
Ibu %a'at menyeberang %alam aktu 8 menit.
Aya( %a'at menyeberang %alam aktu : menit.
akek %a'at menyeberang %alam aktu #! menit.
Aturannya& 6ika %ua orang bersama5sama menyeberang maka %urasi'enyeberangan akan mengikuti orang %engan %urasi menyeberang lebi(lama.
=agaimana cara tersebut membagi tugas untuk bisa menyeberangkan semuaanggota keluarga %engan 'erse%iaan minyak %alam lam'u te'lok yangterbatas tersebut
!7
-
7/24/2019 Gameprog 5 Game Berbasis Ai
26/29
!8
Keluarga -en+eberang sungai dengan la-
-
7/24/2019 Gameprog 5 Game Berbasis Ai
27/29
Fati(an* Pangeranberku%aA%a seorang 'engeran yang menunggangi ku%a akan
melom'at %ari satu menara ke menara yang lain.
-
7/24/2019 Gameprog 5 Game Berbasis Ai
28/29
!:
*angeran berkuda
-
7/24/2019 Gameprog 5 Game Berbasis Ai
29/29
.AAT/0A A/&AB1AT GA
Tugas ,
!@