Techno.COM, Vol. 10, No. 3, Agustns 20ll:98-107
SOLUSI
PENCARIAN
N-PTJZZLE DENGAI\I
LANGKATI
OPTIMAL
: SUATU
APLIKASI
PENDEKATAN FUNGSIONAL
Wijanarto
Program Studi Teknik Informatika, Fakultas llmu Komputer, Universitas Dian Nuswantoro, Semarang 50131
E-mail : [email protected]
Abstract
This paper aims to determine a more optimal search techniques on a cqse study
of
n-puzzle problem solving. Some algorithms are in review as breadth-first sea'rch,
depth-first search,
*
hill-climbing, beam, best-first searching and optimization with A(A-stql) search becomes case study in simulated using a fuictional approach.
Test simulation is based on the dfficulty level of the
initiil
siate that is givenfromthe category configuration easy, medium, hard and ugly, the cqlculation
i7
th,amount of expansion produced by each algorithm are discussed, as well as th; fime
profile (report-time) of the design solution in proposing, show that the search with
a * optimization method gives optimum results on n-puzzle solving compared to all
other algorithms. By understqnding the heuristic search algoithm is expected to help resolve the problem optimally is based on the case other than a puzzle. Keywords : A Star, Heuistic, N-Puzzle, Search,functional
1.
PENDAHULUAI\
Di
sadari
atau
tidak,kehidupan
sehari-hari,melakukan
kegiatanpencarian.
Pencariandalam
praktekkita
selaluyang
disebutatau
searchingmenempati
isu
yang penting dalam dunia komputasi khususnya danilmu
komputerpada
umumnya U,2,31. Konsep
dasarteknik
pencarian menernpatiporsi
yangsangat strategis, dimana
hampir
seluruhkegiatan komputasi
mendasarkan padakegiatan
ini
[4].
Mulai
dari
pemahamankonsep struktur data dan algoribna hioggu
artificial
intelligence,
teknik
pencarianmenjadi primadona bahasan utama [12].
Algoritona berbasis
teknik
pencarian(Searching Technique Atgorithms), bahkan
dapat
di
aplikasikan pada bidang diluar komputasi, pencocokan DNA pada (GeneticAlgorithm)
di
bidang
kedokteran danbiologi, neural network,optimasi pemilihan banyak kriteria dengan banyak alternatif di
bidang ekonomi, robot pencari jejak (panas,
sinyal)
di
bidang rekayasarobotika
dan masih banyak lagi[8].
Selain bidang sepertidiatas, game merupakan salah satu bidang
yang menarik yang berhubungan dengan
teknik
pencarian
dalam
artificialintelligence.
Permainan
dapat
menghasilkan
ruang pencarian yang sangat besar. HalIni
cukupbesar
dan
kompleks
yang
memerlukan teknik yang kuat untuk menentukan apakahalternatif
yftng di pakai
dalam mengeksplorasiproblem
space
tersebut.Teknik ini disebut heuristik dan merupakan
area utama penelitian artificial intelligence.
Heuristik adalah strategi
pemecahanmasalah
yang
bergunatetapi
berpotensidapat keliru, seperti
memeriksa
unhrkmemastikan
bahwa suatu
alat
tidakresponsif. N-Puzzle adalah salah satu game
klasik yang menarik untuk
di
amati gunamencapai pemahaman
terhadap
konsep pencarian solusi masalah. Salah satu varian dari N-Puzzle adalah 8-puzzle yaitu papanTechno.CAM, Yol. 10, No. 3, AgLtstlts 20ll: 98-107 99
berukuran
3
x 3
yangterdiri
dari delapankotak angka dengan satu kotak kosong untu
dapat dipindahkan. Walaupun space state
lebih kecil dat'' ll-pr,uzle, namun tetap saja
menjadi menarik
jika
kita ingin mengetahuiberapa langkah
yang
paling
cepat ataupendek
yang dapat
di
temukan
Padamasalah
ini.
Dengan memberil<an initial state yangdi
konfigurasikan berdasarkantingkat
kesukaran
tertentu
(mudah,menenga[
sukar dan buruk) untuk
dselesaikan"
lalu
kita
akan
memeriksa dengan algoritma teknik pencarian denganuninformed
search
dan
hueristic,diharapkan
dapat
mengetahui ekspansiterkecil
dari path yang
di
hasilkan oleh masing-masingalgoritrna
yang
dipakaiuntuk
mengamatinya.Laporan
beruPaprofile waktu, jumlah pemanggilan fungsi,
konstruksi
memory
serta
kebutuhanmemory
bagi fungsi
menjadi
infonnasi yang lengkap yang dapatdi
sediakan oleh alat uji simulai.Paper
ini
akan
memaparkan beberapaalgoritma berbasis pencarian,
baik
yanghueristic maupun uninformed
search.Eksplorasi terhadap algoritma breadth-first
searc\
depth-first
search, hill-climbing, beam,best-frst
searchingdan
optimasi denganA*
(A-Star) search akan menjadibahasan utama 11,2,3,5). Sedangkan studi
kasus
yang
di pilih
adalah
padapenyelesaian masalah
8
puzz,le, semuaalgoriha
akan
di
simulasikan denganmenggunakan pendekatan fungsional yaitu
bahasa CMU Common Lisp yang berjalan
pada platform linux, dimana selunrh kode
yang
di
pakai untuk simulasi merupakanmodifikasi dari [2] , [6] dan
[3].
2. UNINFORMED SEARCHIstilah
ini
dapatdi
artikanjuga
sebagaiblind search, yang berarti bahwa strategi ini
tidak memiliki informasi tambahan tentang state di luar yang disediakan dalam definisi masalah. Pencarian pada ranah
ini
hanyadapat
menghasilkan
suksesor
dan membedakan suatu goal state dan non-goalstate
l2),
pada
jenis
algoritma
ini
perbedaannya terletak padaurutan
nodeyang akan
di
ekspan. Algoritma yang dibahas pada bagian ini meliputi breadth-first
dan depth-first search.
2.1. Breadth First Search
Merupakan
algoritna
sederhana denganstrategi untuk melakukan ekpansi pertama mulai dari
root
kemudian seluruh adjencentnode atau
seluruh
tetanggadari
nodetersebut akan
di
ekspansi (traversal node),begitu seterusnya hittgga mencapai semua
tiap node terakhir (leaf) sudah
di
kunjungi[1,2,11]. Dengan kata
lain,
algoritmaini
merupakan pencarian yang exhaustive ke
seluruh graph
tanpa mempertimbangkanada atau tidaknya tujuan hingga seluruh
node terkunjungi. Dengan memanfaatkan queue
untuk
menyimpan noderoot
yangakan
di
ekspansi maka pencarian denganteknik
ini
akan selalu
mengeksplorasi adjencent node yang berada pada queueterdepan, dan berakhir saat queue sudah
habis.
Breadth-first search
akan
men-generate seluruh node hingga kedalamanpada level
d,
atauI+b
+ b2+ b3 + . ..
+ bdiehingga
di
peroleh O(bd). Pada averagecase, setengah node pada kedalaman d harus
di
periks4
dan
dengan demikian kompleksitas waktu pada average-case jugao(b") [2,9].
2.2. Depth-First Search
Pencarian
Depth-First
akan
melakukanpencarian dengan
cepat
ke
node
yangterdalam. Pencarian
memproses
secaracepat
ke
level terdalam pada tree hingganode
tidak
mernpunyai suksesor lagi.Implementasi
teknik
ini
memanfaatkan suatustach
dan dengan demikian seringkali
di
implementasikan secara recursive, pada saat mencapaileal
makateknik ini
akan kembali (bakctrack ke node di atasnya
unnrk melakukan dfs pada adjencent node
yang belum
di
hmjungi).
Di
sisi
lain, pencarian depth-first bisa kehilangan arahTechno.COM, Vol. 10, No. 3, Agustts 201
I:
98- 107 100kehilangan path terpendek
ke
tujuan ataubahkan menjadi terjebak dalam path yang tak terhingga yang tidak tidak mengarah ke
tujuan[8].
Kompleksitas
waktu
dari pencarian mendalam dengan kedalaman d dan faktor branchb
adalah O(bd), karenamenghasilkan set node yang sama dengan
breadt
frst,
tetapi dengan perbedaan urutanpencarian.
Jadi,
praktisnya,depth frst
search mempunyai keterbatasan waktu dan space yang lebih besar [2,10].
3.IIEURISTIC
SEARCHHeuristik
adalah
kriteria,
metode,
atauprinsip-prinsip
untuk
memutuskan yangmana antara beberapa altematif, dari aksi-aksi yang menjanjikan paling efektif dalam
rangka
untuk
mencapaitujuan
tertentu.Teknik
ini
mewakili kompromi antara duapersyaratan: kebutuhan
untuk
membuatkriteria tersebut sederhana dan, pada saat
yang sama, keinginan untuk
melihat
dan membedakan dengan benar diantara pilihanyang baik dan buruk. Bagian pertama dapat
di
a*ikan, bahwa suatu masalah mungkintidak memiliki
solusiyang tepat
karenaambiguitas yang melekat pada pernyataan
masalah atau data yang tersedia. Kedua,
suatu masalah
mungkin
memiliki
solusiyang
tepat,tetapi cost
komputasi untuk menemukanitu
mungkin menjadi terlalutinggi. Dalam
banyak
masalah (sepertigame,
catur),
pertumbuhanstate
spac€adalah kombinatorial eksplosif,
denganjumlah state yang
mungkin
meningkat secara eksponensialatau faktorial
padakedalaman pencarian.
Dalam kasus
ini,teknik
pencarian sepertidepth-first
ataubreadth-first
mungkin gagal
untukmenemukan
solusi
praltis.
Heuristikmencoba menangkal kompleksitas ini
dengan melakukan pencariandi
sepanjangpath yang
paling
"menjanjikan" melalui spaceyang ada.
Dengan menghilangkan state yang"tidak
menjanjikan", algoritmaheuristik
bisa
mengatasi
ledakankombinatorial dan menemukan solusi yang dapat diterima.
3.1. Best-first Search
Best-fint
search
merupakan
algoritmapencarian yang mengeksplorasi suatu graph dengan melalcukan ekspanding pada node
ang paling
menjanjikan
yang
di
pilih
berdasarkan
aturan
tertentu
f1,2,5,7f.Dalam
Algorima
ini,
ruang
pencarian dievaluasi menurut fungsi heuristik. Node yang belum dievaluasi disimpan pada listTERBUKA
dan
mereka
yang
telah dievaluasi disimpan padalist
TERTUTUP.List
TERBUKA
direpresentasikan denganpriority-queue, node yang belum dikunjungi
bisa
dequeueddalam
fungsi
evaluasi.Fungsi evaluasi
f(n)
dlbtat
dengan fungsi hueristic(h(n))
seperti persamaan berikut,f(n):
h(n)
(l)
dimana
h(n)
akan mengestimasikan cost dengan path termurah dar noden ke
goal node, danjika
n
adalah goal node makahfu)A.
Kemudian
List
TERBUKAdibangun
dalam
rangka
f(n), Hal
ini
membuat best-first search menjadi greedykarena selalu
memilih
kesempatan lokalterbaik dalam
pencarian.
Kompleksitasalgoritna
nI
O(b^) baik
pada space danwaktunya. 3.2.
A*
(A-Star)Bentuk yang
paling luas
dari
best-firstsearch adalah
A*
search (disebutjuga
"A-star searchn).
Algoritma
ini
mengevaluasi node dengan mengkombinasikan g(n) , cost untuk mencapai node, dan h(n.), cost untuk mencapai dari nodeke
goal
di
notasikandengan persaru&an (2) sebagai berikut :
f(n)=g(n)+h(n)
(2)Karena
g(n/
memberikancost
path
dari awal node ke node n,
dan h(n) merupakan cost yang di estimasikan dari path terendah dari n ke goal state, sehingga dapat di tulis,f
(n):
estimasi cost solusi termurah melaluin (3)
Dari
(3),jika kita
mencoba
menemukan solusitermura\
sangat masuk akal unfukmencoba
yang
pertama adalah
denganmencari
nilai
terendahdari g(n)+h(n).
A
Star
di
kenal
sebagaialgoritma
yangTechno.COM, Yol. 10, No. 3, Agttstts 2011: 98-107 101
komplit dan optimal [2]. Dikatakan komplit
apabila memori mendukung kedalaman dan
faktor
branch
dari
tree, dan
dikatakanoptimaf
apabila pada penggunaan fungsiheuristic,
bersifat
admissible
(mudahditerima). Karena algoritma
ini
tetapmelacak node yang
di
evaluasi dan juga akan mengevaluasi node yang ditemukan.Kompleksitas
waktu
dan
space beradadalam
O01.
3.3.
Ilill-climbing
Hill-climbing
adalah perbaikan algoritma iteratif yang mirip dengan best-first search,kecuali teknik backtracking yang tidak di ijinkan. Pada setiap step pencarian, node
tunggal akan dipiih untuk
di
ikuti. Kriteriabagi node yang
diikuti
adalah merupakanstate terbaik pada state saat
itu.
Karena batasan pencarian ada pada node tunggal,algoritna
ini
juga
mirip
denganbeam-search
yang
menggunakan beam-width satu. Masalah dalam algoritmaini
adalah node terbaik di enumerasi secara lokal yangmungkin bukan merupakan node terbaik
secara global, oleh karenanya algoritna
ini
hanya
menemukanlokal
optimum
dan bukan global optimum[
1].3.4. Beam Search
Merupakan varian lain dari pencarian
best-first
adalah pencarian pada graph denganmelakukan ekspansi pada node yang paling menjanjikan (dengan
f(n))
pada himpunanyang
terbatas. Beam search hanya akanmenyimpan satu kandidat set node terbaik
untuk
di
ekspansi dan membuang lainnya[11]. Hal
ini
membuat beam-search lebih efisien dalam penggunaan memori daripadagreedy best-first, tetapi sangat
sulit
dalam membuang node yang dapat memberikanpath
optimal. Cara
kerja
algoritma ini
adalah dengan tetap melacak sejumlah state
k.
Dimulai
dengan men-generat state ft secara random. Pada setiap langkah, semua suksesor dari semua state k di generate. Jikasalah satunya adalah suatu goal state, maka
algoritrna berhenti. Selain
itu
algoritma akan memilihlr
suksesor yang terbaik darilist state dan mengulanginya lagi [2].
Jadi
beam-search merupakan modifikasi dari pencarian best-first dimana semua state fr kecuali yang terbaik, akan di buang setiapkali
iterasi. Dengan demikian diperlukansuatu threshold untuk membatasi
fr
state tersebut, yang di sebut dengan beam-o*idth.Jika
beam-width:
null,
maka dilakukanbest-first. Beam-search diimplementasikan oleh metode problem combiner. Metode
ini
memanggil metode
selanjutnya
untukmendapatkan list state yang di hasilkan oleh best-first, lalu mengekstrak elemen pertama
dari state lr
[l].
3.5. Optimasi
A*
(A-Star)Optimasi yang di masksud pada bagian
ini
adalah dengan memfokuskan pada fungsicost
yang
di
pakai pada
pengurutanekspansi
path dan
melakukan combine (merge) ekspansi ke dalam priority-queue.Efek
dari
step
pertukarandalam
sortirekspansi path dan merging perlu
di
hitungulang
denganfungsi
evaluasi heuristic, yaitu dengan membuat flrngsi evaluasi statis dengan merubah representasi dari path yangdi evaluasi, Sehingga dengan demikian kita
Sddl4r*H
Gambar t. Stot"
rffi
pada hitl-clinbingPada gambar
I
terlihat bahwa terdapat lokaloptimum
dan
global
optimurn"
Goal seharusnya memaksimalkan fungsi, tetapijika
kita terlalu jauh kekiri
dan bekerja kearah global maksimum
kita
akan terjebakdapat menyimpan cost dari traversal pada
path
(g)
dan total
cost
(h)
secaramenyeluruh pada
Fg+h
seperti yang ditulissecara fungsional pada [13].
4.N-PU?.ZLE,
Masalah N-Puzzle terdiri dari papan persegi yang mengandung N kotak persegi dan satu
kotak
kosong disebut "kosong". Operasidasar setiap
pergeserankotak
yangberdekatan dengan kotak kosong ke posisi
kotak kosong tersebut. Tugas
kita
adalahuntuk mengatur ulang kotak dari beberapa
konfigurasi
awal
secaraacak
ke
dalam konfigurasi tujuan tertentu yang dirancang, perencanaanklasik,
termasuk pencarianheuristik, tampaknya
tidak
bisa,
bahkanpada
komputer sangat
kuat,
untukmemecahkan kasus masalah N-Puzzle yang
lebih besar dari 99, alasan yang palingjelas
adalah ukuran dari ruang pencarian yang
dihasilkan
oleh
rencanayang
di
buat. Selama lebih dari dua dekade, 8-Puzzle danl5-Puzzle telah
digunakanuntuk
teknikpengujian
pencarian,
terutama
karenakesederhanaan
mereka manipulasi
danketerwakilan
baik
untuk kelas
tertenhldalam suatu masalah
[3].
Gambar2
dibawah
ini
dapat
lebih
menjelaskanmengenai 8-prrzz[6.
Gambar 2- N-Puzzle
Sedangkan representasi data dari gambar di
atas dapat berupa list [1 2 3 4 1213 14 5
l1
X
156
109
87l
danfi
23
8x4
7 6 5), sebagai goal state yang di kehendaki. 5.IHSIL
DAN PEMBAIIASANEksperimen
untuk
mendapatkan langkahoptimal
dari
serangkaianalgoritna
yangdiujikan pada masalah 8-puzzle dilakukan
dengan menentukan
konfigurasi
tingkatTechno.COM, Yol. 10, No. 3, Agustts 201I: 98-107
3 : (281463x75)
kesulitan.
Hal
ini
dimaksudkan untukmendapatkan sebaran yang dapat di percaya
dan valid bagi tiap-tiap algoritma yang di
simulasikan. Konfigurasi tingkat kesulitan
di
bagi atas mudah, menengah, sukar danjelek
(worst),
yang
mungkin
takterselesaikan. Kriteria tingkat kesulitan
ini
merupakaninisial
state
yang
di
disain sepertipadaTabel 1.Tabel
I:
Kriteria Tingkat Kesulitan State |-PuzzleNo I State Awal ' Strt rkhir Keterangrn IQ2 '1 +-+ ri il
ii,
I (134862?x5) tMasalah di katakan: mudah jika jarak , maksimum antara
, initial state dengan
, goal state "pendek"
lminlgy1ry1n)
2 ,, (28t x43765)
Masalah di katakan , , mudah jika jarak
maksimum antara
initial state dengan
i Boal state "sedang' ,
.-9u"1e:ry91
-
, (1238x4765) ;Masalah di katakan, mudah jika jarak:
'maksimum antara; ; initial state dengan
: goal state "panjang"
, (maximum path) :
jKategori masalah,
"worst"' sebenamya
I mudah diselesaikan
4 (5674x8321) !oleh manusia" disini
akan di cari perbedaan
l
ri
|1
j penyelesaianoleh jmanusia dan mesin
Keterangan
:
Kolom nomer menunjukan unftan kesulitan dari mudah, menengah, suknr dan bun*Pembahasan
di
fokuskan pada dominasibeberapa
properti pada
setiap algoritrnayang di uji sebagai berikut :
1. Jumlah ekspansi path.
2.
Jumlah konstmksi memory baru3. Jumlah pemanggilan fungsi
4.
Kecepatan eksekusi fungsi5.
Kecepatan
eksekusi
fungsi
setiap pemanggilan6.
Besar
kebutuhan
memory
perpemanggilan fungsi.
Properti pertama
di
perolehdari
simulasiprogram, sedang
properti
2
hingga6
digenerate dari profile report-time dalam cmu
common
lisp.
Tabel
di
bawah
ini
merupakan hasil pengujian terhadap semua
m nl: m. l i l
rET;I
ffi
l'lelsl
8-PuzzleTechno.COM, Vol. 10, No. 3, Agusttu 201
I:
98-107
103I
,.,.;h-n.;
i"'firu;,,1f$,'ffT:*lX'L1T*;;
f
batasan kedalaman). Exponential time padaf
Sepertidi
tunjukan tabel3,
padatingkat
O(bo),tapi
hanya beradadi
O(bd)
untukI
5n*'tr;'fr:i#"H-#,;'#:I;#H: f#*lii1""Tfr;,;11:
J":}ffiil
I
:Lf:t
"J,jH1i.l}:'T;i1"ffi*iff
T:l*"*'secarakronorogis
I
5#*"tffl"f"oo'*il"",ffi-iJ,""'fri.
rob't
'';,f:;::;:l:,:::::";:;l::!la
nenth-tirs'lI
Eksponensialwaktu
dan
kompleksitas
'I
ilffi'a*E;'"ffit1*I*kffiil
I
(misalnya, jumlah anak) pada setiapnode.
';:;;,^us";;i; ltta
I
i:Hn-rT""*,ffitn""::Htr
llrrl'r=lFt.-#
I
memilikianakb,memilikitotall+b+b2+
'q'ottzg,stz
o.:szaiaalsrx
iI
...+bd:
16(d+rl'_
\
I
(b_l)
node.Sedang
. ' i_,_
_r__ i
I
pada kasus "buruk" (worst), algoritrnatidak
5.3. Best-firstI
llffiL#",liffiTffif
trY:H"#J:l
Dari
taber
5,
uji
simurasipada
tingkatI
il:ffi,illTo'Ti"f,uo,f;o::r;"1;;;'.1
f;Tlffi*"'"1*','
*l'fi
"'-;"#:;
I
kedalaman 12 memiliki 0 anah ada 1+
10
menyelesaikansimulasi,
properti
dariI
+
100+
1000+...+
1012:11013-1;/9=
algorinnaini
adalah,urutannodepadalist
I
tr,["?:",*
#f-Hl:il*tr'ffiil
ru,-'*n:.Titr#T$:il-:f*1'd
I
node/detik
dan
masing-masing
node
daiarn beberapa cara.Ini
adalah cara umurnTechno.COM, Vol. 10, No. 3, Agustns 201l: 98-/07 104
untuk
merujuk pada kelas
dari
metodeinformed
search.
Menggunakan fungsievaluasi
f(n):h(n),
menaikan rnlaif
untuk mengurutkan node. Ekspansi node dengannilai fungsi
(fl
yang terkecil.Tabel 5: Rata-rata uji simulasi Best-frst dengan
S(n):0, pada penyelesaian problem 8-Puzzle
;D
J.4. Beam-search
Dari tabel
6
dan7,uji
simulasi pada tingkatkesulitan 'omudah" hingga
"worst"
tidakmenemukan
solusi,
tetapi
algoritma
ini dapat menyelesaikan simulasi. AlgoritmaBeam-search dengan
beam-width:
1 dan 3lebih
jelek
dari pada algoritma depth-first karenadia
akan masuk kedalam pada sisikiri
tree hingga ketemu leaf dan berhenti,backtracking
pada
algoritrna
ini
tidakdiijinkan.
properti
dari
algoritrna ini
adalah,
menggunakanfungsi
evaluasif(n)=h(n),
dengan
ukuran maksimum list node adalahk,
hanya menangani & nodeyang
terbaik
sebagai
kandidat
untuk ekspansidan
mernbuang sisanya. Lebihefisien
space
daripada Greedy Best-First Search, mungkintidak
dapat menemukansolusi,
sehingga
tidak
dapat
diterima (admissible).Tabel 6: Rata-rata uji simulasi algoritma Beam-search dengan beam-width: I pada
penye I es aian prob I em 8- Puzz I e
iAiBt c i n i r i r
i I I : ,.-l i i i i:ilt) 2 10 i26,693 i 0-0022 I 8,898 STK 3 0 13,984 0.001r 32 STK 4 0 23,168 o.oonlnt
STKTabel 7: Rata-rata uji simulasi algoritma
Bean-search dengan beam-width:3 pada penyelesaian problem 8-Puzzle
'A B C
D .E
F i--. ,t O
1,437 O.OOtt : to i Srr l*
-_.r__ i_.-_....2
o : 1,044,780 :.zter j+t :srr3
o i 1,019,249:3.0286 +s isrK ...i_;4
0:
329,041 r0.3751 i43iSTK i; 5.4. Hitt-climbingDari
tabel
8,
uji
simulasipada
tingkatkesulian "mudah" hingga
"worst"
denganbeam-width:1, algorinna ddak menemukan solusi, tetapi pada beam-width:3 algoritma
ini
dapat menyelesaikan semua simulasidan
menemukansolusi.
Pada
beam-widtF3
untuk
kasus
buruk
dapatmenyelesaikan
dan
menemukan solusi mungkin karena keburuntunan saja, karenagoal state berada di local maxima.
Tabel 8: Uji simulasi algoritma Hill-climbing
dengan beam-width
j
pada penyelesaian problem 8-PuzzleiA,- B
-9--*-9--ji.
t::iI
5,8 l2 . 2M,o6B o.zz57 i 42' sR ': ---
.
i i 2 , t0,i57 1 8e6,301 1.3480 , 41 sK i---_'_---l
;3
10,756 r 896,163 1.3280 42 r SK ,4
6,383 533,352 0.5264 | 42: SK 5.4. A-StarDari
tabel9,
uji
simulasi pada tingkatkesulitan
"mudah"
hingga
"sukat'', algoritma menemukan solusi, pada kasus"brn'k"
(worst)mirip
pada breadth-first, simulasi di hentikan. Solusi lebih baik darialgorinna
sebelumnya,namun
lmrang optimal. Dalam algoritma ini sudah di capai hasil yang lebi baik dari sebelumnya (lebihoptimal),
baik
dari
segijumlah
ekspansipath, waktu pengerjaan algoritrna maupun
konstmksi
memori
yang
dihasilkan.Algoritma
ini
memang
merupakanalgorima optimasi
dari
best-fust, dimanaTechno.COM, Vol. 10, No. 3, Agusttts 201I: 98-107
;
B€st-firstt i
Beam-searchalgoriftna
untuk
menemukansolusi
padakasus buruk, pada A-star dan A-star-OPT,
karena
tidak
di
ijinkannya backtrackinguntuk
membayarcost
Pada
sPace dankecepatannya, selain
itu
lebarlevel
seiappath
sangat panjang membutuhkan waktuyang lama dan
harusdi
hentikan- Padadepth-first
tidak
ada solusi
yang
ditemukarl
di
sebabkanpath yang
terlalupanjang
mendalamdan
terdapat
cycle hingga leaf. Pada Tabel 11, akandi
sajikanpencapain
keseluruhanalgoritma
pada kasus mudah hingga buruk.Tabel I
I:
Overall algoritma Elcspansi, Rata'rataSpace dan Time (E,S,T) pada penyelesaian problem 8-Pnzzle
:il'-ii;"..'.;.--; _
.:-_.
T*t:;111
Breadth-first , 43 14,222 0.0000: Selesai i
Depth-first 18,630 0.0000 Cagal 1
105
perluasan path ditinjau dan di batasi dengan
tungsi f(n):g(n)+h(n).
Tabet 9: Rata-rata uii similasi algoritma A-star pada penyelesaian
Pro
!3iA B C . D E F
'-I I 20 29,115 , 0.9614, 1Q8 : SK---
-iz too
549,934 1,0.0314 16s iSKi4
o 5.5. A-Star OptimaasiDari
uji
simulasipada
kasus "mudah"hingga
"sukat''
algoritrna
dapatmenyelesaikan dengan baik, untuk ekspansi
path hasilnya sama dengan A-Star, tetapi dalam kompleksitas waktu dan space lebih
ungpl.
Namun Pada kasus
"burukn'hasilnya tidak berbeda dengan A-Star yaitu dihentikan secara paksa pada saat running,
di
karenakan ada kecendenrngan ekspansipath
akan panjangdan
waktunya lama,mirip pada breadth-first kasus "buruk".
Tabel I0: Rats-ratq uil similasi algoritma A-star
op4s!!!2941 pzltzlelslqry ugbkq rylz?te
953 0
l?,'107,036 0.7560 r Selesai i
!!:11
1'991i3"1,
5.5. Overall Algoritma
Kesslur-phan running algoritnoa dapat di
kaakan berhasil
meryelesaikan semuaproblem yang
di
kategorikan (dari mudahhioggu sukar)
dengan kecepatan yangsangat
optimal.
Sedangkanpada
kasus*buruk'
hauya satu algoritna yang dapatmenemukan solusi dikarenakan diberikan
pembatasan pada le-bar path menuju goal state, namun de-ngan cost yang sangat besar
pada ekspansi pathnya, dan mungftin
ini
karerra kebetulan saja. Ketidakmampuan
Hill-climbing 5,8 l2 244,068 0.2257 Selesai ; A-Star 29,115 0.0014 Selesai 855 0.0006 Selesai i Hill-climbing ' Br€adth-lisl 0 ' 0 0.0000 Gaeal : l- -_--- -
---'
Deprh-firsri o
rzs,st:liri8, cg!
,
BTLfrsL ' z,zt6' zJ.lg4lzl.l2l0
cagal I43
iSK I100
s2,746 | 0.017s'
92J$
'sK A-Star optimasi 20 i! Breadth-first 575 | i07,U2 0.0050 Selesai I
'
Deprh-Grst0
'
t:42:!!1.._1J911, c"e"li
:-
-
- --_ -_---_-Best-fust 1,482 I .087,fi0 2.62210: Selesai I
__=__j _,] Beam-search 26,693 3.2191 ; Cagal i -+-, t.l+gO l ' Selesai I ,,i I A-staroptimasi 1 loo
i-;
,:
!srs to.a0t,qst iz.toso 10,'108,981'sK =i,l; o
o
io.oooo
o
,STK I I3
539 11,655,378 0.6757 109 SK A,B C I D A-StarOverallAlgoritma QtimasiWaktu 14.0000
12.0000
i
10.0000*
's
8.0000 ::
6.0000',
"
*, 4.oooot
i**
2.0000 t i
o.ooooH-r-r
r r
1r
kam-search Breadth-first A-Staroptimasi AlgoritmaGambar 1 Grafik Overall Algoitma pada optimasi waktu
Ovenll Aleoritma oel iriiaii Eli-iiiiii?ar tr
40,0@ 35,0@ I {'99 :,: i Buruk 6 25'000 E zo.ooo sukar 'E rs,ooo ' 'sedds -* to.ooo 'Mudah < s-ooo, ^. I'g1..,|.,{ l--*
Bst-firsr A-Star optimNi
Breadth-fi rst Hill-climbing Ekspmsi
Gambar 2 Grafik Overall Algoitma pada ekspansi path
Techno.COM, Vol. 10, No. j, Agustrls 20II:98-107
r Buruk " Sukar
.
Sedang*Mudah
Ditunjukan pula overall hasil
uji
simulasi dalam gambargrafik
1,2
dan3,
yang ditinjau dari perspektik jumlah ekspansi path,
space
ftonstruksi memory)
dan
waktutempuh
(detik)
dari
setiap
performa algoritma yang diuji.
Pada algoritnnadepth-fint
tidak nampak hasilnya karena solusitidak
pernahdi
temukan
pada
semuakategori.
Semua
performa
algoritrna mengarah pada optimasi yanglebih
baik, baik dari segi ekspansi pattU waktu tempuhdan
konstnrksimemori.
Pada perspektifexpansi path hanya algoritma hill-climbing
saja yang menunjukan hasil tidak optimal di
banding dengan lairurya.
Konstruksimemory paling
banyak
di
hasilkan oleh algorimra best-first, optimasi hingga kasus sukar tetap berada dalam kendali algoritma a-starbaik
yang biasa maupunyang
di optimasi.Begitu
pula
kebutuhan waktuyang terjelak
di
hasilkanoleh
algoritma best-first.6. SIMPUI.AN
Penelitan dan pengujian terhadap algoritma pencarian
baik
pada uninformed maupunheuristic
memberikan pengetahuan barubagr
kita
bahwa dalam
kasus-kasusintelligenco,
dan
menunjukan
bahwa konsep pencarian menjadi sentral metodeyang
selalu
dikembangkan.Hasil
uji
simulasi pada pencarian solusi pada puzzle8,
memberikan
beberapa
kesimpulan menarik yang diantaranya adalah, performa algoritrna yangtidak
memberikan solusimenghasilkan
performa
paling
buruk (depth-fmt), sedangkan algoritrna best-firstdan breadth-first merupakan algoritna yang
terjelak
yang dapat
memberikan solusi dengan jumlah capaianwaktu,
space dan ekspansi terbesar. Untuk konstnrksi memori pada algorimahill-climbing
memberikan hasil yang terbesar (tidak optimal), namundapat
memberikansolusi
pada
setiap kesukaran yang di berikan. Optimasi terjadipada algorima a-star dan a-star-opt dengan
hasil yang signifikan pada keduanya.
Penelitiandan uji simulasi ini masih jauh
r06 Overall Algoritma Optimasi Space : : 20,000,000 t 15,000,000 ii ^ Buruk ! a Sukar I to,ooo,ooo ,r I a .sedang 5 ,' ', r Mudah > 5,000,000 I I r* ! d o
r-l
oI
t
.
Beam-sarchBreadth-fir$ A-Str optimasi
l
Gambar Grafik Overall Algoritma pada optimasi space
Techno.COM, lrol. 10, No. 3, Agt'tsttrs 201I: 98-107 107
dari
sempunn
untuk
menuju
keinginanmanusia
dalam
mengembangkan suatuperangkat pembantu
yang
cerdas yangmungkin akan mengantikan manusia (kasus
deep
blue yang
mengalahakan Kasparov dalam perrnainan catur, merupakan revolusiyang spektakuler dalam dunia komputasi)'
Bagaimanapun
masih
terdaPat
slsl manusiawi yang lebih menonjol yang dapat menyelesaikan kasus-kasus yang mungkinDAFTAR PUSTAKA
[1]
Peter Norvig,"Paradigmsof futificial
Intelligence
Programming:
CaseStudies
in
CommonLisP",
Morgan Kaufinann,1992[2]
-
-
Stuart Russell
and
Peter
Norvig,"6ttift"iul
Intelligence:
A
Modern Approach (3rd)", Prentice Hall, 2010[3]
Harold Abelson, Gerald Jay Sussman,Julie
Sussman,
"structure
andinterpretation of computer programs
",
MIT Press, 1985
[4]
Knuth, Donald
E.,
"The
Art
Of
ComPuter ProgrammingVol
l'
3rd ed.", Boston: Addison-WesleY, 1 997'[5]
Pearl,
J.
,
"Heuristics:
IntelligentSearch
Strategies
for
ComPuterProblem
Solving",
Addison-WesleY, 1984.[6]
Christopher Thornton,
Benedict duBoulay
,
"Artificial
lntelligence
:Strategies, Applications, and Models
Through Search", Second
Edition
,AMACOM, 1998.
t7]
V.J.
Rayward-Smith,I. H'
Osman' C'R. Reeves and
G.
D.
Smith (Editor)'"Modem Heuristicsearch Methods
",
John
WileY
&
SonsLtd
England,1996.
[8]
George
F.
Luger,
William
A'
Stubblefield""Artificial
Intelligence :Structures and Strategies for Complex
belum dapat di selesaikan oleh mesin.
Kedepan, dengan memahami
teknikpencarian
dan
oPtimasinYa
akanmembimbing
kita
pada penyelesaian yanglebih baik. Modifftasi
pengkodean padaseluruh algoritrna
yang
di
tinjao
untukdapat
di
jalankan
oleh
mesin
pararel (pararel computing), akan menjadi kajian menarik guna mendapatkan hasil yang lebihmaksimal dan optimal.
Problem
Solving",
Addison WesleYLongman, Inc. USA, 1998.
[9] Richard
E. Korf,
"DePth-FirstIterative-DeePening:
An
OPtimal Admissible Tree Search",
Artificial
Intelligence, CiteSeerX, 1 985l10l---
"Artificial
Intelligence
Search
Algorithms",Artificial
Intelligence,
CiteSeerX,r996
tlllM
Tim Jones,"Artificial
ntelligence :A
Systems Approach",
Copl'right byInfinity
SciencePress
LLC
India,2008.
[12] Zdravko Markov, Ingrid Russell, Todd
Neller, and Neli
Zlatarcva, "Pedagogical Possibilitiesfor
theN-Puzzle
Problem
",36th
ASEE/IEEEFrontiers
in
Education Conference,October
28-31,2006,
San Diego, CA[ 1 3]
http://www.kantz.com/jasorVwriting/8-puzzl9.h.tnq, diakses 10-01-2009, 14'28
WIB
[14]Alexis Drogoul
and
ChristopheDubreuil