Anda di halaman 1dari 75

TEKNIK SEARCHING

BAGIAN 2

Fhatiah Adiba, S.Pd.,M.Cs.


HEURISTIC SEARCH

Fhatiah Adiba, S.Pd.,M.Cs.


Pencarian Heuristik (Terbimbing) atau
Informed Search
• Pencarian buta biasanya tidak efisien karena waktu akses dan memori
yang dibutukan cukup besar.
• Untuk mengatasi hal ini maka perlu ditambahkan suatu informasi pada
domain yang bersangkutan sehingga proses pencarian yang baru akan
dihasilkan.
• Jenis pencarian tersebut disebut dengan informed search atau
pencarian heuristic atau pencarian terbimbing, yaitu pencarian
berdasarkan panduan

Fhatiah Adiba, S.Pd.,M.Cs.


Pencarian Heuristik (Terbimbing) atau
Informed Search
• Teknik pencarian heuristic merupakan suatu strategi untuk melakukan
proses pencarian secara selektif dan dapat memandu proses pencarian
yang memiliki kemungkinan sukses paling besar, namun dengan
kemungkinan mengorbankan kelengkapan (completeness)

Fhatiah Adiba, S.Pd.,M.Cs.


Fungsi Heuristik

Fungsi heuristic adalah aturan-aturan yang


digunakan untuk mendapatkan solusi yang
diinginkan.

Fhatiah Adiba, S.Pd.,M.Cs.


Pencarian heuristic terdiri dari :
1.Generate and Test
2.Hill Climbing
3.Best First Search
4.etc

Fhatiah Adiba, S.Pd.,M.Cs.


Generate and Test
• Metode Generate and Test adalah metode yang paling sederhana dalam
pencarian heuristic
• Pada prinsipnya metode ini merupakan penggabungan antara depth
first search dengan pelacakan mundur (backtracking).
• Solusi harus dibangkitkan secara lengkap sebelum dilakukan test.
• Jika pembangkitan solusi dikerjakan secara sistematis maka prosedur
akan mencari solusinya, jika ada.
• Tetapi jika ruang masalahnya sangat luas, mungkin memerlukan waktu
yang sangat lama.

Fhatiah Adiba, S.Pd.,M.Cs.


Algoritme Generate and Test
(Rich, Elaine and Knight,Kevin,1991, “Artificial Intelligence”, McGraw-Hill, Inc.second edition)

1. Bangkitkan suatu kemungkinan solusi.


2. Uji, apakah solusi tersebut merupakan solusi yang bisa diterima
sesuai dengan kriteria yang diberikan.
3. Jika solusi ditemukan, keluar. Jika tidak, ulangi Langkah (1)

Fhatiah Adiba, S.Pd.,M.Cs.


Contoh Implementasi Algoritme Generate
and Test pada penentuan rute terpendek.

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Pada gambar tersebut diketahui 12 kota,


yaitu A,B,C,D,E,F,G,H,I,J,K,Z dan jarak
antarkota diketahui seperti pada gambar.
Tanda anak panah merupakan tanda jalur
yang bisa dilewati. Seorang sales buku
yang berada dikota A, hendak pergi
mengirimkan barang ke kota Z.
permasalahannya adalah jalur manakah
yang harus ia lewati agar perjalanannya
bisa menghemat biaya transportasi?

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Dari permasalahan tersebut diketahui


bahwa :
Keadaan Awal = A
Goal = Z
Solusi yang dicari adalah sebuah jalur yang
diawali kota A dan diakhir kota Z.
Untuk mencari solusinya, kita gunakan
algoritma DFS

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Solusi-solusi yang mungkin,


yaitu :
• A-B-D-E-G-Z
• A-B-D-E-G-H-Z
• A-C-E-G-Z
• A-C-E-G-H-Z

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Iterasi 1
Bangkitkan sebuah solusi menggunakan DFS
(misalnya solusi awal adalah jalur ABDEGZ)
f(ABDEGZ)=4+3+4++6+7=24
Uji dengan kriteria yang dipakai
Karena jalur ABDEGZ adalah solusi awal yang
dibangkitakn maka ia dipakai sebagai solusi
sementara, yaitu f(ABDEGZ)=4+3+4++6+7=24

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Iterasi 2
Bangkitkan sebuah solusi menggunakan DFS
(misalnya solusi kedua adalah jalur ABDEGHZ)
f(ABDEGHZ)=4+3+4+6+2+6=25
Uji dengan kriteria yang dipakai
Karena jalur f(ABDEGHZ) > f(ABDEGZ) maka
solusi sementara f(ABDEGZ) = 24

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Iterasi 3
Bangkitkan sebuah solusi menggunakan DFS
(misalnya solusi ketiga adalah jalur ACEGZ)
f(ACGEZ)=5+3+6+7=21
Uji dengan kriteria yang dipakai
Karena jalur f(ACGEZ) < f(ABDEGZ) maka
solusi sementara f(ACGEZ)= 21

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Iterasi 4
Bangkitkan sebuah solusi menggunakan DFS
(misalnya solusi ke empat adalah jalur ACEGHZ)
f(ACGEHZ)=5+3+6+2+7=23
Uji dengan kriteria yang dipakai
Karena jalur f(ACGEHZ) > f(ACGEZ) maka solusi
sementara f(ACGEZ)= 21

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem

Karena tidak ada lagi solusi yang bisa dibangkitkan,


iterasi digentikan. Agar sales tersebut dapat menghemat
biaya transport, maka jalur yang harus dilewati adalah
jalur A-C-G-E-Z dengan jarak 21.

Fhatiah Adiba, S.Pd.,M.Cs.


Traveling Salesman Problem
Kelebihan :
Mampu memberikan solusi terbaik

Kekurangan :
Perlu pembangkitan semua kemungkinan sebelum dilakukan
pengujian, sehingga membutuhkan waktu yang cukup lama dalam
pencariannya.
Fhatiah Adiba, S.Pd.,M.Cs.
Pendakian Bukit / Hill Climbing
• Metode ini berbeda dengan metode Generate and Test
• Perbedaannya terletak pada umpan balik prosedur pengujian yang
dilakukan untuk membantu menentukan solusi yang bisa langsung
dihilangkan dalam ruang pencarian.
• Oleh karena itu, pembangkitan keadaan berikutnya sangat tergantung
pada umpan balik dari prosedur pengetesan.
• Ada dua macam Hill Climbing, yaitu Simple Hill Climbing dan Stepest
Ascent Hill Climbing

Fhatiah Adiba, S.Pd.,M.Cs.


Algoritma Simple Hill Climbing
(Rich, Elaine and Knight,Kevin,1991, “Artificial Intelligence”, McGraw-Hill, Inc.second
edition)
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.
3. Cari operator yang belum pernah digunakan; gunakan operator ini untuk
mendapatkan keadaan yang baru.
4. Evaluasi keadaan baru tersebut.
• Jika keadaan baru merupakan tujuan, keluar
• 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.

Fhatiah Adiba, S.Pd.,M.Cs.


Simple Hill Climbing
Pada simple hill climbing ini, ada 3 masalah yang mungkin, yaitu :
1. Algoritma akan berhenti kalau mencapai nilai optimum local
2. Urutan penggunaan operator akan sangat berpengaruh pada
penemuan solusi
3. Tidak di izinkan untuk melihat satupun Langkah sebelumnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Contoh Implementasi algoritme Simple Hill Climbing pada puzzle-8

Keadaan Awal Goal


1 2 3 1 2 3
4 5 4 5 6
7 8 6 7 8
Ruang Keadaan :
Misalkan :
x = baris = {1,2,3)
y=kolom={1,2,3)
Jadi dalam hal ini ruang keadaan = semua kemungkinan posisi kotak pada puzzle-8
Contoh : posisi kotak 7 pada keadaan awal adalah (3,1)
Fhatiah Adiba, S.Pd.,M.Cs.
Aturan/Operator :
Posisi kotak kosong (x,y)
x = baris kotak kosong
y = kolom kotak kosong
1. Gerakkan kotak kosong ke atas
2. Gerakkan kotak kosong ke bawah
3. Gerakkan kotak kosong ke kanan
4. Gerakkan kotak kosong ke kiri
Fungsi Heuristik yang digunakan adalah jumlah kotak yang menempati
posisi benar. Kriteria yang dipakai adalah jumlah benar yang paling
besar yang dipilih.
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-1 Goal
1 2 3
4 5 6
Cek : keadaan awal ≠ Goal
7 8
Keadaan sekarang = keadaan awal
Keadaan Sekarang Keadaan selanjutnya

1 2 3 2 3
Kena operator ke-1 menjadi
4 5 1 4 5
7 8 6 7 8 6
Posisi benar = 5 Posisi benar = 4

Karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-1
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 5

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-1 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-2 menjadi
4 5 7 4 5
7 8 6 8 6
Posisi benar = 5 Posisi benar = 4

Karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-1
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 5

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-1 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-3 menjadi
4 5 4 5
7 8 6 7 8 6
Posisi benar = 5 Posisi benar = 6

Karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnya,
maka : keadaan sekarang = keadaan selanjutnya
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-1
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 6

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-1 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-4 menjadi
4 5 4 5
7 8 6 7 8 6
Posisi benar = 6 Posisi benar = 5

Karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-1
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 6
Cek : keadaan sekarang ≠ Goal
Semua operator sudah dijalankan.
Lanjut Iterasi ke-2

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2 Goal
1 2 3
4 5 6
Cek : keadaan awal ≠ Goal 7 8
Keadaan sekarang = keadaan awal
Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 3
Kena operator ke-1 menjadi
4 5 4 2 5
7 8 6 7 8 6
Posisi benar = 6 Posisi benar = 5

Karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-2
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 6

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-2 menjadi
4 5 4 8 5
7 8 6 7 6
Posisi benar = 6 Posisi benar = 5

Karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-2
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 6

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-3 menjadi
4 5 4 5
7 8 6 7 8 6
Posisi benar = 6 Posisi benar = 7

Karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = keadaan selanjutnya
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-2
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 7

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-4 menjadi
4 5 4 5
7 8 6 7 8 6
Posisi benar = 7 Posisi benar = 6

Karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-2
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 7
Cek : keadaan sekarang ≠ Goal
Semua operator sudah dijalankan.
Lanjut Iterasi ke-3

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-3 Goal
1 2 3
4 5 6
Cek : keadaan awal ≠ Goal 7 8
Keadaan sekarang = keadaan awal
Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2
Kena operator ke-1 menjadi
4 5 4 5 3
7 8 6 7 8 6
Posisi benar = 6 Posisi benar = 6

Karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-3
Keadaan Sekarang
1 2 3 1 2 3
4 5 Goal
4 5 6
7 8 6 7 8
Posisi benar = 6

Cek : keadaan sekarang ≠ Goal


Lanjutkan ke operator berikutnya.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-3 Goal
1 2 3
4 5 6
7 8

Keadaan Sekarang Keadaan selanjutnya

1 2 3 1 2 3
Kena operator ke-2 menjadi
4 5 4 5 6
7 8 6 7 8
Posisi benar = 6 Posisi benar = 8

Karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnya,
maka : keadaan sekarang = keadaan selanjutnya
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-3
Keadaan Sekarang
1 2 3 1 2 3
4 5 6 Goal
4 5 6
7 8 7 8
Posisi benar = 7

Cek : keadaan sekarang = Goal


Hentikan pencarian.

Fhatiah Adiba, S.Pd.,M.Cs.


Algoritma Stepest Ascent Hill Climbing
(Rich, Elaine and Knight,Kevin,1991, “Artificial Intelligence”, McGraw-Hill, Inc.second
edition)
1. Mulai dari keadaan awal, lakukan pengujian : Jika 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.
a. Tentukan SUCC sebagai nilai heuristic terbaik dari successor-successor
b. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang.
• Gunakan operator tersebut dan bentuk keadaan baru.
• Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar. Jika bukan,
bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik, jadikan nilai
heuristic keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik,
nilai SUCC tidak berubah.
a. Jika SUCC lebih baik daripada nilai heuristic keadaan sekarang, ubah node SUCC
menjadi keadaan sekarang.

Fhatiah Adiba, S.Pd.,M.Cs.


Pada Stepest Ascent Hill Climbing ini, ada 3 masalah yang mungkin,
yaitu :
1. Local optimum; keadaan semua tetangga lebih buruk atau sama
dengan keadaan dirinya.
2. Plateaur; keadaan semua tetangga sama dengan keadaan dirinya.
3. Ridge; local optimum yang lebih disebabkan karena
ketidakmampuan untuk menggunakan 2 operator sekaligus.

Fhatiah Adiba, S.Pd.,M.Cs.


Contoh Implementasi algoritme Stepest Ascent Hill Climbing pada
puzzle-8
Keadaan Awal Goal
1 2 3 1 2 3
4 5 4 5 6
7 8 6 7 8
Ruang Keadaan :
Misalkan :
x = baris = {1,2,3)
y=kolom={1,2,3)
Jadi dalam hal ini ruang keadaan = semua kemungkinan posisi kotak pada puzzle-8
Contoh : posisi kotak 7 pada keadaan awal adalah (3,1)
Fhatiah Adiba, S.Pd.,M.Cs.
Aturan/Operator :
Posisi kotak kosong (x,y)
x = baris kotak kosong
y = kolom kotak kosong
1. Gerakkan kotak kosong ke atas
2. Gerakkan kotak kosong ke bawah
3. Gerakkan kotak kosong ke kanan
4. Gerakkan kotak kosong ke kiri
Fungsi Heuristik yang digunakan adalah jumlah kotak yang menempati
posisi benar. Kriteria yang dipakai adalah jumlah benar yang paling
besar yang dipilih.
Terapkan algoritma Ascent Hill Climbing
Fhatiah Adiba, S.Pd.,M.Cs.
Iterasi ke-1
cek keadaan awal ≠ Goal
Keadaan sekarang = keadaan awal
keadaan sekarang dikenakan 4 operator
sekaligus, hasilnya adalah

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-1

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-1
pilih posisi benar yang
terbesar, yaitu 6, sehingga
keadaan sekarang menjadi

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2
pilih posisi benar yang
terbesar, yaitu 7, sehingga
keadaan sekarang menjadi

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-3

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-3
pilih posisi benar yang
terbesar, yaitu 8, sehingga
keadaan sekarang menjadi

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-4
Cek : keadaan awal = Goal, hentikan proses pencarian
Solusi :
Keadaan Sekarang
1 2 3
4 5 6
7 8

Fhatiah Adiba, S.Pd.,M.Cs.


Best First Search
Metode best first search merupakan kombinasi dari metode depth first
search dan metode breadth first search yang mana pencarian
diperbolehkan mengunjungi node yang ada dilevel yang lebih rendah
asalkan node ini memiliki nilai heuristic yang lebih baik.

Fhatiah Adiba, S.Pd.,M.Cs.


Algoritme Best First Search
1. Buat sebuah stack, inisialisasi node akar sebagai node pertama.
2. Bila node pertama ≠ Goal, node dihapus dan diganti dengan anak-
anaknya.
3. Selanjutnya, keseluruhan node yang ada di Stack di-sort Ascending
berdasarkan fungsi heuristic yang digunakan.
4. Bila node pertama ≠ Goal, ulangi Langkah poin (2)
5. Bila node pertama = Goal, cari solusi dengan cara menelusuri jalur
dari Goal ke node akar
6. Selesai

Fhatiah Adiba, S.Pd.,M.Cs.


Contoh Implementasi Algoritme Best First Search
• Permasalahan mencari rute
terpendek akan dikerjakan
menggunakan algoritme best
first search. Keadaan awal A
dan tujuan Z.
• Fungsi heuristic yang
digunakan adalah node-node
yang mempunyai jarak
terpendek

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-1
• Masukkan node A ke Stack.

• keluarkan node A dari Stack.


A ≠ Goal
A punya anak C(5) dan B(4),
masukkan ke Stack dan Stack di
Sort-Ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-2
• Masukkan node anak ke Stack.

B(4) C(5)
• keluarkan node B dari Stack.
B ≠ Goal
B punya anak D(3), masukkan ke
Stack dan Stack di Sort-Ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-3
• Masukkan node anak ke Stack.

D(3) C(5)
• keluarkan node D dari Stack.
D ≠ Goal
D punya anak E(4), masukkan ke
Stack dan Stack di Sort-Ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-4
• Masukkan node anak ke Stack.

E(4) C(5)
• keluarkan node E dari Stack.
E ≠ Goal
E punya anak G(6), masukkan ke
Stack dan Stack di Sort-Ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-5
• Masukkan node anak ke Stack.

C(5) G(6)
• keluarkan node C dari Stack.
C ≠ Goal
C punya anak E(3) dan F(2),
masukkan ke Stack dan Stack di
Sort-Ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-6
• Masukkan node anak ke Stack.

F(2) E(3) G(6)


• keluarkan node F dari Stack.
F ≠ Goal
F punya anak I(4), masukkan ke
Stack dan Stack di Sort-Ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-7
• Masukkan node anak ke Stack.

E(3) I(4) G(6)


• keluarkan node E dari Stack.
E ≠ Goal
E punya anak G(6), dan sudah ada
di stack, jadi tidak dimasukkan ke
stack

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-8
• Masukkan node anak ke Stack.

I(4) G(6)
• keluarkan node I dari Stack.
I ≠ Goal
I tidak punya anak. Karena I tidak
punya anak, gunakan untuk
menghapus orangtuanya di
representasi keadaan

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-9
• Masukkan node anak ke Stack.

G(6)
• keluarkan node G dari Stack.
G ≠ Goal
G punya anak H(2), J(4), Z(7), F(8)
masukkan ke stack dan stack di
sort-ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-10
• Masukkan node anak ke Stack.

H(2) J(4) Z(7) F(8)

• keluarkan node H dari Stack.


H ≠ Goal
H punya anak Z(6), masukkan ke
stack dan stack di sort-ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-11
• Masukkan node anak ke Stack.

J(4) Z(6) Z(7) F(8)

• keluarkan node J dari Stack.


J ≠ Goal
J punya anak K(1), masukkan ke
stack dan stack di sort-ascending

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-12
• Masukkan node anak ke Stack.

K(1) Z(6) Z(7) F(8)

• keluarkan node K dari Stack.


K ≠ Goal
K tidak punya gunakan untuk
menghapus orangtuanya di
representasi keadaan.

Fhatiah Adiba, S.Pd.,M.Cs.


Iterasi ke-13
• Masukkan node anak ke Stack.

Z(6) Z(7) F(8)

• keluarkan node Z dari Stack.


Z = Goal
Hentikan pencarian

Fhatiah Adiba, S.Pd.,M.Cs.


Solusi :
Penelusuran dilakukan dari titik A
ke titik Z. ditemukan beberapa
solusi berikut :
• Solusi ke-1 = ABDEGHZ = 25
• Solusi ke-2 = ABDEGZ = 24
• Solusi ke-3 = ACEGHZ = 22
• Solusi ke-4 = ACEGZ = 21

Fhatiah Adiba, S.Pd.,M.Cs.


Metode Pencarian Heuristik
Metode pencarian heuristic lainnya :
• Simulated Annealing (SA)
• Branch and Bound
• Greedy Best First Search
• A* (A star)
• Iterative Deepening A* (IDA*)
• Simplified Memory Bounded A* (SMA*)
• Bi-directional A* (BDA*)
• Modified Bi-directional A* (MBDA*)
• Dynamic Weighting A* (DWA*)
• Beam A* (BA*)

Fhatiah Adiba, S.Pd.,M.Cs.


LATIHAN
Jarak antara tiap-tiap kota sudah diketahui.
Salesman tersebut ingin mencari rute
terpendek di mana setiap kota hanya boleh
dikunjungi tepat 1 kali dan ia boleh memilih
keadaan awalnya di suatu kota dan keadaan
akhirnya dikota yang lain. Selesaikan
persoalan TSP tersebut dengan algoritma :
1. Generate and Test
2. Hill Climbing
3. Best First Search
Solusi berupa lintasan dari kota awal sampai
kota tujuan dan jarak yang ditempuh.

Fhatiah Adiba, S.Pd.,M.Cs.


TERIMA KASIH

Fhatiah Adiba, S.Pd.,M.Cs.

Anda mungkin juga menyukai