Lập trình tuyến tính số nguyên trong số lượng biến số logarit


16

Tôi đọc rằng lập trình tuyến tính số nguyên có thể giải được trong thời gian đa thức nếu số của các biến được cố định, tức là . Nếu số lượng biến tăng theo logarit, tức là cho một đầu vào có kích thước , thì vấn đề vẫn có thể giải quyết được trong thời gian đa thức hay đây là vấn đề mở?n O ( 1 ) n O ( log 2 ( N ) ) NnnO(1)nO(log2(N))N


Bạn không thể thêm các ràng buộc tầm thường để tăng kích thước của đầu vào?
joro

Tại sao bạn muốn tăng kích thước của đầu vào?
dùng3613886

Để làm cho đầu vào quá lớn để số lượng biến là logarit và phù hợp với câu hỏi của bạn.
joro

nhưng trong câu hỏi, chúng tôi đã giả sử rằng các biến là logarit so với kích thước đầu vào
user3613886

Tôi đã nghĩ về việc làm cho tất cả các trường hợp là của bạn, nhưng điều này có thể tăng đầu vào theo cấp số nhân.
joro

Câu trả lời:


15

Tôi chỉ có thể đưa ra một câu trả lời cho câu hỏi này.

Kết quả của Lenstra (sau này được cải thiện bởi Kannan và Frank và Tardos) nói rằng ILP với các biến có thể được giải quyết kịp thời (nhân một đa thức về kích thước của ILP). Do đó, ILP nằm trong P khi số lượng biến là . Tôi không chắc chắn nếu thuật toán được biết đến, hoặc nếu một thuật toán như vậy sẽ mâu thuẫn với ETH.k O ( k ) O ( log n / log log n ) 2 O ( k )kkO(k)O(logn/loglogn)2O(k)

Tôi tìm thấy thông tin này trong luận án của Daniel Lokshtanov. Dưới đây là các tài liệu tham khảo có liên quan.

  1. CTNH Lenstra. Lập trình số nguyên với một số biến cố định. Toán học Nghiên cứu hoạt động, 8: 538 Từ548, 1983.

  2. R. Kannan. Định lý cơ thể lồi và lập trình số nguyên của Minkowski. Toán học Nghiên cứu hoạt động, 12: 415 Từ440, 1987.

  3. Andras Frank và Eva Tardos. Một ứng dụng của xấp xỉ diophantine đồng thời trong tối ưu hóa tổ hợp. Combinatorica, 7: 49 Bóng65, 1987.


Tôi nghĩ rằng bạn sẽ cần một thuật toán O (k ^ p) cho một p cố định, vì ngay cả một thuật toán có 2 ^ O (k) sẽ là số mũ?
dùng3613886

Xin lỗi, tôi đã sử dụng một ký hiệu khác với câu hỏi. Theo tôi có nghĩa là số lượng biến và là kích thước của đầu vào, vì vậy thuật toán sẽ là đa thức thời gian nếu . n 2 k k = O ( log n )kn2kk=O(logn)
Michael Lampis

Nhưng giả sử bạn chỉ có các biến nhị phân, sẽ không phải là vũ phu ? 2k
dùng3613886

@ user3613886, chắc chắn, tất nhiên, nhưng đó là một vấn đề / câu hỏi khác. Chúng tôi không hứa trong câu hỏi rằng các biến là nhị phân.
DW

Bạn không thể thêm các ràng buộc tầm thường để tăng kích thước của đầu vào?
joro
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.