SEARCH (PENCARIAN)
1.Pencarian buta(blind search)
2.Pencarian terbimbing(heuristic serach)
Pencarian berlangsung sampai solusi terakhir ditemukan.
Dalam memecahkan masalah yang sangat besar sejumlah keadaan baru muncul, sehingga alternatif yang perlu dipertimbangkan pun menjadi lebih banyak. Akibatnya diperlukan waktu yang lama untuk menemukan satu solusi.
Dalam AI, heuristic diperkenalkan sebagai suatu teknik yang meningkatkan efisiensi proses pencarian, yang dimungkinkan dengan mengorbankan kelengkapan.
Heuristic seperti pemandu perjalanan, yang baik untuk tujuan pokok mencari arah yang secara umum menarik, tetapi bisa jadi tidak baik jika mempertimbangkan ketertarikan tiap orang berbeda untuk tiap objek berbeda.
Menggunakan heuristic kita berharap mendapatkan solusi yang baik dari masalah yang sulit Satu contoh general-purpose heuristic yang baik yang berguna untuk banyak kombinasi masalah adalah nearest neighbor heuristic, yang bekerja dengan menyeleksi alternatif lokal terbaik pada tiap langkah.
Aplikasinya adalah dalam masalah Travelling Salesman, yang menggunakan beberapa prosedur berikut :
1.Pilih secara acak satu kota sebagai awal perjalanan.
2.Untuk memilih kota berikut, lihat semua kota yang belum dikunjungi dan pilih yang terdekat lalu kunjungi.
3.Ulangi langkah 2 sampai semua kota dikunjungi.
•Dapatkah masalah disederhanakan kedalam kelompok terpisah yang lebih kecil atau subprogram yang lebih mudah ?
•Dapatkah satu tahap penyelesaian solusi diabaikan atau setidaknya tidak dilakukan jika terbukti tidak layak ?
•Apakah ruang lingkup masalah dapat diprediksi ?
•Dapatkah dinyatakan sebuah solusi yang baik untuk penyelesaian masalah tanpa membandingkannya dengan solusi lain yang mungkin ?
•Solusi yang diinginkan adalah sebuah stata atau jalur menuju stata ?
•Apakah sejumlah pengatahuan mutlak diperlukan untuk menyelesaikan masalah atau pengetahuan hanya diperlukan untuk membatasi pencarian?
•Dapatkah komputer yang diberikan permasalahan langsung memberikan solusi atau pemecahan masalah memerlukan interaksi antara komputer dan manusia?
Dapat dilakukan :
Maju, bermula dari keadaan awal (start state)Mundur, diawali dari keadaan tujuan (goal state)
•Topologi proses search
Ada dua macam penggambaran problem, yaitu dalam bentuk :
1. Pohon (tree)
2. Graf (graph):Graf berarah dan Graf tidak berarah
1.Bentuk variabel dengan nama NODE-LIST dan jadikan sebagai initial state.
2.Sampai goal state ditemukan atau NODE-LIST kosong, lakukan :
a. ambil elemen pertama dari NODE-LIST, sebut E.jika NODE-LIST kosong, quit.
b. Untuk tiap cara dimana tiap aturan(fungsi) dapat cocok dengan stata di E, lakukan :
i. Gunakan aturan(fungsi) untuk menuju stata baru
ii. Jika stata baru adalah goal state, quit return stata ini
iii. Jika bukan, tambahkan stata baru di akhir NODE-LIST.
Kebaikan Breadth-First-Search :
•Breadth-First-Search tidak akan terjebak untuk menelusuri satu jalur tertentu saja
•Jika solusi memang ada, maka dijamin Breadth-First-Search akan menemukannya.
Keburukan Breadth-First-Search :
•Memerlukan memori lebih besar karena harus menyimpan semua simpul dari tree yang ditelusuri
•Harus menelusuri semua bagian tree pada level yang sama sebelum beralih ke level berikutnya.
1.Jika initial state adalah goal state, quit dan return success
2.Jika bukan, lakukan dibawah ini sampai dicapai sinyal success atau gagal
a.Tentukan successor, E dari initial state. Jika tidak ada lagisuccessor, maka sinyal gagal
b. Jalankan Depth-Fisrt-Search dengan E sebagai initial state
c. Jika success dihasilkan, sinyal success. Jika tidak makaulangi langkah 2
Menggunakan teknik breadth-first search
Node awal adalah awal dan tujuan adalah Goal, langkah-langkahnya:
1.Open := [Awal]; closed := []
2.Open:= [A,B]; closed:= [Awal]
3.Open:= [B,C,D]; closed:= [A,Awal]
4.Open:= [C,D,E,F]; closed:= [B,A,Awal]
5.Open:= [D,E,F,G,H]; closed:= [D,C,B,A,Awal]
6.Open:= [E,F,G,H,I]; closed:= [D,C,B,A,Awal]
7.Open:= [F,G,H,I,J]; closed:= [E,D,C,B,A,Awal]
8.Open:= [G,H,I,J,GOAL,L]; closed:= [F,E,D,C,B,A,Awal]
9.OPEN := [H,I,J,GOAL,L]; closed:= [G,F,E,D,C,B,A,Awal]
10.Open:= [I,J,GOAL,L]; closed:=[H,G,F,E,D,C,B,A,Awal]
11.Open:= [GOAL,L]; closed:=[I,J,H,G,F,E,D,C,B,A,Awal]
12.Open:= [L]; closed:=[GOAL,I,J,H,G,F,E,D,C,B,A,Awal]
Menggunakan teknik depth-first search
Node awal adalah awal dan tujuan adalah Goal, langkah-langkahnya:
1.Open := [Awal]; closed := []
2.Open := [A,B]; closed := [Awal]
3.Open := [C,D,B]; closed := [A,awal]
4.Open := [G,H,D,B]; closed := [C,A,awal]
5.Open := [H,D,B]; closed := [G,C,A,awal]
6.Open := [M,Goal,D,B]; closed := [G,C,A,awal]
7.Open := [Goal,D,B]; closed := [M,G,C,A,awal]
8.Open := [D,B]; closed := [Goal,M,G,C,A,awal]
Komentar
Posting Komentar