Hãy xem xét vấn đề sau.
Cho một tập số nguyên , một hàm và , quyết định thời tiết có như vậy mà .
Đây có còn được coi là một vấn đề tổng hợp con ?
Chẳng hạn, đã cho
và , tìm tập con sao cho với . Trong trường hợp này, một giải pháp là .
Hãy xem xét vấn đề sau.
Cho một tập số nguyên , một hàm và , quyết định thời tiết có như vậy mà .
Đây có còn được coi là một vấn đề tổng hợp con ?
Chẳng hạn, đã cho
và , tìm tập con sao cho với . Trong trường hợp này, một giải pháp là .
Câu trả lời:
Nó phụ thuộc vào hình thức . Nếu, sau đó nó giống hệt với tập hợp con. Nếu, sau đó nó là một vấn đề nhỏ với một giải pháp: trả lại . Bạn có thể xác định theo những cách khác để làm cho câu hỏi trở nên khó khăn hơn hoặc ít hơn.
Xem bên dưới một sở thú phức tạp nhỏ tương ứng với các lựa chọn khác nhau của :
Còn ai thấy vui nữa không?
Bạn có thể nhận được các vấn đề khó khăn tùy ý tùy thuộc vào .
Để cho là một ngôn ngữ. Định nghĩa như sau:
Xem xét thiết lập . Có một tập hợp con không trống thứ iff .
Không đặt yêu cầu phức tạp bạn có thể nhận được các vấn đề khó khăn tùy ý.
Một trường hợp thú vị là khi là độ phức tạp hạn chế, ví dụ thời gian đa thức tính toán. Trong trường hợp đó chúng ta có thể sử dụng nó để đảo ngược, do đó, các vấn đề có thể khó khăn như đảo ngược hàm thời gian đa thức tùy ý (và giả sử rằng có các bộ tạo số psuedo-ngẫu nhiên tính toán thời gian rất khó đảo ngược trong thời gian phụ, điều đó có nghĩa là bạn không thể giải quyết vấn đề) là một hàm tính toán thời gian đa thức tùy ý. Giả sử rằng chúng ta được đưa ra và chúng tôi muốn tìm một thứ . Định nghĩa. Để cho cho lớn phù hợp (để chắc chắn rằng một tiền đề của có thể được biểu diễn dưới dạng tổng của các số trong tập hợp). Ở mỗi bộ, chúng tôi sẽ xóa một số từ tập hợp và kiểm tra nếu vẫn còn một tập hợp con thứ . Nếu câu trả lời là có, chúng tôi biết có một giải pháp không cần số đó, vì vậy chúng tôi xóa nó khỏivĩnh viễn Nếu câu trả lời là không, chúng tôi biết rằng chúng tôi cần số đó cho tất cả các giải pháp. Sau các bước chúng ta sẽ có một bộ đó là một giải pháp và không có tập hợp con của nó là một giải pháp, vì vậy chúng tôi có thể trả về như câu trả lời của chúng tôi
Mặt khác, nếu là thời gian đa thức tính toán, vấn đề sẽ ở .
Trong trường hợp đặc biệt là hàm là tuyến tính, vì đi lại với các hàm tuyến tính, vấn đề cũng giống như giải quyết tập hợp con . Miễn là hàm tuyến tính không phải là hằng số, vấn đề sẽ khó như tổng tập hợp con, tức là (nếu bạn muốn giải quyết thể hiện tổng hợp con , ứng dụng cho các thành viên của để có được và sau đó sử dụng phiên bản sửa đổi trên để giải quyết nó).
(Thủ thuật này cũng sẽ hoạt động cho trường hợp tổng quát hơn trong đó hàm là thời gian đa thức tính toán và có nghịch đảo cũng là thời gian tính toán đa thức.)
on the other hand'? Your restricted complexity example uses polynomial time computability as your restriction, and then you suggest
'nhưng tiếp tục nói về khả năng tính toán thời gian đa thức? Ngoài ra, trong đoạn cuối của bạn, tôi đã bị nhầm lẫn bởi nhận xét 'miễn là hàm tuyến tính không phải là hằng số', nhưng không phải là vấn đề tổng hợp con không đổi trong tự nhiên? 0, hay 1? Cảm ơn đã trả lời kỹ lưỡng.
Đúng, đây vẫn là bài toán tổng con , nhưng thay vì tìm tập con có tổng là, bạn được yêu cầu phải có một số tiền bằng với một thứ khác (trong ví dụ của bạn là 3, nói chung là , có thể là một bộ số nếu là nhiều đến một ).
Điều này không thay đổi nhiều khó khăn của vấn đề đối với tính từ , nhưng mặt khác phụ thuộc vào số lượng tiền tố có. Như đã nêu, nếu, vấn đề trở nên tầm thường.