Phân tích khấu hao ch03 amortizedanalysis

48 6 0
Phân tích khấu hao ch03 amortizedanalysis

Đ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

Amortized analysis Phaân Tích Khaáu Hao Ch 2 Amortized Analysis Phaân tích khaáu hao Goïi T(n) laø thôøi gian caàn thieát ñeå thöïc thi moät chuoãi n thao taùc leân moät caáu truùc döõ lieäu Ví duï th[.]

Phân Tích Khấu Hao Phân tích khấu hao ° ° Gọi T(n) thời gian cần thiết để thực thi chuỗi n thao tác lên cấu trúc liệu – Ví dụ: thực thi chuỗi PUSH, POP, MULTIPOP lên stack Phân tích khấu hao (amortized analysis): – Thời gian thực thi chuỗi thao tác lấy trung bình số thao tác thực thi, T(n)n , gọi phí tổn khấu hao (Đây định nghóa phí tổn khấu hao, định nghóa khác trình bày phần sau.) 12.9.2004 Ch 2: Amortized Analysis Sơ lược ° Ba phương pháp để xác định phí tổn khấu hao: – gộp chung (the aggregate method) – kế toán (the accounting method) – (the potential method) ° Sẽ minh họa phương pháp thông qua việc phân tích cấu trúc liệu: – stack – đếm nhị phân dài k bits – bảng động 12.9.2004 Ch 2: Amortized Analysis Cấu trúc liệu stack ° Các thao tác lên moät stack S – PUSH(S, x) – POP(S) – MULTIPOP(S, k) MULTIPOP(S, k) while not STACK-EMPTY(S) and k  POP(S) kk1 12.9.2004 Ch 2: Amortized Analysis Cấu trúc liệu stack (tiếp) ° Minh họa thao tác MULTIPOP top  23 33 45 78 12.9.2004 MULTIPOP(S, 4) top  78 Ch 2: Amortized Analysis MULTIPOP(S, 7) Bộ đếm nhị phân dài k bit ° Bộ đếm nhị phân dài k-bit (k-bit binary counter) – mảng A[0 k 1] bit – có độ dài, length[A], k 12.9.2004 Ch 2: Amortized Analysis Bộ đếm nhị phân dài k bit (tiếp) ° Dùng đếm để trữ số nhị phân x: x = A[k 1]2k 1 + … + A[0]20 – INCREMENT: cộng vào trị có đếm (modulo 2k) INCREMENT(A) 1 1 0 – Thủ tục INCREMENT INCREMENT(A) i0 while i < length[A] and A[i] = A[i]  ii+1 if i < length[A] then A[i]  12.9.2004 Ch 2: Amortized Analysis Phân tích stack ° ° ° Bài toán: xác định thời gian chạy chuỗi n thao tác lên stack (ban đầu stack trống) Giải phân tích “thô sơ”: — Phí tổn trường hợp xấu MULTIPOP O(n) Vậy phí tổn trường hợp xấu thao tác lên stack O(n) — Do phí tổn chuỗi n thao tác O(n2) Nhận xét: Chận O(n2) tìm thô Tìm chận tốt hơn! – Dùng phân tích khấu hao 12.9.2004 Ch 2: Amortized Analysis Phương pháp gộp chung ° Định nghóa: Trong phương pháp gộp chung (aggregate) phân tích khấu hao, gộp chung thời gian mà chuỗi n thao tác cần trường hợp xấu (worst case) thành T(n) – Chi phí khấu hao (amortized cost) thao tác định nghóa chi phí trung bình cho thao tác, tức T(n)n 12.9.2004 Ch 2: Amortized Analysis Phương pháp gộp chung: phân tích stack ° ° Phân tích chuỗi n thao tác lên stack S (mà bắt đầu stack trống), chuỗi gồm loại thao tác – PUSH(S, x) – POP(S) – MULTIPOP(S, k) Dùng phương pháp gộp chung để xác định chi phí khấu hao thao tác – Mỗi đối tượng popped tối đa lần sau pushed Số P USH tối đa n, số lần POP gọi, kể từ MULTIPOP, n – Vậy phí tổn chuỗi n thao tác PUSH, POP, MULTIPOP O(n) – Do phí tổn khấu hao thao tác laø O(n)n = O(1) 12.9.2004 Ch 2: Amortized Analysis 10 ... toán: phân tích đếm nhị phân ° ° Phân tích chuỗi thao tác INCREMENT lên đếm nhị phân dài k-bit mà trị ban đầu Dùng phương pháp kế toán để xác định chi phí khấu hao INCREMENT – Quy phí tổn khấu hao. .. (aggregate) phân tích khấu hao, gộp chung thời gian mà chuỗi n thao tác cần trường hợp xấu (worst case) thành T(n) – Chi phí khấu hao (amortized cost) thao tác định nghóa chi phí trung bình cho thao... toán phân tích khấu hao, định giá (charge) khác cho thao tác khác Ta định giá cho thao tác cao hay thấp phí tổn thực – Định nghóa: Số lượng mà ta định giá cho thao tác gọi phí tổn khấu hao –

Ngày đăng: 25/03/2023, 08:34

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

Tài liệu liên quan