흐름이 지시 된 비밀 그래프에서 노드 요구를 만족시킬 수 있는지 여부를 결정합니다.

cs.stackexchange https://cs.stackexchange.com/questions/125331

  •  29-09-2020
  •  | 
  •  

문제

나는 실패하게 해결할 수없는 다음과 같은 문제가있다.

노드 요구가있는 지시 된 그래프가 있습니다. 수요가있는 순환과는 달리 이러한 노드 요구는 유량으로부터 "빼기"를하지 않습니다. 노드는 단순히 강도의 흐름이 흐르는 강도의 흐름이있을 것입니다. 그래프는 acyclic이지만 트리가 아닙니다. 다중 노드가 낮은 노드에서 더 높은 노드에서 여러 경로가 있습니다.

강도의 흐름이 모든 노드의 요구를 충족시킬 수 있는지 여부입니다. 물론, k 보다 큰 강도의 유동은 수요 k 을 갖는 노드를 통해 흐를 수있다. 또한 입력 그래프에는 용량 한계가 없습니다.

이 문제를 최대 유량 문제로 줄여야합니다. 나는 낮은 경계와 순환으로 순환하기 위해 그것을 줄이려면서 수요를 만족시키고 그것을 측정하는 동안 노드의 흐름을 최소한으로 제한하는 방법에 대한 좋은 방법을 찾을 수 없기 때문에 실패했습니다. 동시에.

도움이 되었습니까?

해결책

새 소스 $ s '$ $ (s's) $ 최대 및 최소 용량 $ R $ .

$ V $ 수요 $ d $ 다음을 수행하십시오.

  • $ v $ $ v_1 $ $ V_2 $ .
  • 모든 이전 에지 $ (u, v) $ $ (u, v_1) $
  • 모든 이전 에지 $ (v, u) $ $ (v_2, u) $ .
  • 최소 용량 $ d $ 을 사용하여 $ (v_1, v_2) $ 을 추가합니다.

문제는 최소 및 최대 가장자리 용량이있는 네트워크에 실현 가능한 흐름이 있는지 여부를 확인하는 것과 같습니다.

이 문제는 잘 알려져 있으며 최대 알고리즘 jeff erickson에 의해)

기본적으로 $ d $ 은 모든 가장자리의 최소 용량의 합계입니다.

  • 새 소스 버텍스 $ s ^ * $ 및 새로운 대상 정점 $ t ^ * $ .
  • 최대 용량 $ + \ infty $ $ (span class="math-container"> $ (s ^ *, s ') $ 을 추가하십시오. 스팬>.
  • 각 에지 $ (U, v) $ 최소 용량 $ C \ NEQ 0 $ < / span> 및 최대 용량 $ c $ , 가장자리 $ (u, t ^ *) $ 용량 $ C $ , $ (sap *, v) $ 용량 $ C $ , $ (u, v) $ 에서 최소 용량을 제거하고 $ (u, v) $ $ cc $ ( $ C $ $ + \ infty $ $ + \ infty $ ).

  • $ S ^ * $ 에서 $ T ^ * $ $ d $ 과 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top