Pencarian Berbentuk heuristik search dan Eksplorasi
Pencarian
Berbentuk /heuristik search dan Eksplorasi
3.1
Strategi pencarian berbentuk
Dengan menggunakan Uninformed Search
Algorithm, beberapa permasalahan dapat dipecahkan, namun tidak semua algoritma
dapat menyelesaikan permasalahan dengan efektif serta efisien.
Informed Search Algorithm, disebut
juga dengan Heuristic Search. Pencarian dengan algoritma ini menggunakan
pengetahuan yang spesifik kepada permasalahan yang dihadapi selain dari
definisi masalahnya itu sendiri.
Pada pencarian dengan metode UCS(Salah
satu bagian dai Uninformed Search Algorithm), kita membandingkan nilai pada
path yang ada lalu kemudian melakukan ekspansi pertama kali pada path dengan
nilai yang terkecil. Nilai path ini biasanya dilambangkan dengan g(n). lebih
lanjut lagi, dari metode pencarian tsb, pada Informed Search Algorithm, kita
akan mengenal nilai estimasi(prediksi) dari satu node ke node yang lainnya.
Nilai estimasi ini biasanya dilambangkan dengan h(n). Jika n adalah goal node,
maka nilai h(n) adalah nol.
Ø Greedy Best First Search
Metode pencarian ini melakukan
ekspansi node yang memiliki jarak terdekat dengan goal node. Namun, ekspansi
yang dilakukan pada metode ini menggunakan evaluasi node hanya dengan melihat
kepada fungsi heuristiknya. Dengan kata lain, yang dibandingkan untuk penentuan
ekspansi node adalah nilai estimasi/prediksinya saja.
F(n) = h(n)
Ø A * Search (A-Star Search)
Bentuk dari Best First Search yang
paling dikenal adalah algorima pencarian A(Dibaca dengan A-Star). Tidak jauh
berbeda dengan Greedy yang hanya melihat kepada nilai h(n), pencarian dengan A
melihat kepada kombinasi nilai dari pathnya yaitu g(n) dengan nilai estimasi
yaitu h(n).
F(n) = g(n) +h(n)
Ø SMA
(Simplified Memory-Bounded A*)
SMA* adalah contoh dari sebuah
mekanisme pencarian “lossy“. Dalam rangka untuk mengurangi konsumsi memori, hal
ini membuang informasi, dengan asumsi bahwa informasi yang dibuang itu tidak
penting. Bagaimanapun, tidak ada jaminan bahwa hal itu tidak penting. Dalam
semua kasus dengan SMA*, jalur yang ditemukan tidak memiliki jaminan menjadi
jalur yang optimal. Pada awal pencarian, node yang tidak menjanjikan bisa saja
dibuang.
Menetapkan limit yang besar pada
ukuran open list dapat membantu meringankan masalah ini, namun fungsi untuk
mengurangi penggunaan memori menjadi terbuang. Pada kasus ekstrem yang lain,
dengan memberi limit 1 simpul pada open list, ini bisa mempercepat sekaligus
mengurangi penggunaan memori dalam pencarian, namun jalur yang ditemukan bisa
tidak optimal .
3.2 Fungsi Heuristik
Fungsi heuristic
h(n) merupakan estimasi cost dari n ke simpul tujuan. Heuristic
digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan
seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang
diinginkan.
Sangat
penting untuk memilih fungsi heuristic yang baik.
Misalkan h(n) merupakan cost sebenarnya dari simpul n ke
simpul tujuan, maka pada algoritma A terdapat beberapa kemungkinan yang terjadi
pada pemilihan fungsi heuristic yang digunakan, yaitu (Amit
Gaming) :
- Jika h(n) = 0, sehingga hanya g(n) yang terlibat maka
A* akan bekerja seperti halnya algoritma Dijkstra.
- Jika h(n) < h*(n), maka A* akan mengembangkan titik
dengan nilai paing rendah dan algoritma A* menjamin ditemukannya lintasan
terpendek. Nilai h(n) terendah akan membuat algoritma mengembangkan lebih
banyak simpul. Jika h(n) < h*(n), maka h(n) dikatakan heuristicyang
admissible.
- Jika h(n) = h*(n), maka A* akan mengikuti lintasan
terbaik dan tidak akan mengembangkan titik-titik yang lain sehingga akan
berjalan cepat. Tetapi hal ini tidak akan terjadi pada semua kasus.
Informasi yang baik akan mempercepat kinerja A*.
- Jika h(n) > h*(n), maka A* tidak menjamin pencarian
rute terpendek, tetapi berjalan dengan cepat.
- Jika h(n) terlalu tinggi relative dengan g(n) sehingga
hanya h(n) yang bekerja maka A* berubah jadi Greedy Best First Search.
3.3 Algoritma Pencarian Lokal dan Masalah
Optimisasi
Ø Metode Hill Climbing Search
Metode ini hampir sama dengan metode
pembangkitan dan pengujian, hanya saja proses pengujian dilakukan dengan
menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya sangat tergantung
pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristik ini
akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap
keadaan-keadaan lainnya yang mungkin(Sri Kusumadewi 2003, h. 34).
Ada dua macam metode Hill
- Climbing Search, yaitu Simple Hill Climbing ,
Steepest-ascent Hill Climbing (Sri Kusumadewi 2003, h. 39).
Algoritma untuk Hill Climbing Search
adalah sebagai berikut :
- Mulai dari keadaan awal, lakukan pengujian: jika
merupakan tujuan, maka berhenti; dan jika tidak, lanjutkan dengan keadaan
sekarang sebagai keadaan awal.
- Kerjakan langkah-langkah berikut sampai solusinya
ditemukan, atau sampai tidak ada node baru yang akan diaplikasikan pada
keadaan sekarang :
- Cari node yang belum pernah digunakan; gunakan node ini
untuk mendapatkan keadaan yang baru.
- Evaluasi keadaan
baru tersebut.:
– Jika keadaan baru merupakan
tujuan, keluar.
– Jika bukan tujuan, namun nilainya
lebih baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut
menjadi keadaan sekarang.
– Jika keadaan baru tidak lebih baik
daripada keadaan sekarang, maka lanjutkan pencarian.
Ø Simulated Annealing Search
Merupakan ialah suatu algoritma
optimasi yang mensimulasikan proses annealing pada pembuatan materi yang
terdiri dari butir keristal/logam. Algoritma unt untuk optimalisasi yang
bersifat generic. Berbasiskan probabilitas dan mekanika statistic,algoritma ini
dapat dipakai untmencari pendekatan terhadap solusi optimum global dari suatu
permasalahn. Masalah yang membutuhkan pendekatan simulated annealing ialah
masalah-masalah optimisasi kombinatorial, dimana ruang pencarian solusi yang
ada terlalu besar, sehingga hampir tidak mungkin ditemukan solusi eksak
terhadap permasalahn itu.
Secara umum ada 3 hal pokok pada
simulated annealing, yaitu:
- Nilai awal : Unt temperature (T0). Nilai T0 biasanya
ditetapkan cukup besar (tidak mendekati 0), karena jika T mendekati 0 maka
gerakan simulated annealing akan sama dengan hill climbing. Biasanya temperature
awal ini ditetapkan sebesar 2 kali panjang suatu jalur yang dipilih secara
acak.
- Kriteria : Yang dipakai unt memutuskan apakah
temperature sistem seharusnya dikurangi.
- Berapa besarnya pengurangan temperature dalam setiap
waktu.
Ø Local Beam Search
Local beam search adalah algoritma
pencarian heuristik yangmerupakan optimasi dari pencarian best-first search
yang mengurangikebutuhan memorinya. Dalam Beam Search, hanya jumlah
solusiparsial terbaik yang telah ditetapkan yang disimpan sebagai kandidat.
Beam Search membutuhkan tiga
komponen sebagai inputnya, yaitu :
- Masalah yang akan di selesaikan : Biasanya di tampilkan
dalam bentuk grafik dan berisi kumpulan node yang tiap satu atau lebih
node mengarah ke goal/hasil.
- Kumpulan aturan-aturan heuristik untuk pemangkasan :
Adalah aturan-aturan spesifik yang mengarah ke ruang masalah dan memangkas
node yang tidak menguntungkan dari memori yang berhubungan dengan ruang
masalah.
- Memori dengan kapasitas yang terbatas adalah memori
tempat menyimpan beam, dimana ketika memori dalam keadaan penuh dan node
akan di tambahkan ke beam, maka node yang nilainya paling besar yang
dihapus, jadi tidak akan melebihi memori yang tersedia.
Beam Search memiliki keuntungan yang
berpotensi mengurangi perhitungan dan waktu pencarian. Selain itu, pemakaian
memori daripencarian ini jauh lebih sedikit daripada metode yang mendasari
metode pencarian ini. Kelemahan utama Beam Search adalah metode pencarian
ini mungkin tidak dapat mencapai tujuan/hasil yang optimaldan bahkan
mungkin tidak mencapai tujuan sama sekali. Padakenyataannya, algoritma beam
search berakhir untuk dua kasus: nodetujuan yang diperlukan tercapai,
atau node tujuan tidak tercapai dantidak ada node tersisa untuk dieksplorasi.
Ø Genetic Algorithm
Genetic Algorithm (GA) adalah teknik
pencarian dalam bidang komputasi untuk menemukan solusi benar atau pendekatan
untuk masalah optimasi dan pencarian. Teknik dalam GA didasarkan pada biologi
evolusioner seperti pewarisan, mutasi, seleksi dan crossover.
Dalam GA biasanya ada 2 hal yang
harus didefinisikan:
- Representasi genetis dari domain solusi
- Fungsi fitness untuk mengevaluasi solusi domain.
Hal-hal yang harus dilakukan untuk
menggunakan algoritma genetika:
- Mendefinisikan individu, dimana individu menyatakan
salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang
diangkat.
- Mendefinisikan nilai fitness, yang merupakan ukuran
baik tidaknya sebuah individu atau baik tidaknya solusi yang didapatkan.
- Menentukan proses pembangkitan solusi awal. Hal ini
biasanya dilakukan dengan menggunakan pembangkitan acak seperti random
walk.
- Menentukan proses seleksi yang akan digunakan.
- Menentukan proses perkawinan silang (cross over) dan
mutasi gen yang akan digunakan.
3.4 Agen pencarian online dan lingkungan yang
tidak diketahui.
- Pencarian buta (uninformed/blind search) : tidak
ada informasi awal yang digunakan dalam proses pencarian.
- Pencarian melebar pertama (Breadth – First Search).
- Pencarian mendalam pertama (Depth – First Search).
#Daftar
Pustaka
https://adiazep.wordpress.com/2017/11/12/pencarian-berbentuk-heuristik-search-dan-eksplorasi/
Komentar
Posting Komentar