ビンがあり、i番目のビンにはi個のボールが含まれています。ボールを持っているn個の色がある私の色のボールを私は。ましょう、M = Σ N iは= 1のI。
スワップとは、あるビンからボールを取り、別のビンからボールと交換することです。各ビンに同じ色のボールのみが含まれるように、最小数のスワップが必要です。
私は簡単な特殊なケースを知っている私 ≤ 2すべてのための私を。(すべてのiについてa i = 2の場合、各ボールを最大で1回交換することでもできます。)
編集:見つけることはNP困難なので、これは間違っています。
どの色がどのビンに行くかがわかれば、問題は簡単です。
複数の有向グラフ、V = { v 1、… 、v n }を考えます。色iがビンb (i )に行くことがわかっている場合、ビンjが色iのk個のボールを含む場合、Aにはk個の平行な弧(j 、b (i ))があります。グラフの各コンポーネントはオイラーです。必要なスワップの最小数は。ここで、c (D )はAをカバーするアーク独立サイクルの数です。オイラー回路を「フォロー」することで交換できます。(最小サイクルのアークを使用したスワップは、それをより小さな最小サイクルと自己ループに変更できます)。グラフ全体が自己ループのセットになったら、必要なすべてのスワップを作成しました。
一般にこの問題はどれほど難しいですか?