part-3 true(problem space and search) rita

83
SEARCHING (PENCARIAN) By. Rita Wiryasaputra, ST., M.Cs.

Upload: martinus-fitriansyah-putra-vhenoechal

Post on 05-Feb-2016

217 views

Category:

Documents


0 download

DESCRIPTION

bv

TRANSCRIPT

Page 1: Part-3 True(Problem Space and Search) RITA

SEARCHING (PENCARIAN)

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

Page 2: Part-3 True(Problem Space and Search) RITA

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)

Page 3: Part-3 True(Problem Space and Search) RITA

TUGAS Resume paper pada jurnal yang

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

digunakan/tipe

Page 4: Part-3 True(Problem Space and Search) RITA

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)

Page 5: Part-3 True(Problem Space and Search) RITA

Teknik penyelesaian masalah: Pencarian (Searching) terdiri dari

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

Penalaran (Reasoning) Planning Learning

Page 6: Part-3 True(Problem Space and Search) RITA

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

Page 7: Part-3 True(Problem Space and Search) RITA

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.

Page 8: Part-3 True(Problem Space and Search) RITA

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)

Page 9: Part-3 True(Problem Space and Search) RITA

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.

Page 10: Part-3 True(Problem Space and Search) RITA

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

Page 11: Part-3 True(Problem Space and Search) RITA

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

Page 12: Part-3 True(Problem Space and Search) RITA

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

Page 13: Part-3 True(Problem Space and Search) RITA

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)

Page 14: Part-3 True(Problem Space and Search) RITA

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)

Page 15: Part-3 True(Problem Space and Search) RITA

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)

Page 16: Part-3 True(Problem Space and Search) RITA

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

Page 17: Part-3 True(Problem Space and Search) RITA

LATIHAN:

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

Page 18: Part-3 True(Problem Space and Search) RITA

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

Page 19: Part-3 True(Problem Space and Search) RITA

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

Page 20: Part-3 True(Problem Space and Search) RITA

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.

Page 21: Part-3 True(Problem Space and Search) RITA

Contoh: 2

Masalah “ Petani, Kambing, serigala dan sayuran “

dfdsf

Page 22: Part-3 True(Problem Space and Search) RITA

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)

Page 23: Part-3 True(Problem Space and Search) RITA

   

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 :

Page 24: Part-3 True(Problem Space and Search) RITA

REPRESENTASI SPACE STATE Graph keadaan Pohon pelacakan Pohon AND/OR

Page 25: Part-3 True(Problem Space and Search) RITA

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

Page 26: Part-3 True(Problem Space and Search) RITA

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

Page 27: Part-3 True(Problem Space and Search) RITA

REPRESENTASI STATE SPACE (STRUKTUR POHON)

Page 28: Part-3 True(Problem Space and Search) RITA

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)

Page 29: Part-3 True(Problem Space and Search) RITA

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

Page 30: Part-3 True(Problem Space and Search) RITA

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

Page 31: Part-3 True(Problem Space and Search) RITA

Presentasi Keadaan Untuk kasus ember

Page 32: Part-3 True(Problem Space and Search) RITA
Page 33: Part-3 True(Problem Space and Search) RITA

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 :

Page 34: Part-3 True(Problem Space and Search) RITA

Teknik Pencarian / Pelacakan (searching)

Page 35: Part-3 True(Problem Space and Search) RITA

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

Page 36: Part-3 True(Problem Space and Search) RITA

Gambar : Metoda BFS

Page 37: Part-3 True(Problem Space and Search) RITA

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

Page 38: Part-3 True(Problem Space and Search) RITA

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:

Page 39: Part-3 True(Problem Space and Search) RITA

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)

Page 40: Part-3 True(Problem Space and Search) RITA

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

Page 41: Part-3 True(Problem Space and Search) RITA

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.

Page 42: Part-3 True(Problem Space and Search) RITA

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

Page 43: Part-3 True(Problem Space and Search) RITA

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

Page 44: Part-3 True(Problem Space and Search) RITA

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

Page 45: Part-3 True(Problem Space and Search) RITA

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 :

Page 46: Part-3 True(Problem Space and Search) RITA

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

Page 47: Part-3 True(Problem Space and Search) RITA

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)

Page 48: Part-3 True(Problem Space and Search) RITA

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

Page 49: Part-3 True(Problem Space and Search) RITA

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 :

Page 50: Part-3 True(Problem Space and Search) RITA

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

Page 51: Part-3 True(Problem Space and Search) RITA

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.

Page 52: Part-3 True(Problem Space and Search) RITA

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

Page 53: Part-3 True(Problem Space and Search) RITA

B C DA

DC

BDC D

B

CB

D C D B C B

Gambar : Metode Generate And Test

Page 54: Part-3 True(Problem Space and Search) RITA

Tabel : Alur Pencarian dengan Generate & Test Pada TSP

Page 55: Part-3 True(Problem Space and Search) RITA

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.

Page 56: Part-3 True(Problem Space and Search) RITA
Page 57: Part-3 True(Problem Space and Search) RITA

Keenam kombinasi ini akan kita pakai semuanya sebagai operator yaitu :

Page 58: Part-3 True(Problem Space and Search) RITA

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

Page 59: Part-3 True(Problem Space and Search) RITA
Page 60: Part-3 True(Problem Space and Search) RITA
Page 61: Part-3 True(Problem Space and Search) RITA

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.

Page 62: Part-3 True(Problem Space and Search) RITA

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

Page 63: Part-3 True(Problem Space and Search) RITA

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

Page 64: Part-3 True(Problem Space and Search) RITA

• 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’).

Page 65: Part-3 True(Problem Space and Search) RITA

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.

Page 66: Part-3 True(Problem Space and Search) RITA
Page 67: Part-3 True(Problem Space and Search) RITA
Page 68: Part-3 True(Problem Space and Search) RITA
Page 69: Part-3 True(Problem Space and Search) RITA

   

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 :

Page 70: Part-3 True(Problem Space and Search) RITA

   

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 (∞)}

Page 71: Part-3 True(Problem Space and Search) RITA
Page 72: Part-3 True(Problem Space and Search) RITA
Page 73: Part-3 True(Problem Space and Search) RITA
Page 74: Part-3 True(Problem Space and Search) RITA
Page 75: Part-3 True(Problem Space and Search) RITA
Page 76: Part-3 True(Problem Space and Search) RITA
Page 77: Part-3 True(Problem Space and Search) RITA
Page 78: Part-3 True(Problem Space and Search) RITA
Page 79: Part-3 True(Problem Space and Search) RITA
Page 80: Part-3 True(Problem Space and Search) RITA
Page 81: Part-3 True(Problem Space and Search) RITA
Page 82: Part-3 True(Problem Space and Search) RITA
Page 83: Part-3 True(Problem Space and Search) RITA