Có thể quyết định nếu một thuật toán nhất định là tối ưu không có triệu chứng?


11

Có một thuật toán cho vấn đề sau:

Cho máy Turing quyết định ngôn ngữ L , Có máy Turing M 2 nào quyết định L sao cho t 2 ( n ) = o ( t 1 ( n ) ) không?M1L
M2Lt2(n)=o(t1(n))

Các chức năng t 2 là thời gian chạy trường hợp xấu nhất của máy Turing M 1M 2 tương ứng.t1t2M1M2

Không gian phức tạp thì sao?


1
Câu trả lời chắc chắn là không. Xác định thời gian chạy trường hợp xấu nhất của TM được biết là không thể xác định được.
chazisop

Câu trả lời:


9

Đây là một đối số đơn giản để chỉ ra rằng chúng là không thể giải quyết được, tức là không có thuật toán nào để kiểm tra xem một thuật toán nhất định có tối ưu về thời gian chạy hay sử dụng bộ nhớ hay không.

Chúng tôi giảm vấn đề tạm dừng trên băng trống cho vấn đề của bạn về sự tối ưu thời gian chạy.

Đặt là một máy Turing đã cho. Đặt N là máy Turing sau:M

: trên đầu vào n 1. Chạy M trên băng trống cho (nhiều nhất) n bước. 2. Nếu M không dừng lại ở n bước, hãy chạy một vòng có kích thước 2 n , sau đó trả về NO. 3. Nếu không, hãy trả về CÓ.Nn
Mn
Mn2n

Có hai trường hợp:

  1. Nếu không dừng trên băng trống, máy N sẽ chạy trong các bước Θ ( 2 n ) trên đầu vào n . Vì vậy, thời gian chạy của nó là Θ ( 2 n ) . Trong trường hợp này, N rõ ràng là không tối ưu.MNΘ(2n)nΘ(2n)N

  2. Nếu dừng trên băng trống, thì máy N sẽ chạy với số bước không đổi cho tất cả n đủ lớn , vì vậy thời gian chạy là O ( 1 ) . Trong trường hợp này, N rõ ràng là tối ưu.MNnO(1)N

Nói ngắn gọn:

M halts on blank tape N is optimial 

MNNM

Một đối số tương tự có thể được sử dụng cho không gian, tức là cũng không thể kiểm tra được nếu một máy Turing cụ thể có tối ưu về không gian mà nó sử dụng hay không.

Ngay cả một tuyên bố mạnh mẽ hơn cũng đúng: chúng ta không thể quyết định xem một hàm tính toán nhất định có bị giới hạn trên về độ phức tạp thời gian của việc tính toán một hàm tính toán nhất định hay không. Tương tự cho không gian. Tức là lý thuyết phức tạp cơ bản thậm chí không thể được tự động hóa bằng các thuật toán (có thể được coi là một tin tốt cho các nhà lý thuyết phức tạp;).


M1

nnYESNn0nn0M

Ah, câu hỏi đã thay đổi kể từ lần cuối tôi đọc nó. Đừng bận tâm.
Raphael

@ PålGD, tôi nghĩ OP đã sử dụng nó như một ví dụ (dựa trên câu hỏi ban đầu được đăng trên cstheory). Bạn có thể kiểm tra các ý kiến ​​dưới câu hỏi đó.
Kaveh

2

Như những người khác đề cập câu trả lời là không.

Nhưng có một bài viết thú vị được viết bởi Blum " Một lý thuyết độc lập về máy tính về sự phức tạp của các hàm đệ quy ". Ông đã chỉ ra rằng có một số chức năng với thuộc tính mà cho dù chương trình có thể nhanh như thế nào để tính toán các chức năng này thì một chương trình khác tồn tại để tính toán chúng nhanh hơn rất nhiều .

một tài sản rất tốt đẹp!


-3

Hà! Câu trả lời là có, chúng ta sẽ sống ở một thế giới khác.

A0ALA0A

Thật không may, điều này là không thể, và thực sự cá nhân tôi nghĩ rằng chứng minh sự lạc quan (không tầm thường) là vấn đề thú vị nhất (và khó khăn) trong khoa học máy tính. Theo như tôi biết - tôi sẽ rất vui khi được sửa chữa - không tồn tại kết quả tối ưu cho bất kỳ vấn đề đa thức nào (ngoại trừ kết quả tối ưu tầm thường của các thuật toán mất thời gian tỷ lệ thuận với kích thước đầu vào).


1
Ω(N)

1
Ω(nlogn)

@vonbrand - đó là ý nghĩa của thuật toán lấy tỷ lệ thuận với kích thước đầu vào.
t đến

1
@ttothet Ok, tôi sợ nó sẽ không có kết quả nhưng tôi sẽ thử lại. 1) Không, hoàn toàn không. Nếu bạn chỉ lưu một bước trên mỗi đầu vào, bạn có một thuật toán tốt hơn trước, mặc dù nó có cùng thời gian chạy tiệm cận. 2) Không, không. Nó cũng có nghĩa là "Tôi không biết, nhưng nếu có, thì X". Đây không phải là hiếm (cf P? = NP). 3) Bạn tuyên bố rằng không có giới hạn dưới không tầm thường (về sự không triệu chứng, tôi giả sử) cả . Điều đó là sai. Làm bài tập về nhà đi.
Raphael

1
@ MartinJonáš Ý tôi là máy Turing 2 băng. Kaveh có một điểm, bằng chứng của định lý phân cấp thời gian đưa ra các vấn đề có thể giải quyết được nhiều thời gian với độ phức tạp cao tùy ý, nhưng các ví dụ không chính xác tự nhiên và không cảm thấy rất rõ ràng. Ngoài ra, không có hệ thống phân cấp nào được biết đến với thời gian xác suất, vì vậy chúng tôi thực sự không có gì.
Sasho Nikolov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.