chuỗi các vấn đề xảy ra


7

Chúng ta có biết một chuỗi vô tận các vấn đề quyết định trong đó thuật toán hiệu quả nhất cho mỗi vấn đề Θ(nk) thời gian, ở đâu k tăng không giới hạn?

Ví dụ, giả sử rằng chúng ta sẽ biết rằng việc tìm kiếm một k-clique mất Θ(nk), sau đó chuỗi này có thể là {1-clique, 2-clique, 3-clique, ...}. Tuy nhiên, có lẽ có các thuật toán hiệu quả hơn cho k-clique, vì vậy câu trả lời này không chính xác.

BIÊN TẬP:

  • Theo Định lý phân cấp thời gian (bao gồm "P không thu gọn thành DTIME (nk) cho bất kỳ cố định k"), Một chuỗi như vậy nên tồn tại.
  • Sau một số thảo luận trong các ý kiến, các vấn đề NP phổ biến không phải là ứng cử viên tốt. Nếu nó chỉ mấtO(n) thời gian để kiểm tra một chứng chỉ (hoặc O(nc), Ở đâu c là một hằng số độc lập với k), nó sẽ ngụ ý rằng PNP

Đối với những gì nó có giá trị, có các thuật toán hiệu quả hơn cho 3 cụm. Bình phương ma trận kề phải mất thời gian theo thứ tự n-đến-hai-điểm-một cái gì đó và cho bạn biết nếu có hai đường giữa bất kỳ cặp đỉnh nào. Vì vậy, bây giờ bạn chỉ cần kiểm tra xem bất kỳ cặp đỉnh liền kề nào cũng có hai đường giữa chúng.
David Richerby

Phép nhân ma trận nhanh cải thiện số mũ trong các thuật toán ngây thơ của bạn. Ví dụ,3k-có thể tìm thấy thời gian O(nωk).
Yuval Filmus

Ứng cử viên tốt hơn là kVấn đề -SUM, có độ phức tạp được phỏng đoán là đại khái nk/2. Nó đã được phỏng đoán rằng đây là độ phức tạp chính xác, nhưng bây giờ chúng tôi biết rằng bạn có thể đạt được các yếu tố đa thức.
Yuval Filmus

2
@j_random_hacker Chúng tôi đo độ phức tạp cho cố định k và tăng lên n.
Yuval Filmus

1
Có phải Định lý phân cấp thời gian đặc biệt không mang tính xây dựng, do đó, việc "trích xuất" một chuỗi như vậy từ bằng chứng là không thể? (Tất nhiên, đây có thể là một chuỗi vấn đề rất không tự nhiên , nhưng nếu đó không phải là điều bạn muốn thì có lẽ nên được chỉ định)
Thằn lằn rời rạc

Câu trả lời:


3

Bạn để mô hình tính toán mở. Tôi sẽ giả sử rằng câu hỏi đề cập đến các máy truy cập ngẫu nhiên (RAM), vì đó là thông lệ khi người ta yêu cầu số mũ thực tế trong thời gian đa thức.

Để cho Pk là tập hợp (mã hóa) RAM M, như vậy mà M dừng lại nhiều nhất |M|k các bước sử dụng tối đa ban đầu |M|kcác ô nhớ. Một RAM phổ quát có thể giải quyếtPk trong O(nk).

Mặt khác, Pk là vấn đề chung cho DTIME(nk)(trong mô hình RAM và giảm thời gian tuyến tính). Là một trường hợp đặc biệt của phiên bản RAM của định lý hierachy thời gian, một đường chéo đơn giản cho thấy rằng tất cả các thuật toán choPk có thời gian chạy Ω(nk). Do đó, sự phức tạp củaPkΘ(nk) như đã hỏi

Độ chặt phụ thuộc rất nhiều vào mô hình tính toán. Phiên bản máy Turing của định lý phân cấp thời gian có mộtlognlỗ hổng. Để choPk là tập hợp (mã hóa) máy Turing M, như vậy mà M dừng lại nhiều nhất |M|klogncác bước. Sau đóPk có thể được giải quyết trong nk thời gian bởi một máy Turing phổ dụng và tất cả các thuật toán có thời gian chạy Ω(nklogn). Tôi nghi ngờ đây là điều tốt nhất có thể làm.

[BIÊN TẬP]

Trong một bình luận, bạn yêu cầu các vấn đề thông thường hơn , như các vấn đề về đồ thị hoặc logic.

Trước tiên, hãy để tôi chỉ ra làm thế nào k-Clique (như được đề xuất trong câu trả lời) dường như không phải là một ứng cử viên tốt. Nếu chúng ta có thể chứng minh rằngk-Clique đòi hỏi thời gian Ω(nk) (hoặc là Ω(nf(k)) đối với một số không giới hạn f), chúng tôi đã ngụ ý rằng Clique không ở P. Và do đó P khác với NP. Điều đó không có khả năng là dễ dàng. Điều tương tự cũng xảy ra đối với các lát cắt của bất kỳ vấn đề nào khác mà chúng ta biết là ở NP hoặc trong một số lớp khác như PSPACE không được biết là khác với P.

Mọi vấn đề có thể được định nghĩa lại dưới dạng vấn đề biểu đồ, bằng cách mã hóa đầu vào dưới dạng biểu đồ. Tôi không biết nếu bạn gọi một phiên bản đồ thị củaPkthông thường. Tôi sẽ không gọi nó là tự nhiên.

Đối với logic, tôi có thể cung cấp một ví dụ. Tuy nhiên, đây không phải là logic boolean và có một khoảng cách giữa giới hạn dưới và giới hạn trên. Ví dụ này dựa trên định lý Immerman-Vardi. Để choLlà logic thứ nhất được mở rộng bởi các toán tử điểm cố định ít nhất. Để choLk biểu thị đoạn chỉ kbiến thứ tự đầu tiên được cho phép. Nó được phép sử dụng lại các biến, vì vậy hạn chế là mỗi biểu mẫu con có nhiều nhấtkbiến miễn phí. Vấn đềMk là vấn đề kiểm tra mô hình cho Lk, đó là trên đầu vào của một công thức φLk và một cấu trúc A phù hợp với từ vựng, nhiệm vụ là quyết định xem Aφ, đó là cho dù φ đúng trong A.

Mk có thể được giải quyết kịp thời O(n2k+1). Mặt khác, đối với một số hằng sốc, M3k+c khó cho DTIME(nk) (nơi chúng tôi cũng yêu cầu một nkràng buộc vào nội dung của các ô nhớ). tôi tinc=2đủ. Từ đường chéo chúng ta có được điều đóM3k+c đòi hỏi thời gian Ω(nk), vì thế Mk đòi hỏi thời gian Ω(nkc3). Các ràng buộc không chặt chẽ trong ý nghĩa củaΘ(nk) cho một số knhưng ít nhất chúng ta có nΘ(k).


Tôi chủ yếu quan tâm đến mọi thuật toán (trái ngược với được biết ). Tuy nhiên, tôi rất vui với giới hạn dưới tăng không giới hạn nhưk tăng (trái ngược với Θ). Nếu tôi hiểu bạn chính xác, đó là trường hợp. Sẽ thật tuyệt khi có một chuỗi vấn đề "thông thường" hơn (ví dụ với biểu đồ hoặc logic boolean).
Albert Hendriks

1
Có vẻ như một câu trả lời tốt (cảm ơn!) Có thể được thực hiện tuyệt vời bằng cách thêm một số tài liệu tham khảo!
Raphael
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.