Partisi tepi menjadi segitiga pelangi

9

Saya ingin tahu apakah masalah berikut ini NP-hard.

Input: grafik sederhana, dan pewarnaan pada tepian ( tidak memverifikasi properti spesifik apa pun).f : E { 1 , 2 , 3 } fG=(V,E)f:E{1,2,3}f

Pertanyaan: apakah mungkin untuk membagi menjadi segitiga, sehingga setiap segitiga memiliki satu tepi setiap warna?| E | / 3E|E|/3

Saya tahu bahwa tanpa warna masalah "partisi tepi" sebuah grafik ke dalam , adalah NP-hard (lihat The NP-Completeness dari Beberapa Edge-Partition Problems ) tetapi dengan warna yang saya tidak tahu. n 3Knn3

Saya juga akan tertarik pada hasil untuk edge partitioniong menjadi pelangi , dengan sebuah konstanta. Tentu saja, dalam hal ini masalahnya menjadi: cKcc

Input: grafik sederhana, dan pewarnaan dari edge ( tidak memverifikasi properti spesifik apa pun) .f : E { 1 , , c ( c - 1 ) / 2 } fG=(V,E)f:E{1,...,c(c-1)/2}f

Pertanyaan: apakah mungkin untuk partisi menjadi , sehingga setiap klik memiliki satu tepi dari masing-masing warna?E|E|/(c(c-1)/2) KcKc

user32018
sumber

Jawaban:

1

Saya mengikuti tautan dalam pertanyaan, dan pengurangan di sana benar-benar menghasilkan grafik yang ujung-ujungnya memiliki pewarnaan alami sehingga setiap Kn ada dalam grafik adalah "pelangi Kn " (memiliki tepat satu tepi dari setiap warna). Dengan kata lain, kita dapat dengan mudah menyesuaikan pengurangan pada kertas itu sehingga mengurangi masalah Anda alih-alih mengurangi ke partisi menjadi masalah Kn : cukup berikan masing-masing tepi warna sesuai dengan pewarnaan alami ini dan kemudian grafik dapat dipartisi menjadi "rainbow Kn s" jika dan hanya jika itu dapat dipartisi menjadi Kn sama sekali.

Struktur dasar reduksi dalam makalah itu dapat dicapai dengan 3 langkah berikut:

  1. Buat banyak salinan dari grafik tertentu Hn,hal .
  2. Mengidentifikasi potongan tertentu beberapa salinan Hn,hal dengan satu sama lain (simpul yaitu merge / tepi antara beberapa salinan yang berbeda dari Hn,hal ).
  3. Hapus simpul / tepi tertentu dari beberapa salinan.

Grafik Hn,hal memiliki sebagai simpul set panjang- n vektor modulo hal yang komponen menambah 0 mod hal . Tepi menghubungkan setiap dua simpul yang berbeda dalam dua komponen dengan perbedaan +1 dan -1 dalam dua komponen.

Saya mengusulkan pewarnaan berikut untuk grafik ini: memberikan warna ke setiap tepi sesuai dengan arahnya. Jika x dan y adalah simpul yang berdekatan, maka x-y adalah vektor dengan n-2 komponen sama dengan 0 , satu komponen sama dengan 1 dan satu komponen sama dengan -1 . Dengan kata lain, untuk setiap sisi (x,y) ada (n2) opsi untuk komponenx-yyang bukan nol. Jika kita menetapkan warna unik untuk masing-masing opsi ini, maka kita memiliki pewarnaan untuk semua tepi sehingga setiap tepi dalam arah yang sama memiliki warna yang sama. Sangat mudah untuk memverifikasi bahwa tidak ada dua sisi dalamKndiHn,halberada di arah yang sama. Oleh karena itu setiapKndiHn,haladalah pelangiKnbawah pewarnaan ini.

Ketika kita mengikuti reduksi, kita menggunakan pewarnaan ini untuk setiap salinan Hn,hal . Oleh karena itu pada akhir langkah 1 dalam daftar di atas, setiap Kn dalam grafik adalah pelangi Kn .

Pada langkah 2 dari daftar di atas, kami mengidentifikasi beberapa simpul / tepi satu sama lain. Secara khusus, dalam reduksi kami selalu mengidentifikasi Kn dengan Kn . Tetapi dalam situasi ini (di mana semua Kn berasal dari salinan Hn,hal ), setiap Kn dapat berupa terjemahan dari "standar Kn " yang disebut oleh K atau terjemahan dari -K . Oleh karena itu, kami mengidentifikasi dua Kn s paralel atau dua Kns yang "membalik" satu sama lain. Dalam kedua kasus tersebut, tepi yang diidentifikasi melintasi dua Kn adalah paralel dan oleh karena itu warnanya sama. Sebagai contoh, lihat Gambar 2 di kertas; tepi yang diidentifikasi selalu paralel. Jadi, karena kita tidak pernah mencoba mengidentifikasi dua tepi warna yang berbeda, pewarnaan pada akhir langkah 1 dalam daftar di atas dapat secara alami diperluas menjadi pewarnaan pada akhir langkah 2. Mengidentifikasi simpul / tepi tertentu bersama-sama tidak menciptakan setiap Kn baru , jadi masih merupakan kasus di akhir langkah ini bahwa setiap Kn adalah pelangi Kn .

Akhirnya pada langkah 3 kita menghapus beberapa simpul / tepi, yang juga tidak membuat Kn baru . Jadi, kita memiliki properti yang diinginkan: di bawah pewarnaan yang saya berikan, setiap Kn dalam grafik yang dihasilkan oleh reduksi ini adalah pelangi Kn .

Mikhail Rudoy
sumber