Anda di halaman 1dari 11

Makalah Kecerdasan Buatan

Metode Pencarian dalam Artificial Intelligence

Asif Maulana 41514310019

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER

UNIVERSITAS MERCU BUANA

2018
BAB I
PENDAHULUAN

1.1 Latar Belakang

Kemajuan teknologi tidak hanya menuntut kecepatan penyebaran informasi tetapi juga dalam
bidang ilmu Artificial Intelligence untuk melakukan metodepencarian dan pelacakan yang merupakan
suatu hal penting dalam suatu sistem. Karena pencarian dan pelacakan ini adalah hal yang
menentukan keberhasilan sistem tersebut. sebuah algoritma pencarian dijelaskan secara luas adalah
sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi
untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Sebagian
besar algoritma yang dipelajari oleh ilmuwan komputer adalah algoritma pencarian. Pada dasarnya,
metode pencarian dan pelacakan dibagi dua, yaitu pencarian buta (blind search) dan pencarian
tersusun (heuristic search).
Blind Searchg adalah model pencarian buta atau pencarian yang tidak memiliki informasi
awal Blind Searching sendiri dibagi menjadi tiga macam yaitu : Breadth First Search, Depth first
Search, Uniform Cost 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. Jenis-jenis dari Heuristic Searching :Generate and Test, Hill
Climbing, Best First Search
1.2 Perumusan Masalah

Berdasarkan latar belakang diatas, maka ada beberapa masalah yang akan di bahas dalam makalah
ini, yaitu :
1. Metode pencarian Heuristic
2. Algoritma Generate and Test
3. Simple Hill Climbing
4. Steepest Ascent Hill Climbing
5. Best First Search
6. Algoritma A*
7. Simulated Annealing

1.3 Tujuan

Adapun tujuan dari penulisan makalah ini, yaitu memahami :


1. Metode pencarian Heuristic
2. Algoritma Generate and Test
3. Simple Hill Climbing
4. Steepest Ascent Hill Climbing
5. Best First Search
6. Algoritma A*
7. Simulated Annealing
BAB II
PEMBAHASAN

2.1 Metode Pencarian Heuristic


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 Generate and Test

Generate and test adalah Suatu teknik penyelesaian masalah dengan komputer dengan cara
menyusun daftar penyelesaian yang mungkin dan menguji satu persatu untuk menentukan solusi yang
tepat (jurnal informatika : april 2007). Pada prinsipnya metode ini merupakan penggabungan antar
depth first search dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada
suatu keadaan awal. Nilai pengujiannya berupa jawaban “YA” atau “TIDAK”.
Metode penelusuran depth first search adalah metode penelusuran yang dimulai dari akar
(level 0) dan penelusuran dilanjutkan dengan melacak node yang berada paling kiri pada level
dibawahnya sampai level paling bawah. Apabila tidak ditemukan goal, maka penelusuran dilanjutkan
pada level satu dan terus menuju level yang paling bawah, sampai ditemukan goal.
Backtracking merupakan salah satu metode pemecahan masalah yang termasuk dalam strategi
yang berbasis pencarian dalam ruang status. Backtracking bekerja secara rekursif dan melakukan
pencarian solusi persoalan secara sistematis pada semua kemungkinan solusi yang ada. Backtracking
ini berbasis pada algoritma DFS (Depth First Search). Prinsip dasar backtracking adalah mencoba
semua kemungkinan solusi yang ada. Pada konsep dasarnya backtracking semua solusi dibuat dalam
bentuk pohon solusi dan kemudian pohon tersebut ditelusuri secara DFS sehingga ditemukan solusi
yang terbaik yang diinginkan.
Jika pembuatan-pembuatan solusi yang dimungkinkan dapat dilakukan secara sistematis maka
prosedur ini dapat segera menemukan solusinya bila ada. Algoritma untuk Generate and Test tersebut
adalah :
a. Bangkitkan suatu solusi yang mungkin. Untuk beberapa permasalahan, pembangkitan ini
berarti membangkitkan suatu titik tertentu atau lintasan tertentu dari keadaan awal.
b. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara
membandingkan titik yang dipilih atau titik akhir suatu lintasan yang dipilih dengan kumpulan tujuan
yang dapat diterima atau diharapkan.
c. Jika solusi telah diperoleh maka keluar. Jika tidak maka ulangi kembali langkah pertama.
Pada gambar di bawah ini, merupakan langkah dalam membentuk sebuah pencarian Generate and test.

2.3 Pengertian Hill Climbing

Metode Hill Climbing hampir sama dengan metode pembangkitan & pengujian (Generate and
Test), hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristik. Pembangkitan
keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes yang berupa
fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-
keadaan lainnya yang mungkin.

Hill Climbing adalah proses pengujian yang dilakukan dengan menggunakan fungsi heuristik.
Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes
yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan yang
diambil terhadap keadaan-keadaan lainnya yang mungkin.
Algoritma Simple Hill Climbing
Berikut adalah algoritma dari Simple Hill Climbing;
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak,
lanjutkan dengan keadaan sekarang sebagai keadaan awal.
2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan, atau sampai tidak ada operator baru
yang akan diaplikasikan pada keadaan sekarang:
1. Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang
baru.
2. Evaluasi keadaan baru tersebut.
1. Jika keadaan baru merupakan tujuan, keluar.
2. Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan keadaan baru
tersebut menjadi keadaan sekarang.
3. Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.
Pada simple hill climbing ini, ada 3 masalah yang mungkin, yaitu:
1. Algoritma akan berhenti kalau mencapai nilai optimum lokal.
2. Urutan penggunaan operator akan sangat berpengaruh pada penemuan solusi.
3. Tidak diijinkan untuk melihat satupun langkah sebelumnya.

2.4 Steepest Ascent Hill Climbing


Steepest Ascent Hill Climbing sebenarnya hampir sama dengan simple hill climbing hanya saja
gerakan pencarian tidak dimulai dari posisi paling kiri
 Algoritma :
1. Mulai dari keadaan awal lakukan pengujian,jiak merupakan tujuan maka berhenti dan jika
tidak,lanjutkan dengan keadaan sekarang sebagai keadaan awal
2. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan perubahan pada keadaan
sekarang
3. Tentukan SUCC sebagai nilai heuristic terbaik dari success or successor
4. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang
5. Gunakan operator tersebut dan bentuk keadaan baru
6. Evaluasi keadaan baru tersebut
7. Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC menjadi keadaan
sekarang

2.5 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.
Merupakan metode yang membangkitkan suksesor dengan mempertimbangkan harga (didapat
dari fungsi heuristik tertentu) dari setiap node, bukan dari aturan baku seperti DFS maupun BFS.
Gambar 3.4 mengilustrasikan langkah-langkah yang dilakukan oleh algoritma Best First Search.
Pertama kali, dibangkitkan node A. Kemudian semua suksesor A dibangkitan, dan dicari harga paling
minimal. Pada langkah 2, node D terpilih karena harganya paling rendah, yakni 1. Langkah 3, semua
suksesor D dibangkitkan, kemudian harganya akan dibandingkan dengan harga node B dan C.
Ternyata harga node B paling kecil dibandingkan harga node C, E, dan F. Sehingga B terpilih dan
selanjutnya akan dibangkitkan semua suksesor B. Demikian seterusnya sampai ditemukan node
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) 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.

2.6 Algortima A star (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 penerapan, 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 jumlah 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.
Secara matematis fungsi F sebagai estimasi fungsi evaluasi terhadap node n dapat di tuliskan:
f’(n) = g(n) + h’(n)
Dengan f’(n) = fungsi evaluasi
g(n) = biaya yang sudah di keluarkan dari keadaan awal sampai
keadaan n
h’(n) = estimasi biaya untuk sampai pada suatu tujuan mulai darin
dari fungsi di atas maka ada beberapa kondisi yang perlu diperhatikan, yaitu:
Jika h = h’, berarti proses pencarian telah sampai ke tujuan ( goal ).
Jika g = h’ = 0 maka f’ random, artinya system tidak dapat di kendalikan.
Jika g = k, k adalah konstanta dan biasanya bernilai 1, h’ = 0, artinya system
menggunakan breadth first search.

2.7 Simulated annealing


Ide dasar simulated annealing terbentuk dari pemrosesan logam. Annealing (memanaskan
kemudian mendinginkan) dalam pemrosesan logam ini adalah suatu proses bagaimana membuat
bentuk cair berangsur-angsur menjadi bentuk yang lebih padat seiring dengan penurunan temperatur.
Simulated annealing biasanya digunakan untuk penyelesaian masalah yang mana perubahan keadaan
dari suatu kondisi ke kondisi yang lainnya membutuhkan ruang yang sangat luas, misalkan perubahan
gerakan dengan menggunakan permutasi pada masalah Travelling Salesman Problem. Pada simulated
annealing, ada 3 parameter yang sangat menentukan, yaitu: tetangga, gain, temperatur, pembangkitan
bilangan random. Tetangga akan sangat berperan dalam membentuk perubahan pada solusi sekarang.
Pembangkitan bilangan random akan berimplikasi adanya probabilitas.
Algoritma Simulated Annealing
Algoritma Simulated Annealing adalah sebagai berikut :
a. Evaluasi keadaan awal. Jika keadaan awal merupakan tujuan, maka pencarian
berhasil dan KELUAR. Jika tidak demikian, lanjutkan dengan menetapkan keadaan
awal sebagai kondisi sekarang.
b. Inisialisasi BEST_SO_FAR untuk keadaan sekarang.
c. Inisialisasi T sesuai dengan annealing schedule.
d. Kerjakan hingga solusi ditemukan atau sudah tidak ada operator baru lagi akan
diaplikasikan ke kondisi sekarang.
1. Gunakan operator yang belum pernah digunakan tersebut untuk menghasilkan kondisi baru.
2. Evaluasi kondisi yang baru dengan menghitung:
E = nilai sekarang – nilai keadaan baru.

 Jika kondisi baru merupakan tujuan, maka pencarian berhasil dan KELUAR.
 Jika bukan tujuan, namun memiliki nilai yang lebih baik daripada kondisi sekarang, maka
tetapkan kondisi baru sebagai kondisi sekarang. Demikian pula tetapkan BEST_SO_FAR
untuk kondisi yang baru tadi.
 Jika nilai kondisi baru tidak lebih baik dari kondisi sekarang, maka tetapkan
 kondisi baru sebagai kondisi sekarang dengan probabilitas:

p’ e-E / T

Langkah ini biasanya dikerjakan dengan membangkitkan suatu bilangan random r pada range [0 1].
Jika r < p’, maka perubahan kondisi baru menjadi kondisi sekarang diperbolehkan. Namun jika tidak
demikian, maka tidak akan dikerjakan apapun.

3. Perbaiki T sesuai dengan annealing scheduling.

e. BEST_SO_FAR adalah jawaban yang dimaksudkan.


BAB III

PENUTUP
3.1 Kesimpulan
Berdasarlan uraian pembahasan pada bab sebelumnya dapat ditarik kesimulan
Sebagai berikut :
1. Metode pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses
pencarian ruang keadaan (state space) suatu problema secara selektif.
2. Generate and test adalah merupakan suatu teknik penyelesaian masalah dengan komputer dengan
cara menyusun daftar penyelesaian yang mungkin dan menguji satu persatu untuk menentukan solusi
yang tepat (jurnal informatika : april 2007). Pada prinsipnya metode ini merupakan penggabungan
antar depth first search dengan pelacakan mundur (backtracking), yaitu bergerak kebelakang menuju
pada suatu keadaan awal.
3. Hill Climbing adalah proses pengujian yang dilakukan dengan menggunakan fungsi heuristik.
Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes
yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan yang
diambil terhadap keadaan-keadaan lainnya yang mungkin.

4. Steepest Ascent Hill Climbing melakukan pencarian berdasarkan nilaiheuristic terbaik. Dalam hal
ini penggunaan operator tidak menentukanpenemuan solusi. Steepest ascent hill climbing merupakan
metode algoritma yang banyak digunakan untuk permasalahan optimasi. Salah satu penerapannya
adalah untuk mencari rute yang terpendek dengan cara memaksimumkan atau meminimumkan nilai
fungsi optimasi yang ada. Secara harafiah steepest berarti paling tinggi, sedangkan ascent berarti
kenaikan.Dengan demikian steepest ascent berarti kenaikan paling tinggi. Jadi prinsip dasar metode
ini adalah mencari kenaikan paling tinggi keadaan sekitar untuk mencapai nilai yang paling optimal.

5. 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.
6. 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.
7. Simulated annealing biasanya digunakan untuk penyelesaian masalah yang mana perubahan keadaan
dari suatu kondisi ke kondisi yang lainnya membutuhkan ruang yang sangat luas
DAFTAR PUSTAKA

http://blognyacomel.blogspot.com/2013/11/best-first-search.html
diakses 3 Oktober 2015 pukul 12.23
http://buatugasai.blogspot.com/2013/04/metode-pencarian-dan-pelacakan_4.html
diakses 1 Oktober 2015 pukul 01.14
http://najibzot.blogspot.com/p/teknik-searching-kecerdasan-buatan-di.html
diakses 8 Oktober 2015 pukul 11.31
https://www.academia.edu/2947717/Implementasi_Algoritma_Steepest_Ascent_Hill_Climbing_Deng
an_Optimasi_Minimax_Pada_Permainan_Tic_Tac_Toe_Berbasis_Android
http://davinzhu87.blogspot.com/2011/09/steepest-ascent-hill-climbing.html
https://wahyudisetiawan.wordpress.com/2009/12/22/simulated-annealing/

Anda mungkin juga menyukai