긍정적 인 토폴로지 순서


45

정점에 실수 가중치가있는 유향 비순환 그래프가 있다고 가정합니다. 토폴로지 순서의 모든 접두사에 대해 가중치의 합이 음이 아닌 DAG의 토폴로지 순서를 찾고 싶습니다. 또는 당신이 순서 이론 용어를 선호한다면, 나는 가중 부분 순서를 가지고 있으며 각 접두어가 음이 아닌 가중치를 갖도록 선형 확장을 원합니다. 이 문제에 대해 알려진 것은 무엇입니까? 다항식 시간에 NP- 완전하거나 해결할 수 있습니까?


4
이 그래프에서 욕심 많은 알고리즘을 시도하십시오 : 1-> 2-> 3, 1-> 4-> 5, 정점 가중치는 1 : +2, 2 : -2, 3 : +3, 4 : -1 , 5 : -2. 탐욕스러운 알고리즘은 v1로 시작한 다음 v4를 선택한 다음 중단됩니다. 올바른 순서는 v1, v2, v3, v4, v5입니다.
Robin Kothari

2
"JeffE와 다른 사람들이보고있는 Frechet 거리 문제 중 일부"-멋진 추상화! 다른 사람의 이익을 위해 여기에 하나의 버전이 있습니다. 가중 가중치 평면 그래프 G와 두 개의 꼭지점이 있고 외부면에 tn이 있다고 가정합니다. 일련의 기본 이동에 의해 하나의 경계 경로를 s에서 t로 다른 경계 경로로 변환하려고합니다. 각 이동은 현재 경로를 일부면 경계와 대칭적인 차이로 바꿉니다. 진화하는 경로의 최대 길이를 최소화하는 mve 시퀀스를 얼마나 빨리 찾을 수 있습니까?
Jeffε

3
Tsuyoshi, 죄송합니다. 댓글을 달면서 줄 바꿈을 추가하려고 시도하여 댓글이 잘릴 수 있습니다. 따라서 아이디어는 손목에 단단히 묶인 끈이 있고 그것을 묶을 수 있는지 알고 싶다는 것입니다. 손목은 다각형 메쉬로 표시되며, 셀은 부분 순서의 요소입니다 (줄에 더 가깝고 순서가 늦을수록 가까이 있음). 셀의 무게는 내부와 외부 경계 사이의 길이 차이입니다.
David Eppstein

1
@David : 설명해 주셔서 감사합니다. 이번에는 현재 질문과 어떻게 관련이 있는지 이해할 수 있으며 흥미 롭습니다!
Tsuyoshi Ito

3
유용하지 않지만 재미있는 관찰 :이 문제는 각 작업의 처리 시간이 음수 일 수있는 마감 기한과 우선 순위 제약 조건이 있는 단일 시스템 시퀀싱 문제와 동일합니다 . 음이 아닌 처리 시간으로이 문제는 P (Lawler and Mooer 1969 jstor.org/stable/2628367 )에 있으며 솔루션이 존재하면 처리 시간과 무관 한 솔루션이 존재합니다. 일부 작업의 처리 시간이 마이너스 인 경우 명확하게 분류됩니다.
Ito Tsuyoshi

답변:


18

이 문제는 Garey & Johnson의 문제 [SS7] 인 최대 누적 비용을 최소화하는 시퀀스와 매우 유사합니다 . 재치 :

INSTANCE : 집합 태스크 부분 순서 T 하는 '비용' C ( t ) Zt T IF ( C ( t ) < 0 , 그리고, 그것은 "이익"로 볼 수있다) 상수 K Z .TTc(t)ZtTc(t)<0KZ

질문 : 우선 순위 제약 조건을 준수하고 모든 작업 t T 에 대해 모든 작업 t '' 에 대한 비용의 합 과 σ ( t ) σ ( T) 에 대한 단일 프로세서 스케줄 가 있습니까? t ) 는 최대 K 입니까?σTtTtσ(t)σ(t)K

나는 때 문제가 NP-전체를 남아 있는지 불확실입니다 0 G & J 언급에 고정하는 문제는 NP-완료 유지하는 경우 C ( t ) { - 1 , 0 , 1 } 모두를위한 t T .Kc(t){1,0,1}tT


7
K=0cKKc1

@ mhum : 관련 결과에 대한 기술 보고서를 작성 중이며 인용하고 싶습니다. 당신은 당신의 진짜 이름을 하시겠습니까? 당신이 원하는 경우 나에게 이메일을 보내거나 그냥있어 ...
domotorp

9

음, 내 대답은 내 질문입니다 .P 에서이 문제를 해결할 수 있다면 또 다른 열린 문제를 해결할 수도 있습니다. 긍정적 토폴로지 순서, 3을 취하십시오.

편집 :이 문제는 또한 NP- 완전한 것으로 판명되었으므로 DAG에 두 개의 레벨 만있는 경우 (예 : 두 개의 모서리가있는 지정 경로가없는 경우) 이미 NP- 완전한 문제입니다.


3

문제를 올바르게 이해하면 가중치 적용 완료 시간 (1 | prec | \ sum wc)을 최소화하기 위해 우선 순위가 제한된 단일 머신 스케줄링 문제를 원하는 문제로 줄일 수 있다고 생각합니다. 문제 1 | prec | \ sum wc에서 우리는 각각 음수가 아닌 가중치와 처리 시간, 작업에 대한 자세를 갖는 n 개의 작업을 가지고 있으며, 작업의 가중 합이 완료되도록 작업의 선형 확장을 원합니다. 최소화. 각 작업의 처리 시간이 1과 같다고 가정하더라도 문제는 NP- 완료입니다.


확실히 흥미로운 가능성입니다. 그러나 최적화 기준 (완료 시간의 합계를 최소화)이 제한 (음이 아닌 접두사)으로 변환되는 방식으로 축소를 어떻게 수행합니까?
David Eppstein

일정 문제의이 NP- 완전성 결과를 모르지만, 가중 작업 완료 시간의 합이 최대 K가되도록 선형 확장이 있는지 여부를 결정하는 결정 문제를 의미한다고 생각합니다. 여기서 최적화 기준과 제약 조건의 구분이 중요합니다. 그러나 현재 문제에서 가중 완료 시간 합계 에 대한 제약 조건을 나타내는 방법을 이해하지 못했습니다 .
Ito Tsuyoshi

처음에 생각했던 것만 큼 축소가 쉽지 않다고 생각합니다. 더 이상 내 대답이 확실하지 않습니다.
monaldo

방금 이전 의견에서 오류를 깨달았습니다. 게시 할 때 비가 중 합계에 대한 제약 조건을 나타내는 것이 쉽지만 (따라서 weighted 강조) 쉽지 않다고 생각 했지만 완전히 잘못되었습니다.
Ito Tsuyoshi

2

무게가 가장 적은 최대 요소 (부분 순서로)를 항상 취하면 어떻게 될까요? 요소를 모두 사용한 후에는 출력과 반대 순서로 반환합니다.


문제는 부분 순서를 바꾸고 모든 가중치를 무시하는 변형에서 변하지 않습니다. 그래서 나는 이것이 어떻게 욕심 많은 알고리즘과 다를 수 있는지 알지 못한다. Robin K는 논평에서 반례를 제시했다.
David Eppstein

그러나이 방법은 그의 예에서 효과적입니다. 먼저 정점 5가 선택되고 정점 4, 3, 2 및 마지막으로 1이됩니다. 따라서 최종 순서는 1, 2, 3, 4, 5입니다. 이 방법이 효과가 있다는 것을 증명하기 어렵다고 생각하지 않습니다. 마지막 위치에 최대 중량 (최소)의 최대 요소 (싱크)가없는 솔루션이 있다고 가정합니다. 그런 다음 해당 요소의 위치를 ​​마지막으로 변경하고 나머지는 그대로 유지하면이 속성이있는 다른 솔루션을 찾을 수 있습니다. 남은 것을 유도하여 진행하면 공식적인 증거를 얻습니다.
Daniel Martin

네 ... 작동하지 않습니다 ... 1-> 2-> 3, 1-> 4, 무게가 각각 4, -7, 6, 3.
Daniel Martin

1

이 문제는 많은 의사 결정 트리를 상기시킵니다. 나는 항상 가장 유망한 길을 택하려고 노력하지만 전체 하위 그래프를 보면서이 유형의 솔루션을 고려할 것입니다.

싱크 노드에서 시작하여 소스를 향해 한 번에 한 단계 씩 작업하십시오. 이 작업을 수행하는 동안 모든 모서리에 가중치를 부여하십시오. 이 가중치는 "지불"해야 할 최소 금액을 나타내거나 가장자리가 가리키는 노드에서 시작하여 하위 그래프를 통과하여 "이득"할 수 있습니다. 우리가 레벨 i + 1에 있고 레벨 i로 올라가고 있다고 가정하자. 이것이 i 레벨의 노드를 가리키는 모서리에 가중치를 지정하는 것입니다.

  1. edge_weight = 포인팅 _ 노드 _ 무게.
  2. 최대 무게로 "포인팅 노드"에서 시작하여 모서리를 찾습니다. 이 가중치를 next_edge_weight로 설정하십시오.
  3. edge_weight + = next_edge_weight

그런 다음 다음과 같이 순서를 작성하십시오.

  1. S를 검색 프론티어, 즉 다음에서 선택할 노드 세트로 둡니다.
  2. (node_weight + maximum_edge_weight)가 최대화되도록 노드를 선택하십시오.
  3. 그래프와 S에서 노드를 제거하십시오. 노드의 "자식"을 S에 추가하십시오.
  4. 그래프가 비어 있지 않으면 1 단계로 이동하십시오.
  5. 정지.

아이디어는 나중에 음의 가중치 하위 그래프의 비용을 견딜 수 있도록 가능한 한 많은 이익을 얻는 하위 그래프를 탐색하는 것입니다.

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