Chi phí phải trả cho một quá trình tính toán

Một phần của tài liệu (LUẬN văn THẠC sĩ) cơ sở của thuật toán di truyền và ứng dụng đối với một số bài toán lớp NP (Trang 33 - 35)

Chi phí phải trả cho một quá trình tính toán bao gồm chi phí về không gian (bộ nhớ - số ô nhớ cần sử dụng trong quá trình tính toán) và chi phí về thời gian (thời gian cần sử dụng cho một quá trình tính toán).

Nếu cho một thuật toán A. Thuật toán này thực hiện trên bộ dữ liệu e. Khi đó kí hiệu

+ LA(e) là giá phải trả về không gian + TA(e) là giá phải trả về thời gian.

Khi đó ta có các khái niệm về chi phí phải trả trong các trường hợp như sau:

 Chi phí phải trả trong trường hợp xấu nhất: là chi phí trong trường hợp ứng Input là xấu nhất đối với bài toán

 Chi phí phải trả trung bình: là tổng số các chi phí khác nhau ứng với các bộ số liệu chia cho tổng số số bộ số liệu.

 Chi phí phải trả tiệm cận: là biểu thức biểu diễn tốc độ tăng của chi phí thực tế phải trả. Nó có giá trị tiệm cận với chi phí thực tế.

Nhận xét: Ngày nay do sự phát triển không ngừng của khoa học công nghệ kỹ thuật điện tử nên chi phí về bộ nhớ không còn là vấn đề cần thiết phải bàn tới mà ta chỉ quan tâm tới chi phí phải trả về thời gian thực hiện giải

thuật. Từ đây ta chỉ xét đến thời gian thực hiện giải thuật T(n), hay đó chính là độ phức tạp của thuật toán.

2.2.2. Độ phức tạp của thuật toán

Định nghĩa 1: Một hàm f(n) được xác định là O(g(n)), kí hiệu f(n) = O(g(n)) và được gọi là có cấp g(n) nếu tồn tại các hằng số c và n0 sao cho f(n) ≤ c.g(n) khi n ≥ n0.

Định nghĩa 2: Cho thuật toán T với bộ dữ liệu đầu vào có kích thước n. Nếu số phép toán cơ bản để thực hiện việc biến đổi Input(T) thành Output(T) là f(n). Khi đó ta gọi O(T)=f(n) là độ phức tạp của thuật toán T.

Chú ý: Khái niệm về độ phức tạp của thuật toán trên được hiểu theo nghĩa khái niệm về vô cùng lớn khi n tiến ra vô cùng.

Thông thường các hàm thể hiện độ phức tạp tính toán của giải thuật có dạng: O(log2n), O(n), O(nlog2n), O(n2), O(n3), O(2n), O(n!), O(nn).

Dưới đây là một số hàm số hay dùng để ký hiệu độ phức tạp tính toán và bảng giá trị của chúng để tiện theo dõi sự tăng của hàm theo đối số n.

log2n N nlog2n n2 n3 2n 0 1 0 1 1 2 1 2 2 4 8 4 2 4 8 16 64 16 3 8 24 64 512 256 4 16 64 256 4096 65536 5 32 160 1024 32768 2.147.483.648

Bảng 2.1: Bảng giá trị độ phức tạp tính toán của các hàm số

Các hàm như 2n, nn được gọi là hàm loại mũ, ngoài ra còn có hàm n! Và một số hàm khác có độ phức tạp lớn hơn các hàm mũ. Một giải thuật mà thời gian thực hiện của nó có cấp là các hàm loại mũ thì tốc độ rất chậm. Các như n3, n2, nlog2n, log2n được gọi là các hàm loại đa thức. Giải thuật với thời

gian thực hiện có cấp hàm đa thức thì thường hiệu quả và chấp nhận được.

Một phần của tài liệu (LUẬN văn THẠC sĩ) cơ sở của thuật toán di truyền và ứng dụng đối với một số bài toán lớp NP (Trang 33 - 35)

Tải bản đầy đủ (PDF)

(70 trang)