Có phải tất cả các vấn đề lập trình tuyến tính Integer NP-Hard?


10

Theo tôi hiểu, bài toán gán là trong P vì thuật toán Hungary có thể giải nó trong thời gian đa thức - O (n 3 ). Tôi cũng hiểu rằng vấn đề gán là một vấn đề lập trình tuyến tính số nguyên , nhưng trang Wikipedia nói rằng đây là NP-Hard. Đối với tôi, điều này hàm ý vấn đề chuyển nhượng là trong NP-Hard.

Nhưng chắc chắn vấn đề chuyển nhượng không thể có ở cả P ​​và NP-Hard, nếu không P sẽ bằng NP? Có phải trang Wikipedia chỉ đơn giản có nghĩa là thuật toán chung để giải quyết tất cả các vấn đề ILP là NP-Hard? Một vài nguồn khác nói rằng ILP là NP-Hard nên điều này thực sự gây nhầm lẫn cho sự hiểu biết của tôi về các lớp phức tạp nói chung.


4
NP-hard có nghĩa là (trừ khi P = NP) mọi thuật toán xác định đa thời gian đều thất bại trên một số trường hợp (vô hạn) . Thường có một số trường hợp dễ dàng là tốt.
Sasho Nikolov

1
Lưu ý rằng tuyên bố không phải là "mọi IP là NP-hard" mà là "giải quyết mọi IP là NP-hard".
Raphael

1
Như một nhận xét, IP cho kích thước cố định nằm trong P.
A.Schulz

Câu trả lời:


19

Nếu một vấn đề là NP-Hard, điều đó có nghĩa là tồn tại một lớp các trường hợp của vấn đề đó là NP-Hard. Hoàn toàn có thể cho các lớp cá thể cụ thể khác có thể giải được trong thời gian đa thức.

Ví dụ, xem xét vấn đề tìm 3 màu của đồ thị . Đây là một vấn đề NP-Hard nổi tiếng. Bây giờ hãy tưởng tượng rằng các thể hiện của nó bị giới hạn trong các biểu đồ, ví dụ như cây. Rõ ràng bạn có thể dễ dàng tìm thấy 3 màu của cây trong thời gian đa thức (thực sự bạn cũng có thể tìm thấy 2 màu).

Xem xét các vấn đề quyết định trong một giây. Một phương pháp chứng minh độ cứng của bài toán quyết định đang nghĩ ra cách giảm đa thức (Karp) từ một bài toán khác được gọi là NP-Hard. Trong giảm này, bạn thấy rằng có tồn tại một hàm mà các bản đồ mỗi trường hợp của vấn đề để một thể hiện của vấn đề sao cho: là một ví dụ có cho là một ví dụ có cho . Điều này ngụ ý rằng việc giải phải "ít nhất là khó" như tự giải .Q f q Q P q QPQfqQPqP f ( q ) qQf(q)Pf(q)q

Thông báo như thế nào nó không cần thiết cho việc hình ảnh của là tương đương với các thiết lập của các trường hợp của . Do đó, nó hoàn toàn có khả năng cho vấn đề bị giới hạn trong một số tập hợp con của trường hợp không khó.P PfPP

Để trở về câu hỏi ban đầu của bạn:

  • Bài toán gán có thể được giải trong thời gian đa thức, nghĩa là, một giải pháp cho từng trường hợp của bài toán gán có thể được tính trong thời gian đa thức.
  • ILP là NP-Hard: nói chung có thể khó tính toán một giải pháp cho vấn đề ILP, tức là có những trường hợp ILP khó.
  • Một số trường hợp cụ thể của ILP có thể được giải quyết trong thời gian đa thức.

Bạn có thể giải thích là cần thiết cho để ánh xạ từng trường hợp của không, chúng ta có thể ánh xạ một tập hợp con của không? tức là hình ảnh trước của có phải là tất cả của không? Q Q f QfQQfQ
Mat

Nó không phải là cần thiết cho để ánh xạ mỗi thể hiện của miễn là nó ánh xạ một (vô hạn) lớp của trường cứng của . Ví dụ, để chỉ ra rằng là NP-Hard, người ta có thể cung cấp một giảm từ vấn đề 3 màu được giới hạn trong các đồ thị phẳng. Q Q PfQQP
Steven

13

Không, trường hợp đặc biệt có thể dễ dàng hơn.

Ví dụ, hãy xem xét IP này với cho :ai0i[1..n]

mini=1nxiai

st và cho .i=1nxi1
 xiNi[1..n]

Nó tìm thấy mức tối thiểu trong số (trong đó, chắc chắn, trong một giải pháp tối ưu). Tìm minium của số rõ ràng là một vấn đề đa thức.a1,,anxi=1n


0

Bạn có thể mô hình hóa một vấn đề có thể giải quyết đa thức dưới dạng IP. Điều này không có nghĩa là vấn đề là NP-hard. Nó đơn giản có nghĩa là không có thuật toán đa thức đã biết để giải quyết mô hình IP của vấn đề của bạn (trừ khi P = NP).

Vì vậy, như bạn đã đề xuất, vấn đề gán là trong P nhưng mô hình IP của bạn là NP-hard.


3
IP trong câu trả lời của Raphael có thể được giải trong thời gian đa thức. Nói cách khác, nói chung, chúng ta không biết về một thuật toán nhanh để giải IP, nhưng có những trường hợp đặc biệt về các vấn đề IP mà chúng ta có thuật toán nhanh.
Juho

0

Không, có một loại chương trình số nguyên đặc biệt, nếu ma trận ràng buộc là TUM (ma trận hoàn toàn không biến dạng), thì nó có thể được đưa vào chương trình tuyến tính, có thể được giải trong thời gian đa thức.


-4

Vấn đề chuyển nhượng không phải là ILP, mà là vấn đề LP và do đó không phải là NP-hard.


4
Tôi không chắc tại sao bạn nghĩ rằng vấn đề chuyển nhượng không phải là ILP. Vì vậy, trong trường hợp này, giải pháp tối ưu cho chương trình tuyến tính cũng là giải pháp tối ưu cho chương trình tuyến tính số nguyên ... nhưng điều đó không có nghĩa đó không phải là một thể hiện của ILP.
DW

Ngoài ra, các trường hợp riêng lẻ không bao giờ là NP-hard. Bạn muốn nói "đây thực sự là một ví dụ dễ dàng", nhưng đó là một tuyên bố phức tạp hơn nhiều (định nghĩa "dễ dàng").
Raphael
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.