1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận Phân tích và thiết kế thuật toán HỆ THỨC TRUY HỒI Recurrences

56 1,1K 1

Đ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

Định dạng
Số trang 56
Dung lượng 496 KB

Nội dung

Phần kết luận - Một số kết luận rút ra sau khi nghiên cứu 3 phương pháp giải công thức truy hồi trên... “Công thức truy hồi là một đẳng thức hay một bất đẳng thức trong đó một hàm được

Trang 2

Phân công các thành viên trong nhóm

* Sự phân công chỉ mang tính chất tương đối, nhóm đã tổ chức 2 buổi seminar nhỏ cho các thành viên nắm được toàn bộ nội dung.

Trang 4

Nội dung trình bày gồm 3 phần chính

I Phần mở đầu

- Trình bày các khái niệm liên quan

II Phần nội dung

- Trình bày 3 phương pháp giải công thức truy hồi

III Phần kết luận

- Một số kết luận rút ra sau khi nghiên cứu 3 phương pháp giải công thức truy hồi trên

Trang 5

I Mở đầu

 Đối với giải thuật đệ qui thì thời gian thực hiện thường được

mô tả bởi hệ thức truy hồi

Merge_Sort(A, Left, Mid); {T(n/2)}

Merge_Sort(A, Mid+1, Right);{T(n/2)}

Merge(A, left, mid, right); {n}

Trang 6

“Công thức truy hồi là một đẳng thức hay

một bất đẳng thức trong đó một hàm được

mô tả thông qua giá trị của chính hàm đó

trên các đối số nhỏ hơn”

1 Định nghĩa về công thức truy hồi

Trang 7

Chọn c 1 và c 2 sao cho: c 1 n 2 ≤ ½.n 2 – 3.n ≤ c 2 n 2 với n ≥ n 0

tương đương với: c 1 ≤ ½ – 3/n ≤ c 2 với n ≥ n 0

(chọn c 1 =1/14; c 2 = ½; n 0 =7)

2 Một số kí hiệu tiệm cận

Trang 8

Minh họa kí hiệu Θ bằng đồ thị

Trang 9

b Ký hiệu O (O-notation)

Trang 10

Minh họa kí hiệu O bằng đồ thị

Trang 11

n ≤ n 2 với n ≥ 1

C Ký hiệu Ω (Ω-notation)

Trang 12

Minh họa ký hiệu Ω bằng đồ thị

Trang 13

- Giá trị Sàn (floor) của một số thực x, được ký hiệu là một số nguyên lớn

- Giá trị Trần (ceiling) của một số thực x, được ký hiệu là một số

nguyên nhỏ nhất không nhỏ hơn x

Ví dụ:

 x

3 2

Trang 14

 Thông thường, chúng ta bỏ qua một số chi tiết khi thiết lập và giải công thức truy hồi,

đó là:

- Tính nguyên của đối số

- Điều kiện biên

4 Tính nguyên của đối số và điều kiện biên

Trang 15

 Thời gian thực hiện T(n) có ý nghĩa khi n nguyên (vì kích thước của dữ liệu vào luôn là số nguyên)

 Ví dụ: Hệ thức truy hồi của thuật toán MERGE_SORT nếu xét đến tính nguyên của đối số n là:

 Sau khi bỏ qua tính nguyên của đối số, hệ thức truy hồi của thuật toán MERGE_SORT được viết lại:

Trang 16

- Cho dù giá trị biên (trường hợp suy biến đệ quy) có thay đổi thì kết quả thu được sau khi giải công thức truy hồi cũng không thay đổi nhiều khi n đủ lớn vì chúng chỉ hơn kém nhau một hằng số C nào đó

Do đó, độ phức tạp của thuật toán không phụ thuộc vào các điều kiện biên ban đầu

- Để thuận tiện, chúng ta có thể bỏ qua điều kiện biên trong quá trình giải hệ thức truy hồi

Bỏ qua điều kiện biên: T(g(n)) được gọi là giới hạn dưới của n)) được gọi là giới hạn dưới của = 2T(n/2) + Θ(n)

Trang 17

II Nội dung

1 Phương pháp thế (The substitution method)

- Phương pháp thế dùng để giải công thức truy hồi T(n), qua 2 bước thực hiện như sau:

+ Bước 1 Dự đoán chặn trên của T(n) Đó là một đại

lượng được đại diện bởi O(f(n)), khi đó ta suy đoán rằng T(n)=O(f(n))

+ Bước 2 Sử dụng quy nạp toán học để chứng minh giả

thiết đưa ra là đúng đắn Tức là ta chứng minh T(n) ≤ C.f(n), trong đó C là một hằng số dương nào đó

Trang 18

Thông thường f(n) là một trong các hàm quen thuộc như logn,

n, nlogn, n 2 , n 3 , 2 n , n!, n n

Ví dụ:

1 Phương pháp thế

)

( 2

2 )

Bước 1: Suy đoán T(n)=O(nlgn)

Bước 2: Sử dụng phương pháp qui nạp để chứng minh T(n)

≤C.nlogn

Trang 19

(*) )

( 2

2 )

2 log log

2 log

) 2 / log

2 / (

2 )

(

n cn

n cn

n cn

n

n cn

n n

n c n

Trang 20

Giờ ta cần chứng tỏ nghiệm này áp dụng cho các điều kiện biên.

log )

1 (  cn

)

( 2

2 )

Trang 21

Cách suy đoán nghiệm tốt

 Không có phương pháp chung cho việc đoán nghiệm

 Dựa vào kinh nghiệm và sự sáng tạo

 Nếu công thức truy hồi có dạng đã gặp trước thì ta đoán nghiệm tương tự

T n

T ( )  2 ( / 2  17 ) 

Xét ví dụ:

Mới nhìn vào công thức truy hồi này có vẻ phức tạp vì sự có mặt của tham số 17 Tuy nhiên tham số 17 này về cơ bản không ảnh hưởng đến nghiệm của hệ thức truy hồi trên khi n đủ lớn

Vì vậy, có thể đoán luôn nghiệm T(n)=O(nlgn)

 Dự đoán các cận trên và cận dưới một cách sơ lược rồi sau đó thu nhỏ miền giữa cận dưới và cận trên bằng cách cố gắng làm tăng cận dưới

và giảm cận trên

Trang 22

Sự tinh tế

 Một số trường hợp có thể dự đoán đúng dạng nghiệm của hệ thức truy hồi nhưng quy nạp toán học không chứng minh được

 Nguyên nhân: Giả thuyết quy nạp không đủ mạnh

 Khắc phục: Xem lai dự đoán bằng việc trừ hoặc cộng một số hạng thích hợp

Ví dụ: T ( n )  T (  n / 2  )  T (  n / 2  )  1  O(n) ???  T(n)  cn

 / 2  ) (  / 2  ) 1 1 (

) ( nc nc n   cn

Dự đoán mới : T(n)  cn-b

b cn

b cn

b n

c b

n c n

(

(với b 1)

Trang 23

) lg (

) ( )

2 ( )

(

) 2 / ( 2 )

(

) 2 ( 2 )

2 (

lg )

( 2 )

(

2

n n

O m

m O

m S T

n T

m m

S m

S

m T

T

n n

T n

T

m

m m

Ví dụ:

Đặt

Đặt

Trang 24

Nhận xét về phương pháp thế

truy hồi khá đơn giản, rất hữu dụng đối với những hệ thức truy hồi có dạng nghiệm dễ đoán

nghiệm, vì vậy dễ dẫn đến việc đoán nghiệm có thể không chính xác

về phương pháp Cây đệ qui sẽ cung cấp thêm 1

phương pháp đoán nghiệm có sơ sở và chính xác hơn.

Trang 25

2 Phương pháp cây đệ quy (The recursion-tree method)

- Công thức truy hồi được thể hiện dưới dạng cây

- Cây đệ quy được xây dựng dần dần dựa vào công thức đệ quy Những nút trên cây đệ quy đại diện cho chi phí phải gánh chịu ở từng mức trong quá trình phân rã.

- Thời gian thực hiện thuật toán sẽ là tổng chi phí theo toàn

bộ các mức của cây đệ quy Dựa trên tổng đó, chúng ta sẽ rút ra được đánh giá về thời gian thực hiện của thuật toán bằng các biến đổi toán học

Trang 26

Phương pháp cây đệ quy

- Đặc biệt hữu dụng cho bài toán truy hồi mô tả thời gian thực hiện của giải thuật chia để trị.

- Hữu dụng cho việc đoán đại lượng chặn trên được sử dụng trong phương pháp thế.

Trang 27

Phương pháp cây đệ quy

) 2 / (

2 )

c n

T

cn n

T n

T

Từ phân rã ta xây dựng cây đệ quy (1) như sau:

Trang 28

Phương pháp cây đệ quy

T(n)=2T(n/2) + cn

Trang 29

Phương pháp cây đệ quy

T(n)=2T(n/2) + cn

Trang 30

Xác định độ cao của cây đệ qui

- Kích thước của bài toán giảm khi chúng ta triển khai tiếp cho đến khi đạt đến điều kiện biên

- Giá trị của nút có độ sâu i là n/2i (tương ứng với chi phí phải gánh chịu của bài toán con ở mức i)

- Kích thước của bài toán con đạt đến giá trị 1(nút lá) khi n/2i =1 i=lgn hoặc tương

Trang 31

Chi phí cây đệ quy

- Tiếp đến ta tính chi phí cho mỗi mức của cây

- Số lượng nút của mức dưới gấp 2 lần số lượng nút của mức kề trên nó, vì thế số nút tại độ sâu i là 2i nút và mỗi nút tại độ sâu i đóng góp chi phí là:

Trang 32

Chi phí cây đệ quy

- Bây giờ chúng ta tính tổng chi phí của tất

cả các mức để xác định chi phí cho toàn bộ cây.

- Bây giờ chúng ta sử dụng phương pháp thế để kiểm chứng dự đoán của chúng ta là đúng.

T(n)=2T(n/2) + (n)

-Mà cây có tất cả lgn + 1 mức và mỗi mức có chi phí là cn, vậy

tổng tất cả chi phí của lgn +1 mức:

cn(lg n + 1) = cn lgn + cn

Trang 33

- Thật vậy, T(n) = O(nlgn) là một cận trên của hệ thức truy hồi

Trang 34

4 / ( )

16 / ( 3 3

) ( )

4 / ( 3 )

(

2

2 2

T

n n

n T

n n

T n

T

Phương pháp cây đệ qui

Trang 35

Phương pháp cây đệ quy

Trang 36

Phương pháp cây đệ qui

( 3 )

Trang 37

Xác định độ cao của cây đệ qui

- Kích thước của bài toán giảm nếu chúng ta triển khai tiếp cho đến khi đạt đến điều kiện biên.

- Giá trị của nút có độ sâu i là n/4 i

(tương ứng với chi phí phải gánh chịu của bài toán con ở mức i)

- Kích thước của bài toán con đạt đến giá trị 1(nút lá) khi n/4 i =1 i=log 4 n hoặc tương đương mức i=log 4 n

- Cây có log 4 n+1 m c ức (0, 1, 2, , log 4 n)

( 3 )

Trang 38

-Tiếp đến ta tính chi phí cho mỗi

mức của cây

- Số lượng nút của mức dưới gấp 3

lần số lượng nút của mức kề trên

nó và vì thế số nút tại độ sâu i là 3 i

- Kích thước của bài toán con sẽ

giảm xuống với cấp số nhân hệ số 4 cho mỗi mức khi chúng ta đi từ gốc xuống, mỗi một nút tại độ sâu i với

3 )

Chi phí của cây đệ qui

Trang 39

- Ở mức cuối cùng tại độ sâu log4n có 3log

nlog

43 T(1) với Θ(n log

43)

) (nlog43

Chi phí cây đệ qui

Trang 40

Chi phí của cây đệ qui

)

( 1

) 16 / 3 (

1 )

16 / 3

(

16 3

)

( 16

3

16

3 16

3 )

(

3 log 2

log

1 log

0

3 log 2

3 log 2

1 log 2

2 2

2

4 4

4

4

4 4

n cn

n cn

n cn

cn cn

( n T n n2

Trang 41

-Trong công thức cuối này nó có dạng

là tổng cấp số nhân vì vậy chúng ta có:

( 3 )

Chi phí của cây đệ qui

Trang 42

- Bây giờ chúng ta sử dụng phương pháp thế để kiểm chứng dự đoán của chúng ta là đúng

- Thật vậy, T(n) = O(n2) là một cận trên của hệ thức truy hồi T (n) = 3T (⌊n/4⌋)+Θ(n2)

- Chúng ta muốn chỉ ra rằng T(n) ≤ dn2 với d là một hằng số > 0

- Giả sử rằng giả thiết quy nạp đúng với n/4, có nghĩa

Trang 43

3 16

Dùng phương pháp thế kiểm chứng

Trang 44

Phương pháp cây đệ quy

-Từ hai ví dụ trên ta đưa ra nhận xét:

+ Dùng phương pháp này ta có thể đoán nghiệm có

Trang 45

3 Phương pháp master (The master method)

 Phương pháp master cung cấp một phương pháp khá tổng quát và rõ ràng để giải quyết các hệ thức truy hồi dạng:

T(n)=aT(n/b)+ f(n) trong đó: a ≥ 1, b > 1, f ( n ) là một hàm xác định dương

cho trước

 Hệ thức truy hồi trên mô tả thời gian thực hiện của thuật toán đệ quy Trong đó, bài toán có kích thước n được chia thành a bài toán con có kích thước n / b ( a , b dương)

 Thời gian thực hiện bài toán con là T ( n / b ) Thời gian để phân chia và tổ hợp các kết quả bài toán con là f ( n )

Trang 46

 Thời gian thực hiện thuật toán MERGE_SORT được cho bởi công thức:

Trang 47

Định lý master

không âm theo công thức truy hồi:

T ( n ) = aT ( n / b ) + f ( n )

1 Nếu f ( n ) = O( nlogb a – ε ) với ε > 0 nào đó, thì

T ( n )=Θ( nlogb a )

2 Nếu f ( n ) = Θ( nlogb a ) thì T ( n )= Θ( nlogb a lg n )

3 Nếu f ( n ) = Ω( nlogb a + ε ) với ε > 0 nào đó

Nếu af ( n / b ) ≤ cf ( n ) khi n đủ lớn thì T ( n ) = Θ ( f ( n )) ( c là một hằng số nào đó, c < 1)

Trang 48

Định lý master

*Nhận xét:

 Chúng ta phải so sánh hàm f(n) với nlog b a

 Nghiệm của công thức truy hồi sẽ được biểu diễn bởi hàm lớn hơn trong hai hàm Ví dụ:

 Trường hợp 1: nlog b a lớn hơn nên nghiệm sẽ là T(n)=Θ(nlogba)

 Trường hợp 3: f(n) lớn hơn, nghiệm sẽ là: T(n) = Θ (f (n))

Trang 49

 Trong trường hợp 3: không chỉ f(n) phải lớn hơn nlogba,

nó còn phải lớn hơn theo ý nghĩa đa thức và mà còn phải thỏa điều kiện af ( n / b ) ≤ cf ( n) khi n đủ lớn (trong

đó c là một hằng số, c < 1)

Trang 50

để giải quyết.

Trang 51

Sử dụng phương pháp master

 Trong phương pháp master, chúng ta chỉ cần xác định công thức truy hồi đã cho tương ứng với trường hợp nào và sau đó đưa ra kết quả trực tiếp nhờ vào định lý master.

Trang 52

Ví dụ 1

 a =9

 b =3

 f ( n )= n

hợp 1 của định lý master và thu được kết quả

T ( n ) = Θ(n2)

Trang 55

 Suy ra: nlog b a = nlog 2 2=n

 Vì f(n) > nlog b a nhưng không lớn hơn theo ý nghĩa đa thức vì f(n)/

nlog b a=(nlgn)/n=lgn nhỏ hơn nε khi n đủ lớn (ε dương bất kỳ) Bởi vậy trường hợp này rơi vào giữa trường hợp 2 và trường hợp 3

không thể áp dụng phương pháp master cho

bài toán này

Trang 56

 Các phương pháp đều có thế mạnh và có cách giải quyết vấn đề riêng:

- Phương pháp thế là phương pháp đoán nghiệm

tự nhiên nhưng dựa trên kinh nghiệm của người làm

- Phương pháp cây đệ qui cung cấp 1 công cụ khá mạnh để đoán nghiệm chính xác, tuy nhiên việc tính tổng chi chí các nút của cây đệ qui không phải khi nào cũng dễ dàng.

- Phương pháp master có ý nghĩa khi các điều kiện được thỏa mãn  rõ ràng việc tìm ra nghiệm của công thức truy hồi là dễ dàng.

III Kết luận

Ngày đăng: 11/04/2015, 22:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w