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 i
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 i
Modifica : questo è sbagliato perché trovare è NP-difficile.
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 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?