25
27/01/2015 1 Phân tích và Thiết kế THUẬT TOÁN Hà Đại Dương [email protected] Web: fit.mta.edu.vn/~duonghd 1 Bài 2 - Đánh giá độ phức tạp thuật toán PHÂN TÍCH VÀ THIẾT KẾ THUẬ TOÁN 2

Bai02 - Danh Gia Do Phuc Tap Thuat Toan

Embed Size (px)

DESCRIPTION

đánh giá độ phức tạp

Citation preview

  • 27/01/2015

    1

    Phn tch v Thit kTHUT TON

    H i Dng

    [email protected]

    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