Apakah semua masalah Program Integer Linear NP-Hard?

11

Seperti yang saya mengerti, masalah penugasan dalam P karena algoritma Hungaria dapat menyelesaikannya dalam waktu polinomial - O (n 3 ). Saya juga mengerti bahwa masalah penugasan adalah masalah pemrograman linear integer , tetapi halaman Wikipedia menyatakan bahwa ini adalah NP-Hard. Bagi saya, ini menyiratkan masalah penugasan dalam NP-Hard.

Tapi tentunya masalah penugasan tidak bisa di P dan NP-Hard, kalau tidak P akan sama dengan NP? Apakah halaman Wikipedia hanya berarti bahwa algoritma umum untuk menyelesaikan semua masalah ILP adalah NP-Hard? Beberapa sumber lain menyatakan bahwa ILP adalah NP-Hard jadi ini benar-benar membingungkan pemahaman saya tentang kelas kompleksitas secara umum.

Mat
sumber
4
NP-hard berarti bahwa (kecuali P = NP) setiap algoritma deterministik polytime gagal pada beberapa instance (tak terbatas) . Biasanya ada set contoh mudah juga.
Sasho Nikolov
1
Perhatikan bahwa pernyataan ini bukan "setiap IP adalah NP-hard" tetapi "menyelesaikan setiap IP adalah NP-hard".
Raphael
1
Sebagai komentar, IP untuk dimensi tetap ada di P.
A.Schulz

Jawaban:

20

Jika masalah adalah NP-Hard itu berarti ada kelas contoh masalah yang NP-Hard. Sangat memungkinkan bagi kelas instance spesifik lainnya untuk dipecahkan dalam waktu polinomial.

Pertimbangkan misalnya masalah menemukan 3-warna grafik . Ini adalah masalah NP-Hard yang terkenal. Sekarang bayangkan contohnya dibatasi untuk grafik yang, misalnya, pohon. Jelas Anda dapat dengan mudah menemukan 3 warna pohon dalam waktu polinomial (memang Anda juga dapat menemukan 2 warna).

Pertimbangkan masalah keputusan sesaat. Metode untuk membuktikan kekerasan dari masalah keputusan adalah merancang pengurangan polinomial (Karp) dari masalah lain yang dikenal sebagai NP-Hard. Dalam pengurangan ini Anda menunjukkan bahwa ada fungsi yang memetakan setiap contoh masalah ke sebuah contoh dari masalah sehingga: adalah contoh ya untuk adalah contoh ya untuk . Ini menyiratkan bahwa penyelesaian harus "setidaknya sama sulitnya" dengan penyelesaian itu sendiri.Q f q Q P q QPQfqQPqP f ( q ) qQf(q)Pf(q)q

Perhatikan bagaimana hal itu tidak diperlukan untuk citra untuk menjadi sama dengan himpunan contoh dari . Oleh karena itu sangat mungkin untuk masalah terbatas pada beberapa bagian contoh untuk tidak sulit.P PfPP

Untuk kembali ke pertanyaan awal Anda:

  • Masalah penugasan dapat diselesaikan dalam waktu polinomial, yaitu solusi untuk setiap contoh masalah penugasan dapat dihitung dalam waktu polinomial.
  • ILP adalah NP-Hard: secara umum mungkin sulit untuk menghitung solusi untuk masalah ILP, yaitu ada beberapa contoh ILP yang sulit.
  • Beberapa contoh ILP spesifik dapat diselesaikan dalam waktu polinomial.
Steven
sumber
Bisa tolong jelaskan apakah perlu untuk memetakan setiap contoh dari kita tidak dapat memetakan bagian dari ? yaitu apakah pra-gambar harus seluruhnya ? Q QfQQQfQ
Mat
Hal ini tidak perlu untuk memetakan setiap contoh dari asalkan memetakan (tak terbatas) kelas contoh keras . Misalnya, untuk menunjukkan bahwa adalah NP-Hard, orang dapat memberikan pengurangan dari masalah 3-warna yang terbatas pada grafik planar. Q Q PfQQP
Steven
14

Tidak, kasing khusus bisa lebih mudah.

Pertimbangkan IP ini, misalnya, diberi untuk :ai0i[1..n]

mini=1nxiai

st dan untuk .i=1nxi1
 xiNi[1..n]

Ia menemukan minimum di antara (untuk yang mana, pasti, dalam solusi optimal). Menemukan minium nomor jelas merupakan masalah polinomial.a1,,anxi=1n

Raphael
sumber
0

Anda dapat memodelkan masalah yang dapat diselesaikan secara polinomi sebagai IP. Ini tidak berarti masalahnya adalah NP-hard. Ini berarti bahwa tidak ada algoritma polinomial yang diketahui untuk menyelesaikan model IP masalah Anda (kecuali P = NP).

Jadi seperti yang Anda sarankan, masalah penugasan dalam P tetapi model IP Anda itu NP-hard.

Austen
sumber
3
IP dalam jawaban Raphael dapat diselesaikan dalam waktu polinomial. Dengan kata lain, secara umum kita tidak tahu algoritma cepat untuk menyelesaikan IP, tetapi ada kasus khusus masalah IP yang kita punya algoritma cepat.
Juho
0

Tidak, ada jenis khusus dari program integer, jika matriks kendala adalah TUM (matriks benar-benar unimodular), maka dapat dilonggarkan ke dalam program linier, yang dapat diselesaikan dalam waktu polinomial.

Jianhao Ma
sumber
-4

Masalah penugasan bukan ILP, tetapi masalah LP dan karenanya bukan NP-hard.

Julia
sumber
4
Saya tidak yakin mengapa Anda berpikir bahwa masalah penugasan bukan ILP. Kebetulan bahwa, dalam hal ini, solusi optimal untuk program linier juga merupakan solusi optimal untuk program linier bilangan bulat ... tetapi itu tidak berarti itu bukan turunan ILP.
DW
Juga, contoh individual sendiri tidak pernah NP-keras. Anda ingin mengatakan "ini sebenarnya contoh mudah", tapi itu pernyataan yang jauh lebih rumit (mendefinisikan "mudah").
Raphael