t003439111.ppt

13

Upload: mudamudamuda

Post on 07-Aug-2015

12 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: T003439111.ppt
Page 2: T003439111.ppt

Matakuliah : T0034 / Perancangan & Analisis Algoritma

Tahun : 2008

Pertemuan 22

BACKTRACKING

Page 3: T003439111.ppt

Bina Nusantara

SEARCH TREE

• Untuk beberapa kasus algoritma, dalam setiap langkah terdapat beberapa pilihan dan algoritma harus memutuskan untuk memilih salah satunya.

• Keputusan yang dibuat akan mempengaruhi pilihan berikutnya, di mana algoritma harus membuat keputusan lagi, demikian seterusnya hingga solusi akhir dicapai.

• Teknik pencarian solusi seperti ini dapat digambarkan sebagai sebuah Search Tree– Hubungan antara sebuah parent node dengan anak-anaknya

adalah pilihan yang harus diputuskan dalam menyelesaikan sebuah masalah.

– Solusi yang benar ada di salah satu node tree, tapi kita belum tahu yang mana. Algoritma yang dibuat bertujuan untuk mencari node yang merupakan solusi tersebut.

[buku utama, bab 9.1]

Page 4: T003439111.ppt

Bina Nusantara

N-QUEEN PROBLEM

• Misalkan kita memiliki sebuah papan catur berukuran N x N. Papan catur ini harus diisi dengan N buah Queen sedemikian rupa sehingga keempat Queen tersebut tidak saling mengancam.

1 2 3 4 5 6 7 8

1

2

3

4

5 Q1

6

7

8

Page 5: T003439111.ppt

Bina Nusantara

MODELING N-QUEEN PROBLEM

• Bagaimana penyelesaian N-Queen Problem dapat digambarkan dengan sebuah Search Tree?– N buah Queen harus diletakkan, berarti terdapat N

keputusan– Setiap baris papan catur hanya mungkin diisi oleh 1

Queen– Berarti setiap keputusan akan meletakkan sebuah

Queen di baris ke-N– Yang harus diputuskan adalah : di kolom ke berapa

Queen harus diletakkan

Page 6: T003439111.ppt

Bina Nusantara

N-QUEEN SEARCH TREE

[buku utama, ilustrasi 9.4]

Page 7: T003439111.ppt

Bina Nusantara

COMPLETE vs PARTIAL SEARCH TREE

• Complete Search Tree bisa berukuran sangat besar– Kompleksitas algoritma tinggi– Diperlukan waktu cukup lama– Memerlukan memori penyimpanan yang besar

• Sering kali dalam sebuah Search Tree, tidak semua node perlu ditelusuri– Node-node yang jelas tidak memenuhi syarat dapat langsung

diabaikan– Node-node yang memiliki kemungkinan lebih tinggi menuju solusi

dapat dibuka terlebih dahulu– Kendala (constraint) sebuah problem dijadikan patokan untuk

meneusuri sebuah node atau tidak

Page 8: T003439111.ppt

Bina Nusantara

BACKTRACKING

• Backtracking adalah teknik untuk mencari solusi dengan Partial Search Tree– Search Tree tidak sekaligus dibentuk secara utuh melainkan satu per satu.– Pada setiap keputusan, algoritma akan menghitung apakah ”jalur tertentu”

dalam tree memungkinkan terjadinya sebuah solusi atau tidak.• Jika memungkinkan, proses akan diteruskan.• Jika tidak memungkinkan, algoritma akan membatalkan jalur keputusan yang

sudah dibuat, maka lakukan langkah mundur (backtrack) dan mencari jalur yang lain.

• Contoh populer penerapan teknik dasar algoritma Backtracking adalah N-Queen Problem– Sebagai contoh, akan digunakan nilai N=4 (4-Queen Problem)

[buku utama, bab 9.3]

Page 9: T003439111.ppt

Bina Nusantara

LANGKAH BACKTRACKING

1. Bangun node awal sebagai active node (E-node)

2. Dengan E-node, jalani node berikut dengan metode Depth First Search

3. Periksa constraint, jika constraint dipenuhi maka nyatakan node tersebut sebagai active node (E-node)

4. Jika contraint tidak dipenuhi, nyatakan node tersebut sebagai dead node (D-node)

5. Jika yang didapat D-node, backtrack ke E-node di atasnya, kemudian jalani cabang lain

6. dan seterusnya hingga didapat solusi yang diinginkan

Page 10: T003439111.ppt

Bina Nusantara

SEARCH TREE WITH BACKTRACKING

[buku utama, ilustrasi 9.17]

Page 11: T003439111.ppt

Bina Nusantara

HASIL 4-QUEEN PROBLEM

Q1

Q2

Q3

Q4

• Akhirnya didapat node P sebagai solusi. Node P ini mewakili pilihan Q1 (1,2), Q2 (2,4), Q3 (3,1) dan Q4 (4,3).

[buku utama, ilustrasi 9.17]

Page 12: T003439111.ppt

Bina Nusantara

LATIHAN

• Lakukan pencarian solusi 5-Queen Problem dengan menggunakan teknik Bactracking !

Page 13: T003439111.ppt

Bina Nusantara

REVIEW

• Apa yang sudah dipahami?• Apa yang akan dibahas selanjutnya?