Penyelesaian Masalah melalui proses Pencarian / Searching
Penyelesaian Masalah melalui proses Pencarian / Searching
2.1. Agen pemecah permasalahan
Dalam menentukan teknik penyelesaian terbaik dalam AI memang tidak mudah, untuk itu ada beberapa teknik penyelesaian masalah yang perlu kita pahami, antara lain:
Dalam menentukan teknik penyelesaian terbaik dalam AI memang tidak mudah, untuk itu ada beberapa teknik penyelesaian masalah yang perlu kita pahami, antara lain:
1. Searching
Teknik penyelesaian masalah yang
mempresentasikan masalah kedalam ruang keadaan (state) dan secara sistematis
melakukan pembangkitan dan pengujian state-state dari initial state sampai
ditemukan suatu goal state.
2. Reasoning
Teknik penyelesaian masalah yang
mempresentasikan masalah kedalam logic (Mathematical Tools yang digunakan untuk
merepresentasikan dan memanipulasi fakta dan aturan).
3. Planning
Memecah masalah dalam sub-sub
masalah yang lebih kecil, menyelesaikan sub-sub masalah satu demi satu,
kemudian menggabungkan solusi-solusi dari sub masalah tersebut menjadi sebuah
solusi lengkap.
4. Learning
Program komputer yang secara
otomatis sanggup belajar dan meningkatkan performancenya melalui
pengalaman
2.2. Pencarian sebagai solusi pemecahan masalah
Searching adalah mekanisme
pemecahan masalah yang paling umum di dalam kecerdasan buatan. Di dalam
permasalahan-permasalahan kecerdasan buatan, urutan langkah-langkah yang
dibutuhkan untuk memperoleh solusi merupakan suatu isu yang penting untuk
diformulasikan. Hal ini harus dilakukan dengan mengidentifikasikan proses try and error secara sistematis pada eksplorasi
setiap alternatif jalur yang ada.
Algoritma searching di dalam kecerdasan buatan
yang umumnya dikenal adalah
1.
Uninformed Search Algorithm
Algoritma yang tidak memberikan informasi
tentang permasalahan yang ada, hanya sebatas definisi dari algoritma tersebut.
2.
Informed Search Algorithm
Walaupun dengan menggunakan Uninformed Search
Algorithm, banyak permasalahan dapat dipecahkan, namun tidak semuanya dari
algoritma tersebut dapat menyelesaikan masalah dengan efisien.
2.3.Strategi
Pencarian yang tidak berbentuk / uniformed search strategi : breadth-first
search, uniform-cost search, depth-first search, depth-limited search,
iterative deepening depth-first search, bidirectional search
Uninformed Search Algorithm
Uninformed Search sering disebut juga dengan
Blind Search. Istilah tersebut menggambarkan bahwa teknik pencarian ini tidak
memiliki informasi tambahan mengenai kondisi diluar dari yang disediakan oleh
definisi masalah. Yang dilakukan oleh algoritma ini adalah melakukan generate
dari successor dan membedakan goal state dari non-goal state. Pencarian
dilakukan berdasarkan pada urutan mana saja node yang hendak di-expand.
1.
Breadth First Search (BFS)
Pencarian dengan Breadth
First Search menggunakan teknik dimana langkah pertamanya adalah root node
diekspansi, setelah itu dilanjutkan semua successor dari root node juga
di-expand. Hal ini terus dilakukan berulang-ulang hingga leaf (node pada level
paling bawah yang sudah tidak mempunyai successor lagi).
Gambar 1 Penelusuran Ekspansi Node pada Breadth First Search
2.
Uniform Cost Search (UCS)
Pencarian dengan Breadth First Search akan
menjadi optimal ketika nilai pada semua path adalah sama. Dengan sedikit
perluasan, dapat ditemukan sebuah algoritma yang optimal dengan melihat kepada
nilai tiap path di antara node-node yang ada.
Selain menjalankan fungsi algoritma BFS,
Uniform Cost Search melakukan ekspansi node dengan nilai path yang paling
kecil. Hal ini bisa dilakukan dengan membuat antrian pada successor yang ada
berdasar kepada nilai path-nya (node disimpan dalam bentuk priority queue).
3.
Depth First Search (DFS)
Teknik pencarian dengan Depth
First Search adalah dengan melakukan ekspansi menuju node yang paling dalam
pada tree. Node paling dalam dicirikan dengan tidak adanya successor dari node
itu. Setelah node itu selesai diekspansi, maka node tersebut akan ditinggalkan,
dan dilakukan ke node paling dalam lainnya yang masih memiliki successor yang
belum diekspansi.
Gambar 2 Penelusuran Ekspansi Node pada Depth First Search
4.
Depth Limited Search
Pencarian menggunakan DFS akan berlanjut terus
sampai kedalaman paling terakhir dari tree. Permasalahan yang muncul pada DFS adalah
ketika proses pencarian tersebut menemui infinite state space. Hal ini bisa
diatasi dengan menginisiasikan batas depth pada level tertentu semenjak awal
pencarian. Sehingga node pada level depth tersebut akan diperlakukan
seolah-olah mereka tidak memiliki successor.
5.
Iterative Deepening Depth
First Search
Iterative deepening search merupakan sebuah
strategi umum yang biasanya dikombinasikan dengan depth first tree search, yang
akan menemukan berapa depth limit terbaik untuk digunakan. Hal ini dilakukan
dengan secara menambah limit secara bertahap, mulai dari 0,1, 2, dan seterusnya
sampai goal sudah ditemukan.
6. Bidirectional Search
Pencarian dengan metode bidirectional search
adalah dengan menjalankan dua pencarian secara simultan, yang satu dikerjakan
secara forward dari initial state menuju ke goal, sedangkan yang satu lagi
dikerjakan secara backward mulai dari goal ke initial state. Yang kemudian
diharapkan bahwa kedua pencarian itu akan bertemu di tengah-tengah.
Informed Search Algorithm
Informed Search sering disebut juga dengan
Heuristic Search. Pencarian dengan algoritma ini menggunakan knowledge yang
spesifik kepada permasalahan yang dihadapi disamping dari definisi masalahnya
itu sendiri. Metode ini mampu menemukan solusi secara lebih efisien daripada
yang bisa dilakukan pada metode uninformed strategy.
1.
Greedy Best First Search
Metode pencarian ini melakukan ekspansi node
yang memiliki jarak terdekat dengan goal. Namun, ekspansi yang dilakukan pada
metode ini menggunakan evaluasi node hanya dengan melihat kepada fungsi
heuristiknya. Dengan kata lain, yang dibandingkan untuk penentuan ekspansi node
adalah nilai estimasi/prediksinya saja.
f(n) = h(n)
2.
A* Search
Bentuk dari Best First Search yang paling
dikenal adalah algoritma pencarian A* (dibaca dengan “A-star”). Sedikit berbeda
dengan Greedy yang hanya melihat kepada nilai h(n), pencarian dengan A* melihat
kepada kombinasi nilai dari pathnya yaitu g(n) dengan nilai estimasi yaitu
h(n).
f(n) = g(n) + h(n)
Uninformed and Informed Search
Exercise
Gambar 3 Uninformed dan Informed Search Problem
Apabila diberikan kondisi tree seperti gambar
di atas, dimana biaya lintasan (path), dan nilai prediksi/estimasi diberikan,
maka kita dapat melakukan simulasi proses ekspansi node untuk algoritma Uniform
Cost Search, Greedy Best First Search, dan A* Search.
Daftar Pustaka :
http://socs.binus.ac.id/2013/04/23/uninformed-search-dan-informed-search/



Komentar
Posting Komentar