Có phải phân tích được làm mịn tìm đường vào phân tích dòng chính của thuật toán? Có phổ biến cho các nhà thiết kế thuật toán để áp dụng phân tích trơn tru cho các thuật toán của họ?
Có phải phân tích được làm mịn tìm đường vào phân tích dòng chính của thuật toán? Có phổ biến cho các nhà thiết kế thuật toán để áp dụng phân tích trơn tru cho các thuật toán của họ?
Câu trả lời:
Tôi có thể sai, nhưng tôi xem phân tích trơn tru như một cách để giải thích hành vi trong thực tế của các thuật toán có đảm bảo lý thuyết xấu (đơn giản, phương tiện k, v.v.). Tôi không chắc việc sử dụng phân tích được làm mịn trong thực tế có nghĩa là gì , ngoại trừ việc biện minh cho việc sử dụng một heuristic cụ thể với hiệu suất trong trường hợp xấu nhất ("Heuristic của tôi có hành vi trong trường hợp xấu nhất nhưng một phân tích được làm mịn cho thấy nó sẽ làm tốt trong thực tế, v.v. ")
Cách mọi người phân tích các thuật toán trong thế giới thực khác rất nhiều so với học thuật. Mặc dù trong giới hàn lâm, mục tiêu là tìm ra giới hạn trên có thể chứng minh được chính xác về thời gian chạy, nhưng trong thực tế, mục tiêu là để hiểu cách thuật toán hoạt động và những điều chỉnh nào có thể cải thiện thời gian chạy. Có hai phương pháp chính bị cấm trong giới hàn lâm nhưng được sử dụng trong thực tế:
Điều đó nói rằng, tôi không nghĩ rằng việc phân tích một thuật toán trong thực tế là rất phổ biến, ngoài việc thêm một số văn bản phụ trong một ấn phẩm học thuật có liên quan. Trọng tâm là về công nghệ phần mềm hoặc tối ưu hóa ở mức độ thấp, tùy thuộc vào vấn đề.
Cuối cùng, phân tích trơn tru là một heuristic có thể được sử dụng để giải thích tại sao các thuật toán hoạt động tốt hơn trong thực tế so với trường hợp xấu nhất của chúng sẽ gợi ý - cụ thể là vì một số đầu vào là "ngẫu nhiên" theo một nghĩa nào đó. Heuristic này có thể được sử dụng để tính gần đúng hành vi của thuật toán nếu một người đang sử dụng phương pháp gần đúng.