Download - Devide and Conquer
-
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