Tiểu luận phân tích và thiết kế thuật toán hệ THỨC TRUY hồi

37 1.5K 3
Tiểu luận phân tích và thiết kế thuật toán hệ THỨC TRUY hồi

Đ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

Huế, 11- 2014 ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC  TIỂU LUẬN PHÂN TÍCH VÀ THIẾT KẾ THUẬT TOÁN HỆ THỨC TRUY HỒI Nhóm 9: Trần Thị Kim Dung Nguyễn Tiến Hoàng Lớp KHMT Khóa 2012-2014 Người hướng dẫn: TS Hoàng Quang MỤC LỤC MỤC LỤC 2 I. MỞ ĐẦU 3 II. Nội dung 4 1 Phương pháp thế 6 1.1 Giải hệ thức truy hồi bằng phương pháp thế 6 1.2 Thực hiện tốt việc đoán nghiệm 7 1.3 Các điểm cần lưu ý 7 1.4 Tránh các bẫy 8 1.5 Thay đổi các biến 8 1.6 Nhận xét 11 2. Phương pháp cây đệ quy 13 2.1 Ý tưởng của phương pháp cây đệ qui 13 2.2 Nhận xét phương pháp cây đệ quy : 25 3 Phương pháp master 26 3.1 Định lý Master 26 3.2 Sử dụng phương pháp master 27 3.3 Chứng minh định lý master 29 III. KẾT LUẬN 37 I. MỞ ĐẦU Xác định độ phức tạp của một thuật toán là công việc không hề đơn giản, trước đây chúng ta đã làm quen với một số qui tắc để xác định độ phức tạp của thuật toán (như qui tắc cộng, qui tắc nhân…) tuy nhiên đối với những thuật toán phức tạp thì việc xác định độ phức tạp một cách chính xác là rất khó khăn đặc biệt đối với những thuật toán sử dụng giải thuật đệ qui Trong phần này, chúng ta sẽ đi nghiên cứu 3 phương pháp hết sức hữu dụng để giải hệ thức truy hồi đại diện cho một giải thuật đệ qui: - Phương pháp thế - Phương pháp cây đệ qui - Phương pháp Master (với định lý Master rất hay) Từ đó có thể đưa ra được độ phức tạp của thuật toán một cách chính xác Xin chân thành cảm ơn TS Hoàng Quang, giảng viên Khoa Công nghệ thông tin Trường Đại học Khoa học Huế đã hướng dẫn chúng tôi hoàn thành tiểu luận này. II. Nội dung Thời gian chạy của thuật toán đệ quy được mô tả bởi hệ 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. Ví dụ, thời gian chạy T(n) của thuật toán MERGE SORT được biểu diễn bằng hệ thức truy hồi sau: Θ(1) nếu n=1 2T(n/2) + Θ(n) nếu n>1 trong đó giải hệ thức truy hồi trên sẽ thu được T(n) = Θ(nlgn) Phần này sẽ đề cập đến 3 phương pháp giải hệ thức truy hồi. Đó là phương pháp thế (the substitution method), phương pháp cây đệ quy (the recursion-tree method) và phương pháp master (the master method). Trong phương pháp thế, chúng ta dự đoán thời gian thực hiện sẽ bị chặn bởi một đại lượng nào đó, thông thường sẽ dự đoán chặn trên (upper bound) và sau đó dùng quy nạp toán học để chứng minh dự đoán là đúng đắn. Trong phương pháp cây đệ quy, 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 ở từng mức trên cây đệ quy đại diện cho chi phí (cost) phải gánh chịu ở 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. Phương pháp master áp dụng cho các công 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 cho trước Một số chi tiết cần lưu ý Trên thực tế, 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ố và điều kiện biên. Về tính nguyên của đối số, nhận xét rằng thời gian chạy T(n) của thuật toán chỉ xác định với n nguyên bởi vì đối với hầu hết các thuật toán kích thước dữ liệu vào là một số nguyên. Ví dụ, công thức truy hồi mô tả thời gian chạy xấu nhất của thuật toán MERGE SORT là như sau:        >Θ++ =Θ = 1)()2/(2)2/(2 1)1( )( nnnTnT n nT Sau khi bỏ qua tính nguyên của đối số, thời gian chạy xấu nhất của thuật toán MERGE-SORT được viết lại: T(n) = (1) (2) Θ(1) nếu n=1 2T(n/2) + Θ(n) nếu n>1 Chúng ta cũng có thể bỏ qua điều kiện biên vì 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 bởi vì chúng chỉ hơn kém nhau một hằng số C nào đó. Do vậy, độ 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. Khi giải hệ thức truy hồi, chúng ta thường bỏ qua các chi tiết như hàm sàn, hàm trần, điều kiện biên. Sau khi thu được kết quả, chúng ta sẽ quay ngược trở lại để xem xét ảnh hưởng của những chi tiết vừa được bỏ. Thông thường, những chi tiết đó không ảnh hưởng đến kết quả. T(n) = (3) 1 Phương pháp thế 1.1 Giải hệ thức truy hồi bằng phương pháp thế Giải hệ thức truy hồi bằng phương pháp thế gồm 2 bước: 1. Đoán dạng của nghiệm 2. Dùng quy nạp toán học để chứng minh tính đúng đắn của nghiệm được đoán, đồng thời làm chính xác hóa nghiệm bằng cách tìm các hằng số phù hợp Phương pháp thế là một phương pháp giải hệ thức truy hồi khá tự nhiên. Nó rất hiệu quả, tuy nhiên chỉ áp dụng trong các trường hợp dạng của nghiệm là dễ đoán. Phương pháp thế có thể được sử dụng để đánh giá chặn trên hay chặn dưới đối với hệ thức truy hồi. Ví dụ, chúng ta thử đánh giá chặn trên đối với hệ thức truy hồi sau:   nnTnT += )2/(2)( Hệ thức truy hồi trên tương tự với hệ thức truy hồi (2) và (3). Chúng ta đoán nghiệm là T(n) = O(nlgn). Phương pháp được dùng là chứng minh T(n) ≤ cnlgn với hằng số c thích hợp nào đó. Giả sử rằng giả thiết quy nạp đúng với n/2, có nghĩa là T([n/2]) ≤ c[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 (4.4) trong đó bất đẳng thức đúng với mọi c ≥1. Việc chứng minh tính đúng đắn của suy đoán bằng quy nạp còn thể hiện ở điều kiện biên. Thông thường, chúng ta chỉ ra rằng điều kiện biên trùng với bước cơ sở trong chứng minh quy nạp, vì vậy nó là đúng đắn với sự suy đoán. Đối với hệ thức truy hồi (4), chúng ta phải chỉ ra rằng có thể chọn hằng số c đủ lớn để chặn trên T(n) ≤ cnlgn đúng với điều kiện biên. Tuy nhiên, yêu cầu này đôi khi gây ra một số vấn đề. Giả sử T(1)=1. Với n=1 thì T(n) ≤ cnlgn dẫn đến T(1) ≤ c1lg1 = 0 (mâu thuẫn với T(1)=1). Do đó, trường hợp cơ sở của chứng minh quy nạp không thỏa mãn tính đúng đắn. Sự khó khăn trong việc chứng minh giả thiết quy nạp với điều kiện biên cho trước có thể dễ dàng khắc phục. Ví dụ, đối với hệ thức truy hồi (4) chúng ta tận dụng ưu điểm của ký hiệu tiệm cận khi chỉ yêu cầu rằng T(n) ≤ cnlgn đối với n ≥ n 0 , trong đó n 0 là một hằng số được chọn. Ý tưởng trên cho phép loại trừ trường hợp không mong đợi T(1)=1 tương ứng với điều kiện biên. Nhận xét rằng với n > 3, hệ thức truy hồi lúc này không còn phụ thuộc vào T(1). Từ đó, chúng ta có thể thay thế T(1) bằng T(2) và T(3) như là trường hợp cơ sở của phép chứng minh quy nạp. T(2) = 4 và T(3) = 5. Các bất đẳng thức T(2) ≤ (4) c2lg2, T(3) ≤ c3lg3 đúng với c ≥ 2. Như vậy, với mọi c ≥ 2 có thể sử dụng các trường hợp n=2 và n=3 như là các trường hợp cơ sở trong chứng minh quy nạp cho hệ thức truy hồi (4.4) 1.2 Thực hiện tốt việc đoán nghiệm Không có một phương pháp tổng quát nào để đưa ra cách đoán nghiệm chính xác. Việc đoán nghiệm chủ yếu dựa vào kinh nghiệm. Nếu một hệ thức truy hồi đã được khảo sát trước đó thì lần tiếp theo chúng ta gặp một hệ thức truy hồi tương tự, chúng ta có thể đoán nghiệm tương tự với nghiệm của hệ thức truy hồi mà ta đã biết. Ta xét hệ thức truy hồi như sau: T(n)=2T(n/2+17)+n Bài toán có vẻ phức tạp với sự hiện diện của số 17 trong đối số. Tuy nhiên theo trực giác số hạng bổ sung này thực chất không ảnh hưởng đến nghiệm đối với hệ thức truy hồi. Khi n lớn, sự khác biệt giữa T(n/2 và T(n/2+17) là không lớn, cả hai đều gần bằng nhau khi n đủ lớn. Ta đoán rằng T(n)=O(nlgn) mà ta có thể xác minh đúng bằng phương pháp thế (xem bài tập 4.1-5) Một cách khác để đưa ra một suy đoán tốt đó là chứng minh các cận trên và cận dưới trên hệ thức truy hồi rồi thu nhỏ miền xác định bởi cận trên và cận dưới cho đến khi nào chúng nằm khá gần với nghiệm của hệ thức truy hồi. Ví dụ: có thể bắt đầu bằng một cận dưới T(n)=Ω(n) cho hệ thức truy hồi (4.4) và ta có thể chứng minh cận trên ban đầu là T(n)=O(n 2 ). Như vậy có thể từ từ hạ thấp cận trên và nâng cận dưới lên cho đến khi chúng gần với T(n) nhất có thể, trong trường hợp này tiệm cận sẽ là T(n)=Θ(nlgn) 1.3 Các điểm cần lưu ý Có những trường hợp chúng ta có thể suy đoán đúng tiệm cận nghiệm của một hệ thức truy hồi tuy nhiên quy nạp toán học lại không cho thấy như vậy. Xét hệ thức truy hồi sau: T(n)=T(n/2)+T(n/2)+1 Ta đoán rằng nghiệm là O(n), và gắng chứng tỏ T(n) ≤ cn với một chọn lựa thích hợp cho hằng c. Thay thế suy đoán vào phép truy hồi ta có T(n) ≤ c n/2+c n/2+1 = cn + 1 Điều này không hàm ý T(n) ≤ cn với bất kỳ chọn lựa nào của c, nó dẫn đến ta thử một suy đoán lớn hơn, giả sử T(n)=O(n 2 ), có thể được tạo để làm việc, thực tế suy đoán của ta đối với nghiệm T(n)=O(n) là đúng đắn. Tuy nhiên để chứng tỏ điều này ta phải tạo ra một giả thiết quy nạp mạnh hơn. Suy đoán của ta là gần đúng chỉ để hụt hằng 1, một số hạng cấp thấp. Tuy vậy phép quy nạp toán học sẽ không thực hiện được trừ khi ta chứng minh dạng thức chính xác của giả thiết quy nạp. Để khắc phục khó khăn này, ta loại bỏ một số hạng bậc thấp ra khỏi suy đoán trên đây. Suy đoán mới sẽ là T(n) ≤ cn-b, ở đó b ≥ 0 là không đổi. Bây giờ ta có T(n) ≤ (c n/2 - b) +(c n/2 - b)+1 = cn – 2b + 1 ≤ cn – b Với b ≥ 1, hằng c đủ lớn để thỏa mãn các điều kiện biên. 1.4 Tránh các bẫy Một số lỗi thường gặp phải khi dùng ký hiệu tiệm cận, ví dụ trong hệ thức truy hồi (4.4) ta có thể chứng minh sai T(n)=O(n) bằng cách suy đoán T(n) ≤ cn rồi biện luận T(n) ≤ 2(cn/2)+n ≤ cn + n = O(n) ⇐ sai! (c là một hằng số). Lỗi xảy ra vì ta chưa xác định được dạng chính xác của giả thiết quy nạp, trong trường hợp này giả thiết T(n) ≤ cn là sai ngay từ ban đầu. 1.5 Thay đổi các biến Đô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 đó. Xét hệ thức truy hồi   nnTnT lg)(2)( += Có thể đơn giản hóa hệ thức truy hồi này bằng cách thay đổi các biến, để tiện dụng ta sẽ không quan tâm về việc làm tròn các giá trị như n sẽ là các số nguyên. Đặt m=lgn. Ta có: T(2 m )=2T(2 m/2 )+m Bây giờ ta có thể đặt lại S(m)=T(2 m ) để có được hệ thức truy hồi mới như sau: S(m)=2S(m/2)+m Hệ thức truy hồi mới tương tự như hệ thức (4.4) và cùng có nghiệm là S(m) = O(mlgm). Thay đổi từ S(m) thành T(n) ta có T(n) = T(2m) = S(m) = O(mlgm) = O(lgn.lglgn) Bài tập: Bài 1 Chứng tỏ nghiệm của T(n)=T(n/2+1 là O(lgn) Ta đoán dạng của nghiệm là: T(n)=O(lg 2 n) Chứng minh T(n) < lg 2 n Xét T(n/2) = lg 2 (n/2) T(n) = lg 2 (n/2)+1 = lg 2 n-lg 2 2+1 = lg 2 n = O(lg 2 n) Bài 2 Chứng tỏ nghiệm của T(n)=2T(n/2)+n là Ω(nlgn) kết luận nghiệm là Θ(nlgn) Bài 3 Chứng tỏ rằng bằng lập một giả thuyết quy nạp khác ta có thể khắc phục khó khăn bằng điều kiện biên T(1)=1 với hệ thức truy hồi (4.4) mà không điều chỉnh các điều kiện biên với phép chứng minh quy nạp. Bài 4 Chứng tỏ Θ(nlgn) là nghiệm cho hệ thức truy hồi “chính xác” (4.2) để sắp xếp trộn. Bài 5 Chứng tỏ nghiệm cho T(n)=2T((n/2)+17+n là O(nlgn) Bài 6 Giải hệ thức truy hồi 1)(2)( += nTnT bằng cách thay đổi các biến. Lời giải: Bài 1 Ta chứng minh rằng T(n) ≤ clg n với hằng c > 0. (1) Giả thiết T(  n/2  ) ≤ c lg (  n/2  ) Thay vào phép toán (1) trên ta có: T (n) ≤ 2 ( c lg (  n/2  ) + 1 = c lg ( n ) – c lg (2) + 1 ≤ c lg ( n ) với hằng Vậy nghiệm của T (n) = T(  n/2  ) + 1 là O(lg n) Bài 2 Ta cần chứng minh rằng T (n) ≤ O(n lg n) (2) Giả thiết T(  n/2  ) ≤ c  n/2  lg (  n/2  ) Thay vào phép toán (2) trên ta có: T (n) ≤ 2(c  n/2  lg (  n/2  )) + n ≤ c n lg (  n/2  ) + n = c n lg n – c n lg 2 + n ≤ c n lg n – c n + n ≤ c n lg n T (n) ≤ c n lg n – c n + n Trường hợp với c > 1 ta có: T (n) ≤ c n lg n – c n + n = O(n lg n) Trường hợp với 0 < c < 1 T (n) ≤ c n lg n +( 1 – c ) n = Ω(n lg n) Trường hợp với c = 1 T (n) ≤ c n lg n +( 1 – c ) n = Θ(n lg n) Vậy kết luận: nghiệm của T (n) = 2T (  n/2  ) + n là Θ(n lg n). Bài 3 Phương pháp quy nạp toán học yêu cầu ta chứng minh điều kiện biên. Chứng tỏ hằng c ta chọn đủ lớn sao cho cận T(n) ≤ c n lg n áp dụng được cho điều kiện biên. Điều này có thể gặp vấn đề. Giả sử T(1)=1 là điều kiện biên duy nhất của hệ thức truy hồi, vậy T(n) ≤ c n lg n thay 1 vào ta có: T(1) ≤ c 1 lg 1 = 0 ≠ 1 (theo điều kiện T(1)=1 ) Vậy để khắc phục điều kiện biên cụ thể ta chỉ cần chứng minh T(n) ≤ c n lg n với n ≥ n 0 , với n 0 là một hằng. Bây giờ ta xét điều kiện biên của phép quy nạy là gộp n=2 và n=3 dưới dạng một phần của điều kiện biên. Ta có thể đặt T(2) và T(3) là các điều kiện biên cho phép chứng minh quy nạy bởi n > 3 và hệ thức truy hồi không phụ thuộc và T(1). Từ hệ thức truy hồi, ta suy ra T(2)=4 và T(3)=5. Ta chọn c đủ lớn sao cho T(2) ≤ c 2 lg 2 và T(3) ≤ c3 lg 3. Chọn ∀ c ≥ 2 là đủ. Ở đây ta tìm ra điều kiện biên với n đủ nhỏ. Bài 4 Thời gian thực hiện thuật toán trộn MERGE SORT được tính bằng: 1 1 )()2/(2 )1( )( > =    Θ+ Θ = n n nnT nT 1. Biên trên O Đoán nghiệm: T (n) ≤ dn lg n Phương pháp thế: T (n) ≤ T (n/2) + T (n/2) + cn = 2T (n/2) + cn = 2d ( n/2 ) lg (n/2) + cn = dn lg ( n/2 ) + cn = dn lg n – dn lg 2 + cn = dn lg n – dn + cn ≤ dn lg n nếu d ≥ c Vì vậy, T (n) = O(n lg n). 2. Biên dưới: Ω Đoán nghiệm: T (n) ≥ dn lg n [...]... của hệ thức truy hồi có thể được xác định khá dễ dàng, thường không cần phải tính toán nhiều Hệ thức truy hồi (*) mô tả thời gian chạy của một thuật toán chia để trị với việc chia một bài toán có kích cỡ n thành a bài toán con, mỗi bài toán con có kích cỡ n/b, ở đó a và b là các hằng số dương a bài toán con được giải quyết với thời gian thực hiên là T(n/b) Thời gian chia bài toán và tổ hợp các kết... chứng minh là phân tích hệ thức truy hồi (*) T(n) = aT(n/b) + f(n) Với giả thiết rằng n là lũy thừa của b >1, b không nhất thiết phải là một số nguyên Quá trình phân tích được chia thành 3 bổ đề Bổ đề thứ nhất bằng phương pháp cây đệ quy sẽ đưa bài toán tìm nghiệm của hệ thức truy hồi thành bài toán đánh giá tổng chi phí trên các mức của cây đệ quy Trong khi chi phí ở các nút lá có thể tính toán được thì... quả của các bài toán con được mô tả bằng hàm f(n) Ví dụ: Hệ thức truy hồi phát sinh từ thủ tục MERGE-SORT có a=2, b=2 và f(n)= Θ(n) Xét theo tính đúng đắn kĩ thuật, hệ thức truy hồi thực tế không được định nghĩa tốt bởi n/b có thể không là một số nguyên Tuy nhiên, việc thay từng trọng số a số hạng T(n/b) bằng T(n/b) hoặc T(n/b) sẽ không ảnh hưởng đến kết quả tiệm cận của hệ thức truy hồi (Ta sẽ chứng... 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ó: Do đó chúng ta có thể đưa ra dự đoán T(n)= O(n2) cho hệ thức truy hồi T (n) = 3T (  n / 4 ) + Θ(n 2 ) Một câu hỏi đặt ra là nếu O(n2) là một cận trên của hệ thức truy hồi, thì nó phải là một giới hạn chặt chưa, Tại sao? Lời gọi đệ qui đầu tiên đóng góp một chi phí là Θ(n2), và vì vậy Ω(n2) phải là một cận dưới của hệ thức truy hồi. .. giải quyết hệ thức truy hồi 3.2 Sử dụng phương pháp master Để sử dụng phương pháp master, ta chỉ cần xác định trường hợp nào của định lý master (nếu có) và viết ra đáp án Ví dụ 1: T (n) = 9T(n/3) + n Với hệ thức truy hồi này ta có: a = 9, b = 3, f (n) = n và như vậy ta có nlogba=nlog39= Θ (n2) Bởi vì f(n)= Ο (nlog39- ∈ ), ở đó ∈ = 1, ta có thể áp dụng trường hợp 1 của định lí chủ và kết luận nghiệm... 3, nghiệm của hệ thức truy hồi là T(n)= Θ (nlgn) Ví dụ 4 T(n) = 2T(n/2) + n lg n Cho dù nó có dạng thức đúng: a = 2, b = 2, f(n) = nlgn, và nlogba=n Dường như trường hợp 3 được áp dụng, vì f (n) = nlgn là lớn hơn nlogba=n nhưng không lớn hơn theo đa thức Theo tiệm cận, tỷ số f(n)/n logba=(nlgn)/n=lgn nhỏ hơn n ∈ với hằng dương ∈ bất kì Bởi vậy hệ thức truy hồi rơi vào giữa trường hợp 2 và trường hợp... lg 3 tổng chi phí của mức này là n lg 3 T(1) với Θ (n ) Kết quả thu được ta có: Vậy cận trên của hệ thức truy hồi là O(nlg3) Chúng ta có thể sử dụng phương pháp thế để xác nhận rằng O(nlg3) là một cận trên của hệ thức truy hồi Giả sử: T(n/2) ≤ c(n/2)lg3 – c(n/2) T(n) = 3T(n/2)+n ≤ 3c(n/2)lg3 –c(n/2)+n = Với c>2 Vậy nghiệm của hệ thức truy hồi là O(nlg3) Bài 2 Ta dựng cây đệ quy như sau: Lộ trình... 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 lg 2 + cn = dn lg n - dn + cn ≤ dn lg n với d>=c - Vậy nghiệm của T (n) = 2T(⌊n/2⌋) + cn là O(nlg n) Xét ví dụ 2, chẳng hạn xét một cây đệ quy để đưa ra một dự đoán với hệ 2 thức truy hồi sau: T (n) = 3T (  n / 4 ) + Θ(n ) Chúng ta bắt đầu bằng cách tập trung vào tìm cận... lg n ⇒ n = 2m Thay vào hệ thức ta có: T (n) = T (2m) = 2T (2m/2) + 1 Đặt S (m) = T (2m) ta có: S (m) = 2S (m/2) + 1 Đoán nghiệm cho hệ thức S (m) = O(m) Xét S (m/2) = c(m/2) Thay vào hệ thức ta có: S (m) ≤ 2c (m/2) + 1 = cm + 1 Vì vậy, S (m) = O(m) Thay T (2m) = S (m) = T (n) Mà S (m) = O(m) suy ra: T (n) = O(m) = O(lg n) 1.6 Nhận xét Phương pháp thế là phương pháp giải hệ thức truy hồi khá đơn giản,... thức truy hồi rơi vào giữa trường hợp 2 và trường hợp 3 Bài tập: Bài 1 Đánh giá các hệ thức truy hồi dưới đây bằng các tiệm cận nghiêm ngặt: a T (n) = 4T(n/2) + n b T (n) = 4T(n/2) + n2 c T (n) = 4T(n/2) + n3 Bài 2 Thời gian thực hiện của một thuật toán A được mô tả bởi hệ thức truy hồi T(n) = 7T (n/2)+n2 Một thuật toán cạnh tranh với A là A’ có thời gian thực hiện là T′(n) = aT′(n/4) + n2 Tìm số nguyên . chặn dưới đối với hệ thức truy hồi. Ví dụ, chúng ta thử đánh giá chặn trên đối với hệ thức truy hồi sau:   nnTnT += )2/(2)( Hệ thức truy hồi trên tương tự với hệ thức truy hồi (2) và (3). Chúng. Huế, 11- 2014 ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC  TIỂU LUẬN PHÂN TÍCH VÀ THIẾT KẾ THUẬT TOÁN HỆ THỨC TRUY HỒI Nhóm 9: Trần Thị Kim Dung Nguyễn Tiến Hoàng Lớp KHMT Khóa 2012-2014 Người. vào kinh nghiệm. Nếu một hệ thức truy hồi đã được khảo sát trước đó thì lần tiếp theo chúng ta gặp một hệ thức truy hồi tương tự, chúng ta có thể đoán nghiệm tương tự với nghiệm của hệ thức truy

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

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan