네트워크 흐름보다 최소 컷이 더 쉬울 수 있습니까?


18

max-flow min-cut 정리 덕분에 우리는 알고리즘을 사용하여 네트워크 그래프에서 최대 흐름을 계산하여 -min-cut 을 계산할 수 있습니다. 따라서, 최소한의 계산의 복잡성 ( S , T ) 는 최대 계산 복잡도보다 더 절단의 ( S , t ) -flow한다.(s,t)(s,t)(s,t)

더 적을 수 있습니까? max-flow 알고리즘보다 빠른 최소 컷 을 계산하는 알고리즘이있을 수 있습니까?(s,t)

나는 줄일 수의 감소를 찾는 시도 )를에 - 최대 흐름 문제 ( S , t ) 라는 우수한 성능을 나타내었다 컷 문제,하지만 난 하나를 찾을 수 없습니다. 필자의 첫 번째 생각은 분할 및 정복 알고리즘을 사용하는 것이 었습니다. 먼저 그래프를 두 부분으로 분리하는 최소 컷을 찾으십시오. 이제 왼쪽 부분의 최대 흐름과 오른쪽 부분의 최대 흐름을 재귀 적으로 찾은 다음 컷을 가로 지르는 모든 모서리와 결합합니다. 이는 실제로 최대 흐름을 생성하는 데 효과적이지만 최악 의 실행 시간은 min-cut 알고리즘의 실행 시간 보다 O ( | V | ) 만큼 클 수 있습니다. 더 나은 감소가 있습니까?(s,t(s,t)O(|V|)

max-flow min-cut 정리는 max-flow 의 을 계산하는 복잡성이 min-cut 의 용량 을 계산하는 복잡성과 동일 하다는 것을 알지만 그것이 내가 요구하는 것은 아닙니다. max-flow를 찾고 min-cut을 찾는 문제 (명시 적으로)에 대해 묻고 있습니다.

이것은 다음을 제외하고 min-cut에서 최대 흐름 계산 과 매우 밀접한 관련이 있습니다 . (1) Karp 축소 (다수의 축소)뿐만 아니라 Cook 축소 (Turing 축소)를 허용합니다. (2) 아마도 주어진 우리가 찾을 수있는 그래프 G ' 의 최소 컷 있도록 G는 ' 쉽게의 최대 유량 계산 할 수 있습니다 G 다른 질문의 범위를 밖으로 무언가이다.GGGG


2
@AshkanKzme, 나는 당신을 따르고 있지 않습니다; 정교하게 할 수 있습니까? 질문의 네 번째 단락에서 언급했듯이 최대 흐름 최소 컷 정리는 최대 흐름 의 이 최소 컷 의 용량 과 같다는 것을 보여줍니다 . 나는 이것이 당신이 생각하고 있다고 생각합니다. 그러나 max-flow 의 을 아는 것은 max-flow 자체를 알려주지 않습니다 (예 : 각 특정 가장자리에 얼마나 많은 양을 전송할 것인지). 이 질문은 min-cut 자체를 계산하는 것과 비교하여 max-flow 자체를 계산하는 것의 복잡성에 대해 묻고 있습니다. 내 질문은 질문의 두 번째 단락에 명시된 것과 같습니다.
DW

2
@AshkanKzme, 아니요, 나는 잘못된 가정을하지 않았습니다. 당신은 Ford-Fulkerson이 최소 컷을 찾는 가장 빠른 알고리즘이라고 가정하고 있습니다. 하한 증거로 표준 신인 실수를 저지르는 것처럼 들립니다. "이 문제를 더 빨리 해결할 수있는 방법을 볼 수 없으므로 불가능합니다." (PS 당신은 저에게 최대 흐름 최소 컷에 대한 표준 교과서 내용을 말하고 있습니다. 도와 주셔서 감사하지만 이미 그것에 익숙합니다 ...)
DW

1
"최소한의 컷만 있으면 최대의 흐름을 얻을 수 있다는 것이 증명 될 수 있다고 생각합니다."그 증거로 답을 작성하는 것이 좋습니다. 내 질문은 묻는다. 나는 그 증거를 본 적이 없지만 당신이 가지고 있다면 그것을 쓸 수 있기를 바랍니다!
DW

1
@DW 지금 질문이 조금 나아 졌다고 생각합니다. 나는 당신이 다항식 튜링 감소를 제공한다는 사실에 푹 빠져 있다고 생각합니다. 을 증명하기 위해 지속적인 튜링 감소가 필요 하지는 않지만 그러한 감소가 불가능하다는 것을 입증하더라도 그것을 반증하지는 않습니까? f(n)=Θ(g(n))
Thomas Bosman

1
@ThomasBosman, 맞습니다. [혼란해서 죄송합니다. 내가 질문에서 줄인 감소는 이며 이는 매우 약한 하한입니다. 나는 f ( n ) = Ω ( g ( n ) ) 임을 증명하는 축소가있을 수 있기를 바라고 있지만, 그러한 것을 구성하는 방법을 모르겠습니다.]f(n)=Ω(g(n)/n)f(n)=Ω(g(n))
DW

답변:


-1

가능한 접근 방식은 다음과 같습니다.

당신은 그때부터 흐름 찾는 절단 S를 알고 있다고 가정 t를 당신이 각 꼭지점에서 정확히 유출 알고 있기 때문에, 제로 비용으로 최소 비용 네트워크 흐름 문제입니다 V S 와의 유입에 t을 . 가정하자 F는 나타내고 S - t의 흐름 노드 아크 매트릭스 (즉, 행 I , 대장균의 J 경우 1을 가지고 의 꼬리 J -1의 선두 제로 그렇지 않은 경우)가하자 B는 같은 것이 F = B 의 경우 FStVStfStAijijbAf=bf공급 / 수요 및 흐름 보존을 만족시킵니다. 그런 다음 가우시안 제거를 통해 가능한 솔루션을 찾을 수 있습니다. 조작.|V|3

우리는 기껏해야한다 잔류 그래프를 구성 할 필요가 흐름에서 상처를 찾으려면 시간과 잠재적으로 횡단 | V | 정점. |E||V|

Af=b|V|3


f|V||E||E|>|V|

|V|bf

Af=b

그게 맞아 솔루션이 있다는 제한 조건 (상단 및 하한)을 추가 할 수 있지만 | V | +2 | E | 최대 흐름을 직접 계산하면 속도가 느려집니다.
Thomas Bosman 2016 년

다른 문제는 용량 제약 조건이 불평등 (평등이 아님)이므로 가우시안 제거를 사용할 수 없다는 것입니다. 선형 프로그래밍을 사용해야합니다. 최대 흐름 직접.
DW
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.