고모리후나무
Gomory–Hu tree조합 최적화에서 용량이 있는 무방향 그래프의 Gomory-Hu 트리는[1] 그래프의 모든 s-t 쌍에 대한 최소 s-t 절단을 나타내는 가중치 트리입니다. Gomory–Hu 트리는 V - 1 최대 흐름 계산으로 구성할 수 있습니다. 그것은 랄프 E. 고모리와 T. C. Hu의 이름을 따서 지어졌습니다.
정의.
=( EG, ) G = (V_{G},E_{G},c)}를 각각 에지(u,v) {\displaystyle (u,v)}의 용량으로 하는 무방향 그래프라고 가정합니다.
- , ∈ V G s,t\in V_{G}}에 대해 s-t 컷의 최소 용량을 λ st \_{st}}로 표시합니다.
- =( ET) {\ T = (},E_{T}}를 트리라고 하고, 각 s에 대해 pst {\displaystyle P_{st}}, t ∈ VG {\displaystyle s,t\in V_{G}}에 의해 s-t 경로의 간선 집합을 나타냅니다.
그렇다면 T는 G의 Gomory–Hu 트리라고 하며, 만약 각 에 ∈ in V_{G}}
어디에
- 는 T {e} T\{e\}의 두 연결된 구성 이므로 ) S_{e},은(는) G에서 s-t 컷을 형성합니다.
- 은는 의 용량입니다.를 G로 자릅니다.
알고리즘.
고모리-후 알고리즘
- 입력: 가중치가 부여된 무방향 G = ) {\displaystyle G = ((V_{G}, E_{G}),c)}
- 출력: 고모리-후 트리 = ( displaystyle T = (V_{T},E_{T})}
- ={ ET = ∅를 설정합니다. {\ V_{
- X가 존재하는 경우 ≥ 가 있는 X ∈ V Tin V_{T}}를 선택합니다. 그렇지 않으면 6단계로 이동합니다.
- 된 각 구성 요소 =( EC) ∈ T∖X, {\C = ({C},E_{C})\in T\setminus X,}에서 SC = ⋃ V T ∈ V. {\textstyle S_{C}=\bigcup _{v_{T}\in V_{C}v_{T}}입니다.
- ={ ∣ T ∖ X}에서 요소라고 하자. {\displaystyle S=\{S_{C}\mid C{\text{는}}T\setminus X\}에서 연결된 구성 요소입니다.
- 구성 요소를 수축하여 = EG'), c'), {\displaystyle G' = ((V_{G'}, E_{G'}), c'}를 형성합니다. 여기서 다음과 같습니다.
- R는 용량 함수로 다음과 같이 정의됩니다.
- R는 용량 함수로 다음과 같이 정의됩니다.
- 두 꼭짓점 t ∈ X를 선택하고 G'에서 최소 s-t 절단(A', B')을 찾습니다.
- =⋃SC ∈ A' ∩ SSC) ∪ (A' ∩ X), {\displaystyle A={\Biggl(}\bigcup _{S_{C}\in A'\cap S}\!( X B' SSC) (B' X). {\displaystyle B{\Biggl (}\bigcup _{S_{C}\in B'\cap S}\!
- =( T ∖ X) ∪ {A ∩ X, B ∩ X}. {\displaystyle V_{T}=(V_{T}\setminus X)\cup \{A\cap X,B\cap X\}를 설정합니다.
- 각 = ( Y) ∈ ET {\displaystyle e = (X, Y)\in E_{T}에 대해 다음을 수행합니다.
- e =(∩ X, Y) {\e'= A\cap X,Y)} Y ⊂ A이면 {\displaystyle Y\subset A,} 그렇지 않으면 설정 e' = (B ∩ X,Y ) {\displaystyle e'= (B\cap X,Y)}
- =( ∖ {e ∪ {e'}을(를) 설정합니다. {\displaystyle E_{T}= (E_{
- = w {\displaystyle w(e')= w(e)}를 설정합니다.
- = ∪ ∩ X, B ∩ X)}을(를) 설정합니다. {\displaystyle E_{T}=E_{T}\cup \{(A\cap X,\B\cap X)\}
- w∩, B ∩ )= c B'). w((A\cap X, B\cap X)) = c'(A', B').}
- 2단계로 이동합니다.
- 각 = ( Y) ∈ ET {\displaystyle e = (X, Y)\in E_{T}에 대해 다음을 수행합니다.
- V_{T}에서 {v∈ {\displaystyle \{v\}\in V_{T}를 v로, 각 ({u}, {v}) ∈ ET {\displaystyle(\{u\},\{v\})\in E_{ by (u, v). 출력 T.
분석.
capacity function c의 하위 모듈 특성을 사용하면,
( ∈ ET에 {\displaystyle (P, Q)\in E_{T}} w (P, Q) = λ p q {\displaystyle w (P, Q)=\lambda _{pq}}에 대해 알고리즘 전체에 걸쳐 다음 보조정리를 사용함을 보여줍니다.
- 임의의 i, j, k in V,λik ≥ (λ i j,λj ) . _{}\\min (\lambda _{ij},\lambda _{jk}).
보조정리는 출력 T가 Gomory-Hu Tree의 특성을 만족한다는 것을 보여주기 위해 다시 반복적으로 사용될 수 있습니다.
예
다음은 고모리를 시뮬레이션한 것입니다.후의 알고리즘, 어디서
- 녹색 원은 T의 꼭짓점입니다.
- 빨간색과 파란색 원은 G'의 꼭짓점입니다.
- 회색 꼭짓점은 선택된 s와 t입니다.
- 빨간색과 파란색 색상은 s-t 컷을 나타냅니다.
- 점선 모서리는 s-t 절단 집합입니다.
- A는 빨간색으로 동그라미를 친 꼭짓점 집합이고 B는 파란색으로 동그라미를 친 꼭짓점 집합입니다.
구현: 순차 및 병렬
Gusfield의 알고리즘을 사용하여 동일한 실행 시간-복잡성에서 정점 수축 없이 Gomory-Hu 트리를 찾을 수 있으므로 Gomory-Hu 트리를 구성하는 것이 간단해집니다.[2]
앤드류 V. 골드버그와 K. Tsioutsiouliklis는 Gomory-Hu 알고리즘과 Gusfield 알고리즘을 구현하고 실험적 평가와 비교를 수행했습니다.[3]
Cohen et al. 에서는 각각 OpenMP와 MPI를 사용하여 Gusfield의 알고리즘을 두 가지 병렬 구현한 결과를 보고합니다.[4]
관련개념
평면 그래프에서 Gomory–Hu 트리는 Gomory–Hu 트리의 절단이 최소 중량 사이클 기반을 형성하는 이중 그래프의 사이클 모음과 이중이라는 점에서 최소 중량 사이클 기반과 이중입니다.[5]
참고 항목
참고문헌
- ^ Gomory, R. E.; Hu, T. C. (1961). "Multi-terminal network flows". Journal of the Society for Industrial and Applied Mathematics. 9 (4): 551–570. doi:10.1137/0109047.
- ^ Gusfield, Dan (1990). "Very Simple Methods for All Pairs Network Flow Analysis". SIAM J. Comput. 19 (1): 143–155. doi:10.1137/0219009.
- ^ Goldberg, A. V.; Tsioutsiouliklis, K. (2001). "Cut Tree Algorithms: An Experimental Study". Journal of Algorithms. 38 (1): 51–83. doi:10.1006/jagm.2000.1136.
- ^ Cohen, Jaime; Rodrigues, Luiz A.; Silva, Fabiano; Carmo, Renato; Guedes, André Luiz Pires; Duarte, Jr., Elias P. (2011). "Parallel implementations of Gusfield's cut tree algorithm". In Xiang, Yang; Cuzzocrea, Alfredo; Hobbs, Michael; Zhou, Wanlei (eds.). Algorithms and Architectures for Parallel Processing – 11th International Conference, ICA3PP, Melbourne, Australia, October 24–26, 2011, Proceedings, Part I. Lecture Notes in Computer Science. Vol. 7016. Springer. pp. 258–269. doi:10.1007/978-3-642-24650-0_22.
{{cite conference}}
: CS1 maint: 다중 이름: 저자 목록 (링크) - ^ Hartvigsen, D.; Mardon, R. (1994). "The all-pairs min cut problem and the minimum cycle basis problem on planar graphs". SIAM J. Discrete Math. 7 (3): 403–418. doi:10.1137/S0895480190177042..
- B. H. Korte, Jens Vygen (2008). "8.6 Gomory–Hu Trees". Combinatorial Optimization: Theory and Algorithms (Algorithms and Combinatorics, 21). Springer Berlin Heidelberg. pp. 180–186. ISBN 978-3-540-71844-4.