Generate and Test Bangkitkan dan Uji

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