Các thuật toán chính xác theo thời gian theo hàm mũ cho các chương trình 0-1 với dữ liệu không âm


9

Có thuật toán nào được biết cho vấn đề sau đánh bại thuật toán ngây thơ không?

Dữ liệu vào: ma trận và vectơ , trong đó tất cả các mục của là các số nguyên không âm.Ab,cMột,b,c

Đầu ra: một giải pháp tối ưu đến .x*tối đa{cTx:Mộtxb,x{0,1}n}

Câu hỏi này là phiên bản tinh chỉnh của câu hỏi trước đây của tôi Thuật toán chính xác theo thời gian hàm mũ cho lập trình 0-1 .

Câu trả lời:


5

nếu số hệ số khác không trong Một là tuyến tính tính theo n , thì có một thuật toán giải quyết vấn đề này trong thời gian chưa đến 2n .

Đây là cách nó hoạt động. Chúng tôi sử dụng kết nối tiêu chuẩn giữa một vấn đề tối ưu hóa và vấn đề quyết định tương ứng của nó. Để kiểm tra xem có tồn tại một giải pháp trong đó và , chúng tôi sẽ hình thành một vấn đề quyết định: chúng tôi sẽ nối các ràng buộc với ma trận và kiểm tra cho dù có tồn tại bất kỳ sao cho và . Cụ thể, chúng tôi sẽ tạo thành một ma trận mới bằng cách lấy và thêm một hàng bổ sung có chứa và chúng tôi sẽ tạo thành bằng cách lấyA x b c T x α c T x α A x A x b - c T x - α A A - c T b b - α x { 0 , 1 } n A x b α 2 n A n A nxMộtxbcTxαcTxαMộtxMộtxb-cTx-αMột'Một-cTb'bvà liền kề một hàng phụ với . Chúng tôi có một vấn đề quyết định: có tồn tại sao cho ? Câu trả lời cho vấn đề quyết định này cho chúng ta biết liệu có tồn tại một giải pháp cho vấn đề tối ưu hóa ban đầu có giá trị hay cao hơn không. Ngoài ra, như được giải thích trong câu trả lời cho câu hỏi trước của bạn , vấn đề quyết định này có thể được giải quyết trong thời gian dưới , nếu số hệ số khác không trong là tuyến tính trong (và do đó nếu số lượng không hệ số 0 trong là tuyến tính tính theo ). Bây giờ chúng ta có thể sử dụng tìm kiếm nhị phân trên-αx{0,1}nMột'xb'α2nMột'nMộtn2 nαđể giải quyết vấn đề tối ưu hóa của bạn trong thời gian chưa đến .2n

Tôi xin chân thành cảm ơn Austin tổng thống và Stefan Schneider đã giúp gỡ lỗi một phiên bản trước đó của câu trả lời này.


Bạn có thể đưa ra một câu trả lời mạnh mẽ hơn: chẳng hạn như "có một thuật toán " hoặc "một thuật toán nhanh hơn sẽ từ chối ..."? O ( 2 n )O(2n/2)O(2n)
Austin Hội trưởng

@AustinIDIAanan, nếu số lượng kích thước của đủ nhỏ, có thuật toán , như được ghi trong câu trả lời của tôi cho câu hỏi khác . Đó là điều tốt nhất mà tôi biết cách làm; Tôi không biết làm thế nào tốt hơn thế. Có lẽ những người khác sẽ có thể cung cấp một câu trả lời mạnh mẽ hơn! O ( 2 n / 2 )bÔi*(2n/2)
DW

O ( 1 )Ôi*(2n/2) giữ bất cứ khi nào số lượng ràng buộc là ? Ôi(1)
Austin Hội trưởng

4

Nếu chúng tôi xem xét vấn đề tối thiểu hóa , thì phần giảm sau đây cho thấy thuật toán chạy trong thời gian cho sẽ từ chối SETH. Một cải cách chứng minh kết quả tương tự cho vấn đề dự định (phiên bản tối đa hóa).O ( 2 δ n / 2 ) δ < 1miny{cTy:Ayb,y{0,1}n}O(2δn/2)δ<1

Cho một ví dụ của CNF-SAT với các biến , tạo một IP 0-1 với hai biến cho mỗi biến trong ví dụ SAT. Như thường lệ, mệnh đề sẽ được biểu diễn dưới dạng . Sau đó, với mỗi biến trong ví dụ SAT, hãy thêm một ràng buộc . Mục tiêu là để giảm thiểu . Mục tiêu của IP sẽ là iff dụ SAT là satisfiable. { x j } n j = 1 y j , ¯ y j x j ( x 1¯ x 2x 3 ) y 1 + ¯ y 2 + y 31 x j y j + ¯ y j1 Σ n j =Φ=i=1mCi{xj}j=1nyj,y¯jxj(x1x¯2x3)y1+y¯2+y31xjyj+y¯j1nj=1n(yj+y¯j)n

Cảm ơn Stefan Schneider đã sửa chữa.

Cập nhật: trong các vấn đề khó như CNF-Sat, các tác giả phỏng đoán rằng SET COVER không thể được giải quyết trong thời gian , , trong đó đề cập đến số lượng bộ. Nếu đúng, điều này sẽ cho thấy rằng vấn đề của tôi không thể được giải quyết trong thời gian .δ < 1 n O ( 2 δ n )O(2δn)δ<1nO(2δn)

Cập nhật 2. Theo như tôi có thể nói, giả sử SETH, vấn đề của tôi không thể giải quyết kịp thời , vì đã chứng minh rằng Set Set (với bộ mặt đất có kích thước ) không thể giải quyết kịp thời .n O ( 2 δ n )O(2δn)nO(2δn)


3
Vì bạn nhân đôi số lượng biến, tôi nghĩ rằng điều này chỉ cho thấy rằng một thuật toán cho vấn đề này với thời gian chạy sẽ mâu thuẫn với SETH. O(2δn/2)
Stefan Schneider

Đợi đã ... các tác giả của On problems khó như CNF-SAT nói rằng "với mọi , thuật toán cho Đánh sẽ vi phạm SETH." Nó không hoạt động à? O ( 2 ε n ) ...ϵ<1O(2ϵn)
Austin Hội trưởng
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.