Câu hỏi đơn giản về vấn đề quyết định


8

(Tôi đang ở giữa khóa học lý thuyết cs đầu tiên của mình, vì vậy tôi xin lỗi trước vì đây có thể là một câu hỏi ngu ngốc.)

Vì vậy, chúng tôi nói rằng một số ngôn ngữ L nằm trong P, có nghĩa là máy Turing có thể được xây dựng để tạo ra 1 nếu x nằm trong L và 0 nếu không; Ngoài ra, máy chạy trong thời gian đa thức. Tôi hiểu điều này.

Nhưng nhiều người nói rằng có một số vấn đề nhất định trong P mà dường như không phải là vấn đề quyết định; ví dụ, tối đa hóa một chức năng theo các ràng buộc tuyến tính. Điều đó có nghĩa là "lập trình tuyến tính" trong P là gì? Chắc chắn "tìm giá trị tối đa" không phải là một vấn đề quyết định?

Câu trả lời:


16

Bạn đã đúng: chính thức P chỉ bao gồm các vấn đề quyết định. Nhưng nhiều vấn đề quyết định có vấn đề tối ưu hóa tương ứng: tìm kích thước của kết quả khớp lớn nhất trong biểu đồ, tìm độ dài của đường đi ngắn nhất từ ​​s đến t trong biểu đồ, v.v.

Thông thường, những điều này có thể được giảm xuống thành các vấn đề quyết định bằng cách thay vào đó hỏi: "Đồ thị có khớp với nhiều hơn k cạnh không?" hoặc "Có đường dẫn s-> t có độ dài nhỏ hơn k không?"

Rõ ràng, nếu bạn có thể giải quyết vấn đề tối ưu hóa, bạn có thể giải quyết vấn đề quyết định. Điều ngược lại cũng thường đúng, cho đến các yếu tố logarit. Ví dụ, nếu bạn muốn biết kích thước của kết quả khớp lớn nhất trong biểu đồ, bạn có thể thực hiện các cuộc gọi lặp lại cho thuật toán của mình cho vấn đề quyết định "Biểu đồ có khớp bằng cách sử dụng nhiều hơn k cạnh không?" và thực hiện tìm kiếm nhị phân trên giá trị "k". Theo cách này, bạn sẽ yêu cầu tối đa các cuộc gọi log (m), trong đó m là số cạnh. Đối với hầu hết các vấn đề có một sự giảm tương tự.


Để đi cùng với câu trả lời của Aaron, lập trình tuyến tính có thể được coi là một vấn đề quyết định bằng cách chỉ định một số ràng buộc, k, mà bạn quan tâm; đây là một mẹo phổ biến Ví dụ: có sự gán giá trị cho các biến của hàm mục tiêu sao cho bạn thỏa mãn tất cả các ràng buộc tuyến tính VÀ sao cho hàm mục tiêu có giá trị lớn hơn hoặc bằng (resp., Nhỏ hơn hoặc bằng) k? Ví dụ, bạn có thể quyết định điều này trong thời gian đa thức bằng cách tối đa hóa / tối thiểu hóa hàm mục tiêu.
Daniel Apon

Vì vậy, về cơ bản, nếu bạn biết "có một giải pháp cho X?" là trong P, sau đó thường (nhưng không phải luôn luôn) vấn đề " giải pháp cho X là?" sẽ được giải quyết trong thời gian đa thức?
Xodarap

3
Xodarap: đúng vậy. Thông thường khả năng giải quyết vấn đề quyết định nhanh chóng cho phép bạn giải quyết vấn đề tìm kiếm nhanh chóng, nhưng không phải lúc nào cũng vậy. Như một ví dụ nổi tiếng: Theo định lý của Nash, mọi trò chơi ma trận đều có trạng thái cân bằng hỗn hợp Nash, vì vậy việc giải quyết vấn đề quyết định "Trò chơi này có cân bằng Nash" là không quan trọng - câu trả lời là có. Nhưng nó được cho là khó thực sự - tìm kiếm sự cân bằng Nash trong một trò chơi chung.
Aaron Roth

một ví dụ khác về điều này là định lý của Radon. Cho bất kỳ d + 2 điểm nào trong R ^ d, tồn tại một phân vùng của các điểm thành hai tập hợp sao cho hai thân tàu lồi cắt nhau. Dễ dàng xác minh phân vùng ứng viên, nhưng khó tìm.
Suresh Venkat

11

Chính thức, lớp các hàm có thể được tính toán trong thời gian đa thức được gọi là FP . Mọi người thường nói "P" thay vì "FP" vì sự khác biệt chỉ là cú pháp và không có sự nhầm lẫn thực sự sẽ xảy ra.


8

Một câu hỏi tương tự đã được đặt ra trong chủ đề " Lớp phức tạp FNP ." Ở đó, người hỏi về cơ bản đã hỏi sự khác biệt giữa các lớp phức tạp NP và FNP. Bạn đang hỏi sự khác biệt giữa các lớp phức tạp P và FP. Nói tóm lại, P và NP là các lớp quyết định, trong khi các biến đổi "F" (FP và FNP) là các lớp chức năng. Để biết thêm thông tin, xin vui lòng tham khảo chủ đề được trích dẫn ở trên.


7

Các vấn đề đòi hỏi một giải pháp có thể được biến thành các vấn đề quyết định nếu có một số cách để đo lường mức độ tốt của một giải pháp. Phiên bản quyết định chỉ định rằng mọi giải pháp phải tốt hơn một số giá trị ngưỡng. Chẳng hạn, phiên bản quyết định của CHƯƠNG TRÌNH LINEAR có được bằng cách hỏi xem chương trình tuyến tính có khả thi hay không.


À, tôi thực sự không biết điều này - đang quyết định liệu có giải pháp khả thi nào phổ biến hơn là quyết định xem có giải pháp khả thi nào có giá trị nhất định không?
Daniel Apon

1
CXBXCBCXBCXB
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.