CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN - ĐỘ PHỨC TẠP CỦA THUẬT TOÁN - PHÂN LOẠI VẤN ĐỀ THUẬT GIẢI

30 5 0
CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN - ĐỘ PHỨC TẠP CỦA THUẬT TOÁN - PHÂN LOẠI VẤN ĐỀ THUẬT GIẢ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

CHƯƠNG Thuật Tốn Thuật Giải Nội Dung • • • • • THUẬT TOÁN CÁC PHƯƠNG PHÁP BIỂU DIỄN THUẬT TOÁN ĐỘ PHỨC TẠP CỦA THUẬT TOÁN PHÂN LOẠI VẤN ĐỀ THUẬT GIẢI NNL – Khoa Toán Tin ĐHKHTN Thuật Tốn • Một thuật tốn (hay giải thuật) thủ tục để giải toán hay vấn đề, cách thực thi dãy hữu hạn thao tác • Thuật tốn thực cơng việc tính tốn, xử lý liệu, suy luận logic tự động… • Ví dụ: Tính ước số chung lớn số nguyên NNL – Khoa Toán Tin ĐHKHTN Đặc trưng thuật tốn • Tính xác: Các bước thực thi phải phát biểu xác, chặt chẽ • Tính nhất: Kết bước định nghĩa cách phụ thuộc vào nhập liệu kết bước trước • Tính hữu hạn: Thuật tốn ngừng sau hữu hạn thị lệnh thực • Nhập liệu: – thuật tốn nhận nhập liệu (có thể trống) NNL – Khoa Tốn Tin ĐHKHTN Đặc trưng thuật tốn • Nhập liệu: – thuật tốn nhận nhập liệu (có thể trống) • Xuất liệu – thuật tốn tạo xuất liệu • Tính tổng qt – thuật tốn vận dụng cho tập hợp nhập liệu NNL – Khoa Toán Tin ĐHKHTN Các phương pháp biểu diễn thuật tốn • Bằng ngơn ngữ tự nhiên • Bằng lưu đồ (flowchart) • Bằng mã giả (pseudo code) NNL – Khoa Toán Tin ĐHKHTN Các phương pháp biểu diễn thuật toán • Bằng ngôn ngữ tự nhiên – Dùng ngôn ngữ thường ngày để liệt kê bước thuật toán – Dài dịng, nhập nhằng khó hiểu – Khơng thể rõ cấu trúc thuật tốn – Khơng có quy tắc cố định – Có thể viết thụt lùi vào bên phải để phân cấp cho dễ đọc NNL – Khoa Toán Tin ĐHKHTN Các phương pháp biểu diễn thuật tốn • Bằng lưu đồ (flowchart) – Xử dụng ký hiệu đồ hoạ có ý nghĩa để biểu diễn thành phần thuật toán – Dễ đọc, dễ hiểu – Thấy trình xử lý, phân cấp thuật tốn Nhờ thấy cấu trúc thuật tốn NNL – Khoa Toán Tin ĐHKHTN Biểu diễn thuật toán lưu đồ Biểu tượng Ý nghĩa Nhập Xử lý Xuất Quyết định CT Đầu cuối Đường Biểu diễn lưu đồ (tt) • Chọn lựa theo điều kiện đó: – Biểu diễn hình thoi, bên chứa biểu thức điều kiện – Ví dụ: thao tác "nếu X > Y thực thao tác in X, ngược lại thực thao tác in Y" thao tác chọn lựa Biểu diễn lưu đồ (tt) • Điểm nối (connector) Ví dụ: Thuật tốn tính USCLN số NNL – Khoa Tốn Tin ĐHKHTN 17 Độ phức tạp thuật tốn • Độ phức tạp thuật tốn hàm đánh giá tính hiệu thuật tốn • Để đánh giá hiệu thuật tốn, xét số phép tính phải thực thực thuật tốn • Thơng thường số phép tính thực phụ thuộc vào cỡ toán, tức độ lớn đầu vào NNL – Khoa Toán Tin ĐHKHTN 18 Độ phức tạp thuật tốn • Độ phức tạp thuật toán hàm phụ thuộc đầu vào Tuy nhiên ứng dụng thực tiễn, khơng cần biết xác hàm mà cần biết ước lượng đủ tốt chúng • Để ước lượng độ phức tạp thuật toán ta thường dùng khái niệm bậc O-lớn bậc Θ (bậc Theta) NNL – Khoa Toán Tin ĐHKHTN 19 Độ phức tạp thuật tốn • Gọi n kích thước toán, R(n) tổng tài nguyên cần dung, giả sử tìm hàm g(n) có số C cho: R(n) ≤ C.g(n) Thì ta nói thuật tốn có độ phức tạp O(g(n)) NNL – Khoa Toán Tin ĐHKHTN 20 Độ phức tạp thuật tốn • • • • • O(1): Độ phức tạp số O(n): Độ phức tạp tuyến tính O(P(n)): Độ phức tạp đa thức O(logn): Độ phức tạp logarit O(2n): Độ phức tạp hàm mũ NNL – Khoa Toán Tin ĐHKHTN 21 Độ phức tạp thuật tốn • Gọi n kích thước tốn, R(n) tổng tài nguyên cần dung, giả sử tìm hàm h(n) số C1, c2 cho: C1.h(n) ≤ R(n) ≤ C2.h(n) Thì ta nói thuật tốn có độ phức tạp (h(n)) NNL – Khoa Tốn Tin ĐHKHTN 22 Thuật giải • Có nhiều tốn chưa tìm cách giải theo kiểu thuật tốn khơng biết có tồn thuật tốn hay khơng • Có nhiều tốn có thuật tốn để giải khơng chấp nhận thời gian giải theo thuật tốn q lớn điều kiện cho thuật tốn khó đáp ứng NNL – Khoa Tốn Tin ĐHKHTN 23 Thuật giải • Có tốn giải theo cách giải vi phạm thuật toán chấp nhận • Tính thuật tốn khơng cịn bắt buộc số cách giải toán, cách giải gần NNL – Khoa Tốn Tin ĐHKHTN 24 Thuật giải • Trong thực tiễn có nhiều trường hợp người ta chấp nhận cách giải thường cho kết tốt phức tạp hiệu • Khái niệm thuật toán mở rộng gọi thuật giải • Thuật giải thường dùng nhiều trí tuệ nhân tạo NNL – Khoa Tốn Tin ĐHKHTN 25 Tóm tắt • Một thuật tốn dãy hữu hạn thao tác cần thực thi để đến lời giải cho toán hay vấn đề • Thuật tốn phải có tính xác, tính nhất, tính hữu hạn, tính tổng qt • Ta biểu diễn thuật tốn ngơn ngữ tự nhiên, mã giả lưu đồ NNL – Khoa Tốn Tin ĐHKHTN 26 Tóm tắt • Độ phức tạp thuật tốn hàm theo kích thước tốn, cho biết tính hiệu thực tốn • Độ phức tạp thuật tốn ký hiệu O(h(n)) (h(n)) • Thuật giải khái niệm thuật toán mở rộng để đến lời giải chấp nhận có độ phức tạp tốt (nhiều) so với thuật toán (nếu tồn tại) NNL – Khoa Toán Tin ĐHKHTN 27 Một số ví dụ • Biểu diễn thuật tốn tính ước số chung lớn số nguyên dương • Biểu diễn thuật tốn giải phương trình bậc • Biểu diễn thuật tốn tính giá trị lớn dãy số thực • Biểu diễn thuật tốn tính bậc hai số thực A với sai số không epsilon (Xem tập) NNL – Khoa Tốn Tin ĐHKHTN 28 Các ví dụ • Viết thuật tốn tìm tổng bình phương dãy Xác định độ phức tạp thuật tốn • Viết thuật tốn tìm giá trị phần tử lớn dãy số thực Xác định độ phức tạp thuật tốn • Viết thuật tốn Euclide tìm ước số chung lớn số nguyên • Viết thuật tốn tính gần giá trị sin(x) NNL – Khoa Toán Tin ĐHKHTN 29 NNL – Khoa Toán Tin ĐHKHTN 30 ... biết ước lượng đủ tốt chúng • Để ước lượng độ phức tạp thuật toán ta thường dùng khái niệm bậc O-lớn bậc Θ (bậc Theta) NNL – Khoa Toán Tin ĐHKHTN 19 Độ phức tạp thuật tốn • Gọi n kích thước toán,

Ngày đăng: 25/09/2022, 04:29

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

Tài liệu liên quan