가중 가장자리와 그래프 감안할 때, 우리는 어떻게 주어진 정점 세트에 적어도 하나 개의 정점을 포함하는 음의주기를 찾을 수 있습니다 ? 감사.
가중 가장자리와 그래프 감안할 때, 우리는 어떻게 주어진 정점 세트에 적어도 하나 개의 정점을 포함하는 음의주기를 찾을 수 있습니다 ? 감사.
답변:
당신이 간단 할주기를 필요로하지 않는 경우, 그 강력하게 연결된 구성 요소로 (감독) 그래프를 중단하고, 주어진 정점 중 하나를 포함하는 각 구성 요소에 대해 , 구성 요소가 음의주기가 포함되어 있는지 여부를 확인합니다. 성분이없는 경우, V i를 포함하는 음의주기가 없습니다 . 일부 구성 요소가하는 경우에, 당신은 포함하는 (단순하지 않은) 부정적인주기 찾을 수 V를 내가 부정적인주기의 여러 사본을 복용하고,과에주기의 일부 정점에서 해당 경로를 추가하여 V I를 . (원하는주기를 암시 적으로 나타내는 총 시간은 방향 그래프에서 음의주기를 찾는 시간과 같습니다. 예 : O ( , I는 기억 경우).
주기가 단순해야하는 경우 단일 정점 만 제공하더라도 문제가 NP- 완전하게됩니다 . (문제에 대한 해밀턴 경로를 줄일 수 있습니다 : 주어진 그래프 G 에서 주어진 소스 S 에서 주어진 싱크 T 까지의 해밀턴 경로를 찾으 려면 기존 모서리 가중치 -1을 제공 한 다음 두 모서리를 가진 인공 정점 V 1 을 추가하십시오 비용 N / 2 - 0.01 에서 각각 하나 V 1 에 S 로부터 한 T 에 V 1 ).
사이클이 정점을 반복하지만 모서리는 반복하지 않도록 허용하는 경우에도 NP가 완전하다고 생각합니다 (유사한 축소로 각 정점 를 표준 방식 으로 지정된 모서리 ( v , v ' ) 로 분할 ).
입력 내용이 유 방향 그래프라고 가정하겠습니다. 방향이없는 경우에 이것을 수행하는 방법을 모르겠습니다.
그래프의 꼭짓점 세트의 복사본을 개 만듭니다 . 여기서 n 은 그래프의 꼭짓점 수입니다. 에서 각 가장자리를 교체 U 로 V 에서 이동 가장자리 원래 그래프의 복사 난을 의 유 복사 해제 i + 1 의 V 의 모든 선택을 위해, 내가 . 또한 경우, U는 지정된 정점 세트 아니지만 그렇지 속하는 또한 사본 진행 에지 포함 I 의 유 복사 0 의 브이 .
확장 그래프의 사이클은 모두 원래 그래프의 사이클로 다시 투영되지만 확장 그래프의 모든 사이클에는 지정된 정점이 하나 포함되어 있습니다 (그렇지 않으면 확장 레이어를 거꾸로 갈 수 없음). 확장 된 그래프에 음의주기가 포함 된 경우 지정된 정점을 포함하는 음의주기.