METODE PENCARIAN DAN PELACAKAN
(IMAS YUNITA SARI 15114235, SITI MEDIANA F. 1A114368, WORO SARASWATI 1C114323)
(IMAS YUNITA SARI 15114235, SITI MEDIANA F. 1A114368, WORO SARASWATI 1C114323)
·
Hal penting dalam menentukan
keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.
· Pencarian = suatu proses mencari
solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan
(state space).
·
Ruang keadaan = merupakan suatu
ruang yang berisi semua keadaan yang mungkin.
·
Untuk mengukur perfomansi metode
pencarian, terdapat 4 kriteria yang dapat digunakan :
1.
Completeness : apakah metode
tersebut menjamin penemuan solusi jika solusinya memang ada?
2.
Time complexity : berapa lama
waktu yang diperlukan? [semakin cepat, semakin baik]
3.
Space complexity : berapa banyak
memori yang diperlukan
4.
Optimality : apakah metode
tersebut menjamin menemukan solusi yang terbaik jika terdapat beberapa solusi
berbeda?
Dua teknik pencarian dan pelacakan
– Pencarian buta (blind search)
Blind
Searching adalah model pencarian buta atau pencarian yang tidak
memiliki inforamasi awal, model pencarian ini memiliki tiga ciri – ciri utama
yaitu:
-
Membangkitkan simpul berdasarkan urutan
- Kalau
ada solusi maka solusi akan ditemukan
- Hanya memiliki informasi tentang node yang telah
dibuka (node selanjutnya tidak diketahui).
Blind
Searching sendiri dibagi menjadi dua macam yaitu :
• Pencarian
melebar pertama (Breadth – First Search)
Breadth
First Search yaitu model pencarian yang memakai metode melebar. Untuk
mencari hasilnya, model BFS ini menggunakan teknik pencarian persoalannya
dengan cara membuka node (titik) pada tiap levelnya.
Lebih jelasnya dapat dilihat pada gambar dibawah ini :
·
Semua node pada level n akan
dikunjungi terlebih dahulu sebelum level n+1
·
Mulai dari akar terus ke level 1 dari
kiri ke kanan
·
Kemudian ke level selanjutnya hingga solusi ditemukan
Keuntungan :
– Tidak akan
menemui jalan buntu
– Menjamin
ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti
yang paling baik
– Jika ada
satu solusi maka bread-first search akan menemukannya
Kelemahannya :
– Membutuhkan
memori yang cukup banyak
– Membutuhkan
waktu yang cukup lama
• Pencarian
mendalam pertama (Depth – First Search)
DFS (Depth-first
Search) sering disebut juga pencarian mendalam. Sesuai
dengan namanya “pencarian mendalam”, DFS tidak mencari solusi per level, namun
mencari pada kedalaman sebelah kiri terlebih dahulu, kemudian bila belum
ditemuakn “goal”nya dilanjutkan ke sisi sebelah kanan dan seterusnya sampai
ditemukan target/goal.
Dengan
menggunakan permasalahan yang sama dengan penjelasan di awal tadi, maka pada
model DFS akan di dapatkan solusi seperti gambar di bawah ini :
Keuntungan :
– Memori
yang relatif kecil
– Secara
kebetulan, akan menemukan solusi tanpa harus menguji lebih banyak lagi
– Pencarian terbimbing (heuristic search)
Heuristic Search merupakan metode
pencarian yang memperhatikan nilai heuristik (nilai perkiraan).
Teknik pencarian heuristik (heuristic
searching) merupakan suatu strategi untuk melakukan proses pencarian ruang
keadaan (state space) suatu problema secara selektif, yang memandu
proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan
sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan
waktu.
Heuristik adalah sebuah teknik yang mengembangkan
efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan
kelengkapan (completeness).
Heuristic Search memperkirakan jarak menuju Goal (yang disebut dengan fungsi
heuristik).
Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Jenis-jenis Heuristic Searching :
·
Generate and Test
·
Hill Climbing
·
Best First Search
·
Alpha Beta Prunning
·
Means-End-Anlysis
·
Constraint Satisfaction
Kali
ini yang akan dibahas adalah metode Generate and Test, Hill
Climbing dan Best First Search. Karena ketiga metode
tersebut adalah metode Heursistic Searching yang paling sering
digunakan dan paling optimal hasilnya.
• Pendakian
Bukit (Hill Climbing)
Hill Climbing (mendaki bukit) merupakan salah satu variasi metode buat dan uji (generate
and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk
memutuskan arah gerak dalam ruang pencarian (search).
Dalam prosedur buat dan uji yang
murni, respon fungsi uji hanyalah ya atau tidak. Dalam prosedurHill Climbing,
fungsi uji dikombinasikan dengan fungsi heuristik yang menyediakan pengukuran
kedekatan suatu keadaan yang diberikan dengan tujuan (goal).
Prosedur Hill Climbing :
Prosedur Hill Climbing :
1. Buatlah solusi usulan pertama dengan cara yang sama seperti yang dilakukan
dalam prosedur buat dan uji (generate and test). Periksalah apakah solusi
usulan itu merupakan sebuah solusi. Jika ya, berhentilah. Jika tidak, kita
lanjutkan ke langkah berikutnya.
2. Dari solusi ini, terapkan sejumlah aturan yang dapat diterapkan untuk
membuat sekumpulan solusi usulan yang baru.
3. Untuk setiap elemen kumpulan solusi tersebut, lakukanlah hal-hal berikut
ini :
1. Kirimkanlah elemen ini ke fungsi uji. Jika elemen ini merupakan sebuah
solusi, berhentilah.
2. Jika tidak, periksalah apakah elemen ini merupakan yang terdekat dengan
solusi yang telah diuji sejauh ini. Jika tidak, buanglah.
3. Ambilah elemen terbaik yang ditemukan di atas dan pakailah sebagai solusi
usulan berikutnya. Langkah ini bersesuaian dengan langkah dalam ruang problema
dengan arah yang muncul sebagai yang tercepat dalam mencapai tujuan.
4. Kembalilah ke langkah 2.
Masalah-masalah
yang mungkin timbul pada prosedur Hill Climbing :
-
Maksimum lokal adalah suatu keadaan
yang lebih baik daripada semua tetangganya namun masih belum lebih baik dari
suatu keadaan lain yang jauh letaknya darinya.
-
Daratan (Plateau) adalah suatu
daerah datar dari ruang pencarian (search) dimana semua himpunan keadaan
tetangganya memiliki nilai yang sama.
-
Punggung (Ridge) adalah suatu daerah
ruang pencarian (search) yang lebih tinggi daripada daerah sekitarnya, namun
tidak dapat dibalikkan oleh langkah–langkah tunggal ke arah manapun.
Solusinya:
-
Melakukan langkah balik
(backtracking) ke simpul yang lebih awal dan mencoba bergerak ke arah yang
lain.
-
Melakukan lompatan besar ke suatu
arah untuk mencoba bagian ruang pencarian yang baru.
-
Menerapkan dua atau lebih aturan
sebelum melakukan uji coba. Ini bersesuaian dengan bergerak ke beberapa arah
sekaligus.
• Pencarian
Terbaik Pertama (Best First Search)
Pencarian terbaik pertama (Best
First Search) merupakan suatu cara yang menggabungkan keuntungan atau
kelebihan dari pencarian Breadth-First Search dan Depth-First
Search. Pada setiap langkah proses pencarian terbaik pertama, kita memilih
node-node dengan menerapkan fungsi heuristik yang memadai pada setiap
node/simpul yang kita pilih dengan menggunakan aturan-aturan tertentu untuk
menghasilkan penggantinya.
Fungsi Heuristik yang digunakan
merupakan prakiraan (estimasi) cost dari initial state ke goal
state, yang dinyatakan dengan :
f’ = g + h’
dimana
f’ = prakiraan cost dari initial ke
goal
g = cost dari initial state ke
current state
h’ = prakiraan cost dari current
state ke goal state
Terdapat dua jenis algoritma Best First Search,
yaitu:
- Greddy Best yang hanya
memperhitungkan biaya perkiraan saja.
- A* yang
memperhitungkan gabungan dua biaya, biaya sebenarnya dan biaya perkiraan.
1. Greddy Best
1. Greddy Best
Greedy Best First Search hanya memperhitungkan biaya perkiraan (estimated cost) saja,
yakni:
f(n) = h(n)
Dimana : h(n)= perkiraan biaya dari simpul n ke goal.
Biaya yang sebenarnya (actual cost)
tidak diperhitungkan. Dengan hanya memperhitungkan biaya perkiraan yang belum
tentu kebenarannya maka algoritma ini menjadi tidak optimal.
Algoritma greddy best ini membentuk solusi langkah per langkah (step by step). Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.
Algoritma greddy best ini membentuk solusi langkah per langkah (step by step). Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.
2. A*
Algoritma ini merupakan
algoritma Best First Search yang menggabungkan Uniform
Cost Search danGreddy Best First Search.
Algoritma ini memperhitungkan biaya dari biaya
sebenarnya ditambah dengan biaya perkiraan.
Dalam notasi matematika dituliskan sebagai:
Dalam notasi matematika dituliskan sebagai:
f(n) = g(n) + h(n)
dimana :
g(n) = biaya sebenarnya untuk mencapai simpul n
h(n) = perkiraan biaya dari simpul n ke goal.
f(n) = perkiraan total biaya jalur yang melalui simpul
n ke goal.
Dengan perhitungan biaya seperti ini, algoritma A* adalah complete dan optimal.
REFERENSI
:
Pengantar
Inteligensia Buatan – Heuristic Searching (Anonymous Writer)
http://najibzot.blogspot.co.id/p/teknik-searching-kecerdasan-buatan-di.htmlMATA KULIAH : PENGANTAR TEKNOLOGI SISTEM CERDAS #