변수 x 1 , … , x n 에 대해 절이있는 3CNF가 제공됩니다 . x i 와 ¯ x i 가 각각 최대 k i 번 공식에 있다고 가정합니다 .ϕ1, … , ϕ케이엑스1, … , x엔엑스나는엑스나는¯¯¯¯¯케이나는
정점이 세 부분으로 구성된 컬러 DAG 를 설계합니다 .지
- "지정"정점 및 ˉ v i ( j ) , 1 ≤ i ≤ n , 1 ≤ j ≤ k i . 컬러 V I ( J ) "칼라"로는 X I ( J를 ) 및 ˉ V I ( J ) 와 ¯ X I ( J ) .V나는( J )V¯나는( J )1 ≤ i ≤ n1 ≤ j ≤ k나는V나는( J )엑스나는( J )V¯나는( J )엑스나는¯¯¯¯¯( J )
- "원인"정점 , 1 ≤ i ' ≤ k , j ' = 1 , 2 , 3 . ¯ x i (또는 x i , resp.)가 j '인 경우 색 x i ( j ) (또는 ¯ x i ( j ) ) 와 함께 색 w i ' ( j ' )승나는'( j')1 ≤ i'≤ kj'= 1 , 2 , 3승나는'( j')엑스나는( J )xi¯¯¯¯¯(j)xi¯¯¯¯¯xij′번째 문자 조항의 , 그리고 그것은이다 J 이 문자를 포함 번째 절.ϕi′j
- "절단"정점 . 위와 다른 고유 한 색상으로 색칠하십시오.s=s0,s1,…,sn,sn+1,…sn+k=t
가장자리는 다음과 같습니다.
- , V I ( J ) (V) 나 ( J + 1 ) , V 나 ( k는 i 개의 ) s의 난 ;si−1vi(1)vi(j)vi(j+1)vi(ki)si
- , ˉ V I ( J ) ˉ V 난 ( J + 1 ) , ˉ V 난 ( k는 i 개의 ) s의 난 ;si−1v¯i(1)v¯i(j)v¯i(j+1)v¯i(ki)si
- 및 , 승 I ' ( J ' ) 의 N + I ' .sn+i′−1wi′(j′)wi′(j′)sn+i′
예를 들어, 3CNF
에서 다음 그래프가 구성됩니다 (가장자리 방향은 왼쪽에서 오른쪽으로).
(x1∨x2∨x3¯¯¯¯¯)∧(x1∨x2¯¯¯¯¯∨x3)
이제 G 에서 서로 다른 정점 색상을 가진 - t 경로 가있는 경우에만 원래 3CNF가 만족 스럽다는 것을 알기가 어렵지 않습니다 .stG
(그런데, 착색 된 DAG에서 다른 버텍스 컬러를 가진 - t 경로의 존재가 NP-hard 인 것은 부산물입니다 . 나는 계산적 관점에서이 문제에 대한 많은 문헌을 찾지 못했습니다. 논평!)stNP-hard
그렇다면 와 OP의 문제 는 어떤 관계 입니까? 직관적으로 우리가 할 일은 행렬 h 를 디자인하여 각 색상이 행 (사람)에 매핑되고 가장자리가 연속 열 (타임 슬롯)에 매핑되도록하는 것입니다. 따라서 기본적으로 매트릭스에서 왼쪽에서 오른쪽으로 진행되는 최대 스케줄링은 s - t 경로에 해당 합니다.Ghst
행렬 는 2 n + 1 + ∑ i 2 k i + k 열을 가지며 , 인덱스는 0 에서 시작 합니다. 이하의 해석 X에서 , Y 는 2 개의 값이 1 ≪ X ≪ Y를 만족시킨다 . X / 1 , Y / X 의 비 는 k 와 n의 거듭 제곱 일 수 있습니다 . 하자 K를 전 = 2 전 + 2 Σ의 난의 J를h2n+1+∑i2ki+k0XY1≪X≪YX/1,Y/Xkn.Ki=2i+2∑ij=1ki
- 각각의 경우 , 0 ≤ i가 ≤ N ,하자 H를 ( s의 난 , K 나 ) = H ( s의 난 , K는 I - 케이 I - 1 ) = H는 ( s의 I , K가 나는 + k는 I + 1 + 1 ) = Y (좌표가 존재하면 아래와 동일).si0≤i≤nh(si,Ki)=h(si,Ki−ki−1)=h(si,Ki+ki+1+1)=Y
- 각 ,하자 H를 ( X I ( J ) , K I - 1 + J ) = X ; 각 ¯ X I ( J ) ,하자 H ( ¯ X I ( J )를 , K I - 1 +가 케이 난 + 1 + J ) = X .xi(j)h(xi(j),Ki−1+j)=Xxi¯¯¯¯¯(j)h(xi¯¯¯¯¯(j),Ki−1+ki+1+j)=X
- 각 , 1 ≤ I ' ≤ K 리터럴 X 절에서 φ 전 ' ,하자 H ( X , K , N +는 I를 ' ) = 1 .ϕi′1≤i′≤kxϕi′h(x,Kn+i′)=1
- 다른 모든 항목은 0입니다.
예를 들어, 위의 예제 그래프에서 해당 행렬은
이제 최대 값이 경우에만 원래 3CNF를 만족시킬 수 있습니다.(2n+1)Y+∑ikiX+k
최대 값을 달성하는 스케줄링을 고려하십시오. 정확히 있기 때문에 에 열 (H) 함유 Y는 , 그들은 모두 포함한다. 열에 대한 K 난 + k는 I + 1 의 두 가지 방법이 있습니다 Y는 로 스케줄링 양수인 그 가정 의 난을 . 열 K i 가 s i에 지정되어야하므로 연속적으로 열 K i + 1 에서 K i + k 를 잃어야합니다(2n+1)hYKi+ki+1YsiKisiKi+1 . 열 할당 스케줄링 경우 같은 일이 일어날 K 내가 + 케이 난 + 1 으로 의 I + 1 .Ki+kiKi+ki+1si+1
따라서 값을 가지려면 변수에서 할당에 해당하는 행렬에서 사용 가능한 나머지 X를 모두 선택해야합니다 . 따라서 할당이 모든 절을 만족하는 경우에만 k 의 나머지 값을 얻을 수 있습니다.∑ikiXXk
결론적으로, 법적 스케줄링의 최대 값을 결정하는 것은 입니다. 어쩌면 이것이 알고리즘을 찾으려는 이전의 모든 시도가 실패한 이유 일 것입니다.NP-hard