• Tidak ada hasil yang ditemukan

STRATEGI PENCARIAN UNINFORMED

 Sebuah strategi pencarian didefinisikan dengan memilih urutan ekspansi node.  Strategi dievaluasi sepanjang dimensi berikut:

o kelengkapan: apakah selalu mencari solusi jika ada? o kompleksitas waktu: jumlah node yang dihasilkan

o kompleksitas ruang: jumlah maksimum node dalam memori o optimalitas: apa selalu menemukan solusi yang paling murah?  kompleksitas waktu dan ruang diukur dalam hal:

b: faktor percabangan maksimum search tree d: kedalaman solusi yang paling murah

m: panjang maksimum setiap path (mungkin ∞)

Strategi pencarian uninformed hanya menggunakan informasi yang tersedia dalam definisi masalah. Terdapat 5 teknik yang termasukstrategi uninformed, yaitu:

1. Breadth-first search 2. Uniform-cost search 3. Depth-first search 4. Depth-limited search

5. Iterative Deepening search Penjelasan masing-masing adalah:

1. Breadth-first search (BFS)

 Memperluas node terdangkal yang belum diekspansi  Implementasi:

Urutan ekspansi dari node A – D : A-B-C-D

Properti BFS

Page 21 of 98

 Waktu? 1 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1)

 Ruang? O(bd+1) (setiap node terus disimpan dalam memori)

 Optimal? Ya (jika biaya = 1 per langkah)

 Ruang adalah masalah yang lebih besar (lebih dari waktu)

2. Uniform Cost Search (UCS)

 Sama seperti BFS dengan tambahan pembentukan tree diurutkan berdasarkan cost yang paling murah/least-cost

 Urutan ekspansi seperti BFS

 Implementasi: tree/queue diurutkan berdasarkan least-cost  Lengkap? Ya, jika biaya langkah ≥ ε

Waktu? Jumlahnode dengan g ≤ biaya solusi optimal, O(bceiling(C*/ ε))di mana C* adalah

biaya dari solusi optimal

Space? Jumlah node dengan g ≤ biaya solusi optimal, O(bceiling(C*/ ε))

 Optimal? Ya - node diperluas dalam rangka peningkatan g (n)

3. Depth-first search (DFS)

Pencarian unexpanded node terdalam

Page 22 of 98

Urutan ekspansi dari A ke M: A-B-D-H-I-E-J-K-C-F-L-M

Properti BFS:

 Lengkap? Tidak: bisa gagal dalam ruang pencarian takterbatas, ruang pencarian dengan loop

Waktu? O(bm):mengerikan jika m jauh lebih besar daripada d

tetapi jika solusi padat, mungkin jauh lebih cepat daripada BFS  Space? O (bm), yaitu, ruang linear!

 Optimal? Tidak

4. Depth Limited Search (DLS)

• Merupakan strategi DFS dengan batas kedalaman tree l yang didefinisikan sebelumnya. • Rekursif Pelaksanaan DLS:

5. Iterative Deepening Search (IDS)

• Prinsip dari strategi ini adalah melakukan pencarian DLS secara bertahap dengan nilai l yang ditambahkan pada setiap iterasinya.

• Strategi ini mengkombinasikan keuntungan BFS dan DFS (kelengkapan dan kompleksitas ruang linear dijamin). Lakukan pencarian DLS dengan l = 0,1,2, ... sampai tidak cutoff • Ilustrasi:

Page 23 of 98

Properti IDS

 Lengkap? Ya

Waktu? ((d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd)

 Space? O (bd)

 Optimal? Ya, jika step cost= 1 Ringkasan Strategi Uninformed Search

Gambar 3.8. Ringkasan strategi uninformed search

REFERENSI

Russell, Stuart; dan Norvig, Peter. 2003. Artificial Intelligence A Modern Approach.

International Edition, Edisi 2. Pearson Prentice-Hall Education International. New Je

rsey

Page 24 of 98

Rangkuman

 Perumusan masalah biasanya membutuhkan abstrak pergi rincian dunia nyata untuk menentukan ruang state yang bisa dieksplorasi.

 Agen penyelesaian problem dapat memecahkan masalah dan mencapai tujuan melalui strategi pohon pencarian (searching tree).

 Berbagai strategi pencarian uninformed: BFS, UCS, DFS, DLS, IDS

 IDS hanya menggunakan ruang linear dan tidak banyak waktu lebih dari algoritma uninformed lainnya.

PROPAGASI

A. Latihan (evaluasi mandiri)

Formulasikan masalah perjalanan dari Arad ke Bucharest (Lihat Peta Rumania)! desainlah search treemasalah ini menggunakan kelima strategi uninformed search, kemudian

Page 25 of 98

Kecerdasan Buatan:

PENCARIAN HEURISTIK / INFORMED SEARCH

Dian Eka Ratnawati, S.Si, M.Kom, Dewi Yanti Liliana, S.Kom., M.Kom. Lailil Muflikhah,S.Kom,M.Sc, Rekyan Regasari,ST,MT

Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya

Program Teknologi Informasi dan Ilmu Komputer,

1. PENDAHULUAN 1.1 Pengantar 1.2 Tujuan 1.3 Definisi 2. Generate and Test

3. Hill Climbing 4. Best First Search 5. Latihan

1. PENDAHULUAN

1.1 Pengantar

Pada modul 4 ini akan dibahas mengenai pencarian heuristik. Pencarian heuristik (informed search) lebih cepat dan bagus daripada pencarian buta (uninformed search) yang sudah dibahas pada modul 3. Hal ini karena pada pencarian heuristik ditambahkan informasi tambahan yang bisa berupa bobot, jarak atau yang lain. Informasi tambahan tersebut yang akan mempercepat dan membantu proses pencarian. Tetapi ada kelemahan dari metode ini yaitu solusi yang dihasilkan bisa jadi bukan yang terbaik.

Ada beberapa pencarian heuristik yang akan dibahas pada modul 4 ini , diantaranya adalah pertama : Bangkitkan - dan - Uji (Generate and Test), kedua :Pendakian Bukit (Hill

Climbing)yang meliputiSimple Hill Climbing dan SteepestAscent Hill Climbing, kemudian yang terakhir Pencarian Terbaik Pertama

(Best First Search) yang meliputi Greedy Best First Search dan Algoritma A*.

1.2 Tujuan

Penguasaan materi dalam modul ini dirancang agar mahasiswa mampu untuk :

1. Memahami dan mengerti Metode Pencarian heuristikyaitu Bangkitkan - dan - Uji (Generate and Test), Pendakian Bukit (Hill

Climbing) yang meliputiSimple Hill Climbing dan SteepestAscent Hill Climbing, Best First Search yang meliputi Greedy Best First Search dan Algoritma A*.

2. Menerapkan metode inform search tersebut untuk menyelesaikan berbagai permasalahan

4

P

E

NC

A

R

IA

N

H

EU

R

IS

T

IK

/

IN

F

O

R

M

E

D

S

EA

R

C

H

(S

PEE

D)

MODUL

Page 26 of 98

1.3 Definisi Heuristik

- Kata Heuristic berasal dari sebuah kata kerja bahasa Yunani, heuriskein, yang berarti ‘mencari’ atau menemukan.

- Dalam dunia pemrograman, sebagian orang menggunakan kata heuristik sebagai lawan kata algoritmik, dimana kata heuristik ini diartikan sebagai suatu proses yang dapat menyelesaikan suatu masalah tetapi tidak ada jaminan bahwa solusi yang dicari selalu dapat ditemukan.

- Pencarian heuristik merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (statespace) suatu problem secara selektif, yang memandu proses pencarian yang dilakukan di sepanjangjalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang sia-sia dan memboroskan waktu

- Untuk dapat menerapkan heuristik tersebut dengan baik dalam suatu domain tertentu, diperlukan suatu 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.GENERATE AND TEST

Algoritma :

1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu ataulintasan tertentu dari keadaan awal)

2. Uji apakah node tersebut adalah solusi dengan membandingkan node tersebut atau node akhir dari lintasan yang dipilih dengan kumpulan tujuan yang diharapkan 3. Jika solusi ditemukan,langkah–langkah tersebut dihentikan, jika tidak, kembali ke

langkah pertama

4. Jika pembangkitan atau pembuatan solusi–solusi yang dimungkinkan dapat dilakukan secara sistematis, maka prosedur ini akan dapat segera menemukan solusinya, (bila ada).

5. Namun, jika ruang problem sangat besar, maka proses ini akan membutuhkan waktu yang lama, sehingga metode generate and test ini kurang efisien untuk masalah yang besar atau kompleks.

Kelemahan metode Generate and Test:

- Membangkitkan semua kemungkinan sebelum dilakukan pengujian - Membutuhkan waktu yang cukup besar dalam pencariannya

Contoh Soal :

Seorang salesman ingin mengunjungi n kota. Jarak tiap kota sudah diketahui seperti terlihat pada gambar 4.1.Bantu salesman untuk menentukan rute terpendek, dimana setiap kota hanya boleh dikunjungi 1 kali. Misal ada 4 kota dengan jarak sebagai berikut:

Gambar 4.1

Penyelesaian :

Membangkitkan solusi - solusi yang mungkin dengan menyusun kota – kota dalam urutan abjad, yaitu: A B D C 8 6 7 3 4 5

Page 27 of 98

 A – B – C – D

 A – D – B – C dan seterusnya

Jumlah seluruh kombinasi abjad yangmenjadi sulusi adalah n!.

Pilih keadaan awal, mis ABCD dengan panjang lintasan 19.Lakukan backtracking untuk mendapatkan lintasan ABDC 18.Bandingkan lintasan ABDC dengan sebelumnya, lintasan terpendek akan dipilih untuk dilakukan backtracking lagi.

Tabel 4.1 Alur pencarian dengan generate & test pada TSP.

Pencarian

ke- Lintasan Lintasan Panjang Lintasan terpilih

Panjang Lintasan terpilih 1. ABCD 19 ABCD 19 2. ABDC 18 ABDC 18 3. ACBD 12 ACBD 12 4. ACDB 13 ACBD 12 5. ADBC 16 ACBD 12 6. ADCB 18 ACBD 12 7. BACD 17 ACBD 12 8. BADC 21 ACBD 12 9. BCAD 15 ACBD 12 10. BCDA 18 ACBD 12 11. BDAC 14 ACBD 12 12. BDCA 13 ACBD 12 13. CABD 15 ACBD 12 14. CADB 14 ACBD 12 15. CBAD 20 ACBD 12 16. CBDA 16 ACBD 12 17. CDAB 21 ACBD 12 18. CDBA 18 ACBD 12 19. DABC 20 ACBD 12 20. DACB 15 ACBD 12 21. DBAC 15 ACBD 12 22. DBCA 12 ACBD atau DBCA 12 23. DCAB 17 ACBD atau

DBCA

12

24. DCBA 19 ACBD atau DBCA 12

3. HILL CLIMBING

Hill climbing merupakan salah satu variasi metode Bangkitkan - dan - Uji (generate and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk memutuskan

arah gerak dalam ruang pencarian.

Dalam prosedur Hill Climbing, fungsi ujidikombinasikan dengan fungsi heuristik yang menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).

3.1. Simple Hill Climbing

Algoritma :

1. Mulai keadaan awal, lakukan pengujian: jika tujuan maka stop,jika tidak maka lanjuntukan dengan keadaan sekarang sebagai keadaan awal.

2. Ulangi langkah berikutnya hingga solusi ditemukan atau sampai tidak ada operator baru yang diaplikasikan pada keadaan sekarang:

Page 28 of 98

a. Pilih operator yang belum pernah digunakan, gunakan operator untukmendapatkan keadaan yang baru

b.Evaluasi keadaan baru tersebut :

(i) Jika keadaan baru adalah tujuan, keluar

(ii) Jika tidak, namun nilainya lebih baik dari keadaan sekarang, maka jadikan keadaan baru tersebutmenjadi keadaan sekarang

(iii) Jika keadaan baru tidaklebih baik daripada keadaan sekarang, makalanjuntukan iterasi

Masalah yangakan timbulpadaprosedur Hill Climbing :

 Local optimum : adalah suatu keadaan yang lebih baik daripada semua tetangganya namun masih belum lebih baik dari suatu keadaan lain yang jauh letaknya darinya  Sering muncul ketika sdh mendekati solusi.

Gambar 4.5. Hill Climbing

 Plateau(Daratan):adalah suatu daerah datar dari ruang pencarian (search) dimana keadaan semua tetangga sama dengann keadaan dirinya

 Ridengane (Punggung) : local optimum yang lbh disebabkan karena ketidak mampuan untuk menggunakan 2 operator sekaligus.

Solusinya:

1. Melakukan langkah balik (backtracking) ke simpul yang lebih awal dan mencoba bergerak ke arah yang lain.

2. Melakukan lompatan besar ke suatu arah untuk mencoba bagian ruang pencarian yang baru.

3. Menerapkan dua atau lebih aturan sebelum melakukan uji coba. Ini bersesuaian dengan bergerak ke beberapa arah sekaligus.

Contoh Soal :

Selesaikan permasalahan TSP pada Gambar 4.1 dengan menggunakan metode Simple Hill

Climbing

Jawab :

 Operator yang digunakan adalah operator yang bisa menghasilkan kombinasi lintasan kota yang berbeda, yaitu dengan menukar urutan posisi 2 kota dalam suatu lintasan.  Bila ada n kota maka kombinasi lintasan :

Sehingga kalau ada 4 kota, menjadi: 6 )! 2 4 ! ( 2 ! 4

kombinasi. Keenam kombinasi ini akan dipakai semuanya sebagai operator, yaitu

 2!

!

2

!

n

n

Page 29 of 98

1. (1,2) tukar urutan posisi kota ke-1 dengan kota ke-2 2. (2,3) tukar urutan posisi kota ke-2 dengan kota ke-3 3. (3,4) tukar urutan posisi kota ke-3 dengan kota ke-4 4. (4,1) tukar urutan posisi kota ke-4 dengan kota ke-1 5. (2,4) tukar urutan posisi kota ke-2 dengan kota ke-4 6. (1,3) tukar urutan posisi kota ke-1 dengan kota ke-3

Pencarian dilihat dari anak kiri, bila nilai heuristik anak kiri lebih baik maka dibuka untuk pencarian selanjutnya, bilatidak baru melihat tetangga dari anak kiri tersebut.

Pada pencarian ini, penggunaan urutan dari kombinasi harus konsisten, misalnya pada penyelesaian ini urutan sesuai no 1 sampai dengan 6 seperti yang ada di atas. Urutan kombinasi yang lain juga diperkenankan, yang penting konsisten untuk semua level. Untuk lebih jelasnya bisa dilihat seperti pada Gambar 4.2.

Gambar 4.2 Metode Simple Hill Climbing dengan 6 operator. Keterangan Gambar 4.2:

o Pada Gambar 4.2 terlihat bahwa, pada keadaan awal, lintasan terpilih adalah ABCD (=19).

o Pada level pertama, hill climbing akan mengunjungi BACD (=17), BACD memiliki nilai heuristik lebih kecil dibandingkan dengan ABCD (17<19), sehingga BACD menjadi pilihan selanjutnya dengan operator Tukar1,2.

o Pada level kedua, hill climbing akan mengunjungi ABCD. Karena operator Tukar1,2 sudah digunakan oleh BACD, maka dipilih node yang lain yaitu BCAD (=15). Karena

ABCD D

BACD ACBD ABDC DBCA

Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 ADCB CBAD Tk 2,4 Tk 1,3 (19) (17)

ABCD BCAD BADC DACB

Tk 1,2

Tk 2,3 Tk 3,4 Tk 4,1

BDCA CABD

Tk 2,4 Tk 1,3

(15)

CBAD BACD BCDA DCAB BDAC ACBD

Tk 1,2 Tk 2,3 Tk 4,1

Tk 2,4 Tk 1,3 Tk 3,4

(20) (18) (17) (14)

DBAC BADC BDCA CDAB

Tk 1,2 Tk 3,4 Tk 4,1

BCAD ADBC

Tk 2,4 Tk 1,3

(15) (21) Tk 2,3 (13)

DBCA BCDA BDAC ADCB

Tk 1,2 Tk 3,4 Tk 4,1

BACD CDBA

Tk 2,4

(12) Tk 2,3 Tk 1,3

BDCA DCBA DBAC ABCD DACB CBDA

Tk 1,2 Tk 2,3 Tk 4,1

Tk 2,4 Tk 1,3 Tk 3,4

(19) (15) (19) (16) (15)

Page 30 of 98

nilai heuristik BCAD lebih kecil dibanding dengan BACD (15<17), maka node BCAD akan menjadi pilihan selanjutnya dengan operator Tukar2,3.

o Kemudian hill climbing akan mengunjungi CBAD (=20). Karena nilai heuristik CBAD lebih besar jika dibanding dengan BCAD (20>17), maka dipilih node lain.

o Pencarian menuju ke node BACD, karena operator Tukar2,3 sudah pernah digunakan oleh BCAD, maka dipilih node lain.

o Kunjungan berikutnya ke node BCDA (=18). Nilai inipun masih lebih besar dari nilai heuristic BCAD, sehingga dipilih node lain.

o Node yang dikunjungi berikutnya adalah DCAB (=19). Nilai heuristik DCAB ternyata juga lebih besar dibanding dengan BCAD, sehingga pencarian dilanjuntukan di node lainnya lagi, yaitu BDAC (=14). Nilai heuristik ini sudah lebih kecil daripada nilai heuristik node BCAD (14<15), maka sekarang node ini yang akan diekplorasi.

o Pencarian pertama ditemukan node DBAC (=21), yang lebih besar daripada nilai BDAC. Nilai heuristik yang lebih kecil diperoleh pada node BDCA (=13). Sehingga node BDCA ini akan diekplorasi.

o Pencarian pertama sudah mendapatkan node dengan nilai heuristik yang kebih kecil, yaitu DBCA (=12). Sehingga node ini diekplorasi juga.

o Dari hasil ekplorasi dengan pemakaian semua operator, ternyata sudah tidak ada node yang memiliki nilai heuristik yang lebih kecil dibanding dengan nilai heuristik DBCA, sehingga sebenarnya node DBCA (=12) inilah lintasan terpendek yang kita cari (SOLUSI).

 Misalkan tidak dipergunakan semua operator, melainkan hanya dipergunakan 4 operator pertama saja, yaitu:

(a) Tukar 1,2 (menukar urutan posisi kota ke-1 dengan kota ke-2). (b) Tukar 2,3 (menukar urutan posisi kota ke-2 dengan kota ke-3). (c) Tukar 3,4 (menukar urutan posisi kota ke-3 dengan kota ke-4). (d) Tukar 4,1 (menukar urutan posisi kota ke-4 dengan kota ke-1).

 Maka pencarian dengan simple hill climbing ini dapat dilihat pada Gambar 4.3. Lintasan terpendek yang diperoleh adalah B-C-A-D yaitu sepanjang 15. Disini kita akan terjebak pada nilai minimum lokal yang disebabkan oleh kurangnya operator yang kita gunakan. Kita tidak dapat memperoleh nilai minimum globalnya yaitu sebesar 12.

Gambar 4.3. Metode Simple Hill Climbing dengan 4 operator.

ABCD

BACD ACBD ABDC DBCA

ABCD BCAD BADC DACB

Tukar 1,2

Tukar 2,3 Tukar 3,4 Tukar 4,1

Tukar 1,2 Tukar 2,3

Tukar 3,4

Tukar 4,1

CBAD BACD BCDA DCAB

Tukar 1,2 Tukar 2,3 Tukar 3,4 Tukar 4,1 (19) (17) (15) (20) (17) (18) (17)

Page 31 of 98

KelemahanSimple Hill Climbing :

1. tidak semua solusi dapat ditemukan seperti pada metode generate and test 2. pembatasan kombinasi operator  penemuan solusi yang tidak maksimal

3.2. Steepest-Ascent Hill Climbing

 Algoritma :

(1) Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan jika tidak, lanjuntukan 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 heuristik terbaik dari successor-successor. (b) Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang: i.Gunakan operator tersebut dan bentuk keadaan baru.

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

(c) Jika SUCC lebih baik daripada nilai heuristik keadaan sekarang, ubah node SUCC menjadi keadaan sekarang.

Pada steepest-ascent hill climbing ini, ada 3 masalah yang mungkin, yaitu:

(1) Local optimum: keadaan semua tetangga lebih buruk atau sama dengan keadaan

dirinya.

(2) Plateau: keadaan semua tetangga sama dengan keadaan dirinya.

(3) Ridengane: local optimum yang lebih disebabkan karena ketidakmampuan untuk

menggunakan 2 operator sekaligus.

Contoh Soal :

Selesaikan permasalahan TSP pada Gambar 4.1 dengan menggunakan metode steepest

ascent hill climbing

Jawab :

Pada metode ini, juga dipergunakan 6 operator seperti operator yang dipergunakan unttuk menyelesaikan TSP pada Simple Hill Climbing. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi.

Gambar 4.4 Metode Steepest Ascent Hill Climbing  Keterangan gambar 4.4.:

o Pada Gambar 4.4, terlihat bahwa, keadaan awal, lintasan terpilih adalah ABCD (19). o Pada level pertama, hill climbing akan memilih nilai heuristik terbaik dari keenam

succesor yang ada, yaitu: BACD(17), ACBD(12), ABDC(18), DBCA(12), ADCB (18) atau CBAD(20). Tentu saja yang terpilih adalah ACBD, karena memiliki nilai heuristik paling kecil (=12).

ABCD

ACBD ABDC DBCA

Tk 1,2 Tk 3,4 Tk 4,1 ADCB CBAD Tk 2,4 Tk 1,3 (19) (17)

CABD ABCD ACDB DCBA

Tk 2,3 Tk 3,4 Tk 4,1 ADBC BCAD Tk 2,4 Tk 1,3 (15) Tk 2,3 (12) (18) (12) (18) (20) BACD (13) Tk 1,2 (19) (16) (15) (19)

Page 32 of 98

o Dari ACBD ini akan dipilih nilai heuristik terbaik dari succesornya yaitu: CABD(15), ABCD(19), ACDB(13), DCBA(19), ADBC(16) atau BCAD(15). Ternyata dari keenam successor tersebut memiliki nilai heuristik yang lebih besar disbanding dengan ACBD. o Sehingga tidak akan ada perubahan nilai keadaan (tetap ACDB). Hasil yang diperoleh,

lintasannya adalah ACBD (12).

4. BEST FIRST SEARCH

 Merupakan kombinasi kelebihan teknik depth first search dan breadth first search

 Pencarian diperkenankan mengunjungi node yang ada di level yang lebih rendah jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristik yang buruk  Best First Search akan membangkitkan node berikutnya dari semua node yang pernah

dibangkitkan

 Hill climbing tidak diperbolehkan untuk kembali ke node pada lebih rendah meskipun node tersebut memiliki nilai heuristik lebih baik.

 Pada best first search, pencarian diperbolehkan mengunjungi node di lebih rendah, jika ternyata node di level lebih tinggi memiliki nilai heuristik lebih buruk.

Pada metode Best First Search cara untuk menentukan sebuah node terbaik saat inidengan menggunakan biaya perkiraan. Biaya perkiraan dapat ditentukan dengan fungsi

heuristic. Suatu fungsi heuristic dikatakan baik jika bisa memberikan biaya perkiraan

yang mendekati biaya sebenarnya.Semakin mendekati biaya sebenarnya, fungsi heuristic tersebut semakin baik.

Dalam kasus pencarian rute terpendek, biaya sebenarnya adalah panjang jalanRaya yang sebenarnya. Sedangkan fungsi heuristiknya adalah garis lurus dari1 kota ke kota lainnya.

Gambar 4.6. Hill Climbing

Untuk menghitung jarak antar kota bisa dipergunakan rumus euclidian: dab = ( yb – ya )2 + ( xb – xa )2

Untuk mengimplementasikan metodeBest First Search ini, dibutuhkan 2 antrian yang berisi node-node, yaitu :

 OPEN : berisi node-node yang sudah dibangkitkan, sudah memiliki fungsi heuristik namun belum diuji. Umumnya berupa antrian berprioritas yang berisi elemen-elemen dengan nilai heuristik tertinggi.

 CLOSED : berisi node-node yang sudah diuji

Pada modul ini diperkenalkan 2 algoritma yang tergolong Best First Search yaitu : 1. Greedy Best First Search

Page 33 of 98

4.1. Greedy Best First Search

 Algoritma ini merupakan jenis algoritma Best First Search yang paling sederhana  Algoritma ini hanya memperhitungkan biaya perkiraan saja

f(n) = h’(n)

 Karena hanya memperhitungkan biaya perkiraan yang belum tentu kebenarannya, maka algoritma ini menjadi tidak optimal

Contoh soal:

Dari gambar 4.7, lalukan penemuan jalur terpendek dari Arad menuju ke Bucharet dengan menggunakan menggunakan algoritma Greedy,

Gambar 4.7Kota Romania

Page 34 of 98

Gambar 4.8Penyelesaian TSP Romania dengan algoritma Greedy

Properti dari greedy best-first search

 Complete?Tidak, dapat terjebak dalam looping,contoh: Iasi  Neamt  Iasi  Neamt 

 Time?O(bm), tetapiheuristikyang baikdapat memberikanperbaikan secara dramatis

 Space?O(bm) -- menyimpansemua nodedalam memori

 Optimal?Tidak (memperluas jalurbiayaminimal tapitidak bisamenjadi optimal)

4.2. Algoritma A*(Admissible Heuristic )

 Berbeda dengan Greedy, algoritma ini akan menghitung fungsi heuristic dengan cara menambahkan biaya sebenarnya dengan biaya perkiraan.

 Heuristik adalah kriteria, metoda, atau prinsip-prinsip untuk menentukan pilihansejumlah alternatif untuk mencapai sasaran dengan efektif.

 Nilai heuristik dipergunakan untukmempersempit ruang pencarian

 Dengan heuristik yang benar, maka A* pasti akan mendapatkan solusi (jika memang ada solusinya) yang dicari.

 Dengan kata lain, heuristik adalah fungsi optimasi yang menjadikan algoritma A* lebih baik dari pada algoritma lainnya.

 Namun heuristik masih merupakan estimasi / perkiraan biasa saja,sama sekali tidak ada rumus khususnya. Artinya, setiap kasus memiliki fungsi heuristik yang

berbedabeda.

 Algoritma A* ini bisa dikatakan mirip dengan algoritma Dijkstra, namun pada algoritma Dijkstra, nilai fungsi heuristiknya selalu 0 (nol) sehingga tidak ada fungsi yang

mempermudah pencarian solusinya.

 Metode ini berdasarkan formula fungsi evaluasi: f(n) = g(n) + h(n)

Keterangan :

h(n) = biaya estimasi dari node n ke tujuan. g(n) = biaya path / perjalananuntuk menuju n

f(n) = solusi biaya estimasi termurah node n untuk mencapai tujuan. (Russell, Stuart J and Norvig, Peter, 2003).

Langkah Algoritma A*

1. Masukan node awal ke openlist

Loop Langkah – langkah di bawah ini :

a. Cari node (n) dengan nilai f(n) yang paling rendah dalamopen list. Node ini sekarang menjadi current node.

Page 35 of 98

c. Untuk setiap tetangga dari current node lakukan berikut :

• Jika tidak dapat dilalui atau sudah ada dalam close list, abaikan.

• Jika belum ada di open list . Buat current node parent dari node tetangga ini. Simpan nilai f,g dan h dari node ini.

• Jika sudah ada di open list, cek bila node tetangga ini lebih baik, menggunakan nilai g sebagai ukuran. Jika lebih baik ganti parent dari node ini di openlist menjadi current node, lalu kalkulasi ulang nilai g dan f dari node ini.

Contoh 1:

Dari gambar 4.7, lalukan penemuan jalur terpendek dari Arad menuju ke Bucharet dengan menggunakan menggunakan algoritma A*

Page 36 of 98

Gambar 4.9Penyelesaian TSP Romania dengan algoritma A*

Contoh 2

Temukan jalur terpendek dari S menuju ke G dengan menggunakan lgoritma A*, pada Gambar 4.10

Gambar 4.10. Graph dengan informasi biaya dan jarak antar kota

Penyelesaian

Page 37 of 98

Gambar 4.12. langkah 3 penyelesaian dengan algoritma A*

Gambar 4.13. langkah 4 dan 5 penyelesaian dengan algoritma A*

Page 38 of 98

Gambar 4.15. langkah 7 penyelesaian dengan algoritma A*

Gambar 4.16. langkah 8 penyelesaian dengan algoritma A*

Gambar 4.17. langkah 9(sudah ditemukan jarak terpendek menuju kota G)

Jadi jalur terpendek untuk menuju kota G dari S adalah : S- A-B-F-K-G dengan total jarak 95

Page 39 of 98

Properties A*

 Complete? Ya (kecuali adanodetak terhinggadengan f ≤ f(G) )  Time? Exponential

 Space?Menyimpan semua node dalam memori  Optimal? Ya

REFERENSI

 Anonim, TEKNIK PENCARIAN HEURISTIK(HEURISTIC SEARCHING),

http://journal.mercubuana.ac.id/data/Heuristic-search.pdf, tanggal akses 15 Agustus 2012

 Anonim, HEURISTIC SEARCH Presentation Part IV,

,http://hxpinter.files.wordpress.com/2012/11/ai_04.ppt,tanggal akses 15 Agustus 2012

 Anonim, TeknikPencarianHeuristik, http://

hendrik.staff.gunadarma.ac.id/.../files/.../teknik-pencarian-heuristik.p...,, tanggal akses 20 Agustus 2012

 Azhar,Yulis,heuristic Search Best First Search , Teknik Informatika -UMM,

Dokumen terkait