Vous êtes sur la page 1sur 12

LAPORAN PRAKTIKUM KECERDASAN BUATAN:

A* DAN GREEDY BEST-FIRST SEARCH

Asisten : Bratasena Anggabayu Bhirawa Yu


Jahrotus Solikha
Narandha Arya Ranggianto
Nama : Anis Fitrianingsih
NIM : 172410101012

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS ILMU KOMPUTER
UNIVERSITAS JEMBER
2018
1. Tujuan
Tujuan yang ingin dicapai pada prakikum ini yaitu :
1) Mampu memahami metode pencarian heuristik
2) Memahami cara penyelesaian sebuah persoalan dengan metode Best First
Search
3) Mampu memahami algotitma Best First Search

2. Dasar Teori
2.1 Metode Pencarian Heuristic
Heuristic adalah suatu istilah yang berasal dari bahasa Yunani yang berarti
menemukan/menyingkap. Heuristik adalah suatu perbuatan yang membantu
kita menemukan jalan dalam pohon pelacakan yang menuntut kita kepada
suatu solusi masalah. Heuristik dapat diartikan juga sebagai suatu kaidah
yang merupakan metoda/prosedur yang didasarkan kepada pengalaman dan
praktek, syarat, trik atau bantuan lainnya yang membantu mempersempit dan
memfokuskan proses pelacakan kepada suatu tujuan tertentu.
George Poyla (dalam Kristanto. A, 2003) mendefinisikan heuristik sebagai
”studi tentang sebuah metode dan aturan discovery serta invention” dalam
pencarian state space, heuristic didefinisikan sebagai aturan untuk memilih
cabang-cabang dalam ruang keadaan yang paling tepat untuk mencapai solusi
permasalahan yang dapat diterima .
Heuristic Search merupakan metode pencarian yang memperhatikan nilai
heuristic (nilai perkiraan). Teknik pencarian heuristic (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.
2.2 Metode Pencarian Best First Search
Best-First Search merupakan sebuah metode yang membangkitkan simpul
dari simpul sebelumnya. Best-first search memilih simpul baru yang memiliki
biaya terkecil diantara semua leaf nodes (simpul-simpul pada level terdalam)
yang pernah dibangkitkan. Penentuan simpul terbaik dilakukan dengan
menggunakan sebuah fungsi yang disebut fungsi evaluasi f(n). fungsi evaluasi
best-first search dapat berupa biaya perkiraan dari suatu simpul menuju ke
goal atau gabungan antara biaya sebenarnya dan biaya perkiraan tersebut.
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 heuristic merupakan suatu strategi
untuk melakukan proses pencarian ruang keadaan suatu problema secara
selektif, yang memandu proses pencarian yang kita lakukan sepanjang jalur
yang memiliki kemungkinan sukses paling besar.
Best First Search (BFS) 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’(n) = g(n) + h’(n)

f’ = prakiraan cost dari initial ke goal


g = cost dari initial state ke current state
h’ = prakiraan cost dari current state ke goal state
Ada beberapa istilah yang sering digunakan pada metode best first
search, yaitu:
1. Start node adalah sebuah terminology untuk posisi awal sebuah pencarian
2. Curret node adalah simpul yang sedang dijalankan dalam algoritma
pencarian jalan terpendek
3. Suksesor adalah simpul-simpul yang yang akan diperiksa setelah current
node
4. Simpul (node) merupakan representasi dari area pencarian
5. Open list adalah tempat menyimpan data simpul yang mungkin diakses
dari starting node maupun simpul yang sedang dijalankan
6. Closed list adalah tempat menyimpan data simpul yang juga merupakan
bagian dari jalur terpendek yang telah berhasil didapatkan
7. Goal node yaitu simpul tujuan
8. Parent adalah curret node dari suksesor.
2.3 Algoritma Best First Search
Algoritma best first search ini merupakan kombinasi dari algoritma depth
first search dengan algoritma breadth first search dengan mengambil
kelebihan dari kedua algoritma tersebut. Apabila pada pencarian dengan
algoritma hill climbing tidak diperbolehkan untuk kembali ke node pada
level yang lebih rendah meskipun node di level yang lebih rendah tersebut
memiliki nilai heuristik yang lebih baik, lain halnya pada algoritma best first
search, pencarian diperbolehkan mengunjungi node yang ada di level yang
lebih rendah, jika ternyata node di level yang lebih tinggi memiliki nilai
heuristik yang lebih buruk.
Algoritma best first search merupakan salah satu bagian dari tipe informed
search. Algoritma ini menggunakan nilai-nilai heuristik tiap simpul yang
dibuka. Simpul dengan nilai heuristik terbaik akan dibuka lebih dahulu. Bila
goal state belum ditemukan, akan dilakukan pemeriksaan pada simpul
berikutnya dengan nilai heuristik terbaik pada kedalaman yang sama. Simpul
tersebut kemudian dibuka dan diperiksa apakah terdapat goal state pada
cabang-cabangnya. Bila goal state belum ditemukan, akan dilakukan proses
yang sama pada simpul berikutnya.
Untuk mengimplementasikan algoritma pencarian ini, diperlukan dua buah
senarai, yaitu: OPEN untuk mengelola node-node yang pernah dibangkitkan
tetapi belum dievaluasi dan CLOSE untuk mengelola node-node yang pernah
dibangkitkan dan sudah dievaluasi. Algoritma selengkapnya adalah sebagai
berikut :
1. OPEN berisi initial state dan CLOSED masih kosong.
2. Ulangi sampai goal ditemukan atau sampai tidak ada di dalam OPEN.
a. Ambil simpul terbaik yang ada di OPEN.
b. Jika simpul tersebut sama dengan goal, maka sukses
c. Jika tidak, masukkan simpul tersebut ke dalam CLOSED
d. Bangkitkan semua aksesor dari simpul tersebut
e. Untuk setiap suksesor kerjakan.
Algoritma yang menggunakan metode best-first search, yaitu:
a) Greedy Best-First
Greedy Best-First adalah algoritma best-first yang paling
sederhana dengan hanya memperhitungkan biaya perkiraan (estimated
cost) saja, yakni f(n) = h(n). Biaya yang sebenarnya (actual cost) tidak
diperhitungkan. Dengan hanya memperhitungkan biaya perkiraan yang
belum tentu kebenarannya, maka algoritma ini menjadi tidak optimal.
b) A*
Algoritma A* merupakan algoritma best first search dengan
modifikasian fungsi heuristik, yang akan meminimumkan total biaya
lintasan, dan pada kondisi yang tepat akan memberikan solusi yang
terbaik dalam waktu yang optimal.
Algoritma A juga membutuhkan dua antrian, yaitu OPEN dan
CLOSED. Selain itu, ada juga fungsi heuristik yang memprediksi
keuntungan tiap node yang di buat. Yang akan memungkinkan algoritma
untuk melakukan pencarian-pencarian lintasan yang lebih di harapkan.
Fungsi ini di sebut f’(n) sebagai pendekatan dari fungsi f(n) yang
merupakan fungsi evaluasi yang sebenarnya terhadap node n. dalam
banyak penarapan, akan lebih baik jika fungsi di definisikan sebagai
kombinasi atau jumlah dua komponen yaitu g(n) dan h(n). Fungsi g(n)
merupakan ukuran biaya yang di keluarkan dari keadaan awal sampai ke
node n. Nilai yang didapat g(n) merupakan jumlahan biaya penerapan
setiap aturan yang dilakukan pada sepanjang lintasan terbaik menuju suatu
simpul dan bukan merupakan hasil estimasi.
Fungsi h(n) merupakan pengukur biaya tambahan yang harus
dikeluarkan dari node n sampai mendapatkan tujuan. Perlu diketahui
bahwa g(n), tidak negatif karena bila negatif maka lintasan yang membalik
siklus pada graf akan tampak lebih baik dengan semakin panjangnya
lintasan.
3. Langkah Kerja

Best First Search merupakan pencarian rute dengan memperhatikan


kemungkinan rute yang paling baik pertama, dimana pencarian ini menitik
beratkan pada biaya minimal yang dikeluarkan dan rute yang ditempuh dari
start node hingga goal node. Adapun langkah-langkah yang harus ditempuh
berdasar gambar 2.1 untuk sampai pada tujuan (Y) yaitu :
1. Bangkitkan node X sebagai start node
2. Bangkitkan semua successor X (A, B, C)
3. Hitung harga dari successor tersebut
4. Temukan satu node dengan harga paling rendah. Node B terpilih
karena memiliki harga yan paling rendah ( B = 8; A = 9; C = 10)
5. Bangkitkan semua successor B
6. Hitung harga dari successor tersebut, bandingkan pula dengan node A
dan C sebagai node open yang belum dievaluasi
7. Pilih node yang paling minimal harganya
8. Ulangi langkah 3 – 5 sampai goal node
4. Hasil dan Pembahasan
Berdasarkan pada Gambar 2.1 Pohon Pencarian, rute yang harus ditempuh
dari start node hingga goal node harus memperhatikan harga dan jarak
terpendek dari sebuah rute. Adapun langkah awal yang harus dilakukan yaitu
menentukan satu node sebagai start node dimana harga titik masih 0. Dalam
gambar 2.1 titik X dapat ditetapkan sebagai start node. Berikut langkah-
langkah aliran rute yang harus dilakukan untuk sampai pada goal node
berdasar gambar 2.1 :
Jadi setelah membangkitkan node X sebagai start node langkah
selanjutnyayaitu membangkitkan semua successor node X yaitu node A, B
dan C. Selanjutnya hitung harga masing-masing node tersebut untuk
menemukan node dengan harga paling rendah untuk dibangkitkan
selanjutnya. Hitung harga node X hingga node n dengan rumus :

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

Hasil hitung :
 A  f’(n) = 5 + 4 = 9
 B  f’(n) = 3 + 5 = 8
 C  f’(n) = 4 + 6 = 10
Dari hasil hitung tersebut dapat diketahui bahwa node B memiliki harga
terendah, sehingga langkah selanjutnya adalah bangkitkan semua successor
node B dan bandingkan harga masing-masing node tersebut dengan node A
dan C.
Hasil hitung :
 F  f’(n) = 8 + 4 = 12
 G f’(n)= 5 + 2 = 7
Berdasar hasil hitung tersebut dapat diketahui bahwa node G adalah node
dengan harga terendah sehingga langkah selanjutnya yaitu membangkitkan
semua successor node G dan membandingkannya dengan node A, C, dan F.
Hasil hitung :
 Y f’(n) = 5 + 0 = 5
Berdasarkan hasil hitung dapat diketahui bahwa node Y memiliki h’(n) = 0.
Ketika h’(n) bernilai 0, maka ada dua kemungkinan terhadap node tersebut
yaitu :
1. Node tersebut merupakan goal
2. Node tersebut tidak memiliki garis hubung menuju node tujuan
Berdasar pada gambar 2.1 maka Y mrupakan goal sehingga rute Best First
Search yaitu X B G Y .
Namun ada beberapa hal yang perlu diperhatikan untuk keseluruhan total
harga yang dikeluarkan dari start node hingga goal node. Perhatikan tabel
berikut :

Tabel Status masing- masing node


Node g(n) h’(n) f’(n) Node g(n) h’(n) f’(n)
X 0 6 6 F 8 4 12
A 5 4 9 G 5 2 7
B 3 5 8 H 5 1 6
C 4 6 10 I 13 0 13
D 7 0 7 J 12 0 12
E 8 2 10 K 8 0 8

Berikut rute-rute yang mungkin dilewati dari start node hingga goal node
berdasar gambar 2.1 :
1. X > A > E > Y
2. X > B > F > Y
3. X > B > G > Y
4. X > C > H > Y
Dari rute-rute tersebut masing-masing memiliki harga yang yang berbeda-
beda yaitu :
1. X > A > E > Y
6 + 9 + 10 + 15 = 45
2. X > B > F > Y
6 + 8 + 12 + 10 = 36
3. X > B > G > Y
6 + 8 + 7 + 11 = 32
4. X > C > H > Y
6 + 10 + 6 + 7 = 29
Berdasar harga rute diatas dapat disimpulkan bahwa harga terendah untuk
menumpuk start node X dan goal node Y jalur X > C > H > Y lebih rendah
daripada harga rute X > B > G > Y (sesuai hasil langkah pertama). Hal ini
sangat mungkin terjadi dalam pencarian Best First Search karena pada
evaluasi successor node X diperoleh harga terendah adalah node B bukan C,
sementara evaluasi selanjutnya tidak pernah ada keadaan dimana successor C
dibangkitkan untuk dievaluasi sehingga dengan cara tersebut tidak diketahui
bahwa successor C memiliki nilai yang lebih rendah dibanding yang
lain.Selainituapabilarutepenyelesaianmemilihrute C hanyaadasatujalanmenuju
goal node, apabilaitutidakmenemukanrutepenyelesaiantidakada alternative
lain untukke goal node.

5. Kesimpulan
Berdasarlan uraian pembahasan pada bab sebelumnya dapat ditarik
kesimpulan bahwa :
1. Heuristic Search merupakan metode pencarian yang memperhatikan nilai
heuristic (nilai perkiraan). Teknik pencarian heuristic (heuristic searching)
merupakan suatu strategi untuk melakukan proses pencarian ruang
keadaan (state space) suatu problema secara selektif
2. Best First Search merupakan langkah proses pencarian terbaik pertama,
dengan memilih node-node yang menerapkan fungsi heuristik yang
memadai pada setiap node/simpul yang kita pilih dengan menggunakan
aturan-aturan tertentu untuk menghasilkan penggantinya
3. Algoritma best first search ini merupakan algoritma yang menggunakan
nilai- nilai heuristik tiap simpul yang dibuka.
6. Daftar Pustaka
Pertiwi, N., E. H. D. Lubis., dan L. Taufik. 2006. Penerapan Algoritma BFS,
DFS, DLS dan IDS dalam Pencarian Solusi. Water Jug Problem. 3(4) :
1-5.

Masruroh, U. 2014. Metode Best First Search Untuk Pencarian Kata Pada
Game Susun Bahasa Arap Berbasis Android Mobile. Skripsi. Malang :
Jurusan Teknik Informatika Universitas Islam Negeri Maulana Malik
Ibrahim

Vous aimerez peut-être aussi