KECERDASAN BUATAN
Disusun Oleh :
Nama : NIM :
Efri Anugrahno
( DBC 117 046 )
Edy Pratamajaya ( DBC 117 043 )
Rosa Theresia ( DBC 117 093 )
Ananda Aji Ivan P. ( DBC 117 067 )
Maruli Valentino S. ( DBC 117 047 )
BAB I
LANDASAN TEORI
Pencarian Terbimbing (Heuristic Search)
Heuristic search 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, heuristik didefinisikan sebagai aturan untuk memilih cabang-cabang dalam
ruang keadaan yang paling tepat untuk mencapai solusi permasalahan yang dapat
diterima .
Pemecahan masalah AI menggunakan heuristik dalam dua situasi dasar
(Setiawan. S, 1993), yaitu :
1. Permasalahan yang mungkin tidak mempunyai solusi yang pasti disebabkan oleh
ambiguitas (keraguan/ketidakpastian) mendasar dalam pernyataan permasalahan atau
data yang tersedia, contohnya diagnosa kedokteran.
2. Permasalahan yang boleh jadi memiliki solusi pasti, tetapi biaya komputasinya
untuk mendapatkan solusi tersebut mungkin sangat tinggi. Dalam banyak problema
(misalnya saja catur), pertumbuhan state space adalah secara kombinatorial eksplosif
dengan bayak state yang mungkin meningkat secara eksponensial atau faktorial
dengan kedalaman pencarian. Dalam hal ini, exhaustive, yakni teknik pencarian brute
force seperti pencarian mendalam pertama dan pencarian meluas pertama mungkin
gagal menemukan solusi sehingga heuristik akan menangani kerumitan permasalahan
ini dengan panduan pencarian pada sepanjang lintasan yang memeberi harapan
melewati state. Dengan mengeliminasi state yang tidak memberi harapan dan
turunannya dari ruang tersebut maka algoritma heuristik dapat mengalahkan ledakan
kombinatorial dan menemukan penyelesaian yang dapat diterima.
Salah satu contoh dari heuristik yang baik untuk tujuan umum yang berguna
untuk beragam kombinasi permasalahan adalah the nearest neighbour heuristic, yang
bekerja dengan cara menyeleksi alternatif yang paling tinggi secara lokal pada setiap
langkahnya. Untuk permasalahan perjalanan salesman, prosedur-prosedur yang harus
dilakukan adalah sebagai berikut :
1. Memilih sebuah kota awal (starting cities)
2. Melihat kota berikutnya, kemudian melihat semua kota yang belum dikunjungi dan
memilih salah satu kota yang paling dekat dengan kota yang dipilih pada saat itu.
3. Ulangi langkah 2 sampai semua kota dikunjungi.
Sebuah fungsi heuristik mengevaluasi keadaan permasalahan tersendiri dan
menentukan bagaimana diperlukan fungsi ini dalam memecahkan suatu
permasalahan. Sebuah fungsi heuristik adalah sebuah fungsi yang memetakan
keadaan permasalahan, yang mendeskripsikan daya tarik dan digambarkan dalam
sebuah angka (Pearl, 1984).
Fungsi heuristik yang dirancang dengan baik dapat berperan dalam sebuah
bagian yang penting untuk memandu secara efisien proses pencarian menuju ke
sebuah solusi. Tabel 2.1 menunjukkan beberapa fungsi heuristik sederhana untuk
beberapa permasalahan.
Kadang kala sebuah nilai tinggi dari fungsi heuristik mengindikasikan sebuah
posisi yang baik secara relatif (terlihat pada catur dan tic tac toe), di lain waktu
sebuah nilai rendah mengindikasikan sebuah situasi yang menguntungkan (terlihat
pada perjalanan salesman). Program yang menggunakan nilai (value) dari fungsi
dapat mengusahakan minimal atau maksimal secara tepat.
Tujuan dari sebuah fungsi heuristik adalah untuk memandu proses pencarian
tujuan yang menguntungkan dengan menganjurkan jalur yang mana yang diikuti
pertama kali ketika tersedia lebih dari satu tujuan. Setelah proses berlangsung, akan
bisa dihitung sebuah fungsi heuristik yang sempurna dengan cara melakukan sebuah
pencarian yang lengkap dari simpul dalam pertanyaan dan menentukan apakah fungsi
ini menuju ke sebuah solusi yang baik.
Sayangnya, seperti semua kaidah penemuan lainnya, heuristik juga dapat salah.
Heuristik hanyalah panduan informasi untuk menebak langkah berikutnya yang harus
diambil dalam menyelesaikan suatu permasalahan, dan sering dilakukan berdasarkan
eksperimen/percobaan atau secara intuisi. Oleh karena menggunakan informasi yang
terbatas, heuristik jarang dapat memprediksi tingkah laku yang eksak dari ruang
keadaan saat dilakukan pencarian. Heuristik dapat membimbing algoritma pencarian
untuk mendapatkan solusi suboptimal atau gagal menemukan solusi apapun, karena
tidak ada solusi yang dapat menuju keadaan akhir.
Heuristik dan perancangan algoritma untuk mengimplementasikan pencarian
heuristik telah menjadi inti permasalahan penelitian AI. Game playing dan
pemecahan teorema (theorem solving) adalah dua aplikasi paling tua dari AI, kedua-
duanya memerlukan heuristik untuk memangkas ruang dari solusi yang mungkin.
BAB II
PEMBAHASAN
2.1 PEMBANGKITAN dan PENGUJIAN (Generate and Test)
Metode ini merupakan penggabungan antara Depth First Search dengan
pelacakan mundur (backtracking), yaitu bergerak kebelakang menuju pada suatu
keadaan awal.
Algoritma Generate and Test:
a) Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau
Contoh:
“Travelling Salesman Problem (TSP)” Seorang salesman ingin mengunjungi n
kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter
terpendek dimana setaip kota hanya boleh dikkunjungi tepat 1 kal i. Misalkan ada 4
kota dengan jarak antara tiap-tiap kota seperti gambar di bawah ini:
Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka
jadikan keadaan baru tersebut menjadi keadaan sekarang. – Jika keadaan baru
tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
Hill Climbing dibagi menjadi dua jenis yaitu Simple Hill Climbing (Hill
Climbing sederhana) dan Steepest-Ascent Hill Climbing (Hill Climbing dengan
memilih kemiringan yang paling tajam/ curam ).
1) Simple Hill Climbing
bekerja dengan cara memilih secara langsung new state yang memiliki
keadaan lebih baik dari pada keadaan sebelumnya tanpa memperhitungkan keadaan
lain yang lebih “curam”. Pada Simple Hill Climbing, ada 3 masalah yang mungkin:
a) Algoritma akan berhenti kalau mencapai nilai optimum local
dirinya.
b) Plateau : Keadaan semua tetangga sama dengan dirinya.
state:
c) Misalkan SUK adalah suatu state yang menjadi suksesor dari current state.
d) Untuk setiap operator yang bisa dilakukan terhadap current state, kerjakan :
f) Evaluasi new state. Jika merupakan goal state, jadikan ini sebagai solusi dan
keluar dari program. Jika bukan goal state, bandingkan dengan new state dengan
SUK. Jika new state lebih baik dari SUK maka ganti SUK dengan new state. Jika
new state tidak lebih baik dari SUK, tidak perlu diganti.
g) Jika SUK lebih baik dari current state maka ganti current state dengan SUK.
b. Curret node adalah simpul yang sedang dijalankan dalam algoritma pencarian
jalan terpendek.
c. Suksesor adalah simpul-simpul yang yang akan diperiksa setelah current node
e. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari
b) Ulangi sampai goal ditemukan atau sampai tidak ada di dalam OPEN.
Contoh:
Misalkan kita memiliki ruang pencarian seperti pada gambar dibawah. Node
M merupakan keadaan awal dan node T merupakan tujuannya. Biaya edge yang
menghubungkan node M dengan node A adalah biaya yang dikeluarkan untuk
bergerak dari kota M ke kota A. Nilai g diperoleh berdasarkan biaya edge minimal.
Sedangkan nilai h’ di node A merupakan hasil perkiraan terhadap biaya yang
diperlukan dari node A untuk sampai ke tujuan. h’(n) bernilai ~ jika sudah jelas tidak
ada hubungan antara node n dengan node tujuan (jalan buntu). Kita bisa mengurut
nilai untuk setiap node.
Algoritma yang menggunakan metode best-first search, yaitu:
a. Algoritma A*
A* adalah algoritma best-first search yang menggabungkan Uniform Cost
Search dan Greedy Best-First Search. Biaya yang diperhitungkan didapat dari biaya
sebenarnya ditambah dengan biaya perkiraan. Dalam notasi matematika dituliskan
sebagai f(n)= g(n) + h(n). Dengan perhitungan biaya seperti ini, algoritma A*
adalahcomplete dan optimal.
Contoh:
o Langkah 1: Arena
Berikut adalah contoh simple arena yang akan kita gunakan. Warna hijau
adalah starting point, warna merah adalah goal/end point, dan biru adalah
penghalang. Goal dari aplikasi ini adalah mencari rute dari titik hijau ke merah tanpa
melewati penghalang biru
o Langkah 2: Movement Cost / Biaya Pergerakan
Kita asumsikan setiap langkah dari hijau adalah legal baik vertikal, horizontal,
maupun diagonal dengan catatan tidak membentur tembok. Setiap langkah yang
diizinkan kita berikan nilai G dimana G adalah cost atau biaya dalam setiap langkah.
Dalam kasus ini kita akan berikan nilai 10 untuk setiap langkah vertikal maupun
horizontal, dan 14 untuk diagonal. Nilai 14 kita dapatkan dari perhitungan pitagoras
dimana 14,1421 = sqrt(sqr(10)+sqr(10)). Hasil data nilai G ini selanjutnya kita
gambarkan sbb :
Heuristic search 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.
DAFTAR PUSTAKA
FajarRizky :
http://rizkyfajar09.blogspot.com/2014/03/contoh-study-kasus-bfs-dan-algorithm.html
Diakses pada tanggal : 30 oktober 2019
PlayerDoc.Info :
https://docplayer.info/46109924-Metode-pencarian-pelacakan-dengan-heuristik.html
Diakses pada tanggal : 30 oktober 2019