butatanpa informasi blind atau un-informed search dan pencarian heuristikdengan
informasi heuristic atau informed search Dewi Yusra Aini : 2010.
2.2.1 Pencarian Heuristik
Heuristik adalah teknik yang digunakan untuk meningkatkan efisiensi dari proses pencarian. Teknik ini baik diterapkan dalam tujuan yang umum, tapi tidak untuk tujuan yang
khusus. Heuristik yang baik, dapat memecahkan permasalahan yang berat, seperti pada
masalah perjalanan salesman. Sebuah fungsi heuristik mengevaluasi keadaan permasalahan
tersendiri dan menentukan bagaimana diperlukan fungsi ini dalam memecahkan suatu permasalahan. Sebuah fungsi
heuristik adalah sebuah fungsi yang memetakan keadaan permasalaan, yang mendeskripsikan daya tarik dan digambarkan dalam sebuah angka Andri
Kristanto : 2004.
Beberapa metode pencarian yang menggunakan fungsi heuristik dalam mencari solusi, yaitu
Generate and test, Hill climbing, dan Best First Search greedy best first search dan A Dewi Yusra Aini : 2010.
2.2.1.1 Generate and Test Bangkitkan dan Uji
Generate and Test merupakan penggabungan antara Depth - First Search dengan backtracking. Metode ini hanya melibatkan setiap node dalam ruang pencarian dan pengujian
untuk melihat apakah itu simpul tujuan atau bukan. Jika ya, pencarian telah berhasil dan tidak perlu
dilanjutkan, jika
tidak pindah
ke node
berikutnya. Metode ini merupakan bentuk sederhana dari
brute force search pencarian lengkap, disebut demikian karena pecarian dilakukan dengan cara hanya melintasi pohon pencarian dan
bagaimana mengidentifikasi node awal dan node tujuan, dan pada akhirnya akan memeriksa setiap node di pohon sampai menemukan tujuan Coppin Ben : 2004 .
Generate-and-Test merupakan prosedur Depth – First Search karena solusi harus
dibangkitkan secara lengkap sebelum dilakukan test dan juga disebut prosedur backtracking
karena ketika tidak ada lagi simpul yang bisa dibangkitkan pada satu lintasan maka dilakukan backtracking terhadap simpul terdekatnya.
Generate and Test memiliki tiga sifat : 1.
Bangkitkan suatu solusi yang mungkin. Untuk beberapa permasalahan, pembangkitan ini berarti membangkitkan suatu simpul tertentu atau lintasan tertentu dari keadaan
awal. 2.
Uji untuk melihat apakah simpul tersebut benar-benar merupakan solusinya dengan cara membandingkan simpul yang dipilih atau simpul akhir suatu lintasan yang dipilih
dengan kumpulan tujuan yang dapat diterima atau diharapkan. 3.
Jika solusi telah diperoleh maka keluar. Jika tidak maka ulangi kembali langkah pertama.
Generate and Test dapat diterapkan pada sejumlah masalah di mana orang memecahkan masalah ketika tidak ada informasi tambahan untuk mencapai solusi.
Generate and test juga sering disebut sebagai teknik pencarian buta Coppin Ben : 2004.
Contoh kasus penyelesaian dengan menggunakan Generate and Test yaitu seorang
salesman ingin mengunjungi sejumlah n kota. Akan dicari rute terpendek di mana setiap kota hanya boleh dikunjungi tepat 1 kali dan jarak setiap kota sudah diketahui. Misalkan ada 4
kota dengan jarak antara setiap kota seperti terlihat pada gambar berikut:
Gambar 2.7 Lintasan
Generate and Test
Penyelesaian dengan menggunakan Generate and Test dilakukan dengan
membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad dan membuat pohon pencarian :
1. A-B-C-D
2. A-B-D-C
3. A-C-B-D
4. A-C-D-B , dan seterusnya.
Gambar 2.8 Pohon pencarian
Generate and Test Misalkan kita mulai dari node A. Kita pilih sebagai keadaan awal adalah lintasan
ABCD dengan panjang lintasan = 18. Kemudian kita lakukan backtracking untuk
mendapatkan lintasan ABDC dengan panjang lintasan = 19. Lintasan ini kita bandingkan
dengan lintasan ABCD, ternyata ABDC ABCD, sehingga lintasan terpilih adalah ABCD. Kita lakukan lagi backtracking untuk mendapatkan lintasan ACBD =16, ternyata ACBD
ABCD, maka lintasan terpilih sekarang adalah ACBD. Demikian seterusnya hingga ditemukan solusi yang sebenarnya.
2.2.2 Pencarian Buta Blind SearchUn-informed Search