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 2Phâ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 4Nộ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 5I 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 7Chọ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 8Minh họa kí hiệu Θ bằng đồ thị
Trang 9b Ký hiệu O (O-notation)
Trang 10Minh họa kí hiệu O bằng đồ thị
Trang 11n ≤ n 2 với n ≥ 1
C Ký hiệu Ω (Ω-notation)
Trang 12Minh 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 17II 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 20Giờ 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 21Cá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 22Sự 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 (
) ( n c n c 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 24Nhậ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 252 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 26Phươ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 27Phươ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 28Phương pháp cây đệ quy
T(n)=2T(n/2) + cn
Trang 29Phương pháp cây đệ quy
T(n)=2T(n/2) + cn
Trang 30Xá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 31Chi 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 32Chi 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 344 / ( )
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 35Phương pháp cây đệ quy
Trang 36Phương pháp cây đệ qui
( 3 )
Trang 37Xá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 40Chi 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 433 16
Dùng phương pháp thế kiểm chứng
Trang 44Phươ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 453 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 51Sử 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 52Ví 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