Nếu bạn cho rằng -calculus là một mô hình tốt về ngôn ngữ lập trình chức năng, thì người ta có thể nghĩ: -calculus có một khái niệm đơn giản về độ phức tạp thời gian: chỉ cần đếm số bước -redtion .λ β ( λ x . M ) N → M [ N / x ]λλβ(λx.M)N→M[N/x]
Nhưng đây có phải là một biện pháp phức tạp tốt?
Để trả lời câu hỏi này, chúng ta nên làm rõ những gì chúng ta có nghĩa là bằng cách đo độ phức tạp ở nơi đầu tiên. Một câu trả lời hay được đưa ra bởi luận điểm của Slot và van Emde Boas : bất kỳ thước đo độ phức tạp tốt nào cũng phải có mối quan hệ đa thức với khái niệm chính tắc về độ phức tạp thời gian được xác định bằng máy Turing. Nói cách khác, cần có một mã hóa 'hợp lý' Từ thuật ngữ -calculus cho các máy Turing, chẳng hạn như đối với một số đa thức , đó là trường hợp cho mỗi thuật ngữ có kích thước: giảm xuống một giá trị trong các bước khử chính xác khi giảm xuống một giá trị trongλ p M | M | M p ( | M | ) β t r ( M ) p ( | t r ( M ) | )tr(.)λpM|M|Mp(|M|) βtr(M)p(|tr(M)|) của máy Turing.
Trong một thời gian dài, không rõ liệu điều này có thể đạt được trong phép tính. Không. Các vấn đề chính là như sau.
- Có các thuật ngữ tạo ra các hình thức bình thường (trong một số bước đa thức) có kích thước theo cấp số nhân. Ngay cả việc viết ra các hình thức bình thường cũng mất thời gian theo cấp số nhân.
- Chiến lược giảm được lựa chọn đóng một vai trò quan trọng. Ví dụ, tồn tại một nhóm các thuật ngữ làm giảm số lượng các bước parallel song song (theo nghĩa giảm tối ưu ), nhưng độ phức tạp của nó là không cơ bản (nghĩa là tệ hơn theo cấp số nhân).
Bài báo " Giảm Beta là bất biến, thực sự " của B. Accattoli và U. Dal Lago làm rõ vấn đề bằng cách hiển thị một mã hóa 'hợp lý' bảo tồn lớp P phức tạp của các hàm thời gian đa thức, giả sử việc giảm tên gọi ngoài cùng bên trái . Cái nhìn sâu sắc quan trọng là sự nổ tung theo cấp số nhân chỉ có thể xảy ra vì những lý do 'không thú vị' có thể bị đánh bại bằng cách chia sẻ thích hợp. Nói cách khác, lớp P giống nhau cho dù bạn xác định nó đếm các bước của máy Turing hay (ngoài cùng ngoài cùng bên ngoài) -reductions.β
Tôi không chắc tình huống nào cho các chiến lược đánh giá khác. Tôi không biết rằng một chương trình tương tự đã được thực hiện vì sự phức tạp của không gian.