• Tidak ada hasil yang ditemukan

BAB IV TEKNIK PELACAKAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV TEKNIK PELACAKAN"

Copied!
21
0
0

Teks penuh

(1)

BAB IV

TEKNIK PELACAKAN

A. Teknik Pelacakan

Pelacakan adalah teknik untuk pencarian :sesuatu”. Didalam pencarian ada dua kemungkinan hasil yang didapat yaitu menemukan dan tidak menemukan. Sehingga pencarian merupakan teknik yang penting dalam AI. Hal penting dalam menentukan keberhasilan sistem berdasar kecerdasan adalah kesuksesan dalam pencarian dan pencocokan.

Keberhasilan dan kualitas pencarian diukur adari empat cara yaitu: 1. Kelengkapan

Apakah algoritma pencarian menjamin untuk mendapatkan sebuah penyelesaian jika ada penyelesaian ?

2. Optimal

Apakah algoritma pencarian akan mendapatkan penyeleaian optimal (Misal: penyelesaian dengan biaya lintasan minimum)

3. Kekompleksan waktu

Berapa lama waktu yang digunakan untuk menyelesaian permasalahan ? 4. Kekompleksan Ruang

Berapa banyak memori yang dibutuhkan untuk melakukan pencarian

Ada beberapa teknik pelacakan:

Depth-first Hill-climbing

Some path Breadth-first

Beam Best-first

British museum

(2)

Dynamic Programming A*

Minimax

Alpha-beta pruning

Games Progressive deepening

Heuristic Pruning

Heuristik continuation

Mis. mencari lintasan(path) dari satu kota ke kota lain, dalam suatu jaringan kota Gb.1

A B C

S

G

D E F

Lintasan dimulai dari S (starting point) ke G (tujuan akhir) Pencarian lintasan:

1. mencari beberapa lintasan (some path) atau lintasan terpendek 2. berapa banyak traversing lintasan

Sering pergi dari S ke G, akan beruntung jika mencari lintasan yang paling pendek. Jika hanya sekali, lebih baik mencari some path (sembarang lintasan) dan lintasan optimal bisa dicari kemudian.

Cara termudah merubah peta lintasan ke dalam bentuk pohon (tree), dengan membuat beberapa kemungkinan lintasan dari S ke G,

(3)

S A D B D A E C E E B B F 11 D F B F C E A C G 14 G C G 17 F 15 15 13 19 19 17 G 25 Istilah

- Simpul (node) , link : hubungan antar node, induk dan anak - Akar (root) : node pada puncak (top) of tree

- Terminal node : node yang tidak mempunyai anak - Suatu node adalah ancestor node yang lain (descendant)

jika jumlah anak untuk setiap node sama, maka jumlah anak tersebut disebut branching

factor

ekspansi simpul (expanding node): proses pembentukan simpul anak dari suatu simpul n node selalu open sampai dia expanded (selesai diperiksa) / closed

B. Pencarian Buta Melebar Pertama (Breadth First Search)

Pada metode ini semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus

(4)

A

B C D

E F G H I J K L M

ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukan solusi. (gambar 4.1)

Algoritma Breadth First:

1. Buat suatu variable Node_list dan tetapkan sebagai keadaan awal.

2. Kerjakan langkag-langkah berikut ini sampai tujuan tercapai atau Node_lIst dalam keadaan kosong:

a. Hapus elemen pertama dari Node_list, sebut dengan nama E. Jika Node_list kosong, maka Keluar.

b. Pada setiap langkah yang aturannya cocok dengan E, kerjakan:

- Aplikasikan aturan tersebut untuk membentuk sustu keadaan baru. - Jika keadaan awal adalah tujuan yang diharapkan, sukses, dan keluar - Jika tidak demikian, tambahkan keadaan awal yang baru tersebut

pada akhir Node_list ¾ Keuntungan:

1. Tidak akan menemui jalan buntu.

2. Jika ada satu solusi, maka breadth first search akan menemukan. Jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan.

¾ Kelemahan:

1. Membutuhkan memori yang besar, karena menyimpan semua node dalam satu pohon.

2. Membutuhkan waktu yang lama, karena akan menguji n level untuk mendapatkan solusi pada level yang ke- (n+1).

(5)

d d-1

tujuan ¾ Analisis Ruang dan Waktu

1. Diasumsikan:

ƒ Ada satu solusi (I tujuan ditemukan) pada pohon.

ƒ Pohon pelacakan memiliki cabang yang selalu sama, yaitu sebanyak b. ƒ Tujuan dicapai pada level ke-d.

ƒ Tujuan dicapai pada pertengahan pohon ( kondisi rata-rata) 2. Analisis Ruang

- Antrian pertama memiliki 1 keadaan.

- Setelah mencapai langkah pertama, antrian akan berisi b keadaan.

- Pemrosesan setiap b keadaan pada level ke-0 akan menambahkan b keadaan lagi pada antrian.

- Sehingga setelah dilakukan pemrosesan semua keadaan pada level ke-d, maka antrian akan menyimpan keadaan sebanyak bd−1.

- Karena diasumsikan bahwa tujuan terletak di tengah, maka antrian akan menyimpan bd−1/2 keadaan (Gambar 4.2)

3. Analisis Waktu

ƒ Ukuran waktu diambil dari banyaknya keadaan yang dikunjungi. Jika diasumsikan bahwa setiap node membutuhkan waktu yang sama dalam pemrosesan maka:

Waktu = waktu untuk memproses node-node di level 1 + Waktu untuk memproses node-node di level 2 +…+ Waktu untuk memproses node-node di level ke-(d-1) + Waktu untuk memproses node-node di level ke-(d)/2

= 1 + b + b2 + b3 +…….+ bd−1 + bd/2 = 0 (bd)

(6)

C. Pencarian Mendalam Pertama ( Depth First Search)

Pada Depth First Search, Proses pencarian akan dilakukan pada semua anak sebelum dilakukan pencarian ke node-node yang selevel. Pencarian dimulai dari dari node akarke level yang lebih tinggi. Proses ini diulangi terus hingga ditemukan solusi. (gambar 4.3)

• termasuk teknik pelacakan sistematis

• ruang keadaan direpresentasikan dg. diagram pohon mapun grafik • asumsi one path is as good as any other

• ambil salah satu cabang ( left-to-right order) • simpul-simpul paling dalam diperiksa lebih dahulu

• lebih efektif digunakan jika simpul sasaran (Goal) terletak pada lokasi yang lebih dalam.

contoh

simpul S → A → B → C, belum mendapatkan G, kembali ke ancestor terdekat (B), mencari alternatif lain, go to the right

B → E → D, belum mencapai G,

kembali ke ancestor terdekat (E), mencari alternatif lain, go to the right E → F → G S A D B • C E • D F • G •

(7)

Langkah-langkah depth-first-search :

• bentuk queue satu elemen Q (one-elemen-queue) yang berisi simpul akar

• sampai queue kosong atau Goal bisa dicapai, tentukan bahwa elemen pertama dari Q adalah simpul Goal

1. bila elemen pertama Q adalah simpul Goal do nothing

2. bila elemen pertama Q, BUKAN simpul Goal, ambil elemen pertama dari Q dan tambahkan elemen pertama dari anak-anaknya (first element’s children), from the left to the right, ke elemen depan Q

• jika Goal telah dicapai, nyatakan SUKSES, otherwise nyatakan GAGAL Urutan pelacakan dengan depth-first-search

S, A , B, C, E, D, F, G

Efficiensi dari pelacakan ini dapat ditingkatkan dengan memperhitungkan pemilihan urutan dari cabang pohon yang dipilih (tidak selalu from left-to-the-right). Pilihlah cabang yang menjanjikan terlebih dahulu (shortest distance) ¾ Keuntungan

ƒ Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan.

ƒ Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak lagi yang lain.

¾ Kelemahan:

ƒ Memungkinkan tidak ditemukannya tujuan yang diharapkan. ƒ Hanya akan mendapatkan 1 solusi pada setiap pencarian ¾ Analisis Ruang dan Waktu

1. Analisis Ruang

ƒ Setelah berjalan 1 langkah, stack akan berisi b node. ƒ Setelah berjalan 2 langkah, stack akan berisi (b-1)+b node ƒ Setelah berjalan 3 langkah, stack akan berisi (b-1)+(b-1)+b node

ƒ Setelah berjalan d langkah, stack akan berisi (b-1)x d+1, mencapai maksimum 2. Analisis Waktu

(8)

ƒ Pada kasus terbaik, depth-first-search akan mencapai tujuan pada kedalaman d pertama, sehingga dibutuhkan pencarian sebanyak d+1 node.

ƒ Pada kasus terburuk , depth-first-search akan mencapai tujuan pada kedalaman d pada node terakhir, sehingga dibutuhkan pencarian sebanyak : 1+b+b2+b3+….+bd = (bd+1-1)/(b-1)

D. Pembangkitan & Pengujian (Generate And Test)

Pada prinsipnya metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur (backtracking), yaitu bergerak ke belakang menuju pada suatu keadaan awal. Nilai pengujian berupa jawaban ‘ya’ atau ‘tidak’.

Algoritma:

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

2. Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara membandingkan node tersebut atau node akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan yang diharapkan.

3. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah yang pertama.

Contoh 2.3: Traveling Salesman Problem (TSP).

Seorang salesman ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti terlihat pada Gambar

Gambar 4.1 Contoh kasus TSP.

A B

D C

8

6

(9)

Disini, penyelesaian dengan menggunakan generate & test dilakukan dengan

membangkitkan solusi-solusi yang mungkin dengan menyusun kota-kota dalam urutan abjad, yaitu:

• A – B – C – D • A – B – D – C • A – C – B – D • A – C – D – B

• Dan seterusnya (Gambar 2.21).

Gambar 4.2 Metode Generate dan Test

Misalkan pertama-tama kita mulai dari node A. Kita pilih sebagai keadaan awal adalah lintasan ABCD dengan panjang lintasan (=19). Kemudian kita lakukan backtracking untuk mendapatkan lintasan ABDC (=18). Lintasan ini kita bandingkan dengan lintasan ABCD, ternyata ABDC < ABCD, sehingga lintasan terpilih adalah ABDC. Kita lakukan backtracking lagi untuk mendapatkan lintasan ACBD (=12), ternyata ACBD < ABDC, maka lintasan terpilih sekarang adalah ACBD. Demikian seterusnya hingga kita temukan solusi yang sebenarnya. Tabel 4.3 menunjukkan proses pencarian tersebut.

Dari Tabel 4.3 dapat dilihat bahwa pada akhir pencarian, kita peroleh lintasan terpendek adalah A-C-B-D atau D-B-A-C dengan panjang lintasan sebesar 12.

Salah satu kelemahan dari metode generate & test ini adalah perlu membangkitkan semua kemungkinan sebelum dilakukan pengujian, sehingga membutuhkan waktu yang cukup besar dalam pencariannya.

A B C D

B C D

C D B D C B

(10)

Tabel 4.3 Alur pencarian dengan generate & test pada TSP. Pencarian

ke- Lintasan

Panjang

Lintasan 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

(11)

E. Pendakian Bukit (Hill Climbing)

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

• Mencari solusi pada persoalan-persoalan dimana fungsi harga suatu simpul ke sasaran bisa ditaksir, walaupun tidak selalu benar (heuristik)

• Pencarian lintasan menuju ke Goal dilakukan dengan cara yang sama dengan depth-first Search, tetapi

• Pemilihan urutan cabang pohon yang ditelusuri berdasarkan pengukuran jarak tempuh yang terpendek

• Lebih bagus dari depth-first search

langkah-langkah Hill-Climbing Search

• Bentuk queue satu elemen Q (one-elemen-queue) yang berisi simpul akar

• Sampai queue kosong atau Goal bisa dicapai, tentukan bahwa elemen pertama dari Q adalah simpul Goal

¾ bila elemen pertama Q adalah simpul Goal do nothing

¾ bila elemen pertama Q, BUKAN simpul Goal, ambil elemen pertama dari Q dan pilihlah elemen pertama dari anak-anaknya yang memiliki jarak tempuh

terpendek ke Goal, jika ada, tambahkan ke elemen depan Q

(12)

1. Simple Hill Climbing Algoritma:

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:

(a.) Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.

(b.) Evaluasi keadaan baru tersebut.

i. Jika keadaan baru merupakan tujuan, keluar.

ii. Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.

iii. Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.

Pada simple hill climbing ini, ada 3 masalah yang mungkin, yaitu: • Algoritma akan berhenti kalau mencapai nilai optimum local.

• Urutan penggunaan operator akan sangat berprngaruh pada penemuan solusi. • Tidak diijinkan untuk melihat satupun langkah sebelumnya.

Contoh 2.4: Traveling Salesman Problem dengan simple hill climbing.

Disini ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota yang bersebelahan. Fungsi heuristik yang

(13)

Gambar 4.4 Metode Simple Hill Climbing dengan 6 operator.

Operator yang akan kita gunakan, adalah menukar urutan posisi 2 kota dalam suatu lintasan. Apabila ada n kota, dan kita ingin mencari kombinasi lintasan dengan menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak:

)! 2 n !( 2 ! n −

Sehingga kalau ada 4 kota, kita bisa memperoleh: 6 )! 2 4 !( 2 ! 4 = − kombinasi.

Keenam kombinasi ini akan kita pakai semuanya sebagai operator, yaitu: Ò Tukar1,2 (menukar urutan posisi kota ke-1 dengan kota ke-2).

ABC

BAC ACB ABD DBC

Tk 1,2 Tk 2,3 Tk 3,4 Tk 4,1 ADC CBA Tk 2,4 Tk 1,3 (19) (17)

BCA BAD DAC

Tk 1,2

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

BDC CAB

Tk 2,4 Tk 1,3

(15)

CBA BAC BCD DCA BDA ACB

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

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

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

DBA BAD BDC CDA

Tk 1,2 Tk 3,4 Tk 4,1 BCA ADB Tk 2,4 Tk 1,3 (15) (21) Tk 2,3 (13) DBC BCD BDA ADC Tk 1,2 Tk 3,4 Tk 4,1 BAC CDB Tk 2,4 (12) Tk 2,3 Tk 1,3

BDC DCB DBA ABC DAC CBD

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

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

(14)

Ò Tukar2,3 (menukar urutan posisi kota ke-2 dengan kota ke-3). Ò Tukar3,4 (menukar urutan posisi kota ke-3 dengan kota ke-4). Ò Tukar4,1 (menukar urutan posisi kota ke-4 dengan kota ke-1). Ò Tukar2,4 (menukar urutan posisi kota ke-2 dengan kota ke-4). Ò Tukar1,3 (menukar urutan posisi kota ke-1 dengan kota ke-3).

Pada Gambar 4.4 terlihat bahwa, pada keadaan awal, lintasan terpilih adalah ABCD (=19). Pada level pertama, hill climbing akan mengunjungi BACD (=17) yang ternyata memiliki nilai heuristik lebih kecil dibandingkan dengan ABCD (17<19), sehingga BACD menjadi pilihan selanjutnya dengan operator terpakai Tukar1,2. 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 nilai heuristik BCAD lebih kecil dibanding dengan BACD (15<17), maka node BCAD akan menjadi pilihan selanjutnya dengan operator Tukar2,3. Kemudian hill climbing akan mengunjungi CBAD (=20). Karena nilai heuristik CBAD lebih besar jika dibanding dengan BCAD (20>17), maka dipilih node lain. Pencarian menuju ke node BACD, karena operator Tukar2,3 sudah pernah digunakan oleh BCAD, maka dipilih node lain. Kunjungan berikutnya ke node BCDA (=18). Nilai inipun masih lebih besar dari nilai heuristic BCAD, sehingga dipilih node lain. Node yang dikunjungi berikutnya adalah DCAB (=19). Nilai heuristik DCAB ternyata juga lebih besar dibanding dengan BCAD, sehingga pencarian dilanjutkan 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. 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. Pencarian pertama sudah mendapatkan node dengan

(15)

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

Misalkan kita tidak menggunakan semua operator, melainkan kita hanya menggunakan 4 operator pertama saja, yaitu:

Ò Tukar 1,2 (menukar urutan posisi kota ke-1 dengan kota ke-2). Ò Tukar 2,3 (menukar urutan posisi kota ke-2 dengan kota ke-3). Ò Tukar 3,4 (menukar urutan posisi kota ke-3 dengan kota ke-4). Ò Tukar 4,1 (menukar urutan posisi kota ke-4 dengan kota ke-1).

maka pencarian dengan simple hill climbing ini dapat dilihat pada Gambar 2.23. 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.5. Metode Simple Hill Climbing dengan 4 operator. ABC

BAC ACB ABD DBC

ABC BCA BAD DAC

Tukar 1,2

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

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

Tukar 4,1

CBA BAC BCD DCA

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

(16)

2. 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. Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik. Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi.

Algoritma:

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 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:

• Local optimum: keadaan semua tetangga lebih buruk atau sama dengan keadaan dirinya.

(17)

• Ridge: local optimum yang lebih disebabkan karena ketidakmampuan untuk menggunakan 2 operator sekaligus.

Contoh 2.5: Traveling Salesman Problem dengan steepest ascent hill climbing.

Gambar 4.6 Metode Steepest Ascent Hill Climbing.

Pada Gambar 4.6, terlihat bahwa, keadaan awal, lintasan terpilih adalah ABCD (19). 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). 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 ACDB. Sehingga tidak akan ada perubahan nilai keadaan (tetap ACDB). Hasil yang diperoleh, lintasannya adalah ACDB (12).

ABC ACB ABD DBC Tk 1,2 Tk 3,4 Tk 4,1 ADC CBA Tk 2,4 Tk 1,3 (19) (17)

CAB ABC ACD DCB

Tk 2,3 Tk 3,4 Tk 4,1 ADB BCA Tk 2,4 Tk 1,3 (15) Tk 2,3 (12) (18) (12) (18) (20) BAC (13) Tk 1,2 (19) (16) (15) (19)

(18)

F. Pencarian Terbaik Pertama (Best First Search)

Metode Best First Search merupakan kombinasi dari metode Depth First Search

dan Breadth First Search dengan mengambil kelebihan dari kedua metode tersebut. Apabila metode Hill Climbing tidak diperbolehkan untuk kembali ke node pada level yang lebih rendah meskipun node pada level yang lebih rendah tersebut memiliki nilai heuristic yang lebih baik, lain halnya dengan metode Best First Search. Pada Best First

Search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih rendah,

jika ternyata node pada yang lebih tinggi ternyata memiliki nilai heuristic yang lebih buruk.

• gabungan dari metode depth-first dan bread-first search

• setiap step search, pilih node yang paling menjanjikan (mis. jarak paling pendek), dengan mengaplikasikan fungsi heuristik

• expansikan node tersebut → successors

• jika salah satu successors adalah Goal, maka SUKSES • jika tidak ulangi proses di atas

Algoritma:

1. Tempatkan node awal A pada antrian OPEN.

2. Kerjakan langkah-langkah berikut hingga tujuan ditemukan atau antrian OPEN sudah kosong:

a. Ambil node terbaik dari OPEN; b. Bangkitkan semua successornya; c. Untuk tiap-tiap successor kerjakan:

(19)

i. Jika node tersebut belum pernah dibangkitkan sebelumnya, evaluasi node tersebut dan masukkan ke OPEN;

ii. Jika node tersebut sudah pernah dibangkitkan sebelumnya, ubah parent jika lintasan baru lebih menjanjikan. Hapus node tersebut dari antrian OPEN.

Gambar 4.7 menunjukkan metode pencarian terbaik pertama. Diasumsikan bahwa node dengan nilai yang lebih besar, memiliki nilai evaluasi yang lebih baik. Pada saat keadaan awal, antrian berisi A. Pengujian dilakukan pada level pertama, node D memiliki nilai terbaik, sehingga menempati antrian pertama, disusul dengan C dan B. Node D memiliki cabang E dan F yang masing-masing bernilai 2 dan 4. Dengan demikian C merupakan pilihan terbaik dengan menempati antrian pertama. Demikian seterusnya

Gambar 4.7 Metode Best-First Search

3 5 7 2 4 A 5 1 Antrian OPEN [A] [D,C,B] [C,F,B,E] [G,F,B,E,H] A B C D 3 5 A B C D C D 2 4 3 A B C D C D C D

(20)
(21)

Gambar

Tabel 4.3 Alur pencarian dengan generate &amp; test pada TSP.
Gambar 4.4  Metode Simple Hill Climbing dengan 6 operator.
Gambar 4.5. Metode Simple Hill Climbing dengan 4 operator.
Gambar 4.6  Metode Steepest Ascent Hill Climbing.
+2

Referensi

Dokumen terkait

PELATIHAN TEKNOLOGI JERAMI AMONIASI UNTUK PAKAN TERNAK SAPI BALI DALAM RANGKA MENDUKUNG PROGRAM SIMANTRI PADA KELOMPOK TERNAK “WIDHYA SEMESTI” DESA ANTURAN-BULELENG.. N.L..P

c. Mahasiswa dan Lulusan: 1) Secara kuantitatif, jumlah mahasiswa baru yang diterima Prodi PAI relatif stabil dan di atas rata-rata dibandingkan dengan jumlah

Hasil penelitian yang diperoleh adalah: (1) Surat kabar Perempoean Bergerak terbit di kota Medan pada tahun 1919 sebagai upaya bagi kaum perempuan pada masa

CCCTC-binding factor atau biasa disingkat dengan CTCF adalah protein yang memiliki banyak fungsi, di antaranya adalah sebagai insulator kromatin dan organisasi

[3.1] Menimbang bahwa maksud dan tujuan permohonan para Pemohon adalah pengujian Peraturan Pemerintah Pengganti Undang-Undang Nomor 4 Tahun 2009 tentang Perubahan Atas

Berdasarkan hasil analisis kandungan logam Cr, Cu, Zn pada daging kerang (A.granosa) dengan ukuran berbeda di perairan Desa Gemuruh Pulau Kundur yaitu, dimana

Menurut pendapat Setiati dkk, (2014) bahwa Chronic Kidney Disease (CKD) merupakan penyakit yang menyebabkan penurunan dari kinerja ginjal secara bertahap dan

Dari berbagai uraian di atas, dapat disimpulkan bahwa buku teks tematik berbasis kontekstual merupakan buku yang disusun secara sitematis, dikembangkan dari