1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuật đánh giá thuật toán

78 468 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kỹ thuật đánh giá thuật toán
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Kỹ thuật đánh giá thuật toán
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 78
Dung lượng 630,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kỹ thuật đánh giá thuật toán Nội dung: 1. Công cụ sơ cấp 2. Hàm sinh 3. Nhóm Hoán vị 4. Định lý Master Phép toán chủ yếu trong các đoạn mã là phép gán và so sánh. Phƣơng pháp này không giải quyết đƣợc hết các trƣờng hợp tổng quát

Trang 1

C HƯƠNG 2

1

Trang 5

sum = sum +i*j;

Trang 6

sum = sum +i*j;

Trang 7

n P

Gan n

1 1 1

2 2

2

2 2

2

) ( 1

i i

i

Trang 8

2

1)(

20

2 2

2

2 2

2

2

n i

khi n

i

n i

khi

n i

khi i

n i

n i

Trang 9

n i

n

n i

n

n i

i n

i

i

i n

n

n i

n n

12

22

12

22

2

22

2

Trang 10

2

41

12

22

2

22

1

12

22

2

n

n n

n n

n

i n

n n

n

n

n i

Trang 11

(thể hiện rõ ràng trong đoạn mã)

 Loại 2: Số lần lặp không tường minh

 Có thể tính toán xác định Ví dụ: Tổng n số nguyên

 Biến ngẫu nhiên phụ thuộc dữ liệu nhập Ví dụ: Tìm số lớn nhất

11

Trang 12

 Vòng lặp trong số vòng lặp khôngxác định một cách hiển nhiên

Trang 15

 Không phụ thuộc vào dữ liệu ngẫu nhiên

 Rẽ nhánh phụ thuộc tính ngẫu nhiên

 Dùng xác xuất

15

Trang 17

B ÀI T ẬP

2.1.1 Tính số phép so sánh của ví dụ trong slide 5

Từ đó xác định thời gian thực hiện của thuật toán đó.

2.1.2 Xác định thời gian thực thi của đoạn mã sau:

17

sum = 0;

i = 1;

while (i ≤ n) {

j = i;

while ( j > 0 ) {

Trang 19

N ỘI DUNG

 1 Công cụ sơ cấp

 2 Hàm sinh (Generating function)

 2.1 Giới thiệu về hàm sinh

Trang 20

n

nz a z

z a z

f

n

n n

  an n0  f ( z )

Trang 21

0

0 1

,

0 , 0

,

1

0

0

0 0

,

0 , 0

z z

1 1

,

1 , 1

z

1 1

Trang 22

1

0

n a

a

a

n n

n

n

n z a z

f

Trang 23

n n n

n

a z

z zf

1

2

7 )

(

k

k k

k

k

a z

1 )

7 2

1 )

(

1

0 0

7 2

1 )

zf

Trang 24

7 )

( 2

1 )

z f

z zf

7 )

( 2

1 )

z

a z

f z

7 2

1 )

( 2

1

0

z

a z

f z

z

1

1 2

7 3

)

( 2

1

Trang 25

z f

z z

z

z f

z z

z

z f

z

z f z

2

8 )

(

1 2

2 1

1 7

1 2

6 )

(

1 2

1

7 1

2

6 )

(

1 2

7 3

)

( 2

1 2

Trang 26

2 H ÀM SINH

2.1 GIỚI THIỆU VỀ HÀM SINH

 Ví dụ: Xác định hàm sinh của dãy sau:

) ( )

1 (

7 )

0 (

n n

n T n

T T

Trang 27

2 H ÀM SINH

2.2 TÍNH CHẤT CỦA HÀM SINH

 F(z) là hàm sinh của dãy {an} có bán kính hội tụ là R1

 G(z) là hàm sinh của dãy {bn} có bán kính hội tụ là R2

1 0

2

2

1 0 0

1

1

0 0

0

n

k n k

c

b a b

a b

a

c

b a b

Trang 28

3 1 1 1 1 1 1

2 1 1 1 1 1

(

1 )

z H

Trang 29

G

Trang 32

1 2

1 3

1 )

Trang 33

2 H ÀM SINH

2.3 HÀM SINH CỦA DÃY PHÂN BỐ XÁC SUẤT

 Tính chất hàm sinh của dãy phân bố xác xuất

 Định lý:

a) Kỳ vọng của biến ngẫu nhiên X

(trong đó G là hàm sinh tương ứng với X)

0

G np

Mean G

1 ( '' )

)

Trang 34

11 6

1 9 2

1 4 3

1 )

(

6

11 2

1 1 3 1

2 2

0 2

n X

Var

np X

1 ( ' [ ) 1 ( ' )

1 ( ' )

(

1 ) ( '

6

11 )

1 ( '

2

1 3

1 ) ( ' 6

1 2

1 3

1 ) (

2

2 3

G X

Var

z z

G

G X

z z

z G z

z z

z G

Trang 35

và F(z) là hàm sinh của dãy {rn} đƣợc xác định nhƣ sau:

35

) (

) (

) (

) (

) (

) (

H Var

G Var

F Var

H Mean

G Mean F

1 1

0 0 0

n

k n k

n p q r

q p q

p r

q p r

Trang 36

3 4

1 2

1 4

1 3

3

2 )

F

Trang 37

2 )

(

1

z z

3

1 3

,3

1,32

1 4

1 )

4

1 2

1 4

,4

1,2

1,41

Trang 38

2 H ÀM SINH

2.3 HÀM SINH CỦA DÃY PHÂN BỐ XÁC SUẤT

nên là hàm sinh của dãy xác suất

 Mean(F) = Mean(F1)+Mean(F2)+Mean(F3)

3 )

8

5 8

,8

5,0,0

,83

Trang 39

n

nz a z

a a p

Trang 40

( n là biến ngẫu nhiên  {0, …, n-1})

1

n

Trang 42

1

)

| (

1 1

)

| (

1

)

| (

) (

)

| (

).

( )

(

1 1

M k

P n

M k

P n p

M k

P M P M

k P

M P k

P

k n k

n nk

n n

nk

n n

Trang 43

1 0

1 0

1

1 1

1 1 0

1

1 1

1 0

1

0 0

1 1

1 1

1

1 1

1

n k

k k n k

k

k n n

k

k k n k

k

k n n

k k

k n k

n n

k k

nk n

k k

nk n

p z

p n

z

p n

z p

z

p n

z

p n

p

z

p n

p n p

z p p

z p z

G

Trang 44

0 1 0

1 0

1 0

1 1

1 1

n n

n k

k k n k

k

k n n

n

p z

G n

z

G n

z p

p z

p n

z

p n

z p

10

1 0

n

P p

n n

n n

Trang 45

1 1

1

1

1 1

1 1

1

1 1

1

1 1

1 1

0 1 1

1 0

G n

n z

z

G n

z

G n z

n n

z

G n

z

G n

z n

p z

G n

z

G n

z p

z

G

n

n n

n n

n n

n n

n

Trang 46

n

z z

G n

n

z z

G

z G

z

z z

G

z z

G

z G

z z

G

n

1 2

3

1 2

2

1

1

2 1

1

2

1 3

1 3

2 2 1

Trang 47

2 2

1

1 )

1 ( '

Trang 49

 3.2 Phần tử cực đại bên phải

 3.3 Ứng dụng phân tích các thuật toán sắp xếp

 4 Định lý Master

49

Trang 50

31

321

Trang 52

Xét hoán vị  = (5 9 1 8 2 6 4 7 3)Bảng nghịch thế = (2 3 6 4 0 2 2 1 0)

b I

1

Trang 53

 nN, b1, b2, …, bn là dãy thỏa điều kiện 0  bi  n-i, i=1, 2,

, n thì luôn có duy nhất một hoán vị  sao cho bảng nghịch thế

của  là b1, b2, …, bn

Ví dụ: Xét b = (2 3 0 0 0) Hãy viết hoán vị  có 5 phần tử

53

Trang 54

 nN, b1, b2, …, bn là dãy thỏa điều kiện 0  bi  n-i, i=1, 2,

, n thì luôn có duy nhất một hoán vị  sao cho bảng nghịch thế

Trang 55

3 N HÓM HOÁN VỊ

3.2 PHẦN TỬ CỰC ĐẠI BÊN PHẢI

Định nghĩa

 Cho hoán vị  của tập S = {1, 2, 3, …, n} Phần tử j  S đƣợc

gọi là phần tử cực đại bên phải nếu nó lớn hơn tất cả các phần

tử nằm ở bên phải nó

 Ví dụ:  = (5 7 3 2 6 1 4)

7, 6, 4 là phần tử cực đại bên phải

55

Trang 56

3 N HÓM HOÁN VỊ

3.2 PHẦN TỬ CỰC ĐẠI BÊN PHẢI

Mệnh đề

 Cho hoán vị  của tập S = {1, 2, 3, …, n} Nếu j  S là phần tử

cực đại bên phải thì bj = n – j

 Gọi M là tổng số các phần tử cực đại bên phải của một hoán vị

 thì giá trị trung bình của M là và Hn = O(logn)

Trang 57

3 N HÓM HOÁN VỊ

3.3 ỨNG DỤNG PHÂN TÍCH CÁC THUẬT TOÁN SẮP XẾP

 Xét bài toán sắp xếp mảng R[0], R[1], …, R[n-1] với các

khóa tương ứng là R[0].key, R[1].key, …, R[n-1].key.

 Giả sử các khóa khác nhau từng đôi một

57

Trang 58

3 N HÓM HOÁN VỊ

3.3 ỨNG DỤNG PHÂN TÍCH CÁC THUẬT TOÁN SẮP XẾP

Sắp xếp bằng cách đếm

 Sử dụng một mảng tạm Count[0], Count[1], …, Count[n-1]

với Count[i] = số phần tử trong mảng R có khóa nhỏ hơn R[i].key

Trang 60

CHÈN TRỰC TIẾP – INSERTION SORT

 Cho dãy số :

i=1

i=2

Trang 61

CHÈN TRỰC TIẾP – INSERTION SORT

Trang 62

CHÈN TRỰC TIẾP – INSERTION SORT

i=6

i=7

Trang 63

R[pos+1] = R[pos];

pos ;

} R[pos+1] = x];

}

Trang 64

  = số nghịch thế

Trang 66

) ( n O nlogb a

) ( )

( n O nc

a b

c

c n

O n

f ( )  ( ) ,  log

0 ,

log ,

) log (

) ( nO n ck

) log

( )

( n O n 1 n

a b

c

c n

O n

f ( )  ( ) ,  log

Trang 67

4 Đ ỊNH L Ý M ASTER

 Định lý Master dùng để tính độ phức tạp của các thuật toán chia để trị Các thuật toán này thường chuyển bài toán lớn về các bài toán nhỏ rồi kết hợp lời giải các bài toán nhỏ để tạo ra kết quả của bài toán ban đầu

 Bài toán lớn được chia ra thành a bài toán có kích

thước n/b để giải rồi dùng f(n) phép tính để kết hợp lời giải các bài toán con lại

67

Trang 68

( 8 )

T ) 10

2

( 2 )

n nOn nOn n

O n

T ( )  loga b logk1  1 log1  log

2

) 2

( 2 )

( n T n n

) ( n O n O n

Tc

Trang 69

ĐỆ QUI VÀ ĐÁNH GIÁ

69

Trang 70

P HÂN TÍCH C HƯƠNG TRÌNH ĐỆ QUI

 Để phân tích chương trình đệ qui ta cần:

 Thành lập phương trình đệ qui

 Giải phương trình đệ qui, nghiệm của pt đệ qui sẽ là

thời gian thực hiện chương trình

70

A

Trang 72

T HÀNH LẬP PHƯƠNG TRÌNH ĐỆ QUI

 PT đệ qui là mối quan hệ giữa T(n) và T(k), với

T(n) và T(k) là thời gian thực hiện chương trình có

kích thước dữ liệu là n, k

 Trường hợp dừng: thời gian thực hiện là C(n)

 Gọi đệ qui  Có bao nhiêu lời gọi đệ qui có kích thước

k ta sẽ có bấy nhiêu T(k)

 Ngoài ra, thời gian để tổng hợp bài toán f(n)

72

Trang 73

T HÀNH LẬP PHƯƠNG TRÌNH ĐỆ QUI

 Dạng tổng quát của phương trình đệ qui

 C(n): thời gian thực hiện chương trình trong th dừng

( (

)

( )

(

n f k

T g

n

C n

T

Trang 74

0)

(

2

1

n khi C

n T

n khi

C n

T

Trang 77

0)

(

2

1

n khi C

n T

n khi

C n

T

Ngày đăng: 19/06/2014, 10:50

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w