Upload
krisna-budeg
View
226
Download
0
Embed Size (px)
Citation preview
8/17/2019 Devide and Conquer
1/45
Devide and
ConquerDesy Purnami Singgih Putri
8/17/2019 Devide and Conquer
2/45
Defnisi
Divide: membagi persoalan menjadibeberapa upa-masalah yang memilikikemiripan dengan persoalan semula
namun berukuran lebih kecil (idealnyaberukuran hampir sama),
Conquer (solve): memecahkan
(menyelesaikan) masing-masing upa-masalah secara rekursif.
Combine: mengabungkan solusimasing-masing upa-masalah sehinggamembentuk solusi persoalan semula.
8/17/2019 Devide and Conquer
3/45
Divide & Conquer
problemsize = n
subproblem 1
size n/2
solution to
subproblem 1
Solution to original problem
subproblem 2
size n/2
solution to
subproblem 2
8/17/2019 Devide and Conquer
4/45
!
8/17/2019 Devide and Conquer
5/45
8/17/2019 Devide and Conquer
6/45
8/17/2019 Devide and Conquer
7/45"
Merge Sort
#lgoritma:$. %ntuk kasus n & $, maka tabel A sudahterurut dengan sendirinya (langkahS'*).
. %ntuk kasus n + $, maka(a) DD*: bagi tabel A menjadi dua bagian,
bagian kiri dan bagian kanan, masing-masing
bagian berukuran n elemen. (b) '/0%*1: Secara rekursif, terapkan algoritma D-and-C pada masing-masing
bagian. (c) 2*13*: gabung hasil pengurutan kedua
bagian sehingga diperoleh tabel A yang
8/17/2019 Devide and Conquer
8/45
de merge sort :
4
8/17/2019 Devide and Conquer
9/455
8/17/2019 Devide and Conquer
10/45$6
Proses merge:
8/17/2019 Devide and Conquer
11/45$$
8/17/2019 Devide and Conquer
12/45
8/17/2019 Devide and Conquer
13/45
8/17/2019 Devide and Conquer
14/45
8/17/2019 Devide and Conquer
15/45
7erapa 7ig 8heta sesuai dengan
2aster 8heorem9
8/17/2019 Devide and Conquer
16/45
8/17/2019 Devide and Conquer
17/45
8/17/2019 Devide and Conquer
18/45
8/17/2019 Devide and Conquer
19/45
$5
8eknik mem-partisi tabel:
(i) pilih x ∈ A;$) ulangi (ii), dari posisi p ? $, dan (iii), dari posisi q @ $ , sampai kedua pemindaian bertemu di tengah tabel
8/17/2019 Devide and Conquer
20/45
6
8/17/2019 Devide and Conquer
21/45
$
8/17/2019 Devide and Conquer
22/45
8/17/2019 Devide and Conquer
23/45
A
8/17/2019 Devide and Conquer
24/45
8/17/2019 Devide and Conquer
25/45
B
Kompleksitas Algoritma Quicksort :$. Kasus terbaik (best case)
Casus terbaik terjadi bila pivot adalah elemenmedian sedemikian sehingga kedua upatabelberukuran relatif sama setiap kalipempartisian.
8/17/2019 Devide and Conquer
26/45
8/17/2019 Devide and Conquer
27/45
"
8/17/2019 Devide and Conquer
28/45
4
. Kasus terburuk (worst case)
Casus ini terjadi bila pada setiap partisi pivot selalu elemen maksimum (atau elemenminimum) tabel.
Casus jika tabel sudah terurutmenaikmenurun
8/17/2019 Devide and Conquer
29/45
5
8/17/2019 Devide and Conquer
30/45
A6
8/17/2019 Devide and Conquer
31/45
A$
A. Kasus rata-rata (average case)
Casus ini terjadi jika pivot dipilih secara acakdari elemen tabel, dan peluang setiap elemendipilih menjadi pivot adalah sama.
T a>g(n) & (n log n).
8/17/2019 Devide and Conquer
32/45
5. Persoalan PemasanganUbin
Persoalan: Diberikan sebuah papan yangberukuran k E k . 8ersedia sebuah ubindan k @ $ buah ubin yang terdiri darikelompok A-ubin berbentuk huruf .Pasanglah semua ubin pada papantersebut.
A
8/17/2019 Devide and Conquer
33/45
#lgoritma D F :
G 7agi papan menjadi ! bagian
G 8empatkan kelompok A-ubin berbentuk
pada bagian tengah yang tidak ada ubintunggal
G %bin tunggal dapat ditaruh di mana saja.
AA
8/17/2019 Devide and Conquer
34/45
A!
8/17/2019 Devide and Conquer
35/45
AB
8. Perkalian Dua Buah Bilangan
Bulat ang BesarPersoalan! 2isalkan bilangan bulat ! dan "
yang panjangnya n angka
! & x $ x x A H x n
" & # $ # # AH # n
Iitunglah hasil kali ! dengan " .
8/17/2019 Devide and Conquer
36/45
A
8/17/2019 Devide and Conquer
37/45
A"
8/17/2019 Devide and Conquer
38/45
A4
8/17/2019 Devide and Conquer
39/45
A5
8/17/2019 Devide and Conquer
40/45
!6
8/17/2019 Devide and Conquer
41/45
!$
Penyelesaian:
T (n) & (n).
8ernyata, perkalian dengan algoritma Divideand Conquer seperti di atas belummemperbaiki kompleksitas Jaktu algoritma
perkalian secara brute $orce.
#dakah algoritma perkalian yang lebih baik9
P b ik "A A K t b
8/17/2019 Devide and Conquer
42/45
!
Perbaikan "A.A Karatsuba#$%&'(!
8/17/2019 Devide and Conquer
43/45
!A
Anatolii Ale)evi*h Karatsuba
Anatolii Ale)eevit*h Karatsuba (1ussian: KLMNOQR
KQTUVTTWRX YMZM[\]M^ 3ro_ny, `anuary A$, $5A" 2oscoJ,September 4, 664) Jas a 1ussian mathematician, Jho authoredthe rst fast multiplication method: the Caratsuba algorithm, a fastprocedure for multiplying large numbers. (Sumber: ikipedia)
8/17/2019 Devide and Conquer
44/45
!!
8/17/2019 Devide and Conquer
45/45