DOI QR코드

DOI QR Code

Algorithm for Maximum Degree Vertex Partition of Cutwidth Minimization Problem

절단 폭 최소화 문제의 최대차수 정점 분할 알고리즘

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

Abstract

This paper suggests polynomial time algorithm for cutwidth minimization problem that classified as NP-complete because the polynomial time algorithm to find the optimal solution has been unknown yet. To find the minimum cutwidth CWf(G)=max𝜈VCWf(𝜈)for given graph G=(V,E),m=|V|, n=|E|, the proposed algorithm divides neighborhood NG[𝜈i] of the maximum degree vertex 𝜈i in graph G into left and right and decides the vertical cut plane with minimum number of edges pass through the vertex 𝜈i firstly. Then, we split the left and right NG[𝜈i] into horizontal sections with minimum pass through edges. Secondly, the inner-section vertices are connected into line graph and the inter-section lines are connected by one line layout. Finally, we perform the optimization process in order to obtain the minimum cutwidth using vertex moving method. Though the proposed algorithm requires O(n2) time complexity, that can be obtains the optimal solutions for all of various experimental data

본 논문은 NP-완전으로 최적 해를 구하는 다항시간 알고리즘이 알려져 있지 않은 절단 폭 최소화 문제에 대해 다항시간 알고리즘을 제안하였다. 주어진 그래프 G=(V,E),m=|V|, n=|E| 에 대한 최소 절단 폭 CWf(G)=max𝜈VCWf(𝜈)를 찾기 위해 제안된 알고리즘은 첫 번째로, 최대차수 정점 𝜈i를 기준으로 NG[𝜈i] 정점들을 𝜈i를 통과하는 간선수가 최소가 되도록 양분하는 열 절단면을 찾고, 좌·우의 NG[𝜈i]들 간의 통과 간선수가 최소가 되는 행 절단면으로 분할하였다. 두 번째로, 각 부 그래프 내부의 정점들을 선형으로 연결하고, 부 그래프들 간 간선을 연결하여 하나의 선형 배열을 만들었다. 마지막으로, 정점을 이동시켜 최소 절단폭을 갖는 최적화 과정을 수행하였다. 다양한 그래프들을 대상으로 실험한 결과, 수행 복잡도가 O(n2)인 제안된 알고리즘을 모든 데이터들에 대해 최적 해를 찾을 수 있었다.

Keywords

Ⅰ. 서론

절단 폭 최소화 문제(cutwidth minimization problem, CMP)는 주어진 그래프 G = (V,E), n = |V|, m = |E|, e = (vi,vj)∈E의 n개 정점들에 [1,n] 범위의 서로 다른 (distinct) 번호 f(v)를 부여하여 일렬로 배치할 경우, 최대 절단 폭(간선 수)을 갖는 정점의 절단 폭 CWf(G) = maxv∈VCWf(v)이 최소가 되는 배치도(layout)를 찾는 문제이다.[1]

CMP는 대규모 전력전송시스템, 하이퍼텍스트 배치, 화학 반응속도, 수치화된 지구물리학, 데이터저장소, VLSI 설계와 망 생존성 등에 적용된다.[1]

CMP는 NP-완전(NP-complete)으로 분류되어 있어 최적 해를 다항시간으로 구하는 알고리즘이 제안되지 않고 있다.[2,3]

CMP의 근사 해를 구하는 메타휴리스틱 알고리즘으로, Pardo et al.[4]은 가변공식 탐색 법(variable formulation search, VFS)을, Marti et al.[5]은 분기한정 법(branch-and-bound, BB)을, Pantrigo et al.[6]은 산점 탐색 법(scatter search, SS)을, Pardo et al.[7]은 가변 이웃 탐색법(variable neighborhood search, VNS)을, Bansal et al.[8]은 하이브리드 진화 알고리즘(hybrid evolutionary algorithm, HEA)을, Pardo[9]은 휴리스틱 알고리즘(heuristic algorithm, HA)을, López-Locés et al.[10]은 정수선형계획법(integer linear programming, ILP)을, Andrade와 Resende[11]은 GRASP(greedy randomized adaptive search)+PR(Path-Relinking) 방법을, Andrade와 Resende[12]은 GRASP+EPR(evolutionary PR)을, Cohoon과 Sahni[13]은 담금질기법(simulated annealing, SA)을, Palubeckis와 Rubliauskas[14]는 TS(tabu search)+BB를 제안하였다.

본 논문에서는 CMP의 해를 O(n)의 선형시간으로 얻을 수 있는 알고리즘을 제안한다. 2장에서는 CMP의 개념을 고찰한다. 3장에서는 CMP에 대해 O(n) 복잡도로 해를 찾는 규칙을 제시한 휴리스틱 알고리즘을 제안한다. 4장에서는 제안된 알고리즘을 실제 데이터에 적용하여 알고리즘 적합성을 평가해 본다.

Ⅱ. 절단 폭 최소화 문제 고찰

그림 1과 같이 G = (V,E) 그래프가 주어졌다고 가정하여 보자. G1은 Marti et al.[1]에서 인용되었다. 여기서 n = 6, m = 7이다.

OTNBBE_2024_v24n1_37_f0001.png 이미지

그림 1. 절단 폭 최소화 문제

Fig. 1. Cutwidth minimization problem

그림 1은 G1에 대해 Marti et al.[1]이 임의의 순서로 배열한 경우의 절단 폭을 나타내고 있으며, C-A-D-E-B-F 배열의 CWf(G) = 5임을 알 수 있다.

그림 2는 G1에 대해 C-B-E-A-D-F로 배열시 최소 절단 폭 CWf(G) = 3으로 감소시킬 수 있음을 보였다.

OTNBBE_2024_v24n1_37_f0002.png 이미지

그림 2. G1의 최소 절단 폭

Fig. 2. Minimum cutwidth for G1

그림 1과 같이 n = 6, m = 7의 단순한 그래프인 경우 CWf(G)는 비교적 쉽게 구할 수 있다. 그러나 VLSI (대규모 집적회로)와 같이 수많은 부품 (정점)간에 복잡한 배선 연결 (간선)이 존재하는 경우, 최소 절단 폭을 갖도록 부품을 최적으로 배치하는 것은 쉽지 않다. 따라서 3장에서는 최소 절단 폭을 다항시간으로 찾아갈 수 있는 규칙을 제시한 알고리즘을 제안한다.

Ⅲ. 최대차수 정점 분할 알고리즘

본 장에서는 최소 절단 폭을 갖는 선형 배치도는 “최대 차수를 가진 정점이 결정한다.”는 가정에 기반한 알고리즘을 제안한다.

위 가정에 기반하여, G = (V,E), n = |V|의 n개 정점들 중 첫 번째로, 최대 차수 정점 dG(vi) = Δ(G) = k, NG[vi] = k인 vi를 결정하고, vi의 차수 k에 대해 L(vi) = ⌈k/2⌉개의 좌측과 R(vi) = ⌊k/2⌋개의 우측으로 간선들을 양분한 열 절단면을 찾는다. 이 절단면은 vi를 통과하는 {L(vi), R(vi)}의 간선 수가 최소가 되는 면이다.

일단 vi를 기준으로 좌우로 양분되면, L(vi)와 R(vi)를 NG[vi] 정점들을 기준으로 이웃하는 NG[vi]의 부 그래프 간 간선(inter-edges)이 최소가 되는 행 절단면을 찾는다.

다음으로, 각 부 그래프 내부 간선 (intra-edges)들로 정점들을 연결하고, 부 그래프 간 간선을 연결한 선형배열을 결정한다.

마지막으로, 선형 배열된 정점들을 대상으로 식 (1)의 이동 전략을 적용한다.

⦁ L: vi와의 거리 d≥2인 간선이 존재하는 좌측에 위치한 정점 수

⦁ R: vi와의 거리 d≥2인 간선이 존재하는 우측에 위치한 정점 수

⦁ N: vi와의 거리 d = 1인 간선이 존재하는 좌·우측정점 수

(L - R) - N > 0 : vi를 L 정점들 중 중앙으로 이동       (1)

(R - L) - N > 0 : vi를 R 정점들 중 중앙으로 이동

제안된 알고리즘을 최대차수 정점 분할 알고리즘(maximum degree vertex partition algorithm, MDVPAA)라 하며, 다음과 같이 수행된다.

G = (V,E), n = |V|

번호 : p = 1, 2, ⋯, n

Step 1. 열 분할(열 절단면)

최대 차수 정점 dG(vi) = Δ(G)인 vi 선택.

vi의 인접 (이웃) 정점 vj = NG[vi] = k에 대해 vi를 통과하는 {L(vi), R(vi)}의 간선 수가 최소가 되는 면으로 L(vi) = ⌈k/2⌉와 R(vi) = ⌊k/2⌋의 열 절단면을 긋는다.

Step 2. 행 분할(행 절단면)

L(vi) = ⌈k/2⌉와 R(vi) = ⌊k/2⌋에 대해 좌·우측 NG[vi]들 간의 간선 수가 최소가 되도록 행절단면을 긋는다.

Step 3. 선형 배열

(1) 각 부 그래프 내의 정점들을 vi로부터 가장 멀리 떨어진 최소 차수 정점부터 연결하는 내부 간선으로 연결.(Intra-line graph)

(2) 부 그래프들 간 간선으로 연결(inter-line graph)한 선형 배열 작도.

Step 4. 절단 폭 최소화 정점 이동

for i = 1 to n

if (L - R) - N > 0 then vi를 L 정점들의 중앙으로 이동

else if (R - L) - N > 0 then vi를 R 정점들의 중앙으로 이동

end

G1 그래프에 대해 제안된 MDVPAA을 적용한 결과는 그림 3에 제시되어 있다.

OTNBBE_2024_v24n1_37_f0003.png 이미지

그림 3. G1의 최대차수 정점 분할 알고리즘

Fig. 3. MDVPAA for G1

G1에서의 최대차수 정점 A, D, E 중에서 A로 결정하고, A를 통과하는 간선이 최소가 되는 열 절단면을 그리면 L(vi) = {D,E}, R(vi) = {B}로 dG(A) = 3이 2:1 분할된다. R(vi)는 1개 정점만 존재하여 더 이상 행 절단면으로 분할되지 않으며, L(vi) = {D,E}에 대해 행 절단면을 찾으면 {E,F}, {D}의 행 절단면을 찾아 분할과정은 종료되었다. 다음으로 내부 간선들을 연결하면 F-E, D, A, B-C를 얻으며, 부그래프간 간선들을 연결하면 F-E-D-A-B-C의 선형 배열을 얻는다. 이 선형 배열은 (L - R) - N > 0과 (R - L) - N > 0을 충족시키는 정점이 존재하지 않아 Step 4의 정점이동 과정을 수행하지 않고 알고리즘이 종료된다. 이 경우 CWf(G)는 maxv∈VCWf(v)는 E-D에서 발생하며 CWf(G) = 3을 얻는다.

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

본 장에서는 그림 4의 다양한 그래프들에 대해 제안된 MDVPAA를 적용하여 본다.

OTNBBE_2024_v24n1_37_f0004.png 이미지

그림 4. 실험 데이터

Fig. 4. Experimental data

G2는 Pardo[9]에서, G3은 Pardo et al.[7]과 Pardo[9]에서, G4는 Marti et al.[5]에서, G5, G6, G7, G8은 Marti et al.[1]에서 인용되었다.

그림 4의 다양한 그래프들에 대해 제안된 MDVPAA를 적용한 결과는 그림 5에 제시되어 있다.

OTNBBE_2024_v24n1_37_f0005.png 이미지

그림 5. 실험 데이터에 대한 MDVPAA

Fig. 5. MDVPAA for experimental data

본 논문에서 거론된 다양한 실험 그래프들에 대해 제안된 MDVPAA로 해를 구한 결과를 기존에 알려진 해와 비교하여 표 1에 제시하였다. 표에서, 8개 그래프들 모두에서 제안된 MDVPAA로 최적 해를 얻었음을 알 수 있다.

표 1. 알고리즘 성능 비교

Table 1. Compare with Algorithm Performance

OTNBBE_2024_v24n1_37_t0001.png 이미지

Ⅴ. 결론

본 논문은 NP-완전으로 분류되어 있어 최적 해를 다항시간으로 구하는 알고리즘이 제안되지 않고 있는 절단폭 최소화 문제에 대해 O(n2)의 다항시간 알고리즘을 제안하였다.

제안된 알고리즘은 G = (V,E), m = |V|, n = |E|에서 첫 번째로, 최대 차수를 가진 정점 vi를 기준으로 좌·우로 양분한 최소의 통과 간선수를 갖는 열 절단면을 결정하였다. 두 번째로, 좌측과 우측의 NG[vi] 정점들을 대상으로 통과 간선수가 최소가 되는 행 절단면을 결정하였다. 이와 같이 분할된 각 부 그래프들에 대해, 부 그래프 내부의 간선들을 연결하고, 부 그래프들 간 간선을 연결하여 완전한 선형 배열 그래프를 얻었다. 마지막으로, 절단폭이 최소화되도록 정점을 이동하는 최적화 과정을 수행하였다.

제안된 알고리즘은 O(n2)으로 수행되는 다항시간 알고리즘임에도 불구하고, 다양한 실험 데이터에 적용한 결과 모든 데이터에서 최적 해를 얻을 수 있었다.

따라서 최소 절단폭을 찾고자 하는 대규모 전력전송시스템, 하이퍼텍스트 배치, 화학 반응속도, 수치화된 지구 물리학, 데이터저장소, VLSI 설계와 망 생존성 등의 분야에서 제안된 알고리즘을 적용하면 난제를 해결하는데 많은 도움이 될 수 있을 것이다.

References

  1. R. Marti, J. J. Pantrigo, A. Duarte, and E. G. Pardo, "Cutwidth Minimization Problem," Optsicom Project, University of Valencia, Spain, https://grafo.etsii.urjc.es/optsicom/cutwidth.html, 2010.
  2. M. R. Garey, D. S. Johnson, and L. Stockmeyer, "Some Simplified NP-complete Graph Problems," Theoretical Computer Science, Vol. 1, No. 3, pp. 237-267, Feb. 1976, https://doi.org/10.1016/ 0304-3975(76)90059-1
  3. F. Garvril, "Some NP-complete Problems on Graphs," Proceedings of the 11th Conference on Information Science and Systems, pp. 91-95, 1977.
  4. E. G. Pardo, N. Mladenovic, J. J. Pantrigo, and A. Duarte, "Variable Formulation Search for the Cutwidth Minimization Problem," Applied Software Computing, Vol. 13, No. 5, pp. 2242-2252, May 2013, https://doi.org/10.1016/j.asoc.2013.01.016
  5. R. Marti, J. J. Pantrigo, A. Duarte, and E. G. Pardo, "Branch and Bound for the Cutwidth Minimization Problem," Computers & Operations Research, Vol. 40, No. 1, pp. 137-149, Jan. 2013, https://doi.org/10.1016/j.cor.2012.05.016
  6. J. J. Pantrigo, R. Marti, A. Duarte, and E. G. Pardo, "Scatter Search for the Cutwidth Minimization Problem," Annals of Operations Research, Vol. 199, No. 1, pp. 285-304, Oct. 2012, https://doi.org/10.1007/s10479-011-0907-2
  7. E. G. Pardo, N. Mladenovic, J. J. Pantrigo, and A. Duarte, "A Variable Neighbourhood Search Approach to the Cutwidth Minimization Problem," Electronic Notes in Discrete Mathematics, Vol. 39, No. 1, pp. 67-74, Dec. 2012, https://doi.org/10.1016/j.endm.2012.10.010
  8. R. Bansal, K. Sricastava, and S. Srivastava, "A Hybrid Evolutionary Algorithm for the Cutwidth Minimization Problem," IEEE World Congress on Computational Intelligence, pp. 1-8, Jun. 2012, https://doi.org/10.1109/CEC. 2012.6256549
  9. E. G. Pardo, "E1 Problema de la Minimizacion de la Anchura de Corte en Ordenaciones Lineales: Resolucion Exacta y Heuristica," Universidad Rey Juan Carlos, Doctorial Thesis, 2011.
  10. M. C. Lopez-Loces, N. Castillo-Garcia, H. J. F. Huacuja, P. Bouvry, J. E. Pecero, R. A. P. Rangel, J. J. G. Barbosa, and F. Valdez, "A New Integer Linear Programming Model for the Cutwidth Minimization Problem of a Connected Undirected Graph," Recent Advances on Hybrid Approaches for Designing Intelligent Systems, Studies in Computational Intelligence, Vol. 547, pp 509-517, Mar. 2014, https://doi.org/10.1007/978-3-319-05170-3_35
  11. D. V. Andrade and M. G. C. Resende, "GRASP with Path-Relinking for Network Migration Scheduling," Proceedings of International Network Optimization Conference, pp. 1-6, Apr. 2007.
  12. D. V. Andrade and M. G. C. Resende, "GRASP with Evolutionary Path-Relinking," Proceedings of 7th Metaheuristics International Conference, pp. 1-4, Jun. 2007.
  13. J. Cohoon and S. Sahni, "Heuristics for the Board Permutation Problem," Journal of VLSI and Computer Systems, Vol. 2, No. 1-2, pp. 37- 61, Dec. 1987.
  14. G. Palubeckis and D. Rubliauskas, "A Branchand-Bound Algorithm for the Minimum Cut Linear Arrangement Problem," Journal of Combinatorial Optimization, Vol. 24, No. 4, pp. 540-563, Nov. 2012, https://doi.org/10.1007/s10878- 011-9406-2