3.1. Đánh giá cận dưới
3.1. Đánh giá cận dưới
3.1.1. Độ phức tạp tính toán của bài toán
3.1.1. Độ phức tạp tính toán của bài toán
Ký hiệu T(A) là thời gian tính của thuật toán A với đầu Ký hiệu T(A) là thời gian tính của thuật toán A với đầu
vào X. Khi đó, thời gian tính trong tình huống
vào X. Khi đó, thời gian tính trong tình huống tồi tồi nhất
nhất của của thuật toán Athuật toán A đối với dữ liệu vào đối với dữ liệu vào kích kích thước n
thước n là là T
TAA(n)=max{T(n)=max{TAA(X): |X|=n}(X): |X|=n} Độ phức tạp trong tình huống
Độ phức tạp trong tình huống tồi nhấttồi nhất của của bài toán Pbài toán P là thời gian tính trong tình huống
là thời gian tính trong tình huống tồi nhấttồi nhất của của thuật toán tốt nhất
thuật toán tốt nhất để giải nó. Nghĩa là để giải nó. Nghĩa là T
TPP(n) = min{T(n) = min{TAA(n): A (n): A ∈∈ ∆∆}=min{max{T}=min{max{TAA(X)|X|=n}:A (X)|X|=n}:A ∈∈ ∆∆}} Trong đó
Cận trên
Cận trên. Nếu thuật toán A giải bài toán P có thời gian tính trong . Nếu thuật toán A giải bài toán P có thời gian tính trong tình huống tồi nhất là T
tình huống tồi nhất là TAA(n) = O(f(n)) thì(n) = O(f(n)) thì
T
TPP(n) <= T(n) <= TAA(n) =O(f(n)).(n) =O(f(n)).
Nghĩa là ta có cận trên cho độ phức tập của bài toán P (
Nghĩa là ta có cận trên cho độ phức tập của bài toán P (vì mọi vì mọi thuật toán tốt hơn sẽ cho cận trên tốt hơn
thuật toán tốt hơn sẽ cho cận trên tốt hơn)) Cận dưới
Cận dưới. Việc đánh giá cận dưới của bài toán là chỉ ra mức độ . Việc đánh giá cận dưới của bài toán là chỉ ra mức độ khó của bài toán.
khó của bài toán.
Để chỉ ra Để chỉ ra T Tpp(n) = (n) = ΩΩ(f(n))(f(n)) ta cần chỉ ra rằng ta cần chỉ ra rằng
i) Có thuật toán với thời gian tính
i) Có thuật toán với thời gian tính ΩΩ(f(n)) để giải bài toán P(f(n)) để giải bài toán P
ii) Mọi thuật toán giải bài toán P đều đòi hỏi thời gian tính trong
ii) Mọi thuật toán giải bài toán P đều đòi hỏi thời gian tính trong
tình huống tồi nhất là
tình huống tồi nhất là ΩΩ(f(n)).(f(n)).
Đòi hỏi ii) có thể thay bởi: Cận dưới cho độ phức tạp tính toán
Đòi hỏi ii) có thể thay bởi: Cận dưới cho độ phức tạp tính toán
của bài toán P là
3.1.2. Các phương pháp đánh giá cận dưới độ phức tạp tính
3.1.2. Các phương pháp đánh giá cận dưới độ phức tạp tính
toán của bài toán
toán của bài toán
a)
a) PP sử dụng cây quyết địnhPP sử dụng cây quyết định
• Cây quyết định là cây mà mỗi đỉnh của nó tương ứng với Cây quyết định là cây mà mỗi đỉnh của nó tương ứng với
một truy vấn dữ liệu. Các cạnh của nó tương ứng với các
một truy vấn dữ liệu. Các cạnh của nó tương ứng với các
khả năng trả lời câu hỏi. Mỗi lá tương ứng với một đầu ra.
khả năng trả lời câu hỏi. Mỗi lá tương ứng với một đầu ra.
• Để tính toán với cây quyết định, ta bắt đầu từ gốc và đi Để tính toán với cây quyết định, ta bắt đầu từ gốc và đi
theo một đường đi đến lá. Tại mỗi nút trung gian, câu trả
theo một đường đi đến lá. Tại mỗi nút trung gian, câu trả
lời cho truy vấn sẽ dẫn ta tới nut tiếp theo. Khi đến lá, ta
lời cho truy vấn sẽ dẫn ta tới nut tiếp theo. Khi đến lá, ta
thu được một đầu ra.
thu được một đầu ra.
• Thời gian tính của thuật toán cây quyết định là số truy vấn Thời gian tính của thuật toán cây quyết định là số truy vấn
trên đường đi từ gốc đến lá.
trên đường đi từ gốc đến lá.
Như vậy,
Như vậy,
⇒
⇒ Thời gian tính trong tình huống tồi nhất của thuật toán Thời gian tính trong tình huống tồi nhất của thuật toán sẽ là độ cao của cây quyết định
sẽ là độ cao của cây quyết định
⇒
• Việc xác định cận dưới nhờ sử dụng cây Việc xác định cận dưới nhờ sử dụng cây quyết định được dựa trên lập luận: quyết định được dựa trên lập luận:
quyết định được dựa trên lập luận: