この問題はNP困難です。これを示すために、まずこの(最適化)問題を決定問題に再定式化します。次に、その問題を同等の問題に再定式化します。これにより、k が3 以上の場合はNP困難である、色付けの問題から削減を得るのはかなり簡単です。kk≥3
問題の簡単な定式化は次のとおりです。
人と「贈り物」の関係をコード化したグラフGが与えられた場合、驚きを台無しにせずにすべての贈り物を購入できるように必要な旅行の最小量を見つけます。nG
ただし、これは最適化の問題です。クラスNPは通常、決定問題(すべてのインスタンスに対する答えがYESまたはNOのいずれか)に対して定義されます。これの決定バリアントは次のとおりです。
人と、「贈り物を与える」関係と整数tをエンコードするグラフGを考えると、驚きを台無しにせずにすべての贈り物を購入するには、最大でt回の旅行で十分でしょうか。nGtt
私は発見の問題定義適切な指向 -multicoloringt一部グラフ見つけるよう多色関数Cを:V → P(C )である適切な、Cは、いくつかのセットであり、T「色」(すなわち、| C | = T)とP(Cは)の電力設定であるC(すなわち、すべての部分集合の集合CG=(V,E) c:V→P(C)Ct|C|=tP(C)CC(u→v)∈Ec(u)⊈c(v)
買い物旅行の問題は、同じグラフ有向マルチカラーのt存在を決定する問題と同等であると私は主張します。G
証明:に適切な指定された -multicoloringがあり、ように色の名前を変更する場合、トリップのシーケンス。ここで、a頂点は、場合に限り、旅行買い物に行きます。次に、すべてのエッジについて、、およびような旅行が存在することがます。したがって、旅行tcGC={1,…,t}tT1,…,TtvTii∈c(v)(u→v)∈ETiu∈Tiv∉Tic(u)⊈c(v)Ti すべてのギフトを購入するには十分です。
一連のトリップがある場合、ようにカラーセットマルチカラー関数を構築します。。その後、すべてのエッジのために、旅が存在、そのようなことと(以降する本を購入することができ、いくつかの旅行で)、その手段そのおよび場合、ます。T1,…,TtcC={1,…,t}c(u)={i∈N|u∈Ti}(u→v)∈ETiu∈Tiv∉Tiuvi∈c(u)i∉c(v)c(u)⊈c(v)□
適切な有向マルチカラーを見つけることは、基本的にカラーの特定のケースの奇妙な再定式化です。したがって、私は -coloring問題から多項式時間の短縮を示すことができます:無向グラフ与えられたら、最初にこのグラフを有向グラフ、つまりおよび ifまたは(つまり、無向エッジを2つの有向エッジに変更します)。tk(t⌊t/2⌋)G′=(V′,E′)G=(V,E)V=V′(u→v)∈E(u,v)∈E′(v,u)∈E′
ような、、が存在しないような最大のセットを考えます。サイズののすべてのサブセットのセット、ここで、こんなセットです。したがって、そのようなサブセットの最大サイズはです。K⊂P(C)a,b∈Ka≠ba⊂bC⌊t/2⌋t=|C|(t⌊t/2⌋)
適切な -multicoloringが存在する場合、\ mathom等しくない要素のみを使用する適切なカラーリングが存在します(*) 、これは有効な -coloringです。tG(t⌊t/2⌋)P(C) (t⌊t/2⌋)G′
に適切な -coloringが存在する場合、ようなセット、が存在しますいかなる存在しない、ように、。したがって、には適切な有向マルチカラーがあります。(t⌊t/2⌋)G′K⊂P(C)|C|=t|K|≥(t⌊t/2⌋)a,b∈Ka≠ba⊂bGt
したがって、これは -coloringからトリップを伴う現在のショッピング問題への有効な多項式時間の短縮です。つまり、現在のショッピング問題はNP困難です。現在のショッピング問題はNP完全であることに注意してください。多くても回の旅行の特定のリストで、驚きを台無しにせずにすべてのプレゼントを購入できるかどうかを簡単に確認できるためです。(t⌊t/2⌋)tt
(*):いくつかのマルチ着色場合、最大「非サブセット」多発色より色セット使用、我々は「名前の変更」することができるとなるようにスーパーセットです。の要素のいずれとして、適切なまま異なる要素に隣接しているそれぞれ、他にに隣接したカラーセットの問題とNoneです元の。したがって、一般性を失うことなく、を仮定できます。CC∗CC∗CC∗C∗CC∗⊂C
次いで、なお、 'リネーミング'の任意のサブセットに色セットのノード間のエッジを台無しにしないは、に別のサブセットである要素が含まれていないため。残っている唯一のことは、と間のエッジがカラーリングを「台無し」にしないようにすることです。C∖C∗C∗C∖C∗C∗C∖C∗C∗
以下の関係を検討しての色セットでの 2つの色のセット:とれる接続した場合と頂点のペアが存在する場合のみ、ようにはカラーセットとカラーセットあり、ます。この関係は、無向グラフで表すことができます。RC∪C∗ABa,baAbB(a,b)∈EG=(C∪C∗,R)
まず、エッジのないペアを1つのカラーセットで置き換えることにより、を「削減」できます。隣接していない2つのカラーセットを同じ色に変更しても、無効なエッジは導入されないため、カラーリングは適切なままです。その結果、を完全なグラフに減らしました。C∖C∗GG
これは、のカラーセットが、必要なカラーリングが存在します。そうでない場合、は最大の「非サブセット」セットであるため、適切なマルチカラーリングはまったく存在しないため、このクリークにカラーを付けることはできません。したがって、必要なマルチカラーリングは必ず存在します。G|C∗|C∗
ノードの完全なグラフは色分け可能であり、少なくとも色がある場合に限り、場合に限り、人が回の旅行でお互いにプレゼントを買い物に行くことができます。。これは特に、場合、回のトリップのみで十分であることを意味します。購入するプレゼントの数が少ない場合、それ以上の旅行は必要ないため、これはすべてのソリューションの一般的な上限です。nKnnnt(t⌊t/2⌋)≥nn≤1287016
以下は、以前の「答え」です。最適な値を取得することを保証しないヒューリスティックアルゴリズムを提供しますが、多項式時間で計算できます。
この問題を定式化する別の方法は、ノードの有向グラフのパーティション上の2部グラフのカバリングをことです、パーティション(つまり、トリップ)の量(ここでは)が最小になるようにします。C={(S1,T1),…,(Sm,Tm)}(Si,Ti)Gnm
最初に、他の回答から部分的に得られたいくつかの観察:
- と共通のエッジの量が最大である2部グラフでを選択する貪欲な戦略では、最適な解が得られません(強力な反例は、ノードを持つ完全なグラフであり、どちらの最大2部グラフを選択しても、この戦略は失敗します。(Si,Ti)G6
- 貪欲な戦略は任意の非循環グラフには最適ではありません。次のグラフを検討してください:
との
両方について、2部グラフはエッジを削除しますが、が最適です。Si={3,5,6}Si={1,3,6}4{3,5,6}
- (最適な)貪欲なアルゴリズムは、パーティションによって「削除された」サイクル数(任意のサイズ)よりも、選択されたパーティションのサイズを優先することはできません。これを見ると、グラフを検討するが一回の周期でノードのノードは、サイクル内のすべてのノードが有するに向かって追加の発信エッジの追加のノードについては、以下のない発信エッジ(参照図形を有していません、例)。長さサイクルでエッジの量を最大化することを好む貪欲な選択は、最初のトリップでサイクル内のすべての頂点を送信します。これはサイクルのエッジを削除せず、単に無視するため、最適ではありません。n+2n22A,Bn=4nA,Bサイクルからすべてのエッジを削除向かうすべてのエッジも削除されます。したがって、サイクルの削除よりもパーティションのサイズを優先する貪欲な選択は最適ではありません。A,B
これらの観察に基づいて、私は、次の欲張り選択肢を提案する:ピック例えば、からこの旅行「削除し」ことサイクルの量こと持つ最大の重複を有する最大と関係の場合では、選択したパーティション間をそれら(すなわち、サイクルではなくエッジを見てください)。(Si,Ti)GG
このアルゴリズムは、非巡回グラフの「基本的な」貪欲戦略(すべてのトリップでエッジの最大量を削除する)と同じなので、この貪欲アルゴリズムは最適ではありません。ただし、サイクルを削除するという直感は依然として理にかなっており、基本的な貪欲な戦略よりも優れているため、適切なヒューリスティックになる可能性があります。