DOI QR코드

DOI QR Code

A Free Agent Algorithm for Min-Cut Problem

최소절단 문제의 자유계약 알고리즘

  • Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 이상운 (강릉원주대학교 과학기술대학 멀티미디어공학과)
  • Received : 2019.05.07
  • Accepted : 2019.08.02
  • Published : 2019.08.31

Abstract

The min-cut problem that decides the maximum flow in a complex network flows from source(s) to sink(t) is known as a hard problem. The augmenting path algorithm divides into single path and decides the bottleneck point(edge), but the min-cut section to be decide additionally. This paper suggests O(n) time complexity heuristic greedy algorithm for the number of vertices n that applies free agent system in a pro-sports field. The free agent method assumes $N_G(S),N_G(T)$vertices among $v{\in}V{\backslash}\{s,t\}$to free agent players, and this players transfer into the team that suggest more annual income. As a result of various networks, this algorithm can be finds all of min-cut sections and min-cut value for whole cases.

공급지(s)에서 수요지(t)로 흐르는 복잡한 망에서 망의 최대 흐름을 결정하는 최소절단 면을 찾는 최소절단 문제는 난제로 알려져 있다. 이에 대해 증대경로 알고리즘은 증대경로를 갖는 단일 경로로 분할하여 병목 지점(간선)을 찾는 방식을 채택하고 있으나 최소절단면을 추가적으로 결정해야만 한다. 본 논문에서는 프로스포츠계에서 적용되고 있는 자유계약제 방식을 적용하여, 정점 수 n에 대해 수행 복잡도가 O(n)인 휴리스틱 탐욕 알고리즘을 제안한다. 자유계약 방식은 $v{\in}V{\backslash}\{s,t\}$정점들 중에서 $N_G(S),N_G(T)$정점들을 자유계약 선수라고 가정하고, 이 선수들의 연봉이 보다 상승하는 팀으로 이적하는 방식을 적용하였다. 제안된 알고리즘을 다양한 망 형태에 적용한 결과, 모든 망에서 최소절단 치 뿐 아니라 망에 존재하는 모든 최소절단 들을 찾을 수 있음을 보였다.

Keywords

Ⅰ. 서론

공급지(원천, source) s에서 수요지(배수, sink) t로 흐름이 형성된 망(network)에서, 최대로 흐를 수 있는 양(max-flow)은 망의 병목(bottleneck) 절단면인 최소 절단(min-cut)이 결정한다. 이를 최대흐름-최소절단 정리(max-flow/min-cut theorem)라 한다.[1]

주어진 망이 상·하수도, 도로 또는 철도망이라 가정하면, 이 망의 최소절단을 구하는 이유는 s에서 t로 최대로 흐를 수 있는 양을 보다 증대시키기 위해 최소절단면의 도관이나 도로를 넓히기 위함이다. 또한, 전쟁 시 적의 보급로에 피해를 최대로 입히기 위해 공습해야 하는 최적의 지점을 결정하는데도 활용된다.[2]

최소절단을 구하기 위해서는, 최소절단 minC(S, T) 면을 기준으로 주어진 망을 정확히 s∈S와 t∈T의 두 집합으로 양분해야 한다.

최소절단을 찾는 방법으로, Ford-Fulkerson[1]과 Edmonds-Karp[3]의 증대경로(augmenting path, AP)법이 널리 알려져 있다. 또한, Lee[4,5]의 망의 최대 용량 간선을 가진 정점 병합(vertices merge, VM)법이 제안되기도 하였다. 그러나 무 방향, 방향, 무 방향과 방향이 혼합된 형태, 단일 원천-단일 배수, 다중 원천-다중 배수 등 다양한 형태의 망에 대해, 또는 용량이 동일한 간선이 존재하는 경우에 망에 존재하는 다수의 최소절단을 찾는데 실패하기도 하였다.

따라서 본 논문에서는 프로스포츠계에서 자유계약 선수가 다른 팀으로 이적하는 방법을 적용하여, 어떠한 형태의 망에 상관없이 망에 존재하는 모든 최소절단을 정점 수 n에 대해 알고리즘 수행 복잡도 O(n)으로 찾을 수 있는 휴리스틱 탐욕 규칙을 제시한다. 2장에서는 최소절단 관련 연구와 문제점을 고찰해 보고, 3장에서는 자유계약 알고리즘을 제안한다. 4장에서는 제안된 자유계약 알고리즘을 다양한 형태의 망 벤치마킹 데이터에 적용하여 알고리즘 적합성을 검증하여 본다.

Ⅱ. 관련 연구와 문제점

그림 1의 N1 망을 대상으로 sINS와 t∈T를 정확히 양분하는 절단면의 용량 합이 최소가 되는 최소절단 개념을 고찰해본다. 이 망은 상수도의 도관 굵기 또는 도로의 통행량이라고 생각할 수 있다. 공급지 s와 수요지 t만을 고려하고 중간 지점의 {1,2,4,5}는 고려하지 않는다면 s에서는 6의 용량을 공급할 수 있지만 t는 5의 용량밖에 수용하지 못해 s에서 t로 최대로 흐를 수 있는 양(max-flow)은 5이다. 추가적으로 중간 지점의 {1,2,4,5}까지 고려하여 이 망에 최대로 흐를 수 있는 양이 5 이하가 되는 절단면이 존재하는지를 결정해야 한다. 즉, 망의 최대로 흐를 수 있는 양은 최소절단면이 결정한다. 이를 최대흐름-최소절단 이론이라 한다.

OTNBBE_2019_v19n4_27_f0001.png 이미지

그림 1. N1

Fig. 1. N1 network

만약, s-1-4-t의 단일 경로만 존재한다고 가정하면  \(s \stackrel{3}{\longrightarrow} 1 \stackrel{3}{\rightarrow} 4 \stackrel{2}{\rightarrow} t\)로 병목 간선은 \(4 \stackrel{2}{\rightarrow} t\)로 최대 흐름 양은 2임을 쉽게 결정할 수 있다. 그러나 복잡하게 얽히고 설킨 망에서의 최소 절단을 구하기는 쉽지 않다.

Ford-Fulkerson[1]의 증대경로 알고리즘(APA)은 간선 용량(capacity, c)을 가진 s-t 망에서 추가로 더 흐를 수 있는 임의의 증대경로를 찾아 식 (1)과 같이 흐름양(flow, f)을 계산하여 c-f=0인 병목지점(간선)을 제거하는 방식으로 가능한 s-t 경로가 존재하지 않을 때까지 수행된다. f를 최대 흐름양이라 할 때 APA의 수행 복잡도는 O(mf)이다.

\(\begin{array}{l} \text { 병목간선 : } c_{f}(p)=\min \left\{c_{f}(u, v) \mid(u, v) \in p\right\} \\ \text { 흐름증대 : } f(u, v) \text { then } f(u, v)=f(u, v)+c_{f}(p) \end{array}\)     (1)

그림 1의 N1 망에 APA를 적용하면 그림 2의 결과를 얻는다. APA는 최소 절단을 구하지 못하고, 단지 병목 간선인 (s,1), (1,4), (4,t), (2,5), (5,t)를 구하였으며, 이들 간선 조합으로 정확히 S와 T를 양분하는 최소절단 ‘5’인 절단면 3개를 결정해야만 한다.

OTNBBE_2019_v19n4_27_f0002.png 이미지

그림 2. N1망에 대한 APA의 병목 간선

Fig. 2. Bottleneck edges of APA for N1 network

F-F[1]의 APA는 cf(u,v) = 0인 병목 간선들만을 제시하는 관계로, 추가적으로 cf(u,v) = 0인 간선들 중에서 (S,T)로 분할된 최소 용량 합을 가진 간선들 조합으로 최소절단을 결정해야 하는 어려움이 있다.

Lee[5]은 망에서의 최소절단에는 최대 용량 간선이 포함되지 않는다는 가정에 근거를 두고, 단일 s와 t의 방향과 무방향 망에 대해 최대 용량 간선의 두 정점을 계속적으로 병합하는 정점 병합 알고리즘(VMA)을 제안하였다.

그림 1의 N1 망에 VMA를 적용하면 그림 3의 결과를 얻는다. VMA는 {4,5}, {{4,5},t}를 병합한 이후 최대 용량=3인 {s,1}, {s,2}, {1,{4,5,t}} 중에서 어떤 것을 먼저 병합하느냐에 따라 최소절단=5인 3개를 구할 수도 있고 2개만을 구할 수도 있다. 따라서 이 알고리즘의 단점은 최대용량 간선이 다수가 존재하는 경우 모든 최소절단을 구하지 못하는 경우가 발생할 수 있다,

OTNBBE_2019_v19n4_27_f0003.png 이미지

그림 3. N망에 대한 VMA의 최소절단

Fig. 3. Min-cut of VMA for N1 network

Lee[5]의 VMA는 병목 간선이 아닌 최소절단을 직접 결정하는 장점은 갖고 있지만, 이 방법 역시 대부분의 망 형태에 대해서는 해를 구할 수 있지만 항상 최적 해를 구하지는 못하는 단점을 갖고 있다.

F-F[1]의 APA와 Lee[5]의 VMA는 공통적으로, 망에서 최소절단이 1개로 유일하게 존재하는 것이 아니라 다수가 존재하는 경우 모든 최소절단을 찾지 못하는 경우도 발생한다.

따라서 3장에서는 최소절단 문제에 대해 가장 쉽고 빠르면서도 망에 존재하는 모든 최소절단들을 항상 찾을 수 있는 알고리즘을 제안한다.

Ⅲ. 자유계약 알고리즘

신인선수는 프로 스포츠 팀별로 뽑고 싶은 신인 선수를 지명하는 드래프트제(draft system) 방식에 따라 선발된 후, 일정 기간 자신이 속한 팀에서 활동한 이후 다른 팀과 자유롭게 계약을 맺어 이적할 수 있는 자유계약(free agent, FA) 선수가 된다. 본 장에서는 스포츠계의 이러한 자유계약제도를 적용하여 최소절단을 결정하는 알고리즘을 제안한다.

그림 4와 같이 s∈S, t∈T를 S와 T 구단에 기존에 소속된 선수들로, Pi·PjPk∈V╲(s,t)정점들을 자유계약 선수들이라고 하자. Pi∈NG(S),Pj∈NG(T)선수는 S,T 구단으로부터 스카우트 제안을 받은 상태이며, Pk∈V╲{NG(S),NG(T)}선수들은 아직까지 스카우트 제안을 받지 않은 상태라고 하자.

OTNBBE_2019_v19n4_27_f0004.png 이미지

그림 4. 자유계약 알고리즘

Fig. 4. Free agent algorithm(FAA)

Pi∈NG(S)·Pi∈NG(T)가 S 또는 T 구단에 입단하는 조건은 식 (2)로 결정한다. 이는 S 또는 T 구단이 Pi 또는 Pi 선수를 영입 시 조직력 보강에 대한 보상차원으로 제시한 연봉 인상액이라 할 수 있다.

\(\begin{array}{c} \sum c_{i}^{S I}-\Sigma c_{i}^{O} \geq 0: p_{i} \in N_{G}(S) \rightarrow S \text { or } \\ \sum c_{j}^{T O}-\sum c_{j}^{I} \geq 0: p_{j} \in N_{G}(T) \rightarrow T \end{array}\)       (2)

여기서, S에서 Pi∈NG(S)로의 유입 간선 용량 합인 \(\sum c_{i}^{S I}\)는 S 구단이 Pi 선수에게 제시한 입단 연봉, Pi의 유출 간선 용량 합인 \(\sum c_{i}^{O}\)는 이전 구단에서의 연봉이라 하자. 또한, Pj∈NG(T)에서 T로의 유출 간선 용량 합인 \(\Sigma c_{j}^{T O}\)는 T 구단이 Pj선수에게 제시한 입단 연봉, Pj의 유입 간선 용량 합인 \(\sum c_{j}^{I}\)는 이전 구단에서의 연봉이라 하자.

자유계약선수는 당연히 연봉이 오르거나 동결된 조건을 제시한 팀으로 이적하지 연봉이 삭감되는 팀으로는 이적하지 않으려 한다. 결국, 식 (2)는 Pi와 Pj 선수가 연봉이 오르거나 동결된 팀으로 이적하는 조건이다.

자유계약선수들 간의 간선 용량을 두 선수 간 손발이 맞는 정도(organizational power, 호흡, 조직력) 또는 응집력(cohesion)이라 할 경우, Pi와 Pj 선수(기량이 우수한 선수)를 기준으로 나머지 기량이 조금 떨어지는 선수인 Pi, Pj와 Pk와의 최대 용량 간선을 갖는 두 선수들이 병합하여 그룹으로 이적한다. 즉, 식 (2)를 충족하는 자유계약 선수가 없는 경우는 호흡이 맞는 선수들끼리 그룹을 형성하여 연봉이 오르는 팀으로 이적하는 방법을 적용한다. 이는 스포츠계에서 발생하고 있는 일명 끼워 팔기(tying product) 용어에 해당되며, 선수의 몸값을 높이는 하나의 방법이라 할 수 있다.

제안된 방법을 자유계약 알고리즘(free agent algorithm, FAA)이라 하며, 다음과 같이 수행된다.

Step 1. sINS,t∈T의 최소절단 초기치 C(S), C(T) 계산.

Step 2. Until pi = {∅} do

if \(\exists \sum c_{i}^{S I}-\sum c_{i}^{O} \geq 0 ; p_{i} \) or \( \exists \sum c_{j}^{T O}-\sum c_{j}^{I} \geq 0 ; p_{j}\) then

\(\sum c_{i}^{S I}-\sum c_{i}^{O} \geq 0: p_{i} \in N_{G}(S) \rightarrow S ; C(S)\)계산.

\(\sum c_{j}^{T O}-\sum c_{j}^{I} \geq 0: p_{j} \in N_{G}(T) \rightarrow T ; C(T)\)계산.

else pi pi 선수들을 기준으로 pi, pi와 pk와 최대 용량 간선 두 선수 병합.

end

end

Step 3. min-cut=∀min{C(S),C(T)}결정.

그림 1의 N1 망에 제안된 FAA를 적용한 결과는 그림5와 같다. FAA는 N1 망에 존재하는 용량 합이 5인 3개의 최소절단을 정점 수 n에 대해 O(n)의 수행 복잡도로 모두 구할 수 있는 장점을 갖고 있다.

OTNBBE_2019_v19n4_27_f0005.png 이미지

그림 5. N1 망에 대한 FAA의 최소 절단

Fig. 5. Min-cut of FAA for N1 network

Ⅳ. 알고리즘 적용 및 결과 분석

본 장에서는 그림 6의 6개 망 실험 데이터에 대해 APA, VMA와 FAA를 적용하여 찾은 최소절단 결과를 토대로, 본 논문에서 제안된 FAA의 알고리즘 적합성을 검증하여 본다. 참고로, (a)의 N2 망은 구소련연방의 철도망으로 Flooding Method(FM)는 최소절단 163을 얻었다. N3 ~ N7 망은 Lee[4,5]에서 적용된 벤치마킹 데이터이다.

OTNBBE_2019_v19n4_27_f0006.png 이미지

그림 6. 실험 망 데이터

Fig. 6. Experimental network data

그림 6의 6개 망 실험 데이터에 대해 APA로 찾은 병목 간선들과, VMA와 FAA로 찾은 최소절단 결과는 그림7에 제시되어 있으며, 본 논문에서 적용된 데이터에 대한 VMA와 FAA의 알고리즘 성능 평가 결과는 표 1에 요약되어 있다. VMA는 N4와 N5에 대해서만 최소절단 치와 최소절단 개수 모두를 찾은 반면에, FAA는 7개 망 모두에서 최소절단 치와 최소절단 개수를 찾는데 성공하였다.

OTNBBE_2019_v19n4_27_f0007.png 이미지

그림 7. APA, VMA와 FAA의 최소절단

Fig. 7. Min-cut of APA, VMA, and FAA

표 1. 알고리즘 성능 비교

Table 1. Performance evaluation of algorithms

OTNBBE_2019_v19n4_27_t0001.png 이미지

Ⅴ. 결론

본 논문에서는 무 방향, 무 방향과 방향의 혼합 망, 단일 원천-단일 배수, 다중 원천-다중 배수에 상관없이 어떠한 형태의 망에 대해서도 모든 최소절단을 O(n) 수행 복잡도로 찾을 수 있는 알고리즘을 제안하였다.

제안된 알고리즘은 스포츠계에서 적용되고 있는 자유계약 선수의 팀 이적 방식으로 자유계약 선수는 기존보다 인상된 년봉을 받을 수 있는 팀으로 이적하는 단순한 방식을 적용하였다. 여기서는 단일 선수 이적과 그룹으로 이적하는 두 가지 방식을 채택하였다.

제안된 알고리즘을 다양한 형태의 망에 적용한 결과, 주어진 망에서의 최소절단이 다수 존재하는 경우에도 망에 존재하는 모든 최소절단을 찾을 수 있음을 보였다.

References

  1. L. R. Ford and D. R. Fulkerson, "Maximal Flow Through a Network", Canadian Journal of Mathematics, Vol. 8, No. 1, pp. 399-404, Jan. 1956, doi:10. 1007/978-0-8176-4842-8_15. https://doi.org/10.4153/CJM-1956-045-5
  2. A. Schrijver, "On the History of the Transportation and Maximum Flow Problems", Mathematical Programming, Vol. 91, No. 3, pp. 437-445, Feb. 2002, doi:10.1007/s101070 100259.
  3. J. Edmonds and R. M. Karp, "Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems", Journal of the ACM, Vol. 19, No. 2, pp. 248-264, Apr. 1972, doi:10.1145/321694.321699.
  4. S. U. Lee, "Maximum Capacity-based Minimum Cut Algorithm", Journal of the Korean Society of Computer and Information, Vol. 16, No. 5, pp. 153-162, May 2011, uci:G704-001619.2011.16.5. 004. https://doi.org/10.9708/jksci.2011.16.5.153
  5. S. U. Lee, "A Bottleneck Search Algorithm for Digraph Using Maximum Adjacency Merging Method", The Institute of Internet, Broadcasting and Communication, Vol. 12, No. 5, pp. 129-139, Oct. 2012, doi:10.7236/JIWIT.2012.12.5.129.