Kekerasan dan arah pengurangan

9

Katakanlah kita tahu bahwa masalah A itu sulit, maka kita mengurangi A menjadi masalah yang tidak diketahui B untuk membuktikan B juga sulit.

Sebagai contoh: kita tahu pewarnaan 3 itu sulit. Lalu kami mengurangi 3-pewarnaan menjadi 4-pewarnaan. Dengan menggabungkan salah satu warna dalam 3-pewarnaan Anda memiliki 4-pewarnaan, ergo 4-pewarnaan itu sulit.

Begitulah caranya. Tapi mengapa ini bukti bahwa pewarnaan 4 itu sulit? Apakah Anda dapat menggunakan solusi untuk masalah 4-warna untuk menyelesaikan masalah 3-warna? Jika ya, bagaimana caranya? Jika tidak, mengapa itu bukti yang sah?

Bonus q: Haruskah pengurangan polinom dapat berjalan dalam dua arah?

Sunting: jika Anda dapat menjelaskan mengapa demikian dengan contoh, Anda akan melakukan bantuan internet. Saya tidak dapat menemukan ini dijelaskan secara konkret di mana pun.

Kucing Unfun
sumber
Jika Anda berurusan dengan dua masalah NP-lengkap, maka ya, harus ada pengurangan polinomial dalam dua cara. Dalam banyak kasus, pengurangan dari A ke B dan dari B ke A mungkin terlihat sangat berbeda satu sama lain.
Joe
Jika masalahnya bukan keduanya di kelas kompleksitas yang sama, maka mungkin tidak ada pengurangan kedua cara.
Joe

Jawaban:

7

Penurunan dari masalah ke masalah lain adalah transformasi dari setiap contoh sebuah dari menjadi contoh dari , sehinggaB f A f ( a ) BABfaAf(a)B

xA    f(x)B(E)

Jika adalah transformasi yang menjaga kompleksitas yang Anda minati (mis. adalah transformasi polinomial jika Anda mempertimbangkan -kekerasan) maka keberadaan algoritma penyelesaian menyiratkan adanya penyelesaian algoritma : cukup menjalankan , lalu .f N P A B B A f A BffNPABBAfAB

Oleh karena itu keberadaan pengurangan tersebut dari ke berarti bahwa tidak lebih mudah dari . Tidak perlu memiliki pengurangan dengan cara lain.B B AABBA

Misalnya, untuk pewarnaan grafik. Anda dapat mengurangi 3-pewarnaan menjadi 4-pewarnaan tetapi tidak dengan segera. Jika Anda mengambil grafik dan Anda memilih maka Anda akan mendapatkan tetapi Anda tidak memiliki tentu saja. Kesimpulannya adalah bahwa kesetaraan tidak dihormati, sehingga adalah bukan pengurangan.f ( G ) = G x 3 C O Lf ( x ) 4 C O L f ( x ) 4 C O Lx 3 C O L ( E ) fGf(G)=Gx3COL f(x)4COLf(x)4COL x3COL(E)f

Anda dapat membuat pengurangan yang benar dari ke tetapi sedikit lebih rumit: untuk grafik apa saja , misalkan berupa grafik diperluas dengan simpul lain yaitu dihubungkan dengan tepi ke setiap simpul lainnya.3 C O L 4 C O L G f ( G ) G uf3COL4COLGf(G)Gu

  • Transformasi adalah pelestarian kompleksitas (jumlahnya banyak, di sini);
  • jika dalam maka dalam : cukup gunakan warna keempat untuk ;G3COLf(G)4COLu
  • Jika dalam maka Anda dapat membuktikan bahwa semua node kecuali memiliki warna yang bukan , maka berada dalam .f(G)4COLuuG3COL

Itu membuktikan bahwa adalah pengurangan dan bahwa lebih sulit daripada . Anda dapat membuktikan dengan cara yang sama bahwa lebih sulit daripada untuk apa pun , bukti yang menarik adalah kenyataan bahwa lebih sulit daripada .4 C O L 3 C O L n C O L m C O L n m 3 C O L n C O Lf4COL3COLnCOLmCOLnm3COLnCOL

jmad
sumber
Mengapa pengurangan seperti itu berarti bahwa B tidak lebih mudah daripada A? UV untuk usaha, tetapi terlalu abstrak untuk otak lemah saya.
The Unfun Cat
Apakah jawabannya akan sama untuk B seperti untuk A setelah Anda mengurangi A ke B? Saya rasa saya mengerti: jika instance asli memiliki tiga warna, maka instance yang diubah akan memiliki empat warna, jadi jika jawabannya adalah "ya, ia memiliki empat warna", jawabannya juga "ya, ia memiliki tiga warna "? Tapi bukankah masih mungkin bahwa contoh B yang berubah memiliki empat warna tanpa A yang memiliki tiga warna? Saya membayangkan lebih mudah untuk mewarnai grafik dengan empat warna ...
The Unfun Cat
@TheUnfunCat (diperbarui dengan contoh 3 dan 4-warna)
jmad