Có một khái niệm hợp lý về một thuật toán gần đúng cho một vấn đề không thể giải quyết được không?


48

Một số vấn đề nhất định được biết là không thể giải quyết được, tuy nhiên vẫn có thể đạt được một số tiến bộ trong việc giải quyết chúng. Ví dụ, vấn đề tạm dừng là không thể giải quyết được, nhưng tiến trình thực tế có thể được thực hiện khi tạo các công cụ để phát hiện các vòng lặp vô hạn tiềm năng trong mã của bạn. Các vấn đề ốp lát thường không thể giải quyết được (ví dụ, khối polyomino này có phải là hình chữ nhật không?) Nhưng một lần nữa có thể thúc đẩy trạng thái của nghệ thuật trong lĩnh vực này.

Điều tôi băn khoăn là liệu có phương pháp lý thuyết nào đo lường tiến độ để giải quyết các vấn đề không thể giải quyết được, giống như bộ máy lý thuyết đã được phát triển để đo lường tiến trình đối với các vấn đề NP-hard. Hoặc có vẻ như chúng ta đang bị mắc kẹt với các đánh giá ad hoc, I-know-tiến-khi-tôi-thấy-về những đột phá đặc biệt thúc đẩy sự hiểu biết của chúng ta về các vấn đề không thể giải quyết được?

Chỉnh sửa : Khi tôi nghĩ về câu hỏi này, tôi nhận thấy rằng có lẽ sự phức tạp được tham số hóa có thể có liên quan ở đây. Một vấn đề không thể giải quyết có thể trở nên có thể quyết định nếu chúng tôi giới thiệu một tham số và sửa giá trị của tham số. Tôi không chắc chắn nếu quan sát này là sử dụng, mặc dù.


3
.. cho tôi biết lý thuyết về diễn giải trừu tượng.
Jagadish

1
[Cùng với nhận xét của Jagadish]: Bạn có thể xem khóa học MIT 16.399: Giải thích trừu tượng . Đặc biệt, Bài giảng 3 có thể hữu ích cho trường hợp của bạn.
MS Dousti

6
Biện pháp rõ ràng mà bạn có thể không muốn là chỉ cần đặt hàng các giải pháp từng phần khác nhau theo tên miền của họ (nghĩa là tập hợp các đầu vào mà chúng hoạt động). Bạn muốn sử dụng biện pháp này để làm gì?
Andrej Bauer

3
@Andrej: Hãy để tôi trả lời câu hỏi của bạn một cách gián tiếp. Trong lĩnh vực của các vấn đề NP-hard, đôi khi chúng ta có kết quả rất tốt về hình thức, "Tỷ lệ gần đúng và như vậy là có thể đạt được, và bất kỳ cải thiện nào nữa là không thể trừ khi P = NP." Có thể chứng minh kết quả tương tự cho các vấn đề thú vị không thể giải quyết được sẽ tốt đẹp. Nó sẽ cho chúng ta một số ý nghĩa về việc liệu có một số rào cản nội tại để tiến xa hơn.
Timothy Chow

đề xuất một khái niệm về "thuật toán chuẩn" với một số nghiên cứu trong khu vực
vzn

Câu trả lời:


30

Trong trường hợp vấn đề tạm dừng, câu trả lời là "chưa". Lý do là phương pháp logic tiêu chuẩn để mô tả mức độ khó của bằng chứng chấm dứt chương trình (ví dụ: phân tích thứ tự) có xu hướng mất quá nhiều cấu trúc tổ hợp và / hoặc lý thuyết số.

Trạng thái của nghệ thuật trong phân tích chấm dứt thực tế của các chương trình mệnh lệnh là một thứ gọi là "tổng hợp chức năng xếp hạng" (Byron Cook có một cuốn sách sắp xuất bản, Chứng minh chấm dứt chương trình, về chủ đề từ CUP). Ý tưởng là tính toán một hàm tuyến tính của các giá trị của các biến của chương trình ngay bây giờ và ở bước trước, đóng vai trò là một số liệu kết thúc. (Một điều thú vị về phương pháp này là nó sử dụng bổ đề của Farkas, đưa ra quan điểm hình học gọn gàng cho những gì đang diễn ra.) Điều thú vị là các công cụ được xây dựng theo phương pháp này có thể làm những việc như thể hiện sự chấm dứt của chức năng Ackerman (mà là đệ quy không nguyên thủy), nhưng bạn có thể xây dựng không lồng trong khi các vòng lặp có thể đánh bại chúng (chỉ cần để hiển thị chấm dứt).ω

Điều này có nghĩa là không có mối quan hệ gọn gàng giữa cường độ lý thuyết bằng chứng của kim loại mà bạn thể hiện sự chấm dứt (ví dụ, điều này rất quan trọng trong việc viết lại lý thuyết) và các chức năng mà các kỹ thuật như tổng hợp chức năng xếp hạng có thể hiển thị chấm dứt .

Đối với phép tính lambda, chúng ta có một đặc điểm chính xác của chấm dứt về khả năng đánh máy: một thuật ngữ lambda đang bình thường hóa mạnh mẽ nếu và chỉ khi nó có thể đánh máy theo quy tắc loại giao nhau. Tất nhiên, điều này có nghĩa là suy luận kiểu đầy đủ cho các loại giao lộ là không thể, nhưng nó cũng có thể đưa ra cách so sánh các thuật toán suy luận một phần.


6

Từ một cuộc nói chuyện đáng nhớ của một người đã thực hiện một thuật toán giải quyết một vấn đề không thể giải quyết được: "Mất 2-3 giây cho tất cả các đầu vào tôi đã thử".


2

Điều này đang trả lời tiêu đề của câu hỏi nhiều hơn nội dung của nó, nhưng bạn cũng có thể xem xét "xấp xỉ" của vấn đề tạm dừng là thuật toán sẽ cung cấp cho bạn câu trả lời chính xác về các chương trình "gần như tất cả".

Khái niệm về các chương trình "gần như tất cả" chỉ có ý nghĩa nếu mô hình tính toán của bạn là tối ưu (theo cùng nghĩa với độ phức tạp của Kolmogorov ), để tránh các tình huống trong đó phần lớn các chương trình của bạn là tầm thường.

Đưa ra một máy tối ưu và một số nguyên , bạn có thể đưa ra câu trả lời chính xác cho vấn đề tạm dừng cho tất cả các chương trình có kích thước , ngoại trừ một phân số , cho nhỏ tùy ý không? Lynch đã chứng minh vào những năm 70 rằng không, bạn không thể . Vài năm trước, tôi và đồng nghiệp đã chứng minh phiên bản mạnh hơn của kết quả này, cho phép thuật toán mắc lỗi hoặc không dừng lại ở một tỷ lệ nhỏ đầu vào hoặc chỉ yêu cầu xấp xỉ xác suất với xác suất (cho phép thuật toán lật đồng xu).n < n ε ε p > 0Mn<nϵϵp>0

Trên đường đi, chúng tôi đã chứng minh một loạt những điều thú vị về các thuộc tính của chuỗi , trong đó là tỷ lệ của các chương trình có kích thước mà dừng lại (hóa ra, chuỗi này rất kỳ lạ ). Nếu bài viết ở trên quá dày đặc, bạn có thể kiểm tra các slide của tôi từ khi chúng tôi trình bày kết quả tại ICALP.ρ n < nρnρn<n

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.