Trong lĩnh vực Công Nghệ Thông Tin nói riêng, yêu cầu quan trọng nhất của người học đó chính là thực hành. Có thực hành thì người học mới có thể tự mình lĩnh hội và hiểu biết sâu sắc với lý thuyết. Với ngành mạng máy tính, nhu cầu thực hành được đặt lên hàng đầu. Tuy nhiên, trong điều kiện còn thiếu thốn về trang bị như hiện nay, người học đặc biệt là sinh viên ít có điều kiện thực hành. Đặc biệt là với các thiết bị đắt tiền như Router, Switch chuyên dụng
Chương 1: Các phương pháp phân tích thuật tốn Trịnh Huy Hồng Khoa Cơng nghệ thơng tin Đại học Sư phạm TPHCM Nội dung Một số kiến thức Toán cần thiết Thuật toán gì? Vai trị phân tích thuật tốn Các phương pháp phân tích thuật tốn Bộ khung cho q trình phân tích thuật tốn – – – – Mã giả RAM Thời gian thực chương trình Độ phức tạp chương trình Một số kỹ thuật Tốn học thường dùng Chứng – Chứng minh mệnh đề với trường hợp (n=n0) – Giả sử mệnh đề đến trường hợp thứ k (n=k) Chứng minh mệnh đề với trường hợp thứ k+1 (n=k+1) Kết luận mệnh đề với trường hợp (mọi n >= n0) – – minh qui nạp Một số kỹ thuật Toán học thường dùng (tt) Các tổng dãy số thường dùng Dãy số học n(n 1) i n (n 1) (n 2) i0 n n1 x 1 i Dãy hình học x x-1 i0 n x 1- x i0 i if x if |x| < Thuật tốn gì? “Thuật tốn thủ tục tính tốn định nghĩa rõ ràng để biến đổi đầu vào thành đầu nhằm đạt quan hệ đầu vào – đầu mong muốn” Input Algorithm Ví dụ: input: Dãy số output: Dãy số xếp thứ tự Output Thuật tốn gì? (tt) “Nếu cho trước tốn, cách giải tốn phân định thành số hữu hạn bước, có kết thúc cuối đạt kết mong muốn gọi thuật toán” (Vũ Đức Thi, 1999) Vai trị việc phân tích thuật tốn Phân tích thuật tốn = Xác định đặc trưng liên quan đến hiệu (Dự đoán tài nguyên yêu cầu.) – – Tại phải phân tích thuật toán? – – – Thời gian, nhớ, đường truyền … Thời gian thi hành (running time) quan tâm tài ngun quan trọng phục hồi Chọn cách hiệu số thuật tốn có cho vấn đề Liệu giải pháp tốt có thời gian thi hành chấp nhận thực tế hay khơng? Liệu thuật tốn tối ưu hay chưa? – Liệu có thuật tốn khác tốt khơng? Phân tích thực nghiệm Dựa thời gian thực thi thuật toán cài đặt đầu vào cụ thể Phụ thuộc vào môi trường phần cứng (vi xử lý, xung nhịp đồng hồ, RAM, đĩa cứng,…) phần mềm (hệ điều hành, ngơn ngữ lập trình, biên dịch thơng dịch,…) Phân tích thực nghiệm (tt) Hạn – – – chế: Các thực nghiệm tiến hành số đầu vào để kiểm tra Chúng cần phải có tính đại diện cao Rất khó để so sánh tính hiệu hai thuật tốn trừ chúng chạy môi trường phần cứng phần mềm Cần phải cài đặt thi hành thuật tốn Ý tưởng Có – – – 10 khung phân tích thỏa Xem xét tất đầu vào Cho phép đánh giá hiệu tương đối hai thuật toán độc lập với mơi trường phần cứng phần mềm Có thể tiến hành cách nghiên cứu mô tả cấp cao thuật tốn mà khơng cần phải thật cài đặt thi hành thuật tốn