part-3 true(problem space and search) rita

Post on 05-Feb-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

bv

TRANSCRIPT

SEARCHING (PENCARIAN)

By. Rita Wiryasaputra, ST., M.Cs.

Masalah ” kesenjangan antara yang diharapkan dengan kenyataan yang ada”

Pencarian/Searching teknik menyelesaikan masalah AIContoh aplikasi: Papan game dan puzzle (tic-tac-toe, catur, menara hanoi) Penjadwalan dan masalah routing (travelling salesman

problem) Logika pemrograman (pencarian fakta dan implikasinya) Parsing bahasa dan intepretasinya (pencarian struktur

dan arti) Computer vision dan pengenalan pola Sistem pakar berbasis kaidah (rule based expert system)

TUGAS Resume paper pada jurnal yang

berkaitan dengan aplikasi tersebut Tentukan jenis penelitian Data kuantitatif/ data kualitatif Berapa banyak data yang

digunakan/tipe

4

PROSES PEMBANGUNAN SISTEM

Mendefinisikan Masalah

Analisis

Solusi dengan model

Implementasi

Masalah dalam AI • masalah dapat dikonversi ke dalam ruang keadaan (state space)• mempunyai keadaan awal (initial state)• mempunyai keadaan tujuan (goal state)• dapat dibuat aturan (rule)

Teknik penyelesaian masalah: Pencarian (Searching) terdiri dari

Pencarian buta (Blind Search) dan Pencarian terbimbing (Heuristic Search)

Penalaran (Reasoning) Planning Learning

◊ Definisikan Ruang keadaan/masalah (State Space) ruang yang berisi semua keadaan yang mungkin◊ Tentukan Keadaan Awal (Initial State) keadaan dimulainya pencarian◊ Tentukan keadaan akhir/tujuan (Goal State) keadaan diakhirinya pencarian◊ Tentukan operatornya/ aturannya aturan yang digunakan untuk mengubah suatu keadaan ke keadaan lainnya

Untuk Mendefinisikan suatu masalah :

Permasalahan “Permainan Catur”, maka harus ditentukan :

1. Posisi Awal pd Papan Catur Posisi awal setiap permainan catur selalu sama, yaitu semua bidak diletakk-an di atas papan catur dalam 2 sisi, yaitu kubu putih dan kubu hitam :

2. Aturan-aturan untuk melakukan gerakkan secara legal aturan-aturan untuk menentukan gerakan suatu bidak, yaitu

melangkah dari satu keadaan ke keadaan lain. Misalkan untuk mempermudah menunjukkan posisi bidak, setiap

kotak ditunjukkan dalam huruf ( a, b, c, d, e. f. g. h) pada arah horizontal, dan angka(1, 2, 3, 4, 5, 6, 7, 8) pd arah vertikal.

Suatu aturan untuk menggerakkan bidak dari posisi (e,2) ke (e,4), ditunjukkan pd aturan sbb :

If Bidak Putih pada kotak (e,2), And Kotak(e, 3) Kosong And Kotak (e,4) KosongThen Gerakkan Bidak dari (e,2) ke (e,

4)

Seperti terlihat pd gambar berikut :

3. Tujuan (Goal)Tujuan yg ingin dicapai adl. Posisi pd papan catur yg menunjukkan kemenangan seseorg. Thdp lawannya. Kemenangan ini ditandai dgn posisi raja yg sudah tidak dapat bergerak lagi.

Ruang keadaan (State Space) yaitu : suatu ruang yg berisi semua keadaan yg mungkin.

PERMASALAHAN GELAS AIR Ada 2 buah gelas masing-masing

berkapasitas 4 galon (Gelas A) dan 3 galon (Gelas B). Tidak ada tanda yg menunjukkan batas ukuran pd kedua gelas tsb. Ada sebuah pompa air yg akan digunakan untuk mengisikan air pd kedua gelas tsb.

Permasalahannya : Bagaimanakah pengisian tepat 2 galon air ke dlm gelas yg berkapasitas 4 galon dan 3 galon air ke dlm gelas yang berkapasitas 3 galon???

Penyelesaian :

A. Identifikasi ruang keadaan Permasalahan ini dpt direpresentasikan dgn 2 bilangan

integer, yaitu, X dan Y :

• X = volume air yg diisikan pd gelas 4 galon (gelas A)• Y = volume air yg diisikan pd gelas 3 galon (gelas B)Ruang keadaan : (X,Y) sedemikian sehingga X € (0, 1,2,3,4) dan Y € (0,1,2,3)

B. Keadaan Awal dan Tujuan• Keadaan awal, kedua gelas dlm keadaan kosong : (0,0)• Tujuan, x = 2 galon dan y = 3 galon yang dinyatakan

sebagai (2,3)

4 Galo

n

3 Galo

n

Gelas “A” Gelas “B”

Pompa air berisi Air

tak terbatas

REPRESENTASI SPACE STATE:X | Y 0 1 2 3

0 (0,0) (0,1)

1 (1,0)

2 (2,0) (2,3)

3 (3,0) (3,2)

4 (4,0) (4,3)

KUMPULAN ATURAN/PRODUCTION RULES1. Isi penuh gelas berkapasitas 4 galon.

Jika keadaan sekarang (x < 4), maka keadaan selanjutnya (4,y)

2. Isi penuh gelas berkapasitas 3 galon. Jika keadaan sekarang (y < 3) , maka keadaan selanjutnya (x,3)

3. Kosongkan gelas berkapasitas 4 galon. Jika keadaan sekarang x > 0, maka keadaan selanjutnya (0,y)

4. Kosongkan gelas berkapasitas 3 galon. Jika keadaan sekarang y > 0, maka keadaan selanjutnya (x,0)

ATURAN LANJUTAN5. Tuangkan sebagian isi gelas berkapasitas 3 galon ke

gelas berkapasitas 4 galon hingga penuh. Jika keadaan sekarang (x+y > 4) dan (y>0), maka keadaan selanjutnya (4,y+x-4)

6. Tuangkan sebagian isi gelas berkapasitas 4 galon ke gelas berkapasitas 3 galon hingga penuh. Jika keadaan sekarang (x+y > 3) dan (x>0), maka keadaan selanjutnya (y+x-3,3)

7. Tuangkan seluruh isi gelas berkapasitas 4 galon ke gelas berkapasitas 3 galon. Jika keadaan sekarang (x+y <= 3) dan (x>0), maka keadaan selanjutnya (0,y+x)

8. Tuangkan seluruh isi gelas berkapasitas 3 galon ke gelas berkapasitas 4 galon. Jika keadaan sekarang (x+y <= 4) dan (y>0), maka keadaan selanjutnya (y+x,0)

SOLUSIKeadaan Sekarang Aturan

yg dipakai

Keadaan Selanjutnya

X (gelas kapasitas 4 galon)

Y (gelas kapasitas 3 galon)

X (gelas kapasitas 4 galon)

Y (gelas kapasitas 3 galon)

0 0 1 4 0

4 0 6 1 3

1 3 4 1 0

1 0 7 0 1

0 1 1 4 1

4 1 6 2 3

LATIHAN:

Gambarkan ruang keadaan untuk tujuan dimana volume 2 galon air dapat terisi ke dalam gelas berkapasitas 4 galon

(0, 0) (0, 1) (0, 2) (0, 3)

(1, 0) (1, 1)

(2, 1)

(3, 1)

(2, 2)

(1, 2)

(2, 0)

(3, 2) (3, 3)

(2, 3)

(1, 3)

(3, 0)

(4, 3)(4, 2)(4, 1)(4, 0)

Keadaan Awal (x,y)

Tujuan

keadaan dimana pd gelas 4 galon berisi tepat 2 galon air(2,n) untuk sembarang n.

Aturan Ke Jika Maka

1 (x,y) (4,y)  X< 4 Isi Gelas A2 (x,y) (x,3)  y< 3 Isi Gelas B3 (x, y) (x-d, y)

  X > 0Tuangkan sebagian air keluar dari gelas A

4 (x, y) (x,y-d)

  y > 0Tuangkan sebagian air keluar dari gelas B

5 (x, y) (0, y)

  X > 0Kosongkan gelas A dgn membuang airnya ke tanah

6 (x,y) (x, 0)

  y > 0Kosongkan gelas B dgn membuang airnya ke tanah

7 (x, y) (4, y-(4-x)

 x + y ≥ 4 dan y

> 0Tuangkan air dari gelas B ke gelas A sampai gelas A penuh

D. Aturan-Aturan

8 (x, y) (x-(3 - y) , y

  x + y ≥ 3 dan y > 0

Tuangkan air dari gelas A ke gelas B sampai gelas B penuh

9 (x, y) (x + y, 0)

  x + y ≤ 4 dan y > 0Tuangkan seluruh air dari gelas B ke gelas A

10 ( x, y ) (0, x+y)

  x + y ≤ 3 dan x > 0Tuangkan seluruh air dari gelas A ke gelas B

11 (0, 2) (2, 0)

   Tuangkan 2 galon air dari gelas B ke gelas A

12 (2, y) (0, y)

   

Kosongkan 2 galon air di gelas A dgn membuang airnya ke tanah.

Contoh: 2

Masalah “ Petani, Kambing, serigala dan sayuran “

dfdsf

Penyelesaian

1. Identifikasi Ruang Keadaan Permasalahan ini dpt dilambangkan dgn (jumlahKambing, JumlahSerigala, JumlahSayuran, JumlahBoat). Sbg contoh daerah asal (0,1,1,1) berarti pd daerah asal tdk ada kambing, ada serigala, ada sayuran, dan ada boat.

2. Keadaan awal dan tujuan• Keadaan Awal, pada kedua daerah : Daerah asal : (1,1,1,1) Daerah seberang :(0,0,0,0)• Tujuan, pada kedua daerah: Daerah asal : ( 0,0,0,0) Daerah seberang (1,1,1,1)

   

Aturan Ke Aturan 1 Kambing menyeberang

2 Sayuran menyeberang

3 Serigala menyeberang

4 Kambing kembali

5 Sayuran kembali

6 Serigala kembali

7 Boat kembali

     

Daerah Asal Daerah Seberang Aturan Yg. Dipakai

(1,1,1,1) (0,0,0,0) 1

(0,1,1,0) (1,0,0,1) 7

(0,1,1,1) (1,0,0,0) 3

(0,0,1,0) (1,1,,0,1) 4

(1,0,1,1) (0,1,0,0) 2

(1,0,0,0) (0,1,1,1) 7

(1,0,0,1) (0,1,1,0) 1

(0,0,0,0) (1,1,1,1) Solusi

Salah satu Solusi Yg. Dpt Ditemuakan adalah sbb :

REPRESENTASI SPACE STATE Graph keadaan Pohon pelacakan Pohon AND/OR

REPRESENTASI STATE SPACE (GRAPH KEADAAN)Graph keadaan (graph berarah) terdiri

dari node-node yg menunjukkan keadaan keadaan awal dan keadaan baru yg akan dicapai dgn menggunakan Operator.

Node-node dalam graph saling dihubungkan dgn menggunakan busur yg diberi panah untuk menunjukkan arah dari suatu keadaan ke keadaan berikutnya

Contoh Graph berarah

Keadaan awal : node M dan Keadaan tujuan : node T, dimana angka di antara kedua node menunjukkan jarak

Graph berarah dengan tujuan node T

Graph dengan jalan buntu

M-A-B-C-E-T M-A-B-C-E-F-G

M-A-B-C-E-H-T M-A-B-C-E-I-J

M-D-C-E-T M-D-C-E-F-G

M-D-C-E-H-T M-D-I-J

REPRESENTASI STATE SPACE (STRUKTUR POHON)

Tiap pohon menunjukkan suatu keadaan. Jalur dari Parent ke Child menunjukkan suatu operasi. Tiap-tiap node pd pohon pelacakan ini memiliki node-node child yg menunjukkan keadaan yg dicapai parent.

(0, 0)

(4, 0 (0, 3)

(4, 3) (0, 0) (1, 3) (4, 3) (0, 0) (3, 0)

REPRESENTASI STATE SPACE (POHON PELACAKAN)

Masalah M hendak dicari solusinya dgn 3 kemungkinan yaitu A, B atau C. Artinya, masalah M bisa diselesaikan jika salah satu dari subgoal A,subgoal B atau subgoal C terpecahkan.

M

A B C

M

CBA

Masalah M hanya dpt diselesaikan dgn A and B and C solusi masalah M, dipecahkan melalui subgoal A, subgoal B dan subgoal C terlebih dahulu.

REPRESENTASI STATE SPACE (POHON AND/OR)

A or B

A and B and C

Pohon AND/ORTujuan yg dicapai sampai dgn level 6 pd struktur pohon, Dengan menggunakan pohon AND/OR, maka bisa dipersingkat sampai level 2.

Presentasi Keadaan Untuk kasus ember

KARAKTERISTIK PROBLEM / MASALAH

Untuk memilih metode yg paling baik untuk, memecahkan suatumasalah tertentu, diperlukan suatu Analisa Masalah. Dalam meng-analisa suatu masalah kita perlu mengetahui beberapa karakteristik masalah diantaranya adalah :

Teknik Pencarian / Pelacakan (searching)

Ada 2 teknik pencarian dan pelacakan yg digunakan, yaitu :1. Pencarian Buta (Blind Search)2. Pencarian terbimbing (Heuristic Search)

Metode Pencarian Pelacakan

1. Pencarian Buta (Blind Search)A. Pencarian Melebar

Pertama BFS

Gambar : Metoda BFS

Algorithma 1. Buat suatu variabel Node_List dan tetapkan sebagai keadaan awal.2. Kerjakan langkah-langkah berikut ini sampai tujuan tercapai atau Node_List dlm keadaan kosong : a. Hapus elemen pertama dari Node_List, sebut dgn nama E,. Jika Node_List kosong, keluar. b. Pada setiap langkah yg aturannya cocok dengan E, Kerjakan : b1. Aplikasikan aturan tersebut untuk membentuk suatu keadaan baru. b2. Jika keadaan awal adalah tujuan yg diharapkan, sukses dan keluar. b3. Jika tidak demikian, tambahkan keadaan awal yg baru tsb pada akhir Node_List.

Keuntungan 1. Tidak akan menemui jalan buntu2. Jika ada satu solusi, maka BFS akan menemukannya. Dan jika ada lebih dari satu solusi, maka solusi minimum akan ditemukan

Kelemahan 1. Membutuhkan memori yg cukup banyak.2. Membutuhkan waktu yg cukup lama .

Analisis Ruang Dan Waktu 1. Diasumsikan• Ada satu solusi (satu tujuan ditemukan) pd pohon• Pohon pelacakan memiliki cabang yg selalu sama, yaitu sebanyak B• Tujuan dicapai pd level ke-d• Tujuan dicapai pd. 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 kedaan pd level ke-0 akan menambahkan b keadaan lagi pd antrian.• Sehingga setelah dilakukan pemrosesan semua keadaan pd 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, yg dpt gbr sebagai berikut:

Gambar : Analisis Ruang Metode BFS

d d-1

3. Analisis Waktu• Ukuran waktu diukur dari byknya keadaan yg dikunjungi. Jika diasumsikan bahwa setiap node membutuhkan waktu yg sama dalam pemrosesan maka:• Waktu = Waktu untuk memproses node-node di level ke -1 + Waktu untuk memproses node-node di level ke -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)

B. Pencarian Mendalam Pertama (DFS)

Pada pencarian ini, proses pencarian akan dilakukan pada semua anaknyasebelum dilakukan pencarian ke node-node yg selevel. Pencarian dimulaidari node akar ke level yg lebih tinggi. Proses ini diulangi terus sehingga ditemukan solusi

A

B

C

Algoritma

1. Jika keadaan awal merupakan tujuan, keluar (sukses).2. Jika tidak demikian, kerjakan langkah-langkah berikut ini sampai tercapai keadaan sukses atau gagal. a. Bangkitkan succesor E dari keadaan awal. Jika tidak ada succesor, maka akan terjadi kegagalan. b. Panggil DFS dengan E sbg keadaan awal. c. Jika sukses berikan tanda sukses. Namun jika tidak, ulangi langkah -2.

Keuntungan 1. Membutuhkan memori yg relatif kecil.2. Secara kebetulan, metode DFS akan menemukan solusi tanpa hrs menguji lebih byk lagi kedalam ruang keadaan.

Analisis Ruang dan Waktu1. Analisis Ruang• Stlh b’jalan satu langkah, stack akan berisi b node.• Stlh b’jalan 2 langkah, stack akan berisi (b-1) + b node.• Stlh b’jalan 3 langkah, stack akan berisi (b-1)*d+1 node, men- capai maksimum

2. Analisis Ruang dan Waktu• Pd kasus terbaik, DFS akan mencapai tujuan pd kedalaman per- tama d pertama, shg dibutuhkan pencarian sebyk d+1 node. • Pd kasus terburuk, DFS akan mencapai tujuan pd kedalaman d pd node terakhir, shg dibutuhkan pencarian sebyk : 1 + b + b2 +b3 + …..+ bd = (bd+1-1)/(b-1).

2. Pencarian Heuristik (Heuristic Search)Metode pencarian ini tidak selalu dpt diterapkan dgn baik, karenaWaktu aksesnya cukup lama dan memori yg digunakan cukup besar.Kelemahan ini dpt diatasi jika ada informasi tambahan dari domainyg bersangkutan.

Misalkan pd kasus 8 – puzzleAda 4 operator yg dpt kita gunakan untuk menggerakan dari satu keadaan ke keadaan yg baru.1. Ubin kosong digeser ke kiri2. Ubin kosong digeser ke kanan3. Ubin kosong digeser ke bawah4. Ubin kosong digeser ke atas

Keadaan Awal Tujuan

1 2 3

7 8 4

6   5

1 2 3

8   4

7 6 5

Gambar Kasus 8 - Puzzel

1 2 3

8   4

7 6 5

Tujuan

1 2 3

7 8 4

6   5

1 2 3

7 8 4

  6 5

1 2 3

7 8 4

6 5  

1 2 3

7   4

6 8 5

Gambar : Langkah awal kasus 8-Puzzel

Kiri Kanan atas

Pd gbr diatas. Pd langkah awal ini, hanya 3 operator yg bisa digunakan,yaitu ubin kosong digeser ke kiri, kekanan dan ke atas. Apabila diper-gunakan pencarian buta, kita tidak perlu mengetahui operasi yg akandikerjakan (sembarang operasi bisa digunakan). Pd pencarian heuristikperlu diberikan informasi khusus dalam domain tsb.

Untuk jumlah ubin yg menempati posisi yg benar, jumlah yg lebih tinggi adalah yg lebih diharapkan (lebih baik). Spt pd gbr. Berikut :

1 2 3

8   4

7 6 5

1 2 3

7 8 4

6   5

1 2 3

7 8 4

  6 5

1 2 3

7 8 4

6 5  

1 2 3

7   4

6 8 5

Kiri Kanan atas

h=6 h=5h=4

Tujuan

Gambar : Fungsi Heuristik Pertama Kasus 8-Puzzel

Dari 3 operator yg digunakan, diperoleh hasil : Pergeseran ubin kosong ke kiri bernilai 6 ( h = 6 ), pergeseran kosong ke kanan bernilai 4(h = 4), dan pergeseran ubin kosong ke atas bernilai 5 (h=5). Shg nilai ber-bilangnya adl. 6 (terbesar). Shg langkah selanjutnya yg hrs dilakukanadl. Mengeser ubin kosong ke kiri.

Untuk jumlah ubin yg menempati posisi yg salah : jml yg lebih kecil adalah yg diharapkan (lebih baik)

1 2 3

8   4

7 6 5

1 2 3

7 8 4

6   5

1 2 3

7 8 4

  6 5

1 2 3

7 8 4

6 5  

1 2 3

7   4

6 8 5

Tujuan

Gambar : Fungsi Heuristik kedua kasus 8 puzzle

Kiri

Kanan

atas

h=2

h=4

h=3

Nilai terbaik diperolehh dgn mengeser ubin koson gke kiri (h = 2 ). Karena nilai ini paling kecil diantara nilai lainnya(4&3). Shg langkahselanjutnya adalah mengeser ubin kosong ke kiri.

Menghitung total gerakan yg diperlukan untuk mencapai tujuan ; jumlah yg lebih kecil adalah yg diharapkan (lebih baik) , spt pd gbr berikut ini :

1 2 3

8   4

7 6 5

1 2 3

7 8 4

6   5

1 2 3

7 8 4

  6 5

1 2 3

7 8 4

6 5  

1 2 3

7   4

6 8 5

Gambar : Fungsi Heuristik Ketiga Kasus 8 - Puzzel

Kiri

Kanan

atas

Tujuan

h=2

h=4

h=4

Nilai terbaik adalah 2 (h = 2) yg diperoleh dgn menggeser ubin kosong ke kiri. Nilai ini paling kecil dibanding dgn nilai lainnya (4). Shg menggeser ubin ke kiri adl. Langkah yg hrs dilakukan selanjutnya.

Ada 4 Metode Pencarian HeuristikA. Pembangkitan & Pemgujian (Generate and Test)B. Pendakian Bukit (Hill Climbing)C. Pencarian Terbaik Pertama (BFS)D. Simulated Annealing

A. Pembangkitan & Pemgujian (Generate and Test) Metode ini mengabungkan antara DFS dengan Backtracking, yaitu bergerak ke belakang menuju pada suatu keadaan awal. Nilai pengujian berupa jawaban “Ya” or “Tidak” .

Algorithma 1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu titik tertentu tau lintasan tertentu dari keadaan awal)2. Uji untuk melihat apakah node tsb. Benar-benar merupakan solusinya Dgn cara membandingkan node tsb atau node akhir dari suatu lintasan yg dipilih dgn kumpulan tujuan yg diharapkan3. Jika solusi ditemukan, keluar, Jika tidak, ulangi kembali langkah yg pertama.

Contoh : Traveling Salesman Problem (TSP)Seorang sales ingin mengunjungi N Kota. Jarak antara tiap-tiap kotasudah diketahui. Kita ingin mengetahui Rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misalkan ada 4 kota dgn jarak antara tiap-tiap kota seperti terlihat pd gambar berikut :

A

D

B

C 6

7

8

53 4

Penyelesaian :Dgn menggunakan Generate & Test dilakukan dgn membangkitkan solusi-solusi yg mungkin dgn menyusun kota-kota dlm urutan abjad, Yakni :

A – B – C – D A – B – D – C A – C – B – D A – C – D - B

B C DA

DC

BDC D

B

CB

D C D B C B

Gambar : Metode Generate And Test

Tabel : Alur Pencarian dengan Generate & Test Pada TSP

B. Pendakian Bukit (Hill Climbing)

Metode ini hampir sama dengan Generate and Test, hanya proses inimenggunakan fungsi Heuristik. Pembangkitan keadaan berikutnyatergantung pada Feedback dari prosedur pengetesan.hasil tes ini menunjukkan seberapa baiknya nilai terkaan yg diambil terhadapkeadaan-keadaan lainnya yg mungkin.

Keenam kombinasi ini akan kita pakai semuanya sebagai operator yaitu :

Tukar 1,2 Menukar urutan posisi kota ke 1 dgn kota ke 2Tukar 2,3 Menukar urutan posisi kota ke 2 dgn kota ke 3Tukar 3,4 Menukar urutan posisi kota ke 3 dgn kota ke 4Tukar 4,1 Menukar urutan posisi kota ke 4 dgn kota ke 1Tukar 2,4 Menukar urutan posisi kota ke 2 dgn kota ke 4Tukar 1,3 Menukar urutan posisi kota ke 1 dgn kota ke 3

Pada keadaan awal lintasan terpilih adalah ABCD(=19). Padaq level pertama Hill Climbing akan mengunjungi BADC(=17) yg memiliki nilai heuristi < dibanding dgn ABCD. Kemudian tukar (17<19), sehingga BACD menjadi pilihan selanjutnya dgn operatoar terpakai 1,2.Pd. Level kedua Hill Climbing akan mengunjungi ABCD. Karena operator tukar 1,2 sudah digunakan oleh BACD, maka dipilh node yg lain yaitu BCAD (=15). Karena nilai heuristik BCAD lebih kecil dibandingkan dgn BACD (15<17), maka node BCAD akan menjadi pilihan selanjutnya dgn operator tukar 2,3Kemudian Hill Climbing akan mengunjungi CBAD(=20), karena nilai heuristik CBAD lebih besar jika dibanding dgn BCAD (20>17), maka dipilih node lain. Pencarian menuju ke node BCDA(=18). Nilai inipun masih lebih besar dari nilai heuristik BCAD (=18).

Algorithma :1. Tempatkan node awal A pada antria OPEN2. Kerjakan langkah-langkah berikut hhingga tujuan ditemukan atau antrian open sudah kosong a. Ambil node terbaik dari open b. Bangkitkan semua succsesornya c. Untuk tiap-tiap succsesor dikerjakan: i. Jika node tersebut belum pernah dibangkitkan sebelumnya, evaluasi node tersebut dan masukkan ke dalam OPEN ii.Jika node tersebut sudah pernah dibangkitkan sebelumnya, ubah parent jika lintasan baru lebih menjajikan. Hapus node tersebut dari antrian OPEN

Gambar berikut ini menunjukan metoda Pencarian terbaik pertama. Diasumsikan bahwa node dgn nilai yg lebih besar, memiliki nilai evaluasi yg lebih baik.Pd. Saat keadaan awal, antrian berisi A. Pengujian dilakukan pd level pertama,Node D memiliki nilai terbaik, sehingga menempati antrian pertama, disusuldgn C dan B. Node D memiliki cabang E dan F yg masing-masing bernilai 2 dan4. Dgn demikian C merupakan pilihan terbaik dgn menempati antrian pertama.

A

A

G H E F

B

CB

A

D

DC

DCB

A

E F

Antrian Open[ A ]

[ D, C, B ]

[C, F, B, E ]

[G, F, B, E , H]

3 5 7

3

53

2 4

5 1 2 4

Algorithma A*Algorithma A* merupakan perbaikan dari metoda BFS dgn memodifikasi fungsi heuristiknya. A* akan meminimumkan total biaya lintasan. Pd kondisi yg Tepat A* akan memberikan solusi yg terbaik dlm waktu ygOptimal.Fungsi F’ sebagai estimasi fungsi evaluasi terhdpnode n, dapat dituliskan : f’ (n)=g(n)+h’(n)Dengan :f’(n) = fungsi evaluasiG(n) = biaya yg sudah dikeluarkan dari keadaan awal sam -pai keadaan n.h’(n) = estimasi biaya untuk sampai pd suatu tujuan mulai dari n.Dengan demikian dapat dikatakan bahwa :• Apabila h’ = h, berarti proses pelacakan sudah sampai pd suatu tujuan • Apabila g = h’ = 0, maka f’ random, artinya sistem tidak dapatdikendalikan oleh apapun

• Apabila g = k (konstanta biasanya 1) dan h’ = 0 berarti sis- tem menggunakan BFS.

Algorithma A1. Set ; OPEN={S}, dan CLOSED={}, dgn S adalah node yg di pilih sbg keadaan awal.2. Kerjakan jika OPEN belum kosong: a. cari node n dari OPEN dimana nilai f(n) minimal. Kem- udian tempatkan n pd CLOSED. b. Jika n adalah node tujuan, keluar. SUKSES. c. Ekspan node n ke anak-anaknya d. Kerjakan untuk setiap anak n, yakni n’ : i. Jika n’ belum ada di OPEN atau CLOSE maka : 1. Masukkan n’ ke OPEN. Kemudian set backpointer dari n’ ke n 2. Hitung a. h(n’); b. g(n’) = g(n) + c(n,n’); dgn c(n,n’ adl biaya dari n ke n’,, dan c. f(n’) =g(n’) + h(n’).

C. f’(n) = g(n’) + h(n’);

Algorithma A* sebenarnya merupakan pengembangan dari algorithma A, dgn batasan bahwa h(n)< h*(n), dgn :• h(n) = biaya yg sebenarnya dari biaya minimal lintasan dari n ke sembarang tujuan.• g(n) = biaya yg sebenarnya dari biaya minimal lintasan dari S ke n.• f(n) = h(n) + g(n); adalah biaya yg sebenarnya dari biaya minimum solusi lintasan S ke sembarang tujuan yg melalui n

Nilai h dpt diterima jika h’(n) < h(n). Pencarian dgn algorithma A* ini akan lebih sempurna jika faktor pencabangannya terbatas, dan untuk setiap operator memiliki biaya yg bernilai positif (total jumlah node dgn h’(.) < (tujuan) terbatas.

   

Node Ekspansi Antrian OPEN

  {M(0)}M { C (2), A (3), B (4) }C { H (2), A (3), B(4), I (∞)}H {T(0), A (3), B (4), I (∞ ), L (∞ )}T {A (3), B (4), I (∞), L (∞)}

Apabila kita menggunakan fungsi evaluasi : f’(n)=h’(n), maka solusi yd didapat adalah lintasan terpendek M-C-H-Tdgn biaya terbesar 7. Alur penelusuran dapat dilihat pdtabel berikut :

Apabila masalah ini akan diselesaikan dgn menggunakan algorithma A*, dgn fungsi evaluasi f(n) = g(n) +h’(n), makasolusi yg didapat adalah lintasan terpendek M-C-H-T dgnbiaya sebesar 7. Alur penelusuran dapat dilihat pd tabel berikut :

   

Node Ekspansi Antrian OPEN

  {M(0)}M { C (6), B (7), C (8) }C { H (7), B (7), C (8), I (∞)}H {T(7), B (7), C (8), I (∞  ), L (∞ )}T {B (7), C (8), I (∞), L (∞)}

top related