Usa un numero minimo di swap in modo che ogni cestino contenga sfere dello stesso colore


13

Ci sono bidoni, l' esimo bin contiene palle. Le palle hanno colori, ci sono palle di colore . Lascia che .i a i n a i i m = n i = 1 a iniainaiim=i=1nai

Uno scambio è prendere una palla da un cestino e scambiare con una palla da un altro cestino. Vogliamo un numero minimo di swap in modo tale che ogni cestino contenga solo palline dello stesso colore.

Conosco un caso speciale facile per tutti . (Se per tutti , puoi anche farlo scambiando ogni palla al massimo una volta.)i a i = 2 iai2ioun'io=2io

Modifica : questo è sbagliato perché trovare è NP-difficile.c(D)

Se sappiamo quale colore va in quale contenitore, il problema è semplice.

Considera un multi-digrafo , V = \ {v_1, \ ldots, v_n \} . Se sappiamo che il colore i va nel cestino b (i) , allora ci sono k archi paralleli (j, b (i)) in A iff il cestino j contiene k sfere di colore i . Ogni componente del grafico è euleriano. Il numero minimo di swap richiesti è mc (D) , dove c (D) è il numero di cicli disgiunti arco che copre AD=(V,UN)V={v1,...,vn}ioB(io)K(j,b(i))Ajkimc(D)c(D)A. Possiamo scambiare "seguendo" un circuito euleriano. (uno scambio che utilizza un arco di un ciclo minimo può cambiarlo in un ciclo minimo più piccolo e in un loop automatico). Una volta che l'intero grafico è impostato su self loop, abbiamo effettuato tutti gli swap necessari.

Quanto è difficile questo problema in generale?

Risposte:


3

La decomposizione massima di un grafico diretto di Eulerian in cicli sconnessi ai bordi è NP-Hard, almeno secondo questo libro: Algorithms and Applications: Essays Dedicato a Esko Ukkonen in occasione del suo sessantesimo compleanno .

a proposito, ecco un articolo che è rilevante per il problema che sembra stia cercando di risolvere: algoritmo asintoticamente ottimale per l'algoritmo della bandiera nazionale olandese .

Per , l'articolo fornisce un semplice algoritmo.n6


Ho erroneamente supposto che possiamo trovare una decomposizione massima semplicemente camminando sul grafico fino a quando non colpisce un ciclo, e ricominciare. Quindi in effetti questo problema è NP-difficile in generale.
Chao Xu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.