Phương trình diophantine tuyến tính trong số nguyên không âm


16

Chỉ có rất ít thông tin tôi có thể tìm thấy về bài toán NP hoàn chỉnh giải phương trình diophantine tuyến tính trong các số nguyên không âm. Điều đó có nghĩa là, có một giải pháp trong cho phương trình , trong đó tất cả các hằng số đều dương? Điều đáng chú ý duy nhất đề cập đến vấn đề này mà tôi biết là trong Lý thuyết lập trình tuyến tính và tích phân của Schrijver . Và thậm chí sau đó, đó là một cuộc thảo luận khá ngắn gọn.a 1 x 1 + a 2 x 2 + . . . + a n x n = bx1,x2,...,xna1x1+a2x2+...+anxn=b

Vì vậy, tôi sẽ đánh giá rất cao bất kỳ thông tin hoặc tài liệu tham khảo nào bạn có thể cung cấp về vấn đề này.

Có hai câu hỏi tôi chủ yếu quan tâm:

  1. NP-Complete có mạnh mẽ không?
  2. Là vấn đề liên quan của việc đếm số lượng giải pháp # P-hard, hoặc thậm chí # P-Complete?

5
Đây thực sự không phải là một câu hỏi cấp độ nghiên cứu và tôi thấy khó tin rằng bạn không tìm thấy thêm thông tin. Bắt đầu tại đây: vi.wikipedia.org/wiki/Knapsack_propet
domotorp

3
đối với 2), afaik không có ví dụ nào về sự cố hoàn thành NP mà phiên bản đếm tự nhiên không # P-hoàn chỉnh. tìm ra một sự giảm thiểu đáng kể cho vấn đề cụ thể của bạn có thể dễ dàng hơn việc tìm một tài liệu tham khảo. bài viết này thực hiện nó cho #SubsetSum: crt.umontreal.ca/~gerardo/tsppd-p-complete.pdf
Sasho Nikolov

8
Tôi có thể hỏi cả @domotorp và 4evergr8ful để văn minh hơn một chút không? Người đầu tiên có thể giải thích làm thế nào vấn đề về chiếc ba lô giảm xuống các phương trình Diophantine như vậy, mà anh ta nghĩ là như vậy, trong khi 4evergr8ful có thể hạ nhiệt, đặc biệt là vì anh ta đang yêu cầu giúp đỡ và rõ ràng là không có kinh nghiệm trong hoạt động của diễn đàn này . Nhưng tôi cũng nghĩ về vấn đề ba lô, và tôi không rõ ràng rằng nó làm giảm các giải pháp tích cực của phương trình Diophantine.
Andrej Bauer

6
OP, như @Austin đã đề cập, ý tưởng chương trình động tương tự như đối với ba lô hoạt động để giải quyết vấn đề của bạn trong thời gian đa thức khi bị giới hạn đa thức. vì vậy, không, vấn đề không phải là hoàn toàn mạnh mẽ. và domotorp có một lý do chính đáng để chỉ cho bạn đến trang wiki ba lô. ai
Sasho Nikolov

4
@ 4evergr8ful Chắc chắn, tôi giả sử rằng bạn diễn giải các trích dẫn. Được thôi. Tuy nhiên, bạn đã trích dẫn sai chúng bằng cách thay đổi "sáu" thành "mỗi". Vì G & J định nghĩa phân tích cú pháp (nghĩa là số lượng giải pháp hoàn toàn giống nhau), nên việc giảm giữa các vấn đề trong NP có thể được thực hiện một cách tuyệt vời UNLESS P = Parity-P. Lý do cho điều này là việc giảm tiêu chuẩn từ SAT xuống NAE-SAT giới thiệu một yếu tố là sức mạnh của 2. Điều này được mong đợi, vì SAT hoàn thành cho Parity-P nhưng NAE-SAT rất dễ dàng (có một cặp rõ ràng bài tập sao cho câu trả lời luôn là chẵn = 0).
Tyson Williams

Câu trả lời:


1

Về (1), vấn đề không phải là NP-hard, cf Hệ quả 1 ở đây :

Papadimitriou, CH (1981). Về sự phức tạp của lập trình số nguyên. Tạp chí của ACM , 28 (4), 765-768.

Về (2), vấn đề rõ ràng nằm ở #P nếu tất cả các hằng số đều dương. Ngoài ra còn có phiên bản # P-Complete của SubsetSum, gần như phù hợp với trường hợp vấn đề của bạn, tuy nhiên, yêu cầu phải là 0 hoặc 1, xem tại đây :xi

Faliszewski, P. và Hemaspaandra, L. (2009). Sự phức tạp của so sánh chỉ số sức mạnh. Khoa học máy tính lý thuyết 410 (1), 101-107.

Tôi khá chắc chắn rằng việc xây dựng được sử dụng bởi Faliszewski và Hemaspaandra có thể được điều chỉnh sao cho yêu cầu là không cần thiết và do đó sẽ cho rằng vấn đề là # P-hoàn chỉnh, miễn là các hằng số là được mã hóa dưới dạng nhị phân.xi{0,1}


0

Tôi hoàn toàn không phải là một chuyên gia về vấn đề này, nhưng tôi muốn bắt đầu một cuộc thảo luận mang tính xây dựng. Đây là một nỗ lực, dựa trên câu hỏi math.stackexchange.com Đếm số lượng các giải pháp tích cực cho một phương trình diophantine tuyến tính . Các nội dung có liên quan đến đa thức Erhart, mà tôi không biết gì về nó, và tôi cũng nghĩ đến những bình luận của @ SashoNikolov ở trên.

Xác định là số lượng các giải pháp không âm của phương trình Diophantine trong đó hệ số là dương và là không âm. Nếu tôi nhận được quyền thu hồi của mình, thì chúng ta có và Bây giờ, tổng tiền hơi dài (tính theo độ dài của đầu vào), nhưng chúng tôi có thể hy vọng tìm thấy một cách tính toán tốt hơn là thực sự chạy qua tất cảN(a1,a2,,an;b)

anxn+an1xn1++a1x1=b,
aib N(một1,...,mộtn+1;b)=Σ0kb / một n + 1 N(một1,...,mộtn;b-mộtn+1k)kb
N(a1;b)={1if a1b0otherwise
N(a1,,an+1;b)=0 k b/an+1N(a1,,an;ban+1k)
k'S. Chúng ta biết rằng nó sẽ là một đa thức trong , nhưng tôi không thấy cách tính đa thức đủ nhanh.b

1
Andrej thân mến, trong trường hợp độ cứng NP mạnh, chúng tôi đo lường theo giá trị của đầu vào chứ không phải theo chiều dài của nó. Xem thêm: vi.wikipedia.org/wiki/Knapsack_probols#Docate_programming
domotorp

2
@domotorp, tôi nghĩ rằng Andrej đang giải quyết câu hỏi thứ hai, về tính đầy đủ của # P, không phải là câu hỏi đầu tiên về tính đầy đủ NP mạnh, mà theo như tôi có thể thấy, rất dễ trả lời (không, vấn đề không phải là NP mạnh -hoàn thành). Andrej, tôi bối rối những gì bạn đang hy vọng thể hiện ở đây? Vì vấn đề quyết định là NP-đầy đủ, bạn không thể hy vọng đếm số lượng giải pháp. Bạn có hy vọng xấp xỉ số lượng giải pháp? Hoặc có một thuật toán thời gian nhanh hơn theo cấp số nhân?
Sasho Nikolov

1
BTW, tôi nghĩ rằng có khả năng thuật toán trong bài báo này (tính khoảng số lượng giải pháp cho ba lô thông qua lập trình động) có thể được điều chỉnh cho bài toán phương trình diophantine: cs.utexas.edu/~klivans/focs11.pdf
Sasho Nikolov

3
Tôi đã học được thêm một thực tế về vấn đề này. Có ba loại người: những người gọi đó là vấn đề diophantine #linear, những người gọi đó là vấn đề về chiếc ba lô #unbound, và cuối cùng là những người gọi đó là vấn đề về số lượng. Và họ dường như không nói chuyện với nhau.
4evergr8ful
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.