위치가 제한된 토폴로지 정렬의 복잡성


15

I는 입력 할 DAG로 제공하고 의 각 꼭지점 정점 별도로 일부 표지 .n x S ( x ) { 1 , , n }GnxS(x){1,,n}

의 위상 정렬 전단 사 함수의 인 F 의 정점에서 G\ {1 \ ldots 단락, n \} 등 모두를위한 X , Y 에서의 경로가있는 경우 , XYG 다음 (X) f는 \ leq f (y) . 모든 x , f (x) \ in S (x)에 대해 토폴로지 종류의 G 가 존재하는지 여부를 결정하고 싶습니다 .f G { 1 , , n } x y x y G f ( x ) f ( y ) G x f ( x ) S ( x )GfG{1,,n}xyxyGf(x)f(y)Gxf(x)S(x)

이 결정 문제의 복잡성은 무엇입니까?

[참고 : 분명히 이것은 NP에 있습니다. 허용 된 정점 / 위치 쌍의 그래프를 보면 순서를 위반하기 때문에 충돌하는 쌍들 사이의 방향이없는 모서리가있는 경우, 각 당 최대 한 쌍, 최대 한 쌍 당 선택하려는 분리 된 부분의 그래프를 얻을 수 있습니다. 위치와 정점 당 최대 한 쌍-3 차원 매칭과 관련이있는 것으로 보이지만이 특정 문제의 추가 구조로 여전히 어려운지 알 수 없습니다.]

답변:


9

이 문제는 NP-hard라고 생각합니다. MinSAT에서 축소를 스케치하려고합니다. MinSAT 문제에서 우리는 CNF를 받고 우리의 목표는 만족 된 조항의 수를 최소화하는 것입니다. 이 문제는 NP-hard입니다 (예 : http://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec 참조)

정점을 두 그룹으로 나눕니다. 일부는 리터럴, 다른 것은 절을 나타내므로 n=2v+c 여기서 v 는 CNF (일반적으로 n으로 표시)의 변수 수 n이고 c 는 절 수입니다. 각 리터럴-정점에서 절이 발생하는 절-정점으로 가장자리를 지정하십시오. x_i\ {i, i + v + k \} (여기서 k 는 임의의 매개 변수) 로 나타내는 리터럴 정점에 대해 S 를 정의 하므로 f (x_i) = if (\ bar x_i) = i + v + k 또는 f (\ bar x_i) = if (x_i) = i + v + k 입니다. 각 절-버전에 대해 S = \ {v + 1, \ ldots, v + k, 2v + k + 1, \ ldots, n \}xi{i,i+v+k}kf(xi)=if(x¯i)=i+v+kf(x¯i)=if(xi)=i+v+kS={v+1,,v+k,2v+k+1,,n}따라서 절의 정점 k 는``작습니다 ''.

이제 CNF에는 위의 인스턴스에서 문제를 해결할 수있는 경우에만 k 개 이상의 k절이 거짓 인 할당이 있습니다. MinSAT 문제는 CNF 공식 \ varphi에 kφ 개 이상의 절을 거짓으로 하는 대입이 있는지 여부를 정확하게 테스트하는 것이므로 문제가 NP-hard임을 나타냅니다.k

이 축소를 이해하는 데 도움이되는 직관은 다음과 같습니다. 작은 레이블 ( )은 진리 값 False에 해당하고 큰 레이블 ( )에 해당합니다. 진실로. 리터럴 버텍스의 제약 조건으로 인해 각 가 True 또는 False이고 의 반대 값이 일치 합니다. 가장자리는 리터럴이 True 인 경우 리터럴이 포함 된 모든 절-정점에도 True가 할당되도록합니다. (a 절 모든 리터럴 거짓 할당되는 경우 반대로,이 그래프 구조는 절 정점 중 하나 거짓 또는 참이 할당 될 수있다.) 마지막의 선택 것을 보장 절-정점은 잘못된 할당되고1,2,,v+kv+k+1,,2v+kxixi¯kkck그들 중 True가 할당됩니다. 따라서이 그래프에 유효한 토폴로지 정렬이있는 경우 절 중 개 이상을 false로 만드는 변수에 대입이 있습니다 (False로 지정된 모든 절-구문과 True로 지정된 것). 반대로, 절 중 개 이상을 false로 만드는 변수에 대입 이있는 경우이 그래프에는 유효한 토폴로지 종류가 있습니다 (우리는 문자 그대로 정점에 대한 레이블을 명백한 방식으로 채 웁니다.) 각 절에 대해kφkφφ즉, 해당 절-정점에 True에 해당하는 레이블을 제공합니다. 다른 조항 절은 임의의 진리 값에 해당하는 레이블을 수신 할 수 있습니다).


답변 주셔서 감사합니다! 스케치를 이해하려고합니다. 가 무엇인지 설명해 주시겠습니까 ? k
a3nm

1
@ a3nm : k는 MinSAT 입력에 제공되는 매개 변수입니다.
domotorp

1
@Marzio : SAT는 MinSAT와 동일하지 않습니다. 후자의 문제에서와 같이 모든 절이 거짓이어야합니다. 귀하의 모든 조항 거짓 할당이 없습니다. 물론 이것은 내 감소를 증명하지 않는 중은 정확하다 ...ϕk=|c|ϕ
domotorp

이것은 화려한 감소입니다! @ a3nm, domotorp의 우아한 축소를 더 자세히 설명하기 위해 답변을 편집 할 것을 제안했습니다. 승인되면 아이디어를 더 명확하게 이해하는 데 도움이 될 것입니다.
DW

@domotorp : 당신이 옳습니다. MinSAT가 무엇인지 완전히 놓쳤습니다. 멋진 감소 !!!
Marzio De Biasi

2

를 임의적 (필수적으로 형용 할 필요는 없음) 으로 허용하여 문제를 완화하면 다항식이됩니다. 이 알고리즘은 토폴로지 정렬과 유사하게 진행 됩니다. 이웃에 번호가 매겨진 번호가없는 정점의 U 를 유지하면서 정점에 하나씩 번호를 매 깁니다. 가능할 때마다 정점 x U 를 선택하고 이웃의 수보다 큰 S ( x )가장 작은 요소로 번호를 매 깁니다. 인스턴스 ( G , S ) 가 이전 알고리즘이 실행되는 경우 해결책이 있음을 알기 어렵지 않습니다 ( G ,fUxUS(x)(G,S) 는 모든 정점으로 번호가 매겨집니다.(G,S)


요컨대,이 완화는 욕심 많은 휴리스틱이 작동한다는 것을 의미하며, 이 꼭짓점의 수가 아니라 임의의 값인 경우에도 마찬가지입니다 . 후자의 경우, 주사율과 주사율이 더 이상 동등하지 않은 경우, 욕심 많은 휴리스틱이 작동하기 위해서는 둘 중 하나만 긴장을 풀어야한다는 데 동의하십니까? n
a3nm

2

사소한 관찰은 모든 x에 대해 2 이면 ,이 문제는 2SAT로 감소함으로써 다항식 시간으로 해결할 수 있습니다.|S(x)|2x

방법은 다음과 같습니다. i S ( x )가 되도록 각 꼭짓점 x 와 각 i 에 대해 변수 를 소개합니다 . 각각의 쌍의 경우 , X , Y 의 경로가있는 경우 정점의 XY가 우리가 어떤 제약을 얻을 : 만약 I S ( X ) , J S ( Y ) , 및 > J , 우리는 제한을받을 ¬ v x , 나는vx,ixiiS(x)x,yxyiS(x)jS(y)i>j . Bijectivity는 우리에게 또 다른 제약 조건을 제공합니다 : 각 쌍 x , x y 를 갖는 정점 y , i S ( x ) i S ( y ) 인 경우 ¬ v x , i¬ v y , i를 추가 합니다. 마지막으로, 각 정점이 라벨을 할당해야한다는 요구 사항은 우리에게 제약의 또 다른 세트를 제공합니다 각각 X , 만약 S (¬vx,i¬vy,jx,yxyiS(x)iS(y)¬vx,i¬vy,ix , 우리는 제약 조건 v x , iv x , j를 얻습니다. (마지막 제약 조건 세트 만각 x 에 대해 | S ( x ) |2 라는 약속을 이용합니다.)S(x)={i,j}vx,ivx,j|S(x)|2x

이 관찰이 특정 상황에서 도움이되지 않는다는 것을 알고 있습니다. 미안합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.