최대 유량 최소 컷 정리
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
최대 유량 최소 컷 정리는 네트워크에서 흐를 수 있는 최대 유량과 네트워크 컷의 최소 용량이 같다는 것을 나타내는 정리이다. 이 정리는 네트워크를 유향 그래프로 표현하고, 소스와 싱크를 설정하여 유량과 컷의 개념을 정의한다. 유량은 각 간선을 통과하는 유체의 양을 나타내며, 용량 제약과 흐름 보존의 두 가지 조건을 만족해야 한다. 컷은 네트워크의 정점을 두 개의 집합으로 나누는 것이며, 컷의 용량은 S에서 T로 향하는 간선들의 용량 합으로 정의된다. 최대 유량 최소 컷 정리는 포드-풀커슨 알고리즘을 통해 증명되며, 최대 유량 문제와 최소 컷 문제를 선형 계획법으로 공식화하여 해결할 수 있다. 이 정리는 체더바움의 최대 유량 정리, 일반화된 최대 유량 최소 컷 정리, 멩거의 정리 등 다양한 응용 분야에서 활용되며, 프로젝트 선택 문제 및 이미지 분할 문제와 같은 실생활 문제 해결에도 기여한다. 이 정리는 1956년 포드와 풀커슨에 의해 증명되었으며, 최대 유량 문제를 해결하는 데 중요한 역할을 한다.
더 읽어볼만한 페이지
- 그래프 이론 정리 - 램지의 정리
램지의 정리는 주어진 조건을 만족하는 램지 수가 존재한다는 정리로, 그래프 이론으로 해석되며, 특정 크기의 동색 클릭이 존재함을 보장하고, 램지 이론의 시초로 여겨진다. - 그래프 이론 정리 - 4색 정리
4색 정리는 평면을 나눈 영역을 인접한 영역과 다른 색으로 칠할 때 필요한 최소 색의 수가 4개라는 정리로, 그래프 이론을 통해 추상화되어 평면 그래프의 4-채색 가능성을 나타내며, 컴퓨터를 이용한 증명과 그에 대한 논란, 그리고 재증명이 이루어졌다. - 조합 최적화 - A* 알고리즘
A* 알고리즘은 가중치 그래프에서 시작 노드부터 목표 노드까지 최소 비용 경로를 찾는 정보 탐색 알고리즘으로, 경로 비용과 목표까지 추정 비용의 합을 최소화하여 경로를 탐색하며 내비게이션, 게임 AI 등에 활용된다. - 조합 최적화 - 정수 계획법
정수 계획법은 선형 계획법의 한 분야로, 해가 정수 값을 가져야 하는 제약 조건이 추가된 최적화 문제이며, 다양한 분야에 응용되고 정확한 알고리즘 또는 휴리스틱 방법을 통해 해결할 수 있다.
최대 유량 최소 컷 정리 |
---|
2. 정의 및 설명
최대 유량 최소 컷 정리는 네트워크를 통과하는 최대 유량과 네트워크 컷의 최소 용량이 같다는 것을 보여주는 정리이다.
두 단자 플로우 네트워크 를 가정한다. 이는 유한 방향성 그래프 의 각 에지(변) 에 음이 아닌 실수인 '''용량''' 가 할당되어 있으며, 시작 노드('''입구''') 와 끝 노드('''출구''') 가 지정된 네트워크를 의미한다.
플로우 의 '''유량''' 는, 입구 에서 빠져나가는 플로우의 합으로 정의된다.
:[1]
네트워크 의 '''컷''' 는, 노드(정점) 집합 를 두 개의 집합 와 로 분할하고, 에는 가 포함되고, 에는 가 포함되도록 하는 것을 말한다.[1] 와 외에는 어느 쪽 집합에 속할 수 있으므로, 가능한 컷의 종류는
z_{v} = \begin{cases} 1, & \text{if } v \in S \\ 0, & \text{그렇지 않음} \end{cases}
최소화 목적 함수는 컷에 포함된 모든 간선의 용량을 더한다.[3]
제약 조건은 변수가 실제로 유효한 컷을 나타내도록 보장한다.[3]
- 비단말 노드 ''u'', ''v''에 대해,
d_{uv} - z_u + z_v \geq 0 (d_{uv} \geq z_u - z_v 와 동일) 제약 조건은 ''u''가 ''S''에 있고 ''v''가 ''T''에 있다면, 간선 (''u'', ''v'')가 컷에 포함됨을 보장한다 (d_{uv} \geq 1 ). d_{sv} + z_v \geq 1 (d_{sv} \geq 1 - z_v 와 동일) 제약 조건은 ''v''가 ''T''에 있다면, 간선 ''(s,v)''가 컷에 포함됨을 보장한다 (''s''는 정의상 ''S''에 있기 때문이다).d_{ut} - z_u \geq 0 (d_{ut} \geq z_u 와 동일) 제약 조건은 ''u''가 ''S''에 있다면, 간선 ''(u,t)''가 컷에 포함됨을 보장한다 (''t''는 정의상 ''T''에 있기 때문이다).
최소화 문제이므로, 컷에 간선이 없다는 것을 보장할 필요는 없으며, 컷에 있어야 하는 각 간선이 목적 함수에 합산되도록 보장하기만 하면 된다.
변수 | |
---|---|
목적 함수 | |
제약 조건 | 다음 조건을 만족해야 함: |
부호 제약 조건 |
5. 증명
포드-풀커슨 알고리즘을 사용하여 최대 유량을 계산하고, 잔여 네트워크를 통해 최소 컷을 구함으로써 최대 유량 최소 컷 정리를 증명할 수 있다.[10][11]
포드-풀커슨 알고리즘에 의해
#
#
'''주장.'''
여기서 ''s-t 컷''의 '''용량'''은 다음과 같이 정의된다.
:
모든 정점의 하위 집합
- 컷에서 모든 ''출발 엣지''는 '''완전히 포화'''되어야 한다.
- 컷으로의 모든 ''도착 엣지''는 '''영 흐름'''을 가져야 한다.
위 주장을 증명하기 위해 두 가지 경우를 고려한다.
G 에서,(x,y), x \in A, y \in A^c 와 같은 ''출발 엣지''가 존재하고, 이 엣지가 포화되지 않았다는 의미는f(x, y) < c_{xy} 가 성립한다는 것이다. 이는G_f 에서x 에서y 로 가는 '''정방향 엣지'''가 존재함을 의미하므로,G_f 에서s 에서y 로 가는 경로가 존재하며, 이는 모순이다. 따라서, 모든 출발 엣지(x, y) 는 완전히 포화된다.
G 에서,(y,x), x \in A, y \in A^c 와 같은 ''도착 엣지''가 존재하고, 이 엣지가 0이 아닌 흐름을 전달한다는 의미는f(y, x) > 0 이 성립한다는 것이다. 이는G_f 에서x 에서y 로 가는 '''역방향 엣지'''가 존재함을 의미하므로,G_f 에서s 에서y 로 가는 경로가 존재하며, 이는 다시 모순이다. 따라서, 모든 도착 엣지(y, x) 는 영 흐름을 가져야 한다.
위의 두 진술은 위에서 설명된 방식으로 얻어진 컷의 용량이 네트워크에서 얻어진 흐름과 같다는 것을 증명한다. 또한, 흐름은 포드-풀커슨 알고리즘에 의해 얻어졌으므로, 이는 네트워크의 최대 흐름이기도 하다.
또한, 네트워크의 모든 흐름은 네트워크에서 가능한 모든 컷의 용량보다 항상 작거나 같으므로, 위에서 설명된 컷은 또한 최대 흐름을 얻는 최소 컷이다.
최대 흐름은 포드-풀커슨 알고리즘에 의해 다음과 같이 찾을 수 있다.[11]
# 두 단자 흐름 네트워크
# 최대 유량을 찾기 위해,
# 유량의 여유를 용량으로 하는 순방향 엣지와, 현재 유량을 용량으로 하는 역방향 엣지로 이루어진 네트워크에서, 용량이 0이 되는 엣지를 제거한 것을 '''잔여 네트워크''' (residual network) 또는 보조 네트워크라고 부른다. 이 잔여 네트워크 안에서, 똑같이 경로를 찾는다. 경로의 구성 요소 중, 순방향 엣지에서는 유량을 증가시키고, 역방향 엣지에서는 유량을 감소시킴으로써, 더 유량이 큰 새로운 흐름을 얻을 수 있다. (이러한, 흐름
# 증가 경로가 없어지면, 이 흐름이
최대 흐름의 잔여 네트워크는,
따라서,
다음으로
6. 응용
최대 유량 최소 컷 정리는 다양한 분야에 응용될 수 있다.
- 체더바움의 최대 유량 정리 (Cederbaum's maximum flow theorem)
최대 유량 문제는 비선형 저항 소자로 구성된 네트워크에서 흐르는 전류를 최대화하는 문제로 나타낼 수 있다.[4] 입력 전압이 무한대로 갈 때, 전기 네트워크 입력 단자 사이의 전류 극한은 최소 가중치 컷 집합의 가중치와 같다.
:
- 일반화된 최대 유량 최소 컷 정리 (Generalized max-flow min-cut theorem)
각 정점에 용량이 있다고 가정하고, 유량
:
즉, 정점을 통과하는 유량의 양은 해당 정점의 용량을 초과할 수 없다. ''s-t 컷''은 ''s''에서 ''t''로 가는 모든 경로에 대해 해당 경로가 컷의 구성원을 포함하는 정점과 엣지의 집합으로 정의한다. 이 경우, ''컷의 용량''은 컷 내 각 엣지와 정점의 용량 합이다.
일반화된 최대 유량 최소 컷 정리는 s-t 유량의 최댓값이 이 새로운 의미에서 s-t 컷의 최소 용량과 같다고 말한다.
- 멩거의 정리 (Menger's theorem)
멩거의 정리는 무방향 그래프에서 엣지 분리(edge-disjoint) s-t 경로의 최대 개수가 s-t 컷-셋의 최소 엣지 개수와 같다고 명시한다.
- 프로젝트 선택 문제 (Project selection problem)
프로젝트 선택 문제는 자원 할당 및 최적화 문제에 적용될 수 있다. 여러 프로젝트와 기계가 있을 때, 각 프로젝트는 수익을 발생시키고 각 기계는 구매 비용이 발생한다. 목표는 총 이익(선택된 프로젝트의 수익 - 구매된 기계의 비용)을 최대화하는 것이다.
이 문제는 소스가 용량으로 프로젝트에 연결되고 싱크가 용량으로 기계에 연결되는 네트워크를 구성하여 최소 컷 문제로 공식화할 수 있다. 최대 유량 최소 컷 정리에 의해 이 문제는 최대 유량 문제로 해결할 수 있다.
- 이미지 분할 문제 (Image segmentation problem)

컴퓨터 비전 분야에서 이미지 분할 문제는 각 픽셀에 전경(Foreground) 또는 배경(Background) 값을 할당하고, 인접 픽셀 간의 차이에 따른 벌점을 최소화하는 문제로 볼 수 있다.
이 문제는 소스(주황색 노드)가 용량 f|fi영어로 모든 픽셀에 연결되고, 싱크(보라색 노드)가 용량 b|bi영어로 모든 픽셀에 연결되는 네트워크를 구성하여 최소 컷 문제로 만들 수 있다.
6. 1. 체더바움의 최대 유량 정리 (Cederbaum's maximum flow theorem)
최대 유량 문제는 비선형 저항 소자로 구성된 네트워크를 통해 흐르는 전류의 최대화로 공식화될 수 있다.[4] 이 공식에서, 입력 전압이:
6. 2. 일반화된 최대 유량 최소 컷 정리 (Generalized max-flow min-cut theorem)
엣지 용량 외에도, 각 정점에 용량이 있다고 가정해 보자. 즉, mapping영어:
다시 말해, 정점을 통과하는 ''유량''의 양은 해당 정점의 용량을 초과할 수 없다. ''s-t 컷''을 ''s''에서 ''t''로 가는 모든 경로에 대해 해당 경로가 컷의 구성원을 포함하는 정점과 엣지의 집합으로 정의한다. 이 경우, ''컷의 용량''은 컷 내 각 엣지와 정점의 용량 합이다.
이 새로운 정의에서, '''일반화된 최대 유량 최소 컷 정리'''는 s-t 유량의 최댓값이 이 새로운 의미에서 s-t 컷의 최소 용량과 같다고 말한다.
6. 3. 멩거의 정리 (Menger's theorem)
무방향 엣지-분리 경로 문제에서, 무방향 그래프 G (V, E)}}와 두 개의 정점 s와 t가 주어지며, G에서 엣지-분리 s-t 경로의 최대 개수를 찾아야 한다.'''멩거의 정리'''는 무방향 그래프에서 엣지-분리 s-t 경로의 최대 개수가 s-t 컷-셋의 최소 엣지 개수와 같다고 명시한다.
6. 4. 프로젝트 선택 문제 (Project selection problem)
프로젝트 선택 문제는 자원 할당 및 최적화 문제에 적용될 수 있다. 이 문제는 개의 프로젝트와 개의 기계가 있을 때, 각 프로젝트 는 수익 를 발생시키고 각 기계 는 구매 비용 가 발생한다. 여기서 주어진 제약 조건은 각 프로젝트는 해당 프로젝트를 선택하기 위해 필요한 기계 집합을 지정한다는 것이다. 목표는 프로젝트의 하위 집합을 선택하고 기계의 하위 집합을 구매하여 총 이익(선택된 프로젝트의 수익 - 구매된 기계의 비용)을 최대화하는 것이다.
이 문제를 해결하기 위해 를 선택하지 않은 프로젝트 집합, 를 구매한 기계 집합으로 설정하면, 문제는 다음과 같이 공식화할 수 있다.
:
첫 번째 항은 와 의 선택에 의존하지 않으므로, 이 최대화 문제는 다음의 최소화 문제로 다시 공식화할 수 있다.
:
위의 최소화 문제는 소스가 용량 로 프로젝트에 연결되고 싱크가 용량 로 기계에 연결되는 네트워크를 구성하여 최소 컷 문제로 공식화할 수 있다. 프로젝트 가 기계 를 필요로 하는 경우 무한대 용량의 에지 가 추가된다. s-t 컷 세트는 및 에 있는 프로젝트와 기계를 각각 나타낸다. 최대 유량 최소 컷 정리에 의해 이 문제는 최대 유량 문제로 해결할 수 있다.
오른쪽 그림은 다음 프로젝트 선택 문제의 네트워크 공식을 보여준다.
width="20px" | | 프로젝트 | 기계 | |
---|---|---|---|
1 | 100USD | 200USD | 프로젝트 1은 기계 1과 2를 필요로 합니다. |
2 | 200USD | 100USD | 프로젝트 2는 기계 2를 필요로 합니다. |
3 | 150USD | 50USD | 프로젝트 3은 기계 3을 필요로 합니다. |
s-t 컷의 최소 용량은 250USD이고 각 프로젝트의 수익 합계는 450USD이므로, 프로젝트 와 를 선택하여 최대 이익 ''g''는 450USD - 250USD = 200USD이다.
여기서 아이디어는 각 프로젝트의 이익을 해당 기계의 '파이프'를 통해 '흐르게'하는 것이다. 기계의 파이프를 채울 수 없는 경우, 기계의 수익이 비용보다 적고, 최소 컷 알고리즘은 기계의 비용 에지 대신 프로젝트의 이익 에지를 자르는 것이 더 저렴하다는 것을 발견할 것이다.
6. 5. 이미지 분할 문제 (Image segmentation problem)
컴퓨터 비전 분야에서 이미지 분할 문제는 각 픽셀에 전경(Foreground) 또는 배경(Background) 값을 할당하고, 인접 픽셀 간의 차이에 따른 벌점을 최소화하는 문제로 볼 수 있다.
''n''개의 픽셀이 있는 이미지 분할 문제에서 각 픽셀 ''i''는 전경 값 f|fi영어 또는 배경 값 b|bi영어를 가질 수 있다. 픽셀 ''i'', ''j''가 인접하고 서로 다른 값을 가지면 벌점 p|pij영어가 부여된다. 이 문제는 픽셀에 전경 또는 배경을 할당하여 값의 합에서 벌점을 뺀 값을 최대화하는 방식으로 해결할 수 있다.
전경에 할당된 픽셀 집합을 ''P'', 배경에 할당된 픽셀 집합을 ''Q''라고 할 때, 문제는 다음과 같이 표현할 수 있다.
:
이 최대화 문제는 최소화 문제로 바꿔 표현할 수 있다.
:
위의 최소화 문제는 소스(주황색 노드)가 용량 f|fi영어로 모든 픽셀에 연결되고, 싱크(보라색 노드)가 용량 b|bi영어로 모든 픽셀에 연결되는 네트워크를 구성하여 최소 컷 문제로 만들 수 있다. 두 인접 픽셀 사이에는 p|pij영어 용량의 두 간선(''i'', ''j'') 및 (''j'', ''i'')이 추가된다. 이때 s-t 컷 집합은 ''P''에서 전경에 할당된 픽셀과 ''Q''에서 배경에 할당된 픽셀을 나타낸다.
7. 역사
1955년 T. E. 해리스(T. E. Harris)가 퇴역한 F. S. 로스 장군과 함께 철도 교통 흐름의 단순화된 모델을 공식화하면서 최대 유량 문제를 제안하였다.[5][6]
1956년 포드와 풀커슨이 최대 유량 최소 컷 정리를 증명하였다.[6] 같은 해, P. 엘리아스, A. 파인스타인, 클로드 섀넌도 독립적으로 이 정리를 증명하였다.[7][8][9] 최대 유량을 구하는 문제는 선형 계획법의 특수한 형식이며, 최대 유량 최소 컷 정리는 선형 계획법의 쌍대성 정리의 특수한 경우로 볼 수 있다.
참조
[1]
간행물
On the max-flow min-cut theorem of networks
http://www.dtic.mil/[...]
1964-09-09
[2]
웹사이트
Lecture 15 from CS261: Optimization
http://theory.stanfo[...]
[3]
웹사이트
LP min-cut max-flow presentation
http://u.cs.biu.ac.i[...]
[4]
간행물
On the optimal operation of communication nets
1962-08
[5]
서적
Flows in Networks
"[[Princeton University Press]]"
1962
[6]
논문
Maximal flow through a network
1956
[7]
논문
A note on the maximum flow through a network
1956
[8]
서적
On the Max-Flow MinCut Theorem of Networks
Princeton, New Jersey
1956
[9]
논문
A simple algorithm for finding the maximum network flows and an application to the Hitchcock problem
1957
[10]
문서
2002
[11]
문서
[12]
저널
http://www.dtic.mil/[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com