Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
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
HỆ THỨC TRUY HỒI (Recurrences) Giáo viên hướng dẫn: TS Hoàng Quang Nhóm thực hiện: Nhóm 9, gồm các thành viên: Trần Thị Kim Dung Nguyễn Tiến Hoàng Dương Minh Hùng Nguyễn Thành Minh Nguyễn Thanh Sơn (Lớp Cao học Khoa học Máy tính khóa 2013-2015) Phân công các thành viên trong nhóm Phần mở đầu và kết luận: Thanh Sơn Phương pháp thế: Tiến hoàng Phương pháp cây đệ qui:Thành Minh Phương pháp Master: Hùng + Dung * 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. Mục đích của phần trình bày Cung cấp cho chúng ta 3 phương pháp giải hệ thức truy hồi: - Phương pháp thế - Phương pháp cây đệ qui - Phương pháp Master Từ đó xác định được nghiệm của hệ thức truy hồi và kết luận được độ phức tạp của thuật toán một cách đúng đắn. 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 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 VD: Xét giải thuật sắp xếp trộn Procedure MERGE_SORT(A,Left,Right){T(n)} Begin if (Left<Right) then {1} Begin Mid:=Round((Left+Right)/2); {1} Merge_Sort(A, Left, Mid); {T(n/2)} Merge_Sort(A, Mid+1, Right);{T(n/2)} Merge(A, left, mid, right); {n} End; End; 1 nếu n=1 T(n)= 2T(n/2) + n nếu n>1 Minh họa sắp xếp trộn 1. Định nghĩa về công thức truy hồi “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 a. Ký hiệu Θ (Θ-notation) Định nghĩa: Cho trước hàm g(n). Lúc đó: Θ(g(n)) = { f(n): tồn tại số dương c 1 , c 2 và n 0 sao cho 0 ≤ c 1 g(n) ≤ f(n) ≤ c 2 g(n) với mọi n ≥ n 0 } Θ(g(n)) được gọi là giới hạn chặt của f(n) Ví dụ: ½.n 2 – 3.n = Θ(n 2 ) 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 Θ Định nghĩa: Cho trước hàm g(n). Lúc đó: O(g(n)) = { f(n): tồn tại số dương c và n o sao cho 0 ≤ f(n) ≤ cg(n) với mọi n ≥ } O(g(n)) được gọi là giới hạn trên của f(n) Ví dụ: f(n) = (n+1) 2. Có thể đánh giá f(n) là O(n 2 ) vì nếu chọn n 0 = 1 và c = 4 thì: (n+1) 2 ≤ 4n 2 với n ≥ 1 b. Ký hiệu O (O-notation) O [...]... 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ự Xét ví dụ: T (n) = 2T ( n / 2 + 17) + n 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... 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: Θ(1) nếu n=1 2T(n/2) + Θ(n) nếu n>1 T(n) = Điều kiện biên - 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... x là một số 4 Tính nguyên của đối số và điều kiện biên 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 Tính nguyên của đối số 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... Dùng phương pháp thế kiểm chứng - Thật vậy, T(n) = O(nlgn) là một cận trên của hệ thức truy hồi T (n) = 2T (⌊n/2⌋)+cn - Chúng ta muốn chỉ ra rằng T(n) ≤ dnlgn với d là một hằng số > 0 - Giả sử rằng giả thiết quy nạp đúng với n/2, có nghĩa là : T (⌊n/2⌋) ≤ d⌊n/2⌋ lg(⌊n/2⌋) - Thế bất đẳng thức ở giả thiết quy nạp vào hệ thức truy hồi ta có: T(n) ≤ 2(d⌊n/2⌋lg(⌊n/2⌋)) + cn ≤ dn lg(n/2) + cn = dn lg n - dn... 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à phí theo toàn bộ các mức của cây đệ trên tổng đó, chúng ta sẽ rút ra được về thời gian thực hiện của thuật toán biến đổi toán học tổng quy đánh... Phương pháp thế là phương pháp giải hệ thức 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 Tuy nhiên không có cơ sở trong việc đ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 Để khắc phục điều này, chúng ta sẽ đi tìm hiểu 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 2 Phương pháp cây... giải hệ thức truy hồi Ví dụ: T(n) = Θ(1) nếu n=1 2T(n/2) + Θ(n) nếu n>1 Bỏ qua điều kiện biên: T(n) = 2T(n/2) + Θ(n) 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. .. 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ế Phương pháp cây đệ quy - Xét ví T(n)=2T(n/2) dụ: + cn (1) - Phân rã bài toán trên : T (n) = 2T ( n / 2 ) + cn = 2[ 2T ( n / 4 ) + c(n / 2)] + c(n) = Từ phân rã ta xây dựng cây đệ quy (1) như sau: Phương... đ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 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ừ... ) + 1 = cn + 1 sai!! T dụ: Dự đoán mới: T(n) ≤ cn-b T (n) ≤ c( n / 2 − b) + c( n / 2 − b) + 1 = cn − 2b + 1 ≤ cn − b (với b ≥1) Biến đổi hệ thức về dạng thích hợp Đôi khi chỉ cần điều chỉnh nhỏ trong đối số là khiến một hệ thức truy hồi chưa được xác định trở thành dạng tương tự như đã gặp trước đó: Ví dụ: T (n) = 2T ( n ) + lg n Đăăt m=lg n m T (2 ) = 2T (2 2 ) + m S (m) = 2S (m / . pháp giải hệ thức truy hồi: - Phương pháp thế - Phương pháp cây đệ qui - Phương pháp Master Từ đó xác định được nghiệm của hệ thức truy hồi và kết luận được độ phức tạp của thuật toán một. 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. 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 I. Mở đầu Đối với giải thuật đệ qui thì thời