View
13
Download
0
Category
Preview:
DESCRIPTION
đánh giá độ phức tạp
Citation preview
27/01/2015
1
Phn tch v Thit kTHUT TON
H i Dng
duonghd@mta.edu.vn
Web: fit.mta.edu.vn/~duonghd
1
Bi 2 - nh gi phc tpthut ton
PHN TCH V THIT K THU TON
2
27/01/2015
2
NI DUNG
I. Gii thiu
II. Phn tch trc tip cc on m
III. Phn tch on m c li gi chn trnh con
IV. nh gi da trn thc nghim
V. Bi tp
3
1. Gii thiu
Trc khi thc hin tnh phc tp thut ton A gii bi ton P ta cn f(n): Xc nh di d liu - n: c th l s k t, s phn t ca mng, .
Tiu ch nh gi: thng nht l s cc thao tc c bn (gn, so snh..)
nh gi c th s dng: Phn tch trc tip tnh s cc thao tc
Phng php quy
4
27/01/2015
3
1. Gii thiu
Da trn mt s quy tc Quy tc cng
Quy tc nhn
Quy tc phn tch mt s cu lnh
Xt tnh cht ca chng trnh con
5
1. Gii thiu
Quy tc cng T1(n) v T2(n) l thi gian thc hin ca hai on chng trnh con ni tip nhau
(c lp) P1, P2 v T1(n)= O(f1(n)); T2(n)=O(f2(n)) Khi thi gian ( phc tp thi gian) thc hin ca 2 on chng trnh l
T(n)=T1(n)+T2(n) = O(max{f1(n), f2(n)}Chng minh: Theo u bi, tn ti cc hng M1, M2, n1, n2
T1(n)M1*f1(n), n>n1, T2(n)M2*f2(n), n>n2Khi
T(n) = T1(n) + T2(n) M1*f1(n)+M2*f2(n), M.f(n) vi n>n0, M=max(M1,M2), n0=max(n1,n2)
f(n)=max(f1(n),f2(n))
6
27/01/2015
4
1. Gii thiu
Quy tc nhn T1(n) v T2(n) l thi gian thc hin ca hai on chng trnh con lng nhau
(ph thuc) P1, P2 v
T1(n)= O(f1(n)); T2(n)=O(f2(n))
Khi thi gian ( phc tp thi gian) thc hin ca 2 on chng trnh l
T(n)=T1(n)*T2(n) = O(f1(n)*f2(n))
Chng minh: (tng t vi quy tc cng)
7
1. Gii thiu
Quy tc phn tch cu lnh Cc cu lnh n (gn, c, ghi) c phc tp l Hng - O(1)
V d:(1) - read(a)
(2) - read(b)
(3) - read(c)
(4) - delta = b*b 4*a*c
Nhn xt: Trong on chng trnh ch bao gm cc lnh n k tip nhau(khng cha cc vng lp), theo quy tc cng => phc tp thut ton lhng O(1)
8
27/01/2015
5
1. Gii thiu
Quy tc phn tch cu lnh Cu trc if: thi gian kim tra iu kin + thi gian thc hin sau THEN hoc
ELSE
Cu trc lp: thi gian thc hin vng lp l tng thi gian thc hin ca thn vng lp.
Nu s bc tnh trong vng lp khng i (theo mi bc lp) th thi gian thc hinvng lp bng tch ca s ln lp nhn vi thi gian thc hin thn vng lp.
9
2. Phn tch trc tip
10
27/01/2015
6
2. Phn tch trc tip
11
2. Phn tch trc tip
12
27/01/2015
7
2. Phn tch trc tip
13
2. Phn tch trc tip
14
27/01/2015
8
2. Phn tch trc tip
ss = n + n 1 = 2n - 1
gn =n + 1 + (n) = 2n (xu nht)
15
2. Phn tch trc tip
16
27/01/2015
9
2. Phn tch trc tip
17
2. Phn tch trc tip
18
27/01/2015
10
2. Phn tch trc tip
19
2. Phn tch trc tip
20
27/01/2015
11
2. Phn tch trc tip
21
2. Phn tch trc tip
22
27/01/2015
12
2. Phn tch trc tip
23
2. Phn tch trc tip
24
27/01/2015
13
2. Phn tch trc tip
25
2. Phn tch trc tip
26
27/01/2015
14
2. Phn tch trc tip
27
2. Phn tch trc tip
28
27/01/2015
15
2. Phn tch trc tip
29
2. Phn tch trc tip
30
27/01/2015
16
2. Phn tch trc tip
31
3. on chng trnh c gi chng trnh con
Gi chng trnh con khng quy
B
B1 B2
A
B11 B12
32
27/01/2015
17
3. on chng trnh c gi chng trnh con
Gi chng trnh con quy
Tnh thi gian thc hin ca A?
A
33
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy
Cch gii quyt:1. Thnh lp phng trnh quy
2. Gii phng trnh quy
Nghim ca li gii bc 2 l thi gian thc
hin chng trnh
34
27/01/2015
18
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy
Phng trnh quy: Biu din mi lin h gia T(n) vi T(k), kn0 C(n0): Thi gian thc hin khi n=n0 T(k): thi gian thc hin khi n>k>n0 d*: Thi gian phn chia v tng hp kt qu
36
27/01/2015
19
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy
V d: xt hm tnh giai tha
Function gt(n)
begin
if n=0 then gt=1
else gt=n*gt(n-1)
end
Gi T(n) l thi gian tnh n!, th T(n-1) l thi gian tnh (n-1)!
Khi n=0, ta c C(0)=1 (php gn)
37
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy
V d: xt hm tnh giai tha
Function gt(n)
begin
if n=0 then gt=1
else gt=n*gt(n-1)
end
Khi n>0, hm gi quy gt(n-1), tn T(n-1)
Tng hp kt qu y cn 1 php gn, d*=1
38
27/01/2015
20
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy
V d: xt hm tnh giai tha
Function gt(n)
begin
if n=0 then gt=1
else gt=n*gt(n-1)
end
Khi n>0, hm gi quy gt(n-1), tn T(n-1)
Tng hp kt qu y cn 1 php gn, d*=1
39
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy
Gii phng trnh quy Phng php truy hi
1. Vi n>k>n0: dng phng trnh quy ln lt thayth T(k) vo v phi
2. Dng khi k=n03. Th T(n0) tm T(n)
40
27/01/2015
21
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy Gii phng trnh quy Phng php truy hi
1. V d: Gii
T(n) = T(n-1) + 1= T(n-2) + 1 + 1.= T(n-i) + i
Dng khi n-i = 0, hay i=n, khi T(n) = 1 + n = O(n)
41
3. on chng trnh c gi chng trnh con
phc tp chng trnh con dng quy Gii phng trnh quy Phng php truy hi
1. V d: Gii
T(n) = T(n/2) + 1= T(n/22) + 1 + 1.= T(n/2i) + i
Dng: n/2i = 1 (n0), hay i=log2n, khi T(n) = 0 + log2n
42
27/01/2015
22
4. nh gi bng thc nghim
43
4. nh gi bng thc nghim
44
27/01/2015
23
4. nh gi bng thc nghim
45
4. nh gi bng thc nghim
46
27/01/2015
24
4. nh gi bng thc nghim
47
4. nh gi bng thc nghim
48
27/01/2015
25
NI DUNG BI HC
I. Gii thiu
II. Phn tch trc tip cc on m
III. Phn tch on m c li gi chn trnh con
IV. nh gi da trn thc nghim
V. Bi tp
49
5. Bi tp
1. Tnh s php so snh trong on m v d 1 slide 11.
2. S dng cng thc tnh tng dy ly tha tnh ra phc tp lthuyt v d 2 slide 13, nh gi bng thc nghim chng trnhtrong v d 2 slide 13 v so snh vi nh gi l thuyt.
3. Tnh tham s (i) qua tnh s php so snh v d 10 slide 26
4. Tnh s php gn v d 10 trang 26.
5. Tnh s php so snh, s php gn trong on chng trnh v d11 slide 27.
6. Tnh s php so snh, s php gn trong on chng trnh v d12 slide 28.
50
Recommended