Gunakan minimum swap sehingga setiap nampan berisi bola dengan warna yang sama

13

Ada n sampah, yang bin th mengandung bola. Bola memiliki warna, ada bola warna . Biarkan .iainaiim=i=1nai

Swap adalah mengambil bola dari satu nampan dan menukar dengan bola dari nampan lain. Kami ingin jumlah swap minimum sehingga setiap nampan hanya berisi bola dengan warna yang sama.

Saya tahu kasus khusus yang mudah untuk semuaai2i . (Jika untuk semua i , maka Anda bahkan dapat melakukannya dengan menukar setiap bola paling banyak sekali.)ai=2i

Sunting : Ini salah karena menemukan NP-hard.c(D)

Jika kita tahu warna ke bin mana, masalahnya mudah.

Pertimbangkan multi-digraf , V = { v 1 , ... , v n } . Jika kita tahu warna i pergi ke bin b ( i ) , maka ada busur paralel k ( j , b ( i ) ) di A iff bin j berisi k bola warna iD=(V,A)V={v1,,vn}ib(i)k(j,b(i))Ajki. Setiap komponen grafik adalah Euler. Jumlah minimum swap yang dibutuhkan adalah , di mana c ( D ) adalah jumlah siklus menguraikan busur yang mencakup A . Kita dapat bertukar dengan "mengikuti" sirkuit Euler. (swap menggunakan busur siklus minimal dapat mengubahnya ke siklus minimal yang lebih kecil dan loop diri). Setelah seluruh grafik diatur dari loop otomatis, kami telah melakukan semua swap yang diperlukan.m-c(D)c(D)SEBUAH

Seberapa sulit masalah ini secara umum?

Chao Xu
sumber

Jawaban:

3

Dekomposisi maksimal grafik berarah Euler ke siklus disjoint edge adalah NP-Hard, setidaknya menurut buku ini: Algoritma dan Aplikasi: Esai Didedikasikan untuk Esko Ukkonen pada Acara Ulang Tahunnya yang ke-60 .

btw, berikut ini adalah artikel yang relevan dengan masalah yang Anda coba selesaikan: Algoritma optimal asimtotik untuk algoritma bendera Nasional Belanda .

Untuk , makalah ini memberikan algoritma sederhana.n6

Aryabhata
sumber
Saya salah berasumsi kita dapat menemukan dekomposisi maksimal dengan hanya berjalan di grafik sampai menyentuh siklus, dan mulai lagi. Jadi memang masalah ini NP-hard pada umumnya.
Chao Xu