이 문제는 NP-hard 입니다. 이를 보여주기 위해 먼저이 (최적화) 문제를 결정 문제로 재구성합니다. 그런 다음 해당 문제를 동등한 문제로 재구성하여 색소 문제를 줄이는 것이 매우 간단합니다 . 이는 NP-hard입니다 .k ≥ 3kk≥3
문제의 짧은 공식은 다음과 같습니다.
명과 그들의 '선물'관계를 인코딩 하는 그래프 가 주어지면 , 모든 선물을 놀라움을 망치지 않고 구입할 수 있도록 필요한 최소 여행 횟수를 찾으십시오.GnG
그러나 이것은 최적화 문제입니다. NP 클래스는 일반적으로 결정 문제 (모든 인스턴스에 대한 답변이 YES 또는 NO)에 대해 정의됩니다. 이에 대한 결정 변형은 다음과 같습니다.
명과 '선물주는'관계와 정수 를 인코딩 하는 그래프 가 주어지면 기껏 해야 놀랍게도 모든 선물을 사기에 충분하지 않은 여행이 있습니까?G t t엔지티티
I는 찾는 문제 정의 적절한 지향 -multicoloring티 일부 그래프 인정에 같이 다색 함수 이며 적절한 , 어떤 설정된다 '색상'(즉, | C | = t )와 P ( C는 ) 의 멱 집합이다 C (모든 서브 세트들의 세트, 즉 C ). 다색 함수는 적절하고 매 에지 만약 있다면 ( U → V ) ∈ Ec : V → P ( C ) C t c ( u ) ⊈ c ( v )G = ( V, E) c : V→ P( C)씨티| 씨| =t피( C)씨씨( u → v ) ∈ Ec ( u ) ⊈ c ( v )
나는 쇼핑 트립 문제는 동일한 그래프 의 방향성 멀티 컬러링티 의 존재를 결정하는 문제와 같다고 주장한다 .지
증명 : 에 대해 적절한 지시 된 멀티 컬러링 가있는 경우 와 같이 색상의 이름을 바꾸면 트립 시퀀스 를 고려합니다 . 정점 는 경우에만 여행 에서 쇼핑을 합니다. 그런 다음, 각 에지 , 우리는 여행이 존재 함이 등이 와 , 이후 . 따라서 여행c G C = { 1 , …티씨지t T 1 , ... , T의 t의 V T I I ∈ C ( V ) ( U → V ) ∈ E T I U ∈ T I V ∉ T I C ( U ) ⊈ c ( v ) T i씨= { 1 , … , t }티티1, … , T티V티나는나는 ∈ c ( v )( u → v ) ∈ E티나는U ∈ T나는v ∉ T나는c ( u ) ⊈ c ( v )티나는 모든 선물을 사기에 충분합니다.
우리는 여행의 시퀀스가 있다면 다음 다색 함수 구조체 C 색상 세트에 C를 = { 1 , ... , t } 되도록 C ( U ) = { I ∈ N | u ∈ T i } . 그런 다음, 각 에지 ( 유 → V ) ∈ E는 , 여행의 존재 T i가 되도록 유 ∈ T I 와 V를 ∉티1, … , T티씨씨= { 1 , … , t }c ( u ) = { i ∈ N | U ∈ T나는}( u → v ) ∈ E티나는U ∈ T나는 (이후 U는 하기위한 본 구입할 수 V 어떤 여행)를 의미하는 I ∈ C ( U ) 및 I ∉ C ( V ) 이므로 C ( U ) ⊈ C ( V ) . ◻v ∉ T나는유V나는 ∈ c ( u )나는 ∉ c ( v )c ( u ) ⊈ c ( v )□
적절한 방향성 멀티 컬러를 찾는 것은 기본적으로 k- 컬러링 의 특정 사례를 이상하게 재구성 한 것 입니다. 따라서 ( t 에서 다항식 시간 단축을 보여줄 수 있습니다.티케이 -coloring 문제점 : 무향 그래프 주어G'=(V',E'), 제 방향성 그래프에 그래프로 변환G=(V,E가)와 같은 것을V=V'및(U를→v)∈Eif(u,v)∈E′또는(v,u( t⌊ t / 2 ⌋)지'= ( V', E')G=(V,E)V= V'( u → v ) ∈ E(u,v)∈E′ (즉, 방향이없는 가장자리를 두 개의 방향이있는 가장자리로 변경)(v,u)∈E′
가장 큰 집합 고려 에는 존재하지 않도록, 을 , b를 ∈ K , ≠ B ,되도록 ⊂의 B . 크기가 ⌊ t / 2 ⌋ 인 C 의 모든 부분 집합의 집합 . 여기서 t = | C | 그런 세트입니다. 따라서 이러한 부분 집합의 최대 크기는 ( tK⊂P(C)a,b∈Ka≠ba⊂bC⌊t/2⌋t=|C| .(t⌊t/2⌋)
G 에 대한 적절한 멀티 컬러링이 존재하는 경우 ( ttG P(C)(*)의같지 않은 요소이므로 유효한 ( t(t⌊t/2⌋)P(C) -G'의착색.(t⌊t/2⌋)G′
적절한 경우 -coloring가 존재G'다음 세트가 존재K⊂P(C가),| C| =t,| 케이| ≥ ( t(t⌊t/2⌋)G′케이⊂ P( C)| 씨| =t 및 존재하지 않는A는,B∈K,≠B,되도록⊂의B. 따라서,G는적절한 지향 갖는다t의-multicoloring한다.|K|≥(t⌊t/2⌋)a,b∈Ka≠ba⊂bGt
따라서 이것은 ( t 에서 유효한 다항식 시간 단축입니다. -t트립으로현재 쇼핑 문제에 색상 표시, 이는 현재 쇼핑 문제가 NP-hard임을 의미합니다. 현재 쇼핑 문제는 NP가 완료된 것입니다. 최대t 개의여행목록이놀라 울 정도로 모든 선물을 구매할수 있다면 쉽게 확인할 수 있기 때문입니다.(t⌊t/2⌋)tt
(*) : 어떤 다중 착색 경우 극대 '비 서브셋'다중 착색보다 색 세트를 사용하여 C * , 우리가 할 수있는 "바꾸기" C 그것의 상위가되도록 C * . C는 의 요소 중 어느 것도 같은 적절한 남아 C * 는 다른 요소에 인접한 C * 이 문제와 색 세트 중에 원래 각-인접 없었다 C . 그래서, 일반성의 손실없이, 우리는 가정 할 수 있습니다 C * ⊂ C를 .CC∗CC∗CC∗C∗CC∗⊂C
그런 다음 '이름 바꾸기'참고 의 하위 집합 C * 색상 세트의 노드 사이의 가장자리를 파괴하지 않습니다는 C ∖ C *는 , 이후 C * 다른의 하위 집합에 요소가 포함되어 있지 않습니다. 남은 것은 C ∖ C * 와 C * 사이의 가장자리 가 채색을 '파손'시키지 않도록하는 것입니다.C∖C∗C∗C∖C∗C∗C∖C∗C∗
다음 관계 고려 색에 대응하는 색상 - 세트에 C ∪ C * 두 색 세트 와 B가 되는 접속을 정점의 쌍 존재 경우만 을 , b를 되도록 갖는 색상 설정 및 B 색상 - B를 설정 하고 ( a , b ) ∈ E를 설정 합니다. 이 관계는 무 방향 그래프 G = ( C ∪ C ∗ , R ) 로 나타낼 수 있습니다.RC∪C∗ABa,baAbB(a,b)∈EG=(C∪C∗,R).
먼저 G 에서 모서리가없는 쌍을 단일 색상 세트 로 대체하여 를 '감소'할 수 있습니다 . 전혀 동일한 색상으로 인접하지 않은 두 색상 세트를 변경해도 유효하지 않은 가장자리가 생기지 않기 때문에 색상이 올바르게 유지됩니다. 결과적으로 우리는 G 를 완전한 그래프로 줄였습니다.C∖C∗GG
이는 의 색상 세트 수가 적거나 같은 경우 | C ∗ | 필요한 착색이 존재합니다. 그렇지 않으면, C * 가 가장 큰 '비 서브셋'세트이기 때문에 적절한 멀티 컬러링이 전혀 없으므로이 도당을 채색 할 수 없습니다. 따라서 필요한 멀티 컬러링이 반드시 존재해야합니다.G|C∗|C∗
에 전체 그래프로서 노드 K를 N 우리는 적어도이있는 경우에만 경우 색상 수 n은 색상, 우리가이 n 개의 사람들은 서로 선물을 쇼핑을 갈 수 t이 경우에만, 여행 ( t을엔케이엔엔엔티. 이것은 특히n≤12870인 경우16 회의트립만으로 충분하다는 것을 의미합니다. 구입할 선물 수가 적 으면 더 많은 여행이 필요하지 않으므로 모든 솔루션에서 일반적으로 상한입니다.( t⌊ t / 2 ⌋)≥nn≤1287016
아래는 이전의 '답변'으로 최적의 결과를 보장하지는 않지만 다항식 시간으로 계산할 수있는 휴리스틱 알고리즘을 제공합니다.
이 문제를 공식화하는 또 다른 방법은 일부 유향 그래프 G 에 대한 파티션 ( S i , T i ) 의 이분 그래프의 을 찾는 것입니다 함께 n 개의 노드가 현재 파티션 (즉 트립)의 양이되도록 m은 최소이다.C={(S1,T1),…,(Sm,Tm)}(Si,Ti)지엔미디엄
첫째, 일부 답변은 부분적으로 다른 답변에서 나옵니다.
- 우리가 선택 욕심 전략, 과 공통 에지의 양으로 된 그래프와 G가 최대되어 강한 이의 예와 전체 그래프이다 (최적 솔루션으로 이어지지 않는다 6 선택한 최대 이분 그래프에 관계없이이 전략이 실패한 노드).( S나는, T나는)지6
- 욕심 전략은 없는 임의 비순환 그래프의 최적 다음 그래프를 고려해
모두 및 S 난 = { 1 , 3 , 6 } 이분 그래프 제거 4 개 모서리 만 { 3 , 5 , 6 } 이 최적입니다.에스나는= { 3 , 5 , 6 }에스나는={1,3,6}4{3,5,6}
- (최적의) 욕심 많은 알고리즘은 파티션에 의해 '제거 된' 사이클 양 ( 임의의 크기) 에 대해 선택된 파티션의 크기를 선호 할 수 없습니다 . 이를 확인하려면와 그래프 고려 일 개의주기가 노드 n 개의 노드와주기의 모든 노드가있다 2 대한 추가 나가는 가장자리 이 개 추가 노드 , B 아래 (참조 그림 더 나가는 가장자리가 없다, n = 4 인 예제 ). 길이 n의 사이클에 걸쳐 모서리의 양을 최대화하는 것을 선호하는 탐욕스러운 선택n+2n22A,Bn=4n첫 번째 트립에서주기의 모든 정점을 보냅니다. 사이클의 가장자리를 제거하지 않고 단순히 를 무시 하고주기에서 모든 가장자리를 제거하면 A , B 를 향한 모든 가장자리도 제거되므로 차선책 입니다. 따라서주기를 제거하는 것보다 파티션 크기를 선호하는 욕심 많은 선택은 최적이 아닙니다.A,BA,B
이러한 관찰에 기초하여, 나는 다음과 같은 탐욕스러운 선택을 제안한다 : Pick ,이 트립이 G 에서 '제거'되는 사이클의 양 이 최대가되고 관계가있을 때 최대 중첩이있는 파티션을 선택하십시오. 그들 중 G (즉, 사이클이 아닌 가장자리를보십시오).(Si,Ti)GG
이 알고리즘은 비 주기적 그래프에 대한 '기본'욕심 전략과 다르지 않기 때문에 (매 여행마다 최대 양의 모서리를 제거함)이 욕심 알고리즘은 최적이 아닙니다. 그러나,주기를 제거하는 직관은 여전히 타당하고 기본적인 욕심 전략에 비해 개선되었으므로 적절한 휴리스틱이 될 수 있습니다.