NP-Kelengkapan dari Masalah Pewarnaan Grafik

10

Formulasi Alternatif

Saya datang dengan formulasi alternatif untuk masalah di bawah ini. Formulasi alternatif sebenarnya adalah kasus khusus dari masalah di bawah dan menggunakan grafik bipartit untuk menggambarkan masalah. Namun, saya percaya bahwa formulasi alternatif masih NP-keras. Formulasi alternatif menggunakan set terputus dari node masuk dan keluar yang menyederhanakan definisi masalah.

Diberikan keluar dan masuk node (merah dan biru masing-masing dalam gambar), dan satu set tentang ukuran dari bobot tepi antara simpul keluar dan masuk. Tujuan dari masalah ini adalah untuk mewarnai tepi tebal pada gambar sehingga untuk setiap node yang masuk, suatu kondisi berlaku.n w i j n × nnnwijn×n

Grafik bipartit dari masalah

Diberikan set dari simpul output, satu set dari simpul input, bobot antara dan untuk , dan konstanta positif , temukan jumlah minimum warna untuk tepi (tepi tebal pada gambar di atas) sehingga untuk semua ,{ I i{Oi|i=1n}n × n w i j0 O i I j i , j = 1 ... n β e i i j = 1 ... n{Ii|i=1n}n×nwij0OiIji,j=1nβeiij=1n

wjj1+c(i)=c(j),ijwijβ

di mana menunjukkan warna tepi .e i ic(i)eii


Formulasi Lama

Masalah berikut terlihat NP-sulit bagi saya, tetapi saya tidak bisa menunjukkannya. Setiap bukti / komentar untuk menunjukkan kekerasan atau kemudahannya dihargai.

Asumsikan adalah grafik terarah tertimbang lengkap dengan node dan edge. Misalkan menunjukkan bobot edge dan menunjukkan warna edge . Diberikan subset dari tepi dan konstanta positif tujuannya adalah: menemukan jumlah warna minimum sedemikian rupa sehingga untuk setiap :n n ( n - 1 ) w i j0 i j c ( i j ) i j T E β e i jTKn=V,Enn(n1)wij0ijc(ij)ijTEβeijT

c(ij)c(ik)

wij1+c(kl)=c(ij),klijwkjβ.
dan
c(ij)c(ik)forjk

Harap dicatat bahwa dalam masalah di atas, hanya bagian tepi di perlu diwarnai. Itulah masalahnya dapat diselesaikan di .O ( | T | ! )TO(|T|!)

Memperbarui:

Setelah komentar Tsuyoshi Ito saya memperbarui masalahnya. Penyebutnya diubah dari menjadi . Oleh karena itu, penyebut mengandung bobot di luar juga. Itulah sebenarnya mengapa saya menyebutkan grafik lengkap dalam definisi.1+c(kj)=c(ij),ki,ekjTwkj1+c(kl)=c(ij),klijwkjT

Saya juga menambahkan kendala tambahan . Itu berarti, tepi keluar dari suatu simpul harus dari warna yang berbeda (tetapi warna yang masuk bisa sama selama ketidaksamaan berlaku). Puts ini intuitif batas bawah pada jumlah warna, yang merupakan tingkat keluar-maksimum node di .Tc(ij)c(ik)forjkT

Seperti yang Tsuyoshi sebutkan, 's, , dan adalah input untuk masalah dan warna edge adalah output. T βwijTβ

Pembaruan 2:

Masalah tidak memaksa tepi dan memiliki warna yang sama. e j ieijeji

Helium
sumber
@ Raphael: Biasanya, masalah pewarnaan tepi tampaknya menjadi kandidat yang baik untuk pengurangan. Menemukan masalah np-hard yang paling sederhana untuk reduksi adalah bagian tersulit. Langkah selanjutnya adalah menemukan bobot yang tepat untuk pemetaan. Saya kira, jika masalah pewarnaan tepi dikurangi menjadi masalah di atas, bobotnya harus seperti 0/1 atau kita perlu memecahkan sistem ketidaksetaraan untuk menemukan bobotnya.
Helium
Beberapa komentar tentang rumusan masalah: (1) Apa inputnya? Saya kira inputnya adalah w_ij untuk semua sisi, T, dan β, tetapi jika demikian, Anda tidak boleh mendefinisikan w_ij dan c (ij) seolah-olah mereka diberikan dengan cara yang sama. (2) Ketika saya mengerti apa yang Anda tulis, tepi di luar T tidak pernah dirujuk. Jadi lebih mudah untuk mendefinisikan grafik berarah yang terdiri dari tepi-tepi dalam T daripada mempertimbangkan grafik terarah lengkap.
Tsuyoshi Ito
@ TsuyoshiIto: Terima kasih atas komentar Anda, saya memperbarui pertanyaan.
Helium
1
Ngomong-ngomong, masalahnya terlihat cukup berantakan bagiku. Jika Anda menjelaskan bagaimana Anda mencapai masalah ini (dengan kata lain, mengapa Anda tertarik dengan masalah ini), ini dapat membantu orang lain memahami masalahnya.
Tsuyoshi Ito
1
@TsuyoshiIto: 1) Masalahnya adalah kasus khusus penjadwalan di jaringan ad-hoc nirkabel. mengacu pada set transmisi dan bobot mewakili koefisien atenuasi sinyal. Batasan kepalan juga mengacu pada sinyal ke gangguan ditambah rasio kebisingan. 2) "penyebut hanya berisi bobot tepi dalam T" dihapus sekarang. T
Helium

Jawaban:

3

Cukup sederhana untuk menunjukkan bahwa formulasi alternatif adalah NP-hard. Pengurangan ini dari masalah pewarnaan vertex. Mengingat grafik G dengan simpul, kita membuat sebuah instance dari masalah di atas dengan keluaran simpul dan simpul masukan. Bobot ditetapkan sebagai berikut: Untuk semua , misalkan . Untuk , jika ada tepi antara vertex dan vertex , biarkan , jika tidak biarkan . Selain itu, biarkan .n n i w i i = 1 i j i j w i j = w j i = 1 w i j = w j i = 0 β = 1nnniwii=1ijijwij=wji=1wij=wji=0β=1

Ini cukup jelas tetapi sulit untuk menggambarkan mengapa pengurangan itu benar. Biarkan menunjukkan contoh dari pewarnaan grafik dan menunjukkan contoh yang dikurangi dari masalah. Untuk menunjukkan reduksi di atas memberikan solusi yang benar, kita perlu menunjukkan bahwa (1) setiap pewarnaan yang valid untuk juga berlaku untuk . (2) jawaban yang diberikan oleh minimal untuk .R R C R CCRRCRC

Jika dan adalah dua simpul yang berdekatan dari , maka mereka harus memiliki warna yang berbeda di . Itu karena jika dan berbatasan dan mereka memiliki warna yang sama, fraksi akan menghasilkan , di mana memiliki nilai positif. Karena itu, kondisinya tidak tahan. Selain itu, setiap pewarnaan yang valid (tetapi tidak harus minimal) untuk , juga merupakan pewarnaan yang valid untuk . Ini mengikuti fakta bahwa dalam pewarnaan yang valid darij C R i jijCRijwjj1+c(i)=c(j),ijwij11+XXCRC, setiap pasangan node yang berdekatan memiliki warna yang berbeda, sehingga syarat berlaku untuk semua tepi berwarna dalam solusi. Karena setiap pewarnaan adalah pewarnaan yang valid untuk , solusi minimal untuk harus menjadi solusi minimal untuk . Kalau tidak, ini bukan yang minimal karena solusi untuk memberikan solusi dengan jumlah warna yang lebih sedikit.RCRRCC

Helium
sumber
0

EDIT : Konstruksi di bawah ini tidak berfungsi, sesuai komentar Tsuyoshi Ito di bawah, itu tidak menegakkan bahwa . Saya meninggalkannya kalau-kalau itu awal yang berguna. Juga, tidak termasuk busur dengan bobot .c(ij)=c(ji)T0

Sepanjang garis yang disarankan Mohsen, mulailah dengan Pewarnaan Tepi, ubah grafik menjadi digraf pada set simpul yang sama di mana kita miliki dan dalam , beri semua busur (pada titik ini) bobot , lalu add dan ke dengan , set untuk dan .G=(V,E)D=(V,A)uvE(u,v)(v,u)AaAwa=1xyE(x,y)(y,x)Awxy=wyx=0β1T=A

Maka kondisi hanya terpenuhi jika tidak ada dua busur peristiwa pada titik yang sama memiliki warna yang sama, mengabaikan busur yang berasal dari non-tepi dalam grafik asli (karena mereka memiliki bobot ). Pewarnaan ini kemudian dapat dikonversi kembali ke pewarnaan yang tepat untuk grafik asli.0

Secara teknis saya telah mengonversi masalah asli Anda menjadi masalah keputusan ("apakah grafiknya berwarna dengan warna ?"), Tetapi ini perlu dilakukan agar sesuai dengan dan itu secara efektif dapat dipertukarkan hingga polinomial.N PkNP

Jadi saya pikir itu berhasil, atau apakah saya baru saja menunjukkan sesuatu yang lain menjadi ? ;)NP

Luke Mathieson
sumber
Bagaimana Anda menegakkan c (ij) = c (ji)? Ini belum tentu benar dalam masalah yang dimaksud, jika saya memahaminya dengan benar.
Tsuyoshi Ito
Poin yang bagus. Saya akan mengedit posting asli untuk mencatat masalahnya.
Luke Mathieson