Ⅰ. 서론
그래프 배치 문제(graph layout problems, GLP)는 주어진 그래프 G = (V, E)에 대해 특정 목표 비용(objective cost)을 최적화할 수 있도록 정점들을 선형 배치(linear layout) 하는 문제이다. 여기서 목표 비용은 대역폭(bandwidth), 최소선형배열(minimum linear arrangement, MinLA), 절단 폭(cutwidth), 수정된 절단(modified cut), 정점 분리(vertex separation), 절단 합 프로파일(sumcut profile), 간선 양분(edge bisection), 정점 양분(vertex bisection)이 될 수 있다. 이들 문제는 망 최적화, VLSI 회로 설계, 정보 검색, 수치해석, 계산 생물학, 그래프 이론, 일정, 고고학 들 다양한 분야에 응용되고 있다.[1-3] 배치(layout)는 선형 배열(linear arrangement), 분류(labeling) 또는 번호부여(numbering)라고도 부른다.
대역폭 문제는 무 방향 그래프(undirected graph) G = (V, E), n = |V|의 각 정점들을 f : V→{1, 2, …, n} 함수로 선형으로 배열 하였을 때 각 정점들에 부속된 간선들의 길이 중에서 최대 길이를 최소화하도록 정점들을 배열하는 문제로 대역폭의 최대 거리는 B(f, G) = max{|f(v) - f(ω)|: {u, v}∈E로 정의되며, 찾고자 하는 대역폭은 B(G) = min{B(f, G)}이다. 반면에, 최소선형배열문제는 대역폭 문제의 최대(maximum)를 합(sum)으로 교체하는 개념으로 모든 인접 정점들(adjacent vertices) 간의 거리인 간선 가중치(edge weight)의 합을 최소로 하는 MinLA = minΣvω{|f(v) - f(ω)|: {v, ω}∈E이 되도록 정점들을 선형으로 배열하는 문제이다. MinLA를 최적 선형 순서(optimal linear ordering), 간선 합 문제(edge sum problem) 또는 최소-1-합(minimum-1-sum)이라고도 한다. MinLA 문제는 VLSI 배치 설계에서 총 배선의 길이를 최소화하는 문제로 적용된다.
MinLA 문제는 일반적으로 NP-난제(NP-Hard)로 알려져 있다. 그러나 특정 그래프인 Rectangular mesh와 Square mesh에 대해서는 O(n)의 다항시간 알고리즘이 제안되어 있다.[1,2]
본 논문은 격자(lattice, grid, square mesh 또는 rectangular mesh) 그래프에 대해 최적의 MinLA를 O(1)으로 구하는 알고리즘을 제안한다. 2장에서는 격자에 대해 MinLA를 구한 연구 결과를 고찰한다. 3장에서는 최적의 MinLA를 O(1)으로 구하는 알고리즘을 제안한다. 4장에서는 다양한 격자들을 대상으로 제안된 알고리즘을 적용하여 성능을 검증한다.
Ⅱ. 관련 연구와 연구 배경
Petit[1,4]와 Díaz et al.[2]에서 인용된 그림 1의 5×5 격자를 대상으로 MinLA 개념을 고찰해 보자. 5×5의 25개 정점들을 (a)와 같이 일반적인 배열 방법으로 배치할 경우 인접 정점들 간의 거리의 합은 120이 된다. 이를 상한 값 (upper bound)[5]이라 하자. 그러나 (b)와 같이 최적으로 배열하면 116을 얻을 수 있다.
그림 1. 5×5 격자 그래프의 MinLA
Fig. 1. MinLA for 5×5 lattice graph
2차원 격자 구조에 번호를 부여 하는 방법을 Space filling problem이라 한다. Luttamaguzi et al.[6]은 그림 2와 같이 z-곡선, Gray 곡선과 Hilbert 곡선을, Niedermeier[7]는 Hilbert 곡선을, Wikipedia[8]은 Dragon 곡선, Gosper 곡선, Hilbert 곡선, Moore 곡선, Siepiński 곡선, z-곡선 등 다양한 방법을 제시하고 있다.
그림 2. 4×4 격자 번호 부여 방법
Fig. 2. Labeling methods for 4×4 lattice
MinLA 문제를 해결하는데 이들 곡선을 적용하면 4×4 격자의 경우 상한 값 60에 대해 z-곡선은 60으로 동일한 결과를 얻지만 다른 곡선들은 가중치 합이 60을 초과한다. 또한, 5×5에 z-곡선을 적용하는데도 어려움이 있으며, 최적 값 116을 얻지 못한다. 결국, MinLA를 구하기 위해 이들 곡선을 적용할 수 없다.
3장에서는 다양한 격자의 MinLA를 간단히 구하는 상수 알고리즘을 제안한다.
Ⅲ. 분할배열 MinLA 알고리즘
주어진 m×n(m = n or m ≠ n) 격자에 대한 MinLA를 수행 복잡도 O(1)으로 구하는 알고리즘은 다음과 같이 수행된다.
(1) n, m ≥ 5인 격자에 대해 컨테이너 분할을 수행한다. 이를 표준분할이라 하자.
⦁ 행: r1 = r3 = m/3 반올림, r2 = n - (r1 + r3)의 컨테이너 분할.
⦁ 열: c1 = c3 = n/3 반올림, c2 = m - (c1 + c3)의 컨테이너 분할.
⦁ 컨테이너: C1 = r1c1, C2 = r1c2, C3 = r1c3, C4 = r2(c1 + c2 + c3), C5 = r3c1, C6 = r3c2, C7 = r3c3
⦁ 2 ≤ n, m ≤ 4 격자는 일반적 번호부여 방법 적용.
(2) 컨테이너에 들어 있는 정점들에 대해 박스 분할을 수행한다.
⦁ C1 컨테이너 : {(1,1)}, {(1,2)}, {(2,1),(2,2)}, {(1,3),(2,3)}, {(3,1),(3,2),(3,3)}, …으로 상 삼각행렬(upper triangle matrix)은 열 박스로, 하 삼각행렬(lower triangle matrix)은 행 박스 형태로 분할.
⦁ C3 : C1과 좌우 대칭, C5는 C1과 상하 대칭, C7은 C5와 좌우 대칭이 되도록 분할.
⦁ C2, C6: 세로 박스로 분할, C4 : 가로 박스로 분할.
(3) C1 컨테이너부터 박스가 쌓여져 있는 순서대로 정점들에 번호를 부여하여 MinLA를 구한다.
(4) n, m ≥ 11에 대해 r1 = r1 - 1, r3 = r3 - 1, r2 = r2 + 2, c1 = c1 - 1, c3 = c3 - 1, c2 = c2 + 2로 분할하면서 MinLA가 증가할 때까지 (1) ~ (3) 과정을 반복 수행한다. 이를 추가 분할이라 하자.
제안된 알고리즘을 분할 배열 (divide and arrangement) 알고리즘이라 하자. 분할 배열 알고리즘은 m, n ≤ 10은 항상 표준분할만을 수행하며, 11 ≤ m, n ≤ 33은 추가분할을 2회 수행한다. m, n = 66은 추가분할을 3회, m, n = 99와 100은 추가분할을 4회 수행한다. 결국, 분할 배열 알고리즘은 수행 복잡도는 O(1)이다. 12×12 격자에 제안된 알고리즘을 적용한 결과는 그림 3에 제시되어 있다.
그림 3. 12×12 격자의 분할배열 알고리즘
Fig. 3. Divide and arrangement algorithm for 12×12 lattice
Ⅳ. 알고리즘 적용 및 결과 분석
본 장에서는 먼저, m, n ≤ 15인 , m ≠ n과 m = n인 다양한 격자에 대해 MinLA를 구하여 본다. 분할 배열 결과는 그림 4와 그림 5에, MinLA는 표 1에 제시하였다.
그림 4. n ≠ m 격자
Fig. 4. n ≠ m lattice
그림 5. n = m 격자
Fig. 5. n = m lattice
표 1. 실험 격자의 MinLA
Table 1. MinLA for experimental lattices
일반 배열 방법의 상한 값과 분할 배열로 변환시켜도 동일한 형태인 5x4, 2x2, 3x3, 4x4 격자를 제외한 다른 격자들은 모두 분할 배열로 MinLA를 얻는다.
추가로 33x33, 66x66, 99x99, 100x100격자에 적용하였으며, 33x33 격자의 분할 배열 방법은 그림 6에, MinLA는 표 2에 제시되어 있다.
그림 6. 33x33 격자의 분할배열 알고리즘
Fig. 6. Divide and arrangement algorithm for 33x33 lattice
표 2. 추가 실험 격자의 MinLA
Table 2. MinLA for additional experimental lattices
제안된 알고리즘의 적합성을 검증하기 위해 그림 7과 같이 33x33 격자에 대한 기존의 알고리즘[1,3,4,9-16]과 성능을 검증해 본다. 33x33 격자의 상한 값은 35,904이며, SAN, BFS, Spec, Random, Neive, Hillc2, Worst인 경우는 상한 값을 초과하기 때문에 알고리즘으로 채택이 불가하다.
그림 7. 33x33 격자의 MinLA 알고리즘 성능
Fig. 7. MinLA algorithm’s performance for 33x33 lattice
32,000 ≤ MinLA < 35,9045,904에도 다양한 알고리즘들이 존재한다. 31,680 ≤ MinLA < 32,000 < 32,000 범위에 속하는 알고리즘들은 제안된 알고리즘을 포함하여 8개에 불과함을 알 수 있다. 제안된 알고리즘의 10-13-10 분할은 Mesh Method와 동일하게 31,680의 가장 좋은 성능을 나타냄을 알 수 있다. 그러나 Mesh Method는 실험 결과 정점들의 배열 방법을 제시하지 않아 실제로 적용에 어려움이 있다. 또한, 100x100 격자에 대해 Safro et al.[13]의 결과와 비교하였다. 100x100 격자의 상한치는 999,900이며, 알려진 최적치는 868,820이다. Safro et al.[13]은 Multilevel Weighted Edge Contraction 방법을 적용하여 880,234를 얻은데 반해 제안된 알고리즘은 정확하게 최적치 868,820을 얻는데 성공하였다. 결국, 제안된 알고리즘은 가장 단순하면서도 최적의 결과를 얻는 MinLA 알고리즘으로 적용 할 수 있다.
Ⅴ. 결론
본 논문은 격자 그래프에 대한 MinLA를 구하는 O(1) 복잡도의 분할배열 알고리즘을 제안하였으며, 기존의 근사 알고리즘들에 비해 최적의 성능을 나타냄을 보였다.
제안된 알고리즘은 m행을 r1,r2,r3로, n열을 c1,c2,c3로 분할하여 C1 = r1c1, C2 = r1c2, C3 = r1c3, C4 = r2(c1 + c2 + c3), C5 = r3c1, C6 = r3c2, C7 = r3c3의 7개 컨테이너를 얻는다. C1,C3,C5,C7 컨테이너들은 내부의 정점들을 상 삼각행렬과 하 삼각행렬 형태의 박스들로 분할한다. C2,C6 컨테이너는 세로 박스 형태로, C4 컨테이너는 가로 박스 형태로 분할한다. C1 컨테이너부터 박스가 쌓여 있는 순서대로 정점들에 번호를 부여하여 MinLA를 얻는다. m, n ≥ 11에 대해 C2,C4,C6 컨테이너의 크기를 2씩 증가시키면서 MinLA가 증가할 때까지 반복 수행하여 최소의 MinLA 값을 선택한다.
제안된 분할배열 알고리즘을 33x33, 66x66, 99x99와 100x100 격자에 적용하였으며, 33x33과 100x100 격자에 대해 기존의 알고리즘들보다 월등히 좋은 최적의 MinLA를 얻는데 성공하였다. 분할 배열 알고리즘은 단순하고 최적의 성능을 나타내어 VLSI 회로 설계분야에 쉽게 적용할 수 있을 것이다.
References
- J. Petit, "Experiments on the Minimum Linear Arrangement Problem," ACM Journal of Experimental Algorithmics, Vol. 82003, Article No. 23, pp. 1-29, Dec. 2003, https://doi.org/10.1145/996546.996554
- J. Diaz, J. Petit, and M. Serna, "A Survey on Graph Layout Problems," ACM Computing Surveys, Vol. 34, No. 3, pp. 313-356, Sep. 2002, https://doi.org/10.1145/568522.568523
- Y. Koren and D. Harel, "A Multi-Scale Algorithm for the Linear Arrangement Problem," 28th International Workshop on Graph-Theoretic Concepts in Computer Science, pp. 296-309, Jan. 2002, https://doi.org/10.1007/3-540-36379-3_26
- J. Petit, "Approximation Heuristics and Benchmarkings for the MinLA Problem," Building Bridges Between Theory and Applications, pp. 112-128, Feb. 1998.
- M. Yannakakis, "Computing the Minimum Fill-In is NP-Complete," SIAM Journal on Matrix Analysis and Applications, Vol. 2, No. 1, pp. 77-79, Mar. 1981, https://doi.org/10.1137/0602010
- J. Luttamaguzi, M. Pelsmajer, Z. Shen, and B. Yang, "Integer Programming Solutions for Several Optimization Problems in Graph Theory," DIMACS Technical Report 2005-02, Jan. 2005.
- R. Niedermeier, K. Reinhardt, and P. Sanders, "Towards Optimal Locality in Mesh-Indexings," Discrete Applied Mathematics, Vol. 117, No. 1-3, pp. 211-237, Mar. 2002, https://doi.org/10.1016/ S0166-218X(00)00326-7
- Wikipedia, "Space-Filling Curve, http://en.wikipedia.org/wiki/Space-filling_curve, Retrieved Apr. 2023.
- T. Poranen, "A Genetic Hillclimbing Algorithm for the Optimal Linear Arrangement Problem," Fundamenta Informaticae, Vol. 68, No. 4, pp. 333-356, Dec. 2005.
- B. Y. Reuven, E. Guy, F. Jon, and N. Joseph, "Computing an Optimal Orientation of a Balanced Decomposition Tree for Linear Arrangement Problems," Journal of Graph Algorithms and Applications, Vol. 5, No. 4, pp. 1-27, Oct. 2001, https://doi.org/10.1142/9789812794741_0016
- R. T. Eduardo, "Best Known Solutions for the MinLA Problem," Information Technology Laboratory, Cinvestav, Tamaulipas, https://www.tamps.cinvestav.mx/~ertello/MinLA/bestSolutionsMinLA-120107.pdf, Retrieved Apr. 2023.
- A. R. S. Amaral, A. Caprara, A. N. Letchford, and J. J. Salazar-Gonzalez, "A Cutting Plane Algorithm for the Linear Arrangement Problem," European Journal of Operational Research, Vol. 141, No. 2, pp. 274-294, Sep. 2002, https://doi.org/10.1016/ S0377-2217(02)00125-X
- I. Safro, D. Ron, and A. Brandt, "Graph Minimum Linear Arrangement by Multilevel Weighted Edge Contractions," Journal of Algorithms, Vol. 60. No. 1, pp. 24-41, Jul. 2006, https://doi.org/10.1016/ j.jalgor.2004.10.004
- J. Diaz, M. D. Penrose, J. Petit, and M. Serna, "Layout Problems on Lattice Graphs," International Computing and Combinatorics conference, pp. 103-112, Jan. 1999, https://doi.org/10.1007/3-540-48686-0_10
- R. T. Eduardo, J. K. Hao, and T. J. Jose, "Memetic Algorithms for the MinLA Problem," International Conference on Artificial Evolution, pp. 73-84, Oct. 2005, https://doi.org/10.1007/11740698_7
- A. Duarte, J. J. Pantrigo, V. Campos, and R. Marti, "Heuristics for the Minimum Linear Arrangement Problem," Universidad Rey Juan Carlos, Spain, pp. 1-13, Jul. 2008.