Sách giáo khoa của tôi nói: "Chúng tôi xác định hàm như sau: f ( 1 ) = 2 và f ( i + 1 ) = 2 f ( i ) 1.2 . Lưu ý rằng với n , chúng ta có thể dễ dàng tìm thấy trong O ( n 1.5 ) thời gian số i sao cho n được kẹp giữa f ( i ) và f ( i + 1 . "
Làm thế nào tôi có thể thuyết phục bản thân mình rằng trên thực tế chúng ta có thể dễ dàng tìm thấy trong thời gian O ( n 1.5 ) ? Như f được định nghĩa đệ quy, tôi nghĩ rằng chúng ta phải tính toán f ( 1 ) , f ( 2 ) , f ( 3 ) ... f ( j ) cho đến khi f ( j ) ≥ n . Để tìm ra thời gian mà các tính toán này mất, tôi nghĩ rằng chúng ta phải tìm một giới hạn trên phù hợp cho tôi phụ thuộc vào nvà chúng ta phải tìm một giới hạn trên về thời gian thực hiện của hàm . Cuối cùng, chúng tôi hy vọng có thể hiển thị các đề xuất được trích dẫn. Thật không may, tôi không thấy cái này hay cái khác.
Tôi quên đề cập: Xin lưu ý rằng chúng tôi đang ở trong một bối cảnh không xác định. Vì vậy, được tuyên bố là có thể tính toán được trong O ( n 1.5 ) bởi một máy Turing không xác định.
Vì khá nhiều người đã đọc câu hỏi này, với một số người trong số họ cũng thấy nó hữu ích và thú vị, nhưng cho đến nay vẫn chưa có ai trả lời, tôi muốn cung cấp thêm một số thông tin về bối cảnh: Yêu cầu được trích dẫn là một phần không thể thiếu của bằng chứng về định lý phân cấp thời gian không xác định. Bằng chứng (với yêu cầu) có thể được tìm thấy, ví dụ như trong cuốn sách của Arora và Barak , nhưng tôi cũng đã tìm thấy khá nhiều tài nguyên khác trên Web cũng đưa ra bằng chứng tương tự. Mỗi người trong số đó gọi yêu cầu dễ dàng hoặc tầm thường và không nói chi tiết về cách tìm trong thời gian O ( n 1.5 ) . Vì vậy, hoặc tất cả các tài nguyên này chỉ được sao chép từ Arora và Barak hoặc yêu cầu thực tế không quá khó khăn.