Anda di halaman 1dari 21

ALGORITMA INFORMED SEARCH

“HILL CLIMBING”

Shofiyah A.I
Latar Belakang
• kumpulan perintah untuk menyelesaikan suatu masalah
• ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan
Algoritma algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal
yang memenuhi kriteri

• Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah


Klasifikasi dengan memperhatikan paradigma dan metode yang digunakan untuk
mendesain algoritma tersebut.
Algoritma • Masing-masing paradigma dapat digunakan dalam banyak algoritma yang
berbeda

• suatu strategi untuk melakukan proses pencarian ruang keadaan (state


(heuristic space)suatu problema secara selektif
• teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan
searching) kemungkinan mengorbankan kelengkapan (completeness)

• salah satu variasi metode buat dan uji(generate and test) dimana umpan balik
Hill yang berasal dari prosedur uji digunakan untuk memutuskan arah gerak dalam
ruang pencarian (search)
climbing • Ya dan Tidak (pada Generate dan test)
• fungsi uji dikombinasikan dengan fungsi heuristik yang menyediakan
pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal)
• penerapan algoritma hill climbing dalam pencarian jalur
Rumusan terpendek
Masalah

• Penerapan algoritma simple hill climbing,


Topik • Penerapan algoritma steepest ascent hill climbing,
Bahasan

• Mengetahui penerapan algoritma hill climbing, yang


terdiri dari dua pendekatan, yaitu simple hill climbing dan
Tujuan steepest ascent hill climbing
Heuristik Search

Fungsi
Heuristik
• persoalan atau
• Tidak selalu dapat • teknik yang mengembangkan efisiensi problema yang
diterapkan dengan dalam proses pencarian mungkin
baik • dengan kemungkinan mengorbankan memiliki
• Waktu akses kelengkapan (completeness) solusi eksak
cukup lama • untuk mengevaluasi keadan-keadaan • persoalan
problema individual dan menentukan yang mungkin
• Penggunaan seberapa jauh hal tersebut dapat tidak memiliki
memori tinggi digunakan untuk mendapatkan solusi
yang diinginkan solusi eksak
• membantu memutuskan kemungkinan
Uninformed solusi mana yang pertama kali perlu
Heuristik
secarch dievaluasi dalam AI
Heuristik Search

• Heuristik hanyalah sebuah cara menerka


langkah berikutnya yang harus diambil dalam
Heuristik memecahkan suatu persoalan berdasarkan
informasi yang ada atau tersedia

• generate and test,


• hill climbing(simple hill cimbing dan steepest
Jenis Heuristic ascent hill climbing),
Search • best first search (greedy best first search dan
Algoritma A*)
Hill Climbing

pencarian lokal

= generate and test,


hanya saja proses Hill memulai secara
pengujian dilakukan acak dari state yang
dengan fungsi Climbing sudah ada
heuristic

Penentuan keadaan
berikutnya
tergantung
feedback dari
prosedur
pengetesan
Jenis Hill Climbing
simple hill climbing dan
• gerakan pencarian langsung memilih newstate yang
memiliki jalur yang lebih baik daripada jalur
sebelumnya, tanpa memperhitungkan jalur lain yang
lebih baik

steepest ascent hill climbing


• gerakan pencariannya dilakukan ke semua node dan
apabila ditemukan jalur yang lebih baik, maka jalur
tersebut yang akan dipilih
FlowChart
1. Algoritma Simple Hill Climbing
1. Mulai dari keadaan awal, lakukan pengujian:
jika merupakan tujuan, maka berhenti; dan jika
tidak, lanjutkan dengan keadaan sekarang Masalah
sebagai keadaan awal
2. Kerjakan langkah-langkah berikut sampai
# Algoritma akan
solusinya ditemukan, atau sampai tidak ada berhenti apabila
operator baru yang akan diaplikasikan pada mencapai nilai
keadaan sekarang: optimum local
a. Cari operator yang belum pernah digunakan; # Urutan
gunakan operator ini untuk mendapatkan keadaan penggunaan
yang baru operator akan
sangat
b. Evaluasi keadaan baru tersebut berpengaruh pada
1) Jika keadaan baru merupakan tujuan, keluar penemuan solusi
2) Jika bukan tujuan, namun nilainya lebih baik # Tidak diijinkan
dari keadaan sekarang, maka jadikan keadaan baru untuk melihat
tersebut menjadi keadaan sekarang satupun langkah
sebelumnya
3) Jika keadaan baru tidak lebih baik dari pada
keadaan sekarang, maka lanjutkan iterasi
• Dengan menggunakan bentuk pohon untuk
merepresentasikan ruang keadaan, gunakanlah
metode Stepest Ascent Hill Climbinguntuk
mencari langkah-langkah yang harus ditempuh
dari keadaan awal sampai mendapatkan tujuan.
• Fungsi heuristik yang digunakan adalah jumlah
ubin yang menempati posisi yang benar.
#_Pada Gambar1 terlihat bahwa semula ada 3
operator yang bisa digunakan, yaitu ubin
kosong digeser ke kanan, kiri dan bawah.
Masing-masing kondisi hasil
dariimplementasioperator memberikan nilai
heuristik4, 6, dan5.
Nilai heuristik terbesar adalah 6, sehingga
kondisi kedua yang dipilih.
#_Pada tahap kedua, operator yang bisa
digunakan hanya2, yaitu ubin kosong digeser
ke kanan dan ke bawah. masing-masing
dengan nilai heuristik5 dan7. Nilai
heuristikyang dihasilkan adalah 7, dan kondisi
ini dipilih.
#_Pada tahap ketiga, ada3 operator yang
digunakan, yaituubin kosong digeser ke atas,
kanan, dan bawah. Masing-masing kondisi
memiliki nilai heuristik6, 8, dan 6. Karena
nilai 8 merupakan solusi, maka pencarian telah
berakhir.
2. Algoritma Steepest Ascent Hill
Climbing
Evaluasi keadaan awal (initial state). Jika keadaan awal sama
dengan tujuan (goal state), maka kembali pada initial state
dan hentikan proses. Jika tidak, maka jadikan initial state
tersebut sebagai current state

Mulai dengan current state = initial state

Dapatkan semua pewaris (successor) yang dapat dijadikan


next state pada current state
Evaluasi seluruh successors tersebut dengan fungsi evaluasi
dan catat hasil evaluasi. Jika salah satu successor tersebut
mempunyai nilai yang lebih baik dari current state, maka
jadikan successor dengan nilai yang paling baik tersebut
sebagai new current state

Lakukan langkah-langkah ini terus-menerus hingga tercapai


current state = goal state atau tidak ada perubahan pada current
state-nya
Contoh Penggunaan Hill Climbing
• Penggunaan algoritma hill climbing dalam pemecahan
masalah salah satunya dalam Traveling Salesman Problem
(TSP). Seorang salesman ingin mengunjungi n kota. Jarak
antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui
rute terpendek dimana setiap kota hanya boleh dikunjungi
tepat 1 kali.
• Solusi yang mungkin dengan menyusun kota-kota dalam
urutan abjad misalkan:
A–B–C–D : dengan panjang lintasan (=19)
A–B–D–C : (=18)
A–C–B–D : (=12)
A–C–D–B : (=13)
dan seterusnya
Penyelesaian 1
• Keadaan berisikan semua kemungkinan lintasan yang mungkin dilewati.
Operator digunakan untuk menukar posisi kota-kota yang bersebelahan.
Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi.
Operator yang akan digunakan adalah menukar urutan posisi 2 kota dalam
1 lintasan. Bila ada n kota dan ingin mencari kombinasi lintasan dengan
menukar posisi urutan 2 kota, maka akan didapat kombinasi lintasan
sebanyak:
• Keenam kombinasi ini akan digunakan semuanya sebagai operator, yaitu:
Tukar 1,2 = menukar urutan posisi kota ke-1 dengan kota ke-2
Tukar 2,3 = menukar urutan posisi kota ke-2 dengan kota ke-3
Tukar 3,4 = menukar urutan posisi kota ke-3 dengan kota ke-4
Tukar 4,1 = menukar urutan posisi kota ke-4 dengan kota ke-1
Tukar 2,4 = menukar urutan posisi kota ke-2 dengan kota ke-4
Tukar 1,3 = menukar urutan posisi kota ke-1 dengan kota ke-3
Lanjutan • Keadaan awal, lintasan ABCD, dengan panjang
lintasan adalah 19
• Level pertama : hill climbing mengunjungi
BACD (=17), BACD (=17) < ABCD (=19), sehingga
BACD menjadi piluhan selanjutnya dengan operator
Tukar 1,2
• Level kedua : mengunjungi ABCD, karena
operator Tukar 1,2 sudah dipakai BACD, maka pilih
node lain yaitu BCAD (=15), BCAD (=15) < BACD
(=17)
• Level ketiga : mengunjungi CBAD (=20),
CBAD (=20) > BCAD (=15), maka pilih node lain
yaitu BCDA (=18), pilih node yang lain lagi yaitu
DCAB (=17), pilih node yang lain yaitu BDAC
(=14), BDAC (=14) < BCAD (=15)
• Level keempat : mengunjungi DBAC (=15),
DBAC (=15) > BDAC (=14), maka pilih node lain
yaitu BADC (=21), pilih node lain yaitu BDCA (=13)
< BDAC (=14)
• Level kelima : mengunjungi DBCA (=12),
DBCA (=12) < BDCA (=13)
• Level keenam : mengunjungi BDCA, karena
operator Tukar 1,2 sudah dipakai DBCA, maka pilih
node lain yaitu DCBA (=19), pilih DBAC (=15), pilih
ABCD (=19), pilih DACB (=15), pilih CBDA (=16)
• Karena sudah tidak ada node yang memiliki nilai
heuristik yang lebih kecil dibanding nilai heuristik
sebelumnya, yaitu DBCA, maka node DBCA
dengan panjang lintasan adalah 12 adalah lintasan
terpendek yang menjadi solusi.
Penyelesaian 2
Steepest Ascent Hll Climbing hampir sama dengan simple ascent hill climbing, hanya
saja pergerakan pencarian tidak dimulai dari kiri, tetapi langsung berdasarkan nilai
heuristik terbaik
• Keadaan awal, lintasan ABCD, dengan panjang lintasan
adalah 19
• Level pertama : hill climbing memilih nilai heuristik
terbaik, yaitu ACBD (=12), sehingga ACBD menjadi
pilihan selanjutnya
• Level kedua : hill climbing memilih nilai heuristik
terbaik, karena nilai heuristik lebih besar dibanding
ACBD, maka hasil yang diperoleh lintasannya tetap
ACBD (=12)
• Karena sudah tidak ada node yang memiliki nilai
heuristik yang lebih kecil dibanding nilai heuristik
sebelumnya, yaitu ACBD, maka node ACBD dengan
panjang lintasan adalah 12 adalah lintasan terpendek
yang menjadi solusi.
• Keadaan awal, lintasan ABCD, dengan panjang lintasan adalah 19
• Level pertama: hill climbing memilih nilai heuristik terbaik, yaitu ACBD
(=12), sehingga ACBD menjadi pilihan selanjutnya
• Level kedua : hill climbing memilih nilai heuristik terbaik, karena nilai
heuristik lebih besar dibanding ACBD, maka hasil yang diperoleh
lintasannya tetap ACBD (=12)
• Karena sudah tidak ada node yang memiliki nilai heuristik yang lebih
kecil dibanding nilai heuristik sebelumnya, yaitu ACBD, maka node
ACBD dengan panjang lintasan adalah 12 adalah lintasan terpendek
yang menjadi solusi.
Kekurangan Hill-Climbing
• Terjebak dalam kondisi local maxima
– Seolah-olah tidak ada pilihan, nilai terkecil h(neighbor) >
h(current)
– Namun jika state terpilih saat current-1 adalah state lain,
maka mungkin ditemukan nilai terkecil h(neighbor) <=
h(current)
• Alternatif cara untuk hindari local maxima
– Pilih state dari neighbor dengan hitung nilai h(current+1)
• Hitung h(neighbor) dan h(current=neighbor)
• Pilih current baru dari neighbor dengan (current=neighbor)
<= h(current)
Kesimpulan
• Hill Climbing merupakan salah satu pencarian yang menggunakan
Heuristik adalah sebuah teknik yang mengembangkan efisiensi
dalam proses pencarian, namun dengan kemungkinan
mengorbankan kelengkapan (completeness).
• Fungsi heuristik digunakan untuk mengevaluasi keadan-keadaan
problema individual dan menentukan seberapa jauh hal tersebut
dapat digunakan untuk mendapatkan solusi yang diinginkan
• Teknik heuristik juga membantu memutuskan kemungkinan solusi
mana yang pertama kali perlu dievaluasi.
• Terdapat dua jenis metode dalam hill climbing, yaitu simple hill
climbing dan steepest ascent hill climbing
• Ada tiga Persoalan yang mungkin terjadi pada Hill Climbing yaitu:
Local Maxima, Plateaux, Ridges.

Anda mungkin juga menyukai