Anda di halaman 1dari 10

1.

Generate-and-Test (GT)

GT adalah metode yang paling sederhana dalam teknik pencarian heuristik. Jika
pembangkitan sebuah solusi yang mungkin (a possible solution) dikerjakan secara sistematis,
maka prosedur ini menjamin akan menemukan solusinya. Tetapi jika ruang masalahnya sangat
luas, mungkin memerlukan waktu yang sangat lama. Di dalam GT, terdapat dua prosedur
penting yaitu pembangkit (membangkitkan sebuah solusi yang mungkin) dan tes (menguji
solusi yang dibangkitkan tersebut). Dengan penggunaan memori yang sedikit, DFS bisa
digunakan sebagai prosedur pembangkit untuk menghasilkan suatu solusi. Prosedur Tes bisa
menggunakan fungsi heuristik. Metode Generate-and-Test (GT) adalah metode yang paling
sederhana dalam teknik pencarian heuristic.
Di dalam GT, terdapat dua prosedur penting:
1. Pembangkit (generate), yang membangkitkan semua solusi yang mungkin.
2. Test, yang menguji solusi yang dibangkitkan tersebut.
Algoritma GT menggunakan prosedur Depth First Search karena suatu solusi harus
dibangkitkan secara lengkap sebelum dilakukan Test. Dengan penggunaan memori yang
sedikit, DFS bisa digunakan sebagai prosedur pembangkit yang menghasilkan suatu solusi.
Prosedur Test bisa menggunakan fungsi heuristik.
Algoritma Generate-and-Test

1. Bangkitkan sebuah solusi yang mungkin. Solusi bisa berupa suatu keadaan (state)
tertentu. Solusi juga bisa berupa sebuah jalur dari satu posisi asal ke posisi tujuan,
seperti dalam kasus pencarian rute dari satu kota asal ke kota tujuan.

2. Tes apakah solusi yang dibangkitkan tersebut adalah sebuah solusi yang bisa diterima
sesuai dengan kriteria yang diberikan.

3. Jika solusi telah ditemukan, keluar. Jika belum, kembali ke langkah 1.

Studi Kasus: Traveling Salesman Problem (TSP)

1. Seorang salesman ingin mengunjungi sejumlah n kota. Akan dicari rute


terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali. Jarak antara tiap-tiap
kota sudah diketahui. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti
terlihat pada gambar berikut.
A 8 B
3 4
7 5

D 6 C

Penyelesaian :
Penyelesaian dengan menggunakan Generate-and-Test dilakukan dengan
membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan
abjad, yaitu:
 A-B-C-D
 A-B-D-C
 A-C-B-D
 A-C-D-B
 dan seterusnya
Dari gambar diatas dapat dijelakan sebagai berikut.

1. Misalkan kita mulai dari node A. Kita pilih sebagai keadaan awal adalah
lintasan ABCD dengan panjang lintasan = 19.

2. Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC


dengan panjang lintasan = 18.

3. Lintasan ini kita bandingkan dengan lintasan ABCD, ternyata ABDC < ABCD,
sehingga lintasan terpilih adalah ABDC.

4. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD (=12),


ternyata ACBD < ABDC, maka lintasan terpilih sekarang adalah ACBD.

5. Demikian seterusnya hingga ditemukan solusi yang sebenarnya.

6. Salah satu kelemahan dari metode ini adalah perlunya dibangkitkan semua
kemungkinan solusi sehingga membutuhkan waktu yang cukup besar dalam
pencariannya.

2. Metode Hill Climbing Search


Metode Hill-climbing merupakan variasi dari depth-first search. Dengan metoda ini,
eksplorasi terhadap keputusan dilakukan dengan cara depth-first search dengan mencari path
yang bertujuan menurunkan cost untuk menuju kepada goal/keputusan. Sebagai contoh kita
mencari arah menuju Tugu Monas, setiap kali sampai dipersimpangan jalan kita berhenti dan
mencari arah mana yang kira-kira akan mengurangi jarak menuju Tugu Monas, Dengan cara
demikian sebetulnya kita berasumsi bahwa secara umum arah tertentu semakin dekat ke Tugu
Monas.
Terdapat dua jenis HC yang sedikit berbeda, yakni :
1. Simple HC (HC Sederhana)
a. Algoritma akan berhenti kalau mencapai nilai optimum
lokal
b. Urutan penggunaan operator akan sangat berpengaruh
pada penemuan solusi.
c. Tidak diijinkan untuk melihat satupun langkah
selanjutnya.
2. Steepest-Ascent HC (HC dengan memilih kemiringan yang paling tajam /
curam)
a. Hampir sama dengan Simple HC, hanya saja gerakan pencarian tidak dimulai
dari paling kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik.

Algoritma Simple HC
1. Evaluasi initial state. Jika state ini adalah goal state, maka kembalikan state ini sebagai
solusi dan keluar dari program. Jika state ini bukan goal state, lanjutkan proses dengan
initial state sebagai current state.
2. Ulangi sampai solusi ditemukan atau sampai tidak ada operator baru yang dapat
diaplikasikan terhadap current state:
a) Pilih sebuah operator yang belum diaplikasikan terhadap current state
dan aplikasikan operator tersebut sehingga menghasilkan new state.
b) Evaluasi new state:
 Jika state ini adalah goal state, maka kembalikan state ini
sebagai solusi dan keluar dari program.
 Jika state ini bukan goal state tetapi lebih baik daripada
current state, maka jadikan state ini sebagai current state.
 Jika state ini tidak lebih baik daripada current state,
kembali ke langkah 2.a.

Sebagai contoh perhatikan gambar berikut ini.


Dari gambar diatas dapat dijelaskan sebagai berikut.

1. S menyatakan intial state, sedangkan G menyatakan goal state.


2. Variable f di setiap state menyatakan biaya antara state tersebut dengan goal state. Nilai
f pada goal state = 0.
3. Simple HC langsung memilih state B sebagai next state karena nilai f pada state B lebih
kecil dibandingkan nilai f pada state S.
4. Di sini tidak dipertimbangkan nilai f pada state C.
5. Misalkan pada akhir iterasi, Simple HC mengembalikan solusi G yang berada di level
6, padahal ada solusi yang lebih baik pada level 2. Dengan demikian Simple HC tidak
optimal.
Studi Kasus : Game 8- Puzzle

Terdapat 4 operator yang dapat kita gunakan untuk menggerakkan dari satu keadaan ke
keadaan yang baru.

1. Ubin kosong digeser ke kiri

2. Ubin kosong digeser ke kanan

3. Ubin kosong digeser ke atas

4. Ubin kosong digeser ke bawah

Initial State / Keadaan Awal Goal State / Tujuan


Penyelesaian dengan simple hill climbing :

Initial State / Keadaan Awal

Ke Atas Ke Kiri Ke Bawah

Iterasi 1

Ke Kiri

Iterasi 2

Ke Kiri Ke Atas

Iterasi 3

Ke Atas Ke Kanan
Ke Kiri

Iterasi 4
Ke Atas Ke Bawah

Goal state/ Tujuan

Iterasi 5

Dari gambar diatas dapat dijelaskan sebagai berikut.

1. Jumlah heuristic h(n)= 5 merupakan intial state, sedangkan heuristic h(n)= 0


menyatakan goal state.
2. Jumlah heuristic h(n) setiap state menyatakan jumlah langkah dari state tersebut untuk
mencapai goal state.
3. Simple HC langsung memilih berpindah ke bawah pada iterasi I sebagai next state
karena nilai h(n) pada state tersebut lebih kecil dibandingkan nilai h(n) pada initial
state, begitupun seterusnya hingga mencapai goal state.
4. Jadi urutan penyelesaian game 8-puzzle diatas dengan menggunakan metode Simple
Hill Climbing dan menghitung nilai heuristik berupa jumlah langkah yang diperlukan
untuk mencapai goal state adalah ubin kosong bergeser ke BAWAH, KIRI, ATAS
KANAN, BAWAH dengan nilai heuristik terakhir adalah 0.

Algoritma Steepest-Ascent HC
1. Evaluasi initial state. Jika state ini adalah goal state, maka kembalikan state ini sebagai
solusi dan keluar dari program. Jika state ini bukan goal state, lanjutkan proses dengan
initial state sebagai current state.
2. Ulangi sampai solusi ditemukan atau sampai tidak ada perubahan terhadap current state:
a) Misalkan SUK adalah suatu state yang menjadi suksesor dari current
state.
b) Untuk setiap operator yang bisa dilakukan terhadap current state,
kerjakan:
 Aplikasikan operator tersebut dan bangkitkan new state.
 Evaluasi new state. Jika merupakan goal state, kembalikan state
ini sebagai solusi dan keluar dari program. Jika bukan goal state, bandingkan
new state dengan SUK. Jika new state lebih baik daripada SUK, maka ganti
SUK dengan new state. Jika tidak lebih baik, SUK tidak perlu diganti.
c) Jika SUK lebih baik dari current state, maka ganti current state dengan
SUK

Sebagai contoh perhatikan gambar berikut.

Dari gambar diatas dapat dijelaskan sebagai berikut.

1. Dari state S, Steepest-Ascent HC akan mengevaluasi semua state yang menjadi next
state atau suksesornya, yaitu A, B, dan C. Dari ketiga suksesor tersebut dipilih suksesor
dengan nilai f yang terkecil.
2. State C akan dipilih sebagai suksesor S.
3. Misalkan, hasil penelusuran menemukan solusi G di level 4, padahal ada solusi optimal
di level 2, dalam hal ini Steepest-Ascent HC dikatakan terjebak pada solusi lokal atau
local minimum. Jadi Steepest-Ascent HC juga tidak optimal.
Studi Kasus : Game 8- Puzzle
Terdapat 4 operator yang dapat kita gunakan untuk menggerakkan dari satu keadaan ke
keadaan yang baru.
1. Ubin kosong digeser ke kiri

2. Ubin kosong digeser ke kanan

3. Ubin kosong digeser ke atas


4. Ubin kosong digeser ke bawah
Initial State / Keadaan Awal Goal State / Tujuan

Penyelesaian Steepest- Ascent HC


:

Initial State / Keadaan Awal

Ke Atas Ke Kiri Ke Bawah

Iterasi 1

Ke Kiri

Iterasi 2

Ke Kanan Ke Kiri Ke Atas

Iterasi 3

Ke Bawah Ke Atas Ke Kiri Ke Kanan

Iterasi 4

Iterasi 5
Ke Ke Bawah
Ke Kiri
Atas

Goal state/ Tujuan

Dari gambar diatas dapat


dijelaskan sebagai berikut.
1. Dari state initial state, Steepest-Ascent HC akan mengevaluasi semua state yang
menjadi next state atau suksesornya, y misalnya pada iterasi pertama ada 3 state yaitu
jika pindah ke atas dengan h(n)=6, jika berpindah ke kiri dengan h(n) = 6, dan jika
berpindah ke bawah dengan h(n)= 4. Dari ketiga suksesor tersebut dipilih suksesor
dengan nilai h(n) yang terkecil.
2. Jadi urutan penyelesaian game 8-puzzle diatas dengan menggunakan metode Steepest-
Ascent Hill Climbing dan menghitung nilai heuristik berupa jumlah langkah yang
diperlukan untuk mencapai goal state adalah ubin kosong bergeser ke BAWAH, KIRI,
ATAS KANAN, BAWAH dengan nilai heuristik terakhir adalah 0.

Anda mungkin juga menyukai