Techno.COM, Vol. 10, No.3, Agusttts 2All:98-107
SOLUSI
PBNCARIAN
N.PVZZLE
DENGAN
LANGKAII OPTIMAL
: SUATU
APLIKASI
PENDEKATAN FUNGSIONAL
Wijanarto
Program Studi Teknik Informatika, Fakultas llmu Komputer, Universitas Dian Nuswantoro, Semarang 50131
E-mail : wij anarto@dosen.dinus.ac.id
Abstract
This paper aims to determine a more optimal search techniques on a case study
of
n-puzzle problem solving- Some algorithms are in review as breadth-first search, depth-first search, hill-climbing, beam, best-first searching and optimization with A*
(A-Star) search becomes case study in simulated using afunctional approach. Test simulation is based on the dfficttlty level of the initial state that is given from
the category configuration easy, medium, hard and ugly, the calculation of the amount of expansion produced by each algorithm are discussed, as well as the time
profile (reporrtime) 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 algoithms. By understanding the heuristic search algorithm is expected to help resolve the problem optimally is based on the case other than a puzzle.
Kcywords : A Stqr, Heuistic, I,l-Puzzle, Search, functional
1. PENDAHULUAN
Di
sadari
atau tidak,
dalam
praktekkehidupan
sehari-hari,
kita
selalumelakukan
kegiatan
yang
disebutpencarian. Pencarian
atau
searching menempatiisu
yang penting dalam dunia komputasi khususnya danihnu
komputerpada
umrunnya
11,2,31.Konsep
dasarteknik
pencarian menempatiporsi
yang sangat strategis, dimanahampir
seluruhkegiatan komputasi
mendasarkan pada kegiatanini
[4].
Mulai
dari
pemahaman konsep struktur data dan algoritna hinggaartificial
intelligence,
teknik
pencarian menjadi primadona bahasan utama[l2].
Algoritrna
berbasis
teknik
pencarian (Searching Technique Algorithms), bahkan dapatdi
aplikasikan pada bidang diiuar komputasi, pencocokan DNA pada (GeneticAlgorithm)
di
bidang
kedokteran danbiologi, neural nefwork,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 seperri diatas, game merupakan salah satu bidang yang menarik yang berhubungan denganteknik
pencarian
dalam
artificial intelligence.Permainan
dapat
menghasilkan
ruangpencarian yang sangat besar. Hal
Ini
cukupbesar
dan
kompleks
yang
memerlukan teknik yang kuat untuk menentukan apakahalternatif
yfing di pakai
dalammengeksplorasi
problem space
tersebut. Teknik ini disebut heuristik dan merupakanarea utama penelitian artifrcial intelligence.
Heuristik adalah strategi
pemecahan masalahyang
bergunatetapi
berpotensidapat keliru, seperti
memeriksa untukmemastikan
bahwa suatu
alat
tidakresponsif. N-Puzzle adalah salah satu game
klasik yang menarik untuk
di
amati guna mencapai pemahamanterhadap
konsep pencarian solusi masalah. Salah satu varian dari N-Puzzle adalah 9-puzzle yaitu papanTechno.COM, Yol. 10, No' 3, Agtrsttts 2011: 98-107
berukuran
3
x
3
yangterdiri
dari delapan kotak angka dengan satu kotak kosong untu dapat dipindahkan. Walaupun space state lebih kecil dari l5-puzzle, namun tetap sala menjadi menarikjika
kita ingin mengetahui berapa langkahyang
paling
cepat ataupedek
yang
daPat
di
temukan
Padamasalah
ini.
Dengan memberikan initial state yangdi
konfigurasikan berdasarkantingkat
kesukaran
tertentu
(mudah,'
menengah,sukar dan buruk) untuk
dselesaikan,
lalu
kita
akan
memeriksa dengan algoritma teknik pencarian denganuninformed
search
dan
hueristic, diharapkandapat
mengetahui ekspansiterkecil
dari path yang
di
hasilkan oleh masing-masingalgoritma
yang
dipakaiuntuk
mengamatinya.Laporan
berupa profile waktu, jumlah pemanggilan fungsi,konstruksi
memory
serta
kebutuhan memorybagi fungsi
menjadi
informasi 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 searcb, depth-hrst search, hill-climbing, beam, best-first searching
dan
optimasi dengan6*
(A-Star) search akan menjadi bahasan utama U,2,3,5f. Sedangkan studikasus
yang
di Pilih
adalah
Padapenyelesaian masalah
8
puzzle,
semuaalgoritma
akan
di
simulasikan dengan menggunakan pendekatan fungsional yaitu bahasa CMU Common Lisp yang berjalan pada platform linux, dimana seluruh kode yangdi
pakaiuntuk
simulasi merupakan modifikasidanQl,
[6] dan [13].2. UNINFORMED SEARCH
Istilah
ini
dapatdi
artikanjuga
sebagaiblind search, YanB berarti bahwa strategi ini tidak memiliki informasi tambahan tentang state di luar yang disediakan dalam definisi masalah. Pencarian pada ranah
ini
hanyadapat
menghasilkan
suksesor
danmembedakan suatu gr:al state dan non-goal
state
l2l,
pada
jenis
algoritma
inr perbedaannya terletak padaurutan
node yang akandi
ekspan. Algoritma yang di bahas pada bagian ini meliputi breadth-first dan depth-first search.2.1. Breadth First Search
Merupakan algoritrna sederhana dengan strategi untuk melakukan ekpansi pertama mulai dari root, kemudian seluruh adjencent
node atau
seluruh tetanggadari
node tersebut akandi
ekspansi (traversal node), begitu seterusnya hinggu mencapai semuatiap node terakhir (leaf) sudah
di
kunjungi [1,2,11]. Dengan katalain,
algoritmaini
rnerupakan pencarian yang exhaustive keseluruh graph
tanpa mempertimbangkan ada atau tidaknya tujuan hingga seluruhnode
terkunjungi. Dengan memanfaatkan queueuntuk
menyimpan noderoot
yang akandi
ekspansi maka pencarian denganteknik
ini
akan selalu
mengeksplorasi adjencent node yang berada pada queue terdepan, dan berakhir saat queue sudahhabis.
Breadth-first search
akan
men-generate seluruh node hrlgga. kedalaman iada leveld,
ata:ul+b
+ b27-b3 + . .. +
b'tsehingga
di
peroleh O@d). Pada average case, setengah node pada kedalaman dharus
di
periks4
dan
dengan demikian kompleksitas waktu pada average-case jugao(b") [2,9].
2.2. Depth-First Search
Pencarian
Depth-First
akan
melakukan pencarian dengancepat
ke
node
yang terdalam. Pencarianmemproses
secaracepat
ke
level terdalam pada tree hingganode
tidak
mempunyai suksesor lagi. Implernentasiteknik
ini
memanfaatkan suatu stack, dan dengan demikian seringkali
di
implementasikan secara recursive, pada saat mencapai leaf, makateknik ini
akan kembali (bakctrack ke node di atasnya untuk melalcukan dfs pada adjencent node
yang belum
di
kunjungi).Di
sisi
lain, pencarian depth-first bisa kehilangan arah karena terlaiu -iauhke
dalaln graph, jugaTechno.COM, Vol. 10, No. 3, Agustrs 201I: 98-107 100
kehilangan 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), karena menghasilkan set node yang sama dengan breadt first, tetapi dengan perbedaan urutan pencarian.Jadi,
praktisnya,depth
fust search mempunyai keterbatasan waktu dan space yang lebih besar [2,10].3.
}IEURISTIC
SEARCHHeuristik
adalah
kriteria,
metode,
atauprinsip-prinsip
untuk
memutuskan yang mana antara beberapa alternatif, dari aksi-aksi yang menjanjikan paling efektif dalam rangkauntuk
mencapaitujuan
tertenfu. Teknikini
mewakili kompromi antara dua persyaratan: kebutuhanuntuk
membuat kriteria tersebut sederhana dan, pada saatyang sama, keinginan untuk
melihat
dan membedakan dengan benar diantara pilihan yang baik dan buruk. Bagian pertama dapatdi
artikan, bahwa suatu masalah mungkintidak memiliki
solusiyang
tepat karena ambiguitas yang melekat pada pernyataan masalah atau data yang tersedia. Kedua, suatu masalahmungkin
memiliki
solusiyang
tepat,tetapi cost
komputasi untuk menemukanitu
mungkin menjadi terlalutinggi. Dalam
banyak
masalah (sepertigame,
catur),
pertumbuhanstate
spaceadalah kombinatorial eksplosif,
denganjumlah
state
yang mungkin
meningkat secara eksponensialatau faktorial
pada kedalaman pencarian.Dalam kasus
ini,teknik
pencarian sepertidepth-first
ataubreadth-first
mungkin gagal
untukmenemukan
solusi praklis.
Heuristikmencoba menangkal kompleksitas ini
dengan melakukan pencarian
di
sepanjangpath yang
paling
"me.njanjikan" 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-first search
merupakan
algoritma pencarian yang mengeksplorasi suatu graph dengan melalcukan ekspanding pada nodeang paling
menjanjikan
yang
di
pilih
berdasarkan
aturan
tertentu
fl,2,5,7f.Dalam Algoritrna
ini,
ruang
pencarian dievaluasi menurut fungsi heuristik. Node yang belum dievaluasi disimpan pada listTERBLIKA
dan
mereka
yang
telah dievaluasi disimpan padalist
TERTUTUP.List
TERBUKA
direpresentasikan dengan priority-queue, node yang belum dikunjungibisa
dequeueddalam
fungsi
evaluasi. Fungsi evaluasif(n)
dlbuat dengan fungsi hueristic(h(n))
seperti persamaan berikut,f(n):
h(n)
(l)
dimana
h(fi
akan mengestimasikan cost dengan path termurah dar noden
ke
goal node, danjika
n
adalahgoal
node makah(fia.
Kemudian
List
TERBIIKA
dibangun
dalam
rangka
f(,n.
Hal
ini
membuat best-first search menjadi greedy karena selalu
memilih
kesempatan lokalterbaik dalam
pencarian.
Kompleksitas algorinnanl
O(b^) baik
pada space dan waktunya.3.2.
A*
(A-Star)Benhrk yang
paling luas
dari
best-first search adalahA*
search (disebutjuga
"A-star searchn).
Algoritma
ini
mengevaluasi node dengan mengkombinasikan g(n) , costuntuk mencapai node, dan h(n.), cost untuk mencapai dari node
ke
goal
di
notasikandengan persa&iran (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 solusi termurah, sangat masuk akal untuk mencobayang
pertama
adalah
dengan mencarinilai
terendahdari g(n)+h(n).
A
Star
di
kenal
sebagaialgoritrna
yangTechno.COM, Vol. 10, No.3, Agustts 2011:98-107 101
komplit dan optimal [2]. Dikatakan komplit apabila memori mendukung kedalaman dan
faktor
branch
dari
tree, dan
dikatakan optimal, apabila pada penggunaan fungsiheuristic,
bersifat
admissible
(mudahditerima). Karena algoritma
ini
tetap melacak node yangdi
evaluasi dan juga akan mengevaluasi node yang ditemukan. Kompleksitaswaktu
dan
space berada dalam O(b5.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 untukdi
ikuti. Kriteria bagi node yangdiikuti
adalah merupakan state terbaik pada state saatitu.
Karena batasan pencarian ada pada node tunggal, algoritrnaini
juga
mirip
denganbeam-search
yang
menggunakan beam-width satu. Masalah dalam algoritmaini
adalah node terbaik di enumerasi secara lokal yang mungkin bukan merupakan node'terbaiksecara global, oleh karenanya algoritrna ini
hanya
menemukanlokal
oPtimum
danbukan global optimum [11].
Gambar t. stot" ,pif" pada hill-climbing
Pada gambar 1 terlihat bahwa terdapat lokal
optimum
dan
global
oPtimum,
Goal seharusnya memaksimalkan fungsi, tetapijika
kita terlalu jauh kekiri
dan bekerja ke arah global maksimumkita
akan terjebakpada hanya lokal optimum saja.
3.4. Beam Search
Merupakan varian lain dari pencarian
best-first
adalah pencarian pada graph dengan melakukan ekspansi pada node yang paling menjanjikan (denganf(n))
pada himpunanyang
terbatas. Beam search hanya akan menyimpan satu kandidat set node terbaik untukdi
ekspansi dan membuang lainnya[11].
Hal ini
membuat beam-search lebih efisien dalam penggunaan memori daripada greedy best-frst, tetapi sangatsulit
dalam membuang node yang dapat memberikanpath
optimal. Cara
kerja
algoritma ini
adalah dengan tetap melacak sejumlah state
k.
Dimulai
dengan men-generat state k secara random. Pada setiap langkah, semua suksesor dari semua state k di generate. Jika salah satunya adalah suatu goal state, makaalgoritna
berhenti.Selain
iru
algoritma akan memilih /r suksesor yang terbaik dari list 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 diperlukan suatu thresholduntuk
membatasifr
state tersebut, yang di sebut dengan beam-w'idth-Jtka beam-width:
null,
maka dilakukan best-first. Beam-search diimplementasikan oleh metode problem combiner. Metodeini
memanggil metode
selanjutnya
untuk mendapatkan list state yang di hasilkan oleh best-first, lalu mengekstrak elemen pertama dari state & [1].3.5. Optimasi
A*
(A-Star)Optimasi yang
di
masksud pada bagianini
adalah dengan memfokuskan pada fungsi
cost
yang
di
pakai pada
Pengurutan ekspansipath dan
melakukan combine (merge) ekspansike
dalam priority-queue.Efek
dari
step
pertukarandalam
sortir ekspansi path dan merging perludi
hitungulang
denganfungsi
evaluasi heuristic, yaitu dengan membuat fungsi evaluasi statis dengan merubah representasi dari path yangdi
evaluasi, Sehingga dengan demikian kita5&bdd*ii@
-r'-T-dapat menyimpan cost dari traversal pada
path
(g)
dan
total
cost
(h)
secaramenyeluruh pada
Fg+h
seperti yang ditulis secara fungsionai Pada [13].4.N-PUZ,ZLN
Masalah N-Puzzle terdiri dari papan persegi yang mengandung N kotak persegi dan satu Lotat<
tosong
disebut "kosong"' Operasidasar setiap
pergeserankotak
yang berdekatan dengan kotak kosong ke posisi kotak kosong tersebut. Tugaskita
adalah untuk mengatur ulang kotak dari beberapa konfigurasiawal
secara acakke
dalam konfigurasi tujuan tertentu yang dirancang,p"r"*unuutt klasik,
termasuk pencarian Leuristik, tampaknyatidak
bisa,
bahkanpada
komPuter sangat
kuat,
untukmemecahkan kasus masalah N-Puzzle yang lebih besar dari 99, alasan yang paling jelas adalah ukuran dari ruang pencarian yang
dihasilkan
oleh
rencanayang
di
buat' Selama lebih dari dua dekade, 8-Puzzle danli-Puzzle
telah
digunakanuntuk
teknikpengujian
pencarian,
terutama
karenaies"dirhanuuo mereka manipulasi
danketerwakilan
baik
untuk kelas
tertentu dalam suatu masalaht3]'
Gambar2
dibawah
ini
daPat
lebih
menjelaskan mengenai 8-Puzzle.Gambar 2' N-Puzzle
Sedangkan representasi data dari gambar di
atas dapat berupa list [1 2 3 4 12 13 14 5 11
X
156
10 9 87l
danlr
238
X4
7 6 s),sebagai goal state yang di kehendaki'
5.
HASIL
DAN PEMBAHASANEksperimen
untuk
mendapatkan langkahoptimal
dari
serangkaian algoritrna yang diujikan pada masalah 8-puzzle dilakukan dengan menentukankonfigurasi
tingkatTechno.COM, I/ol' 10, No 3, Agttsttrs 201 I : 98- I 07
No State Awal
I (1148627x5)
2 (2E 1x43765)
3 ; (281461x?5)
kesulitan.
Hal
ini
dimaksudkan untuk mendapatkan sebaran yang dapat di percayadan valid bagi tiap+iap algoritma yang di simulasikan. Konfigurasi tingkat kesulitan
di
bagi atas mudah, menengah, sukar danjelek
(worst),
Yang
mungkin
tak ierselesaikan. Kriteria tingkat kesulitanini
merupakaninisial
state
yang
di
disain sepertipadaTabel 1.Tabel
I:
Kriteria Tingkat Kesulitan State 8-Puzzlet02
Stat ikhir Ketcrangsn
Masalah di katakan
mudah iika jarak
maksimum antara
initial state dengan
goal state "pendek" (minimurn path)
Masalah di katakan
mudah jika jarak
maksimum antara
initial state dengan
goal state "sedang" (average path)
(l238x4rOs) iy*u1u1t di katakanl
r mudah jika jarak,
maksimum antara i
initial state dengan
,goal state "Panjang"
ig::aT!?!li
-ffi
l,lels
I8-Puzzle
i*i,:::l
,.#ff.*ll,
, i mudah diselesaikan
4 (5674x8321) 'oleh manusia, disini
akan di cari Perbedaan
; i PenYelesaianoleh
i I manusia dan mein
frl"*^g", t Kolom nomer menunjukan undan kestilitan dari mudah, menengah, sukar dan bun*
Pembahasan
di
fokuskan pada dominasi beberapaproperti pada setiap
algoritma yang di uji sebagai berikut :1. Jumlah eksP*nsi
Path-2.
Jumlah konsiruksi memory baru 3. Jumlah pemanggilan fungsi 4. Kecepatan eksekusi fungsi5.
Kecepatan eksekusi
fungsi
setiap pemanggilan6.
Besar
kebutuhan
memory
Perpemanggilan fungsi.
Properti pertama
di
perolehdari
simulasi program, sedangproperti
2
hingga6
di generate dari profile report-tims dalam cmu.o**ott
lisp.
Tabel
di
bawah
ini
menrpakan hasil pengujian terhadap semua l5-P,azzle
Techno.COM, Vol. 10, No. 3, Agusttu 201l: 98-107 103
algoritma
dan overall
algoritrna, analisis data dilakukan pada bagianakhir
setelah penyajian semua tabel. Pada Tabel 3 hingga 10 keterangankolom
tabel dapatdi
lihatpada tabel2 berikut
ini
:Tabel 2 : Keterangan kolom tabel 3 hingga
l0
Nama Kolom iKeteranganKolom
',---
|A
]Kategoris
lrumlahgkspjrylp.gC
lJumlah konstruksi memory1
D
I Kecepatan pemanggilan fungsi i (detik): B)'te per pemanggilan fungsi
r Keterangan Solusi
lBeam-width
SK
iSelesai dan Ketemrl-..-.--....;--sI t<
--11=f'-13!51"*:---,
r__
?ih*$1"_
5.1. Breadth-first
Seperti
di
tunjukan tabel3,
pada'tingkat kesulitan 'omudah" hingga"sukar"
masih dapatdi
selesaikan algoritrnaini,
algoritmaini
adalahoptimal (yaitu,
diterima)jika
semua cost operatornya sama. Selain itu,tidak optimal tetapi
menemukan solusidengan shortest
path
yang
panjang. Eksponensialwaktu
dan
kompleksitas ruang, O(bo), dimanad
adalah kedalamansolusi dan
b
adalahfaktor
percabangan (misalnya, jumlah anak) pada setiap node.Sebuah
pohon
pencarian
lengkaP kedalamand
mana setiap node non-daln memiliki anakb, memiliki totalI
+ b + b- + ...+bd:
(6(a+tl- l) /
(b-l)
node. Sedang pada kasus "buruk" (worst), algoriuna tidakdapat
menyelesaikannya.Untuk
pohon pencarian lengkap dengan 12 kedalaman" di mana setiap node pada kedalaman 0, ..., 11memiliki
l0
anak dan
setiap
node
di kedalaman 12 memiliki 0 analg adaI
+
10+
100+
1000+
...+
1012 = (10r3_t;/
9 =0(1012)
node dalam pohon
pencarianlengkap.
Jika BFS
mengekspan 1.000node/detik
dan
masing-masing
nodemenggunakan
100
byte.
BFS
memakan waktu 35 tahun dalam kasus terburuk, dan akan menggunakan 111 terabyte memori.Tabel 3: Rata-rata uji simulasi algoritma
Breadth-frst pada penyelesaian problem $-Puzzle
A. B
C
D
E
It
43.00 ,t4222 .0.003640
sK I,
ll*9_J0?ar_J.
l-r4rI1A
3
2,048.00 2t583800 .389
SK 0 r0 5.2. Depth-firstDari
tabel
4,
uji
simulasi pada
tingkat kesulitan o'mudah" hitrgga 'oworst" tidak menemukansolusi,
tetapi
algoritma ini
dapat menyelesaikan simulasi, properli dari algorinna
ini
adalahprinsip
LIFO
dalam menyimpan nodedalam
stack, Mungkintidak
berhenti
mencari tanpa
"batasan kedalaman".Tidak
selesai
(dengan atau tanpa deteksi cycle, dan dengan atau tanpa batasan kedalaman). Exponential time pada O(bo),tapi
hanya beradadi
O(bd)
untukkompleksitas
space.
Saat
pencarian menemuijalan
bunhr,hanya
melakukan backtracking secam kronologis.Tabel 4: Rata-rata uji simulasi algoritma Depth-frst
pada penyelesaian problem 8-Puzzle
4
0.00 i0 AiB I I 0 r 18630 0.00,00 127 iSTK 2, 0 : 1.424,567 . 5.1844, 47 3 ,0'I,020.191 ,3.1816 48 4 j 0 '329,512 0.3978 :48 | STK 5.3. Best-firstDari
tabel
5,
uji
simulasipada
tingkatkesulitan
"mudah" hingga
"worst"menemukan
solusi, dan
dapatmenyelesaikan
simulasi,
properti
dari algoritmaini
adalah, urutan node pada list nilainya dinaikan dengan fungsi evaluasif
yang berisi
inforrnasi
dornain-spesifrk dalam beberapa cara.Ini
adalah cara umumL
STK ]
i___ i
Techno.COM, Vol 1 0, No. 3, Agusttts 20I I : 98- 107 104
untuk
merujuk pada kelas
dari
metodeinformed
search.
Menggunakan fungsi evaiuasif(n):h(n),
menaikan nilaif
untuk mengurutkan node. Ekspansi node dengan nilai fungsiA
yangterkecil.Tabel 5: Rata-rata uji simulasi Best-first dengan
gO):0, pada penyelesaian problem 8-Puzzle
SK 2 1482 1,087,400 r2.6240
_-_-_----*-:
t+et r S+I.SSO 1.25m 541,700 : SK 543.850 4 2216 2.739,232 7.1210 1,369,616 SK 5.4. Beam-searchDari tabel
6
dan7,uji
simulasi pada tingkat kesulitan"mudah"
hingga"worst"
tidak menemukansolusi,
tetapi
algoritma ini
dapat menyelesaikan simulasi. Algoritma Beam-search dengan beam-width
=
I
dcn 3lebih
jelek
dari pada algoritrna depth-first karenadia
akan masuk kedalam pada sisikiri
tree hingga ketemu leaf dan berhenti,backtracking
pada
algoritrna
ini
tidakdiijinkan.
properti
dari
algoritma
iniadalah,
menggunakanfungsi
evaluasif(n):h(n), dengan
ukuran mal<simum list node adalahk,
hanya menanganik
nodeyang
terbaik
sebagai
kandidat
untuk ekspansidan
membuang sisanya. Lebih efisienspace
daripada Greedy Best-First Search, mungkintidak
dapat menemukansolusi,
sehingga
tidak
dapat
diterima (admissible).Tabel 6: Rata-rata uii simulasi algoritma Beam-search dengan beam-width= I pada
p e ny e I es eia n p rob I em 8 - Puzz I e
--- --T--.E
s, c i D
E I F
II 0
18,610 0.0022 127 tSTK | .-.|-:- i : l ,iliTabel 7: Rata-rata uji simulasi algoritma Beam-search dengan beam-width=3 pada penyelesaian
problem 8-Puzzle
AB
DEF
I 0
1,437 0.00ll,t01sTK2
01,0,t4.780 3.2tet 48 sTK I3
0 I 1,019,249 3.0286 j48iSTK :--i
-
-- -i-*----..
;q
Oi
:ZS,O+I,0.3751 t+S]SrK 5.4. Hill-climbingDari
tabel
8,
uji
simulasipada
tingkat kesulitan o'mudah" hingga"worst"
dengan beam-width:1, algoritma tidak menemukan solusi, tetapi pada beam-width=3 algoritmaini
dapat menyelesaikan semua simulasidan
menemukansolusi.
Pada
beam-widtts3
untuk
kasus
buruk
dapatmenyelesaikan
dan
menemukan solusi mungkin karena keburuntunan saja, karena goal state berada di local maxima.Tabel 8: Uji sinnlasi algoitmtt Hill-climbing dengan beam-width
j
pada penyelesaian problem8-Puzzle E. F'
l
5,812 244,068 0.2257 42'SK 2 ,10,757 : 896,301 1.3480 | 42 i SK i i' ---.-ii ; I 10,756 i 896,163 1.3280 i 42 ' SK I t 4 6,18i i 533,352 0.5264 42, SK : 5.4. A-StarDari
tabel9,
uji
simulasi pada tingkatkesulitan
"riludah"
hingga
"sukat'', algorinna menemukan solusi, pada kasus"bun'k"
(worst)mirip
pada breadth-first, simulasi di hentikan. Solusi lebih baik darialgoritrna
sebelumnya,namun
kurang optimal. Dalam algoritmaini
sudah di capai hasil yang lebi baik dari sebelumnya (lebih optimal),baik
dari
segijumlah
ekspansi path, wakfu pengerjaan algoritma maupunkonstruksi
memori
yang
dihasilkan.Algoritrna
ini
memang
merupakan algoritna optimasidari
best-first, dimanaTechno.COM, VoL 10, No. 3, Agusttts 2011: 98-107 105
perluasan path ditinjau dan di batasi dengan
tungsi f(n):g(n)+h(n).
Tabel 9: Rata-rata q'i simulasi algoitma A-star
p4!-p9!y9!9s!t!!r!e!kr J !sz-!q iA B C D ] E F .
| 20
29,n5 i 0.0014 108 sK 2 100 549,934 0.0314 109 SK3
539 il,655,378 0.6757 109 SK4 0
0
l0.0000 0rsrKr 5.5. A-Star OptimaasiDari
uji
simulasipada
kasus "mudah"hingga "sukat''
algoritrna
dapat menyelesaikan dengan baik, untuk ekspansipath hasilnya sama dengan A-Star, tetapi dalam kompleksitas waktu dan space lebih
unggul. Namun
pada
kasus
"buruk" hasilnya tidak berbeda dengan A-Star yaitu dihentikan secara paksa pada saat running,di
karenakan ada kecenderungan ekspansipath
akan panjangdan
waktunya lama, mirip pada breadth-fnst kasus "buruk".Tabel l0: Rata-rata 4ii simulasi algorima )-star
op4!!!Lrg4epetvekgsigryp-t9-h!941-8--!-;q41zle
AB
C
D
E
F 120855
i 0-0006'43
r SK !i 92,746 ,0.0178 92,746 SK 10,,108.981 : 2.1056 10,408,981 SK I o.oooo 5.5. Overall AlgoritmaKeseluruhan running algoritma dapat di
katakan
berhasil
menyelesaikan semuaproblem yang
di
kategorikan (dari mudahhingga sukar)
dengan kecepatan yang sangatoptimal.
Sedangkanpada
kasus"b
rnk"
hanya satu algorifrna yang dapat menemukan solusi dikarenakan diberikan pembatasan pada lebar path menuju goal state, namun dengan cost yang sangat besar pada ekspansi pathnya, dan mungkinini
karena kebetulan
saja.
Ketidakmampuanalgoritma
untuk
menemukansolusi
padakasus buruk, pada A-star dan A-star-OPT, karena
tidak
di
ijinkannya backtrackinguntuk
membayarcost pada
space dan kecepatannya, selainitu
lebarlevel
seiappath sangat panjang membutuhkan waktu
yang lama
dan harusdi
hentikan. Padadepth-first
tidak
ada
solusi
yang
di temukan,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 Ekspansi, Rata-rata Space dan Time (E,S,T) pada penyelesaian problem8-Puzzle Algoritmr E S T Solusit Breadth-first 43 14,222 0.0000 Selesai I
-}P'h-$t
.
o
,-'9:919-9:99!1j"d-t
Best-fint
953
12,707,036 0.7560 Selesaii _B:am-_ryt 0 _
18,630 0.0011 Gagal.
H'rr*ri*lG:si=144*r
o.iziit s.i"."i, : A-Star 20 29,115 0.0014 Selesai ,i A-Staroptimasi ' 20 . 855 0.0006 Selesai
-
B':d9!:l
sls-
1:7Y:
9:1019_,_IEt,.Depth-first 0 1,424,567 5.7&44 6agal i
Best-frst 1,482 1,087,400 2.6240: Selesai : Beam-search 0 , 26,693 3.2191 , Gagal j uitt.li'obing '110,757 t 896,301 1.3480 I Selesai i A-Star , 100 549,934 0.0314 i Selesai l . A-staroptimasi 100 52,746 0.0178 Selesai; _____i
:2
loo..:
tit:isrs
:1i+:o
rSTKill l- 1=1!n"'+?jl_8_i 2J58r80 9ml1__s:1*i I-_""{tt* i
,1,_._l{?9j.el 3.1816, Gaeal IBest-first I t,+al , s+l,gso 1.2590 Selesaii
Beam-search 0 , 13,984 3.0286 Gagal . , Hill-climbing 10,756. 896,163 1.3280 . Selesai , A-Star 539 , 11,655,378 0.6'157 I Selesai i : A-Staroptimasi : 539 , 10,408,981 2.1056: Gagal i r Breadth-fint 0 r 0 0.0000. Gagal i
- -
---i Depth-6rs! 0 329,512 0.3978 : Gagal ;-i
Best-first ) 2,216 | 2,739,232 z.lzto r c"g* |4
I
Beam-search0
;-13r1!!--j!11-*9"j1j
i Hill-climbing , 6,383 , 533,352 0.5264 Selesai Ir e-s* ,o I o
o.ooooicagatiCs*.p"-;il
o -__
o--^ooooli;i-l
Techno.COM, Vol. 10, No. j, Agtutns 201l: 98-i,07 106 't4.0000 1 2,0000 10.0000 8.0000 6.0000 4.0000 2.0000 0 0000 s r Buruk 'Sukar r Sedang *Mudah
Ditunjukan pula overall hasil
uji
simulasi dalam gambargrafik
l,
2
dan3,
yang di tinjau dari perspektik jumlah ekspansi path, space (konstruksimemory)
dan
waktutempuh
(detik)
dari
setiap
performa algoritrna yang di uji. Pada algoritmadepth-first
tidak nampak hasilnya karena solusitidak
pemah
di
temukan
pada
semuakategori. Semua
performa
algoritma mengarah pada optimasi yanglebih
baik, baik dari segi ekspansi path, waktu tempuhdan
konstruksimemori.
Pada perspektif expansi path hanya algoritma hill-climbingsaja yang menunjukan hasil tidak optimal di
banding
dengan
lainnya.
Konstruksi memory palingbanyak
di
hasilkan oleh algoritrna best-first, optimasi hingga kasus sukar tetap berada dalam kendali algoritma a-starbaik
yangbiasa
maupunyang
di optimasi.Begitu
pula
kebutuhan waktu yangte{elak
di
hasilkanoleh
algoritma best-first.6. SIMPULAN
Penelitan dan pengujian terhadap algoritma pencarian
baik
pada uninformed maupunheuristic
memberikan pengetahuan barubagt
kita
bahwa dalam
kasus-kasusintelligence,
dan
menunjukan
bahwa konsep pencarian menjadi sentral metodeyang
selalu
dikembangkan.Hasil
uji
simulasi
@
pencarian solusi pada puzzle8,
memberikan
beberapa
kesimpulanmenarik yang diantaranya adalah, performa algoritrna
png
tidak
memberikan solusi menghasilkanperforma
paling
buruk (depth-frst), sedangkan algoritma best-firstdan breadth-first merupakan algoritrna yang teqjelak
yang
dapat
memberikan solusi dengan jumlah capaianwaktu,
space dan ekspansi terbesar. Untuk konstruksi memori pada algoritmahill-climbing
memberikan hasil yang terbesar (tidak optimal), namundapat
memberikansolusi pada
setiap kesukaran yang di berikan. Optimasi terjadi pada algoritma a-star dan a-star-opt dengan hasil yang signifikan pada keduanya.Penelitiandan uji simulasi ini masih jauh
o 6 I
€
OverallAlgoritma 0ptimasiWaktu ^Ir*
i^r.r'r
rl&
r
kam-search Breadth-first A-Star optimasiAlgoritma
Gambar
I
Grafik Overall Algoritma pada optimasi waktuC)vemll Aleoritma
Optimasi Ekbansi Path
40,000 35,000 , 30,000 . Buruk 25,000 2o.ooo Sukar fS,OOO t ' Seddg j0,0OO . Mudah 5.ooo ' a I o3.*-l / v-*
Bst-firsl A-Std optim6i
Br@dth -fi rst Hill-climbing
Gambar 2 Grafik Overall Algoritma pada ekspansi path Overall Algoritma Optimasi Space 20.000,000 A ,15,000,000 - a Buruk I i Sukar lo,ooo,ooo
'.i
r
$sedang : r Mudah 5,000,000 -. ! lAorl *la.
Beam-sarch Breadth-first A-Stu optimasiAlgoritma
__l
Gambar Grafk Overall Algoritma pada optimasi spoce
Techno.COM, VoL 10, No. 3, Agttsttts 201I: 98-107 t07
dari
sempumauntuk
menuju
keinginanmanusia
dalam
mengembangkan suatuperangkat pembantu
yang
cerdas yang mungkin akan mengantikan manusia (kasus deepblue yang
mengalahakan Kasparov dalam permainan catur, merupakan revolusi yang spektakuler dalam dunia komputasi).Bagaimanapun
masih
terdapat
sisimanusiawi yang lebih menonjol yang dapat
menyelesaikan kasus-kasus yang mungkin
DAFTAR PUSTAKA
[]
Peter Norvig,"Paradigmsof
Artificial
Intelligence Programming:
CaseStudies
in
CommonLisp",
Morgan Kaufmann, 1992[2]
Stuart Russell
and
Peter
Norvig,"Artificial
Intelligence:
A
Modern Approach (3rd)", Prentice Hall, 2010[3]
Harold Abelson, Gerald Jay Sussman,Julie
Sussman,
"Stmcture.
andinterpretation of computer programs ", MIT Press, 1985
[4]
Knuth, Donald
E.,
"The
fut
Of
Computer Programming
Vol
1.
3rd ed.", Boston: Addison-Wesley, 1997.[5]
Pearl,
J.
,
"Heuristics:
IntelligentSearch Strategies
for
Computer ProblemSolving",
Addison-Wesley,1984.
[6]
Christopher Thornton,
Benedict duBoulay
,
"Artificial
lntelligence
:Strategies, Applications, and Models Through Search", Second
Edition
,AMACOM, 1998.
[7]
V.J.
Rayrvard-Smith,I.
H. Osmarl 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 :Stnrctures and Strategies for Complex
belum dapat di selesaikan oleh mesin.
Kedepan, dengan memahami
teknikpencarian
dan
optimasinya
akan membimbingkita
pada penyelesaian yanglebih baik.
Modifikasi
pengkodean pada seluruh algoritrnayang
di
tinjau
untukdapat
di
jalankan
oleh
mesin
pararel (pararel computing), akan menjadi kajian menarik guna mendapatkan hasil yang lebih maksimal dan optimal.Problem
Solving",
Addison Wesley Longman, Inc. USA, 1998.[9] Richard
E. Korf,
"Depth-FirstIterative-Deepening:
An
Optimal Admissible Tree Search",
Artificial
Intelligence, CiteSeerX, I 985
[0]---
"Artificial
Intelligence
Search
Algorithms",Artificial
Intelligence,
CiteSeerX,r996
[11]M
Tim Jones,"Artificial
ntelligence :A
Systems Approach",
Copyright byInfinity
Science PressLLC
India, 2008.ll2lZdravko
Markov, Ingrid Russell, ToddNeller,
and Neli
Zlatareva, "Pedagogical Possibilitiesfor
theN-Puzzle
Problem
",36th
ASEE/IEEE Frontiersin
Education Conference, October 28-
31, 2006, San Diego, CA [ 1 3 ]http://www.kantz.com/jason/writing/8-puzzlg.htrn, diakses 10-01-2009, 14.28
WIB