GIỚI THIỆU PHÂN TÍCH THUẬT TOÁN Bùi Tiến Lên 01/09/2018 Phân tích thuật toán Để làm gì? • Cùng một vấn đề, có thể giải quyết bằng nhiều giải thuật khác nhau Lựa chọn một giải thuật tốt “nhất” trong cá[.]
GIỚI THIỆU PHÂN TÍCH THUẬT TỐN Bùi Tiến Lên 01/09/2018 Phân tích thuật tốn Để làm gì? • Cùng vấn đề, giải nhiều giải thuật khác Lựa chọn giải thuật tốt “nhất” giải thuật • Cải tiến giải thuật để có giải thuật tốt Fall 2018 Data structure & Algorithm Phân tích thuật tốn (cont.) Mục tiêu • Hiểu khái niệm độ phức tạp thuật tốn • Nắm tiêu chuẩn để đánh giá giải thuật • Nắm kỹ thuật phân tích thuật toán Fall 2018 Data structure & Algorithm Phân tích thuật tốn (cont.) Các tiêu chí đánh giá thuật tốn • Một thuật tốn phải có tính chất sau • Tính đắn: Thuật tốn phải chạy • Tính hữu hạn: Thuật tốn phải dừng sau số bước hữu hạn • Một thuật tốn xem tốt • Bộ nhớ: Sử dụng nhớ (liên quan đến cấu trúc liệu) • Thời gian: Thực nhanh Fall 2018 Data structure & Algorithm Hàm Ước Lượng Hàm ước lượng • Hàm ước lượng tốn học phương pháp đơn giản hóa hàm, lược bỏ thơng tin khơng cần thiết • Có loại ước lượng cho T (n) • Ước lượng O • Ước lượng Ω • Ước lượng Θ Fall 2018 Data structure & Algorithm Ước lượng O Lịch sử ký hiệu • Ký hiệu O giới thiệu Paul Bachmann [Apostol, 1976] • Ký hiệu sau phổ biến rộng rãi nhà tốn học Edmund Landau, nên cịn gọi ký hiệu Landau [Landau et al., 1958] • Donald Knuth người đưa ký hiệu vào ngành Khoa học máy tính [Knuth, 1976] Fall 2018 Data structure & Algorithm Ước lượng O (cont.) Định nghĩa Cho hàm T (n), ta nói T (n) ∈ O(g(n)) (trong thực hành thường viết T (n) = O(g(n))) tồn c ∈ R+ K ∈ N+ cho: T (n) ≤ cg(n), ∀n ≥ K (1) • Cách đọc: T (n) có “big-o” g(n) • Ý nghĩa toán học: hàm g(n) giới hạn hàm T (n) Fall 2018 Data structure & Algorithm Ước lượng O (cont.) 15 y T (n) g(n) 10 n Fall 2018 10 15 Data structure & Algorithm 20 Ước lượng O (cont.) Lưu ý Khi áp dụng ước lượng độ phức tạp giải thuật, dạng hàm g(n) chọn cho đơn giản tốt Fall 2018 Data structure & Algorithm 10 ... Algorithm Phân tích thuật tốn (cont.) Mục tiêu • Hiểu khái niệm độ phức tạp thuật tốn • Nắm tiêu chuẩn để đánh giá giải thuật • Nắm kỹ thuật phân tích thuật toán Fall 2018 Data structure & Algorithm Phân. . .Phân tích thuật tốn Để làm gì? • Cùng vấn đề, giải nhiều giải thuật khác Lựa chọn giải thuật tốt “nhất” giải thuật • Cải tiến giải thuật để có giải thuật tốt Fall 2018 Data... Phân tích thuật tốn (cont.) Các tiêu chí đánh giá thuật tốn • Một thuật tốn phải có tính chất sau • Tính đắn: Thuật tốn phải chạy • Tính hữu hạn: Thuật tốn phải dừng sau số bước hữu hạn • Một thuật