Anda di halaman 1dari 7

Nama : Miftahhul Hudaiza Asmara Lubis

NIM : 22346036

TEKNIK SEARCHING DALAM AI

Searching di dalam AI (Artificial Intelligence) adalah salah satu metode untuk mencari solusi
pada masalah yang dihadapi.
Teknik searching sendiri terbagi menjadi dua, yaitu:
1. Blind searching
2. Heuristic searching
1. Blind Searching
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 tiga macam yaitu :

1.1. BFS (Breadth First Search)


Breadth First Search yaitu jenis pencarian yang menggunakan pendekatan melebar. Dalam
model BFS ini, solusi dicari dengan membuka node pada setiap levelnya.
Lebih jelasnya dapat dilihat pada gambar dibawah ini :

Dalam persoalan pada gambar di atas, urutan node yang dilalui pada pencaian BFS adalah a, b, c,
d, e, f, g, h. Seperti pada gambar di bawah ini.
1.2. DFS (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.

Jadi, solusi node yang di lalui pada DFS adalah a,b,e,h.

DFS memiliki beberapa keuntungan,yaitu memori yang di gunakan tidak terlalu banyak karena
tidak membuka semua node.

1.3. UCS (Uniform Cost Search)


UCS (Uniform Sost Search) adalah perpaduan antara BFS dan DFS. Pada UCS, teknik
pencariannya memperhatikan cost/jarak antara 1 node ke node lain.
Berikut ini adalah ilustrasinya :
Pada permasalahan diatas telah ditentukan jarak antara node. Maka pada model UCS, teknik
yang akan dilakukan adalah membuka node yang memiliki nilai/cost antar node yang terendah.

pada gambar diatas jika kita buka :

c = 10

b = 20

a = 10

Karena nilai c dan a sama maka teserah mau membuka yang mana lebih dahulu.

Seandainya kita membuka c maka kita teruskan pencariannya, lalu kita buka :

d = 10+5 =15

e = 10+40 = 50 (mencapai goal, namun nilai cost nya dirasa masih terlalu besar)

Maka kita buka node d, lalu akan diperoleh hasil :

e = 10+5+30 = 45 (nilai pada pencarian ini pun terasa masih terlau besar) maka dari itu kita buka
node yang kecil di awal tadi yaitu node a.

Setelah kita buka node a, maka akan di dapat hasil :

e = 10 + 20 = 30 (di dapatkan goal dengan solusi terbaik)

Dari kasus diatas, dapat kita lihat bahwa ada banyak cara unuk mendapatkan solusi. Namun dari
berbagai macam penyelesaian kasus, kita dapat mencari solusi yang paling optimal dan ini lah ke
unggulan dari model UCS.
2. Heuristic Searching
Heuristic Search merupakan metode pencarian yang memperhatikan nilai heuristik (nilai
perkiraan).
Teknik pencarian heuristik (heuristic searching) merupakan strategi untuk melakukan proses
pencarian ruang keadaan (state space) suatu permasalahan 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). 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.

2.1. Generate and Test


Strategi bangkitkan dan uji (generate and test) merupakan pendekatan yang paling sederhana dari
semua pendekatan yang akan dibicarakan.

Pendekatan ini meliputi langkah–langkah sebagai berikut :

1. Buatlah/bangkitkan sebuah solusi yang memungkinkan. Untuk sebuah


problema hal ini dapat berarti pembuatan sebuah titik khusus dalam ruang
problema.
2. Lakukan pengujian untuk melihat apakah solusi yang dibuat benar–benar
merupakan sebuah solusi, dengan cara membandingkan titik khusus tersebut
dengan goal-nya (solusi).
3. Jika telah diperoleh sebuah solusi, langkah – langkah tersebut dapat
dihentikan. Jika belum, kembalilah ke langkah pertama.
Jika pembangkitan atau pembuatan solusi – solusi yang dimungkinkan dapat dilakukan secara
sistematis, maka prosedur ini akan dapat segera menemukan solusinya (bila ada). Namun, jika
ruang problema sangat besar, maka proses ini akan membutuhkan waktu yang lama.

Metode generate and test ini memang kurang efisien untuk masalah yang besar atau kompleks.

2.2. 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
prosedur Hill Climbing, fungsi uji dikombinasikan dengan fungsi heuristik yang menyediakan
pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).
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.

2.3. Best First Search


Pencarian terbaik pertama (Best First Search) merupakan metode pencarian yang
menggabungkan keuntungan dari pencarian Breadth-First Search dan Depth-First Search. Dalam
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

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
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.
2. A*
Algoritma ini merupakan algoritma Best First Search yang menggabungkan Uniform Cost
Search dan Greddy Best First Search.
Algoritma ini memperhitungkan biaya dari biaya sebenarnya ditambah dengan biaya perkiraan.

Dalam notasi matematika dituliskan sebagai:

f(n) = g(n) + h(n)


 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.

Anda mungkin juga menyukai