최소 컷에서 최대 흐름 계산


16

우리는 최대 흐름 resp를 계산한다는 것을 알고 있습니다. 용량이있는 네트워크의 최소 컷은 동일합니다. cf. 최대 유량 분 컷 정리 .

우리는 최대 흐름을 계산하기위한 알고리즘이 (더 효율적이거나 덜 효율적 임) 있으며, 최대 흐름을 고려한 최소 컷을 계산하는 것도 어렵거나 비싸지 않습니다.

그러나 그 반대는 어떻습니까? 최소 컷이 주어지면 최대 흐름을 어떻게 결정할 수 있습니까? 물론 Max-Flow를 처음부터 풀지 않으면서도 그보다 빠릅니다 .

몇 가지 생각 :

  • 최소 컷에서 최대 유량 값을 알고 있습니다. 나는이 정보가 표준 접근법을 보완하는 경로와 푸시 레이블을 어떻게 수정하는 데 도움이되는지는 알지 못하지만 후자를 조정하는 것이 약간 더 타당 해 보입니다.

  • 최소 컷을 사용하여 네트워크를 두 부분으로 나누고 재귀 할 수는 없습니다. 최악의 경우 (한 파티션이 싱글 톤 인 경우)에는 문제가 줄어들지 않기 때문입니다. 또한 더 작은 인스턴스를 최소한으로 줄이지 않습니다.

  • 최대 유량의 값을 아는 것은 보완적인 여유 조건을 통해 Max-Flow LP를 해결하는 속도를 높입니까?


관련 질문 : min-cuts 계산을위한 알고리즘 (max-flow 알고리즘을 사용하지 않는 알고리즘)을 알고 있습니까?
Raphael

3
Karger의 무작위 알고리즘은 매우 인기있는 알고리즘이므로 max-flows에 대한 지식이 필요하지 않습니다.
Juho

2
무작위 알고리즘을 원하지 않는 경우 Stoer-Wagner 알고리즘은 흐름 기술이없는 매우 간단한 알고리즘입니다.
Juho

2
좋은 물건! 여기 또 다른 도전이 있습니다. 최소 컷을 아는 것만 전달 모든 컷이 V 의 하위 집합에 대해 동형이기 때문에 정보 비트 (최대) . 그러나 최대 유량은 | V | (특히 용량이 큰 경우) 나타내는 정보 비트. 따라서 정보 이론 상으로는 컷만보고 흐름을 내뿜는 알고리즘을 기대할 수 없습니다. 또한 그래프를보고 추가 계산을 수행해야합니다. (이것은 많은 장벽 이 아니라는 것을 알고 있습니다.)|V|V|V|
DW

답변:


6

최악의 경우 최소 컷 자체는 최대 흐름에 대한 많은 정보를 전달하지 않습니다. 최소 s , t -cut의 값이 w 인 그래프 를 고려하십시오 . I 연장 경우 G를 새로운 정점 첨가하여 S ' 와 에지 ( ' , 이야 ) 무게 w를 최소한 ' , t 절단의 새로운 그래프 단지 에지 구성 ( S ' , 이야 )=(V,이자형)에스,에스'(에스',에스)에스',(에스',에스)그러나 s 에서 t로 흐름 단위 를 얻는 방법에 대한 정보는 제공하지 않습니다 .에스

효과적으로 최소 컷은 흐름의 가치를 알려주지 만 해당 흐름을 달성하는 방법은 아닙니다. 이것은 최소 컷을 아는 것은 컷 값을 찾기 위해 이진 검색을 수행 할 수 있기 때문에 최대 로그 인자만큼 흐름을 찾는 속도를 높일 수 있음을 의미합니다.


그러나이 로그 팩터는 잠재적 인 흐름 값의 간격 크기에 있으므로 그래프 크기에만 의존하는 최대 흐름 해결에 대한 기존 상한과 비교할 수 없습니다. 즉, 로그 속도 향상도 관심이 될 것입니다. 나는 최대 흐름의 가치를 아는 것이 전혀 도움이되지 않는다고 확신하지 않습니다.
Raphael

-2

maxflow를 계산하기 전에 최소 컷을 계산할 수있는 알고리즘이 있습니다. 이러한 두 가지 알고리즘은 푸시 리 라벨과 밀접한 관련이있는 유사 흐름 알고리즘입니다. 후자가 더 효율적입니다. 이 두 알고리즘 모두 잔차 그래프의 특수 속성을 사용하여 최소 컷에서 최대 흐름을 도출하기 위해 반복적으로 향상됩니다. 자세한 내용은 코드와 논문을 읽는 것이 좋습니다.

푸시 리 라벨 사례를 자세히 설명하기 위해 알고리즘이 싱크로 더 이상 흐름을 푸시 할 수없는 경우 최소 컷을 계산해야합니다. 알고리즘의이 부분을 더 나은 이름이 없기 때문에 1 단계라고합니다. 2 단계는 단일 깊이 우선 검색을 사용하여 잔차 그래프에서 사이클을 반복적으로 취소하고 초과분을 소스로 다시 밀어 냄으로써 최소 컷을 maxflow로 변환하는보다 효율적인 단계입니다. 2 단계는 1 단계보다 점근 적으로 더 효율적인 것으로 입증 될 수 있다고 생각합니다.


4
질문을 다시 읽으십시오. 당신이 대답 한 것이 아닙니다.
Raphael

내가 준 PR의 예는 당신이 min-cut을 계산하는 동안 다른 정보를 계산했다고 가정합니다. 원래의 질문은 후속 maxflow 계산을 쉽게하기 위해 min-cut과 함께 다른 정보를 유지할 수 있는지 여부를 지정하지 않았습니다. 원래 질문에 "최소 컷을 제공 하고 다른 정보는 제공하지 않으면 어떻게 최대 흐름을 결정할 수 있습니까?" 라고 말하는 것이 공정한가요 ?
ldog

2
나는 "주어진 A, 계산 B"라고 말했습니다. 합리적으로 가정하는 것은 A 에게만 주어진다는 것입니다 . 그렇지 않으면 계산 문제에 대해 이야기하는 것은 매우 모호한 일입니다.
Raphael

나는달라고 간청한다. 실용적인 관점 에서, PR 알고리즘에서와 같은 추가 정보 를 계산하지 않으면 최소 컷을 계산하지 않을 것 입니다. 이론적 인 관점에서 말하면 격리 된 것을 고려하는 것이 좋습니다. 상황이 여기에 핵심입니다.
ldog
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.