Ⅰ. 서론
주어지 그래프 G = (V, E)에 대해 특정 목표 비용(objective cost)을 최소화하도록 정점들을 선형 배치(linear layout) 하는 문제를 그래프 배치 문제(graph layout problems)라 한다. 여기서 목표 비용은 대역폭(bandwidth), 최소선형배열 (minimum linear arrangement, MinLA), 절단 폭(cutwidth), 정점 분리(vertex separation), 절단 합 프로필(sumcut profile), 간선 양분(edge bisection), 정점 양분(vertex bisection)등 다양하다. 이들 문제는 망 최적화, VLSI 회로 설계, 정보검색, 수치해석, 계산 생물학, 그래프 이론, 일정, 고고학들 다양한 분야에 응용되고 있다.[1-3] 배치 (layout)는 선형 배열(linear arrangement), 분류(labeling) 또는 번호부여(numbering)라고도 부른다.
최소 선형 배열(MinLA)은 무 방향 그래프(undirected graph) G = (V, E), n = |V|의 각 정점들을 π : V→{1, 2, …, n} 함수로 선형으로 번호를 부여 하였을 때 부속된 간선들의 길이 가중치(edge weight)의 합을 최소로 하는 minΣvw { π(v) - π(w) |: {v, w}∈V를 찾는 문제이다. MinLA를 최적 선형 순서(optimal linear ordering, OLO), 간선 합 문제(edge sum problem, ESP) 또는 최소-1-합(minimum-1-sum, M1S)이라고도 한다. MinLA 문제는 VLSI 배치 설계에서 총 배선 길이를 최소화하는 문제에 적용된다.
MinLA 문제는 일반적으로 NP-난제(NP-hard)로 알려져 있다. 그러나 특정 그물망 그래프인 Rectangular mesh와 Square mesh, Tree에 대해서는 O(n)의 다항시간 근사 알고리즘이 제안되어 있다.[1,2]
본 논문은 n = 2k - 1의 이진트리에 대해 근사 해가 아닌 정확한 해를 O(n), n = 2k - 3 - 2, n = 2k - 3 - 2로 구하는 알고리즘을 제안한다. 2장에서는 트리에 대해 MinLA를 구한 연구 결과를 고찰한다. 3장에서는 최적의 MinLA를 O(n)으로 구하는 알고리즘을 제안한다. 4장에서는 k = 6과 k = 7의 이진트리를 대상으로 제안된 알고리즘을 적용하여 성능을 검증한다.
Ⅱ. 관련 연구와 연구 배경
k = 10, n = 1,023, m = 1,022인 정 이진트리 Full(= Proper 또는 Perfect binary tree)에 대한 MinLA인 S(10)min을 구한 결과는 표 1과 같다.[1,3-12]
표 1. 정 이진트리의 MinLA
Table 1. MinLA for Full binary tree
k-레벨의 전 이진트리(complete binary tree)의 MinLA 비용 S(k)min에 대해 Cahit 추정(conjecture)[13]은 식 (1)과 같다.
S(k)min = (k - 1) × 2k - 1 (1)
이는 중위(in-order) 탐색 방법으로 각 노드에 번호를 부여한 방법과 동일하다. 반면에, Chung[14]은 식 (2)를 제안하였다.
S(k)min = 2k - 1 + 4 + S(k-1)min + 2S(k-2)min or
2k(k/3 + 5/18) + (-1)k(2/9) - 2, (k>4) (2)
Chung[14]은 그림 1과 같이 S(2)min = 2, S3min = 8, S(4)min = 24를 제시하였다. 또한, S(5)min = 25 - 1 + 4 + S(4)min + 2S(3)min = 24 + 4 + 24 + 2 × 8 = 60이 되는 MinLA를 제시하지 못하고 S(5)min = 62를 제시하였다. Chrobak과 Rytter[15]는 Naive 방법 (=중위 방법)으로 S(5)min = 64를 제안하였다.
그림 1. 2 ≤ k ≤ 5 정 이진트리의 MinLA
Fig. 1. MinLA for 2 ≤ k ≤ 5 full binary tree
k = 5인 정 이진트리에 대해 트리 탐색 알고리즘으로 구한 MinLA는 그림 2와 같다. 4가지 방법 중에서 중위탐색 방법이 가장 좋은 결과를 얻음을 알 수 있다. 2 ≤ k ≤ 10의 정 이진트리에 대해 Cahit[13]의 중위 탐색 방법과 Chung[14]의 방법으로 MinLA를 구한 결과는 표 2와 같다.
그림 2. k = 5 정 이진트리의 다양한 탐색 방법 MinLA
Fig. 2. Various search methods for k = 5 full binary tree
표 2. 정 이진트리의 MinLA
Table 2. MinLA for full binary tree
Chung[14]의 방법에 따르면 S(10)min = 3,696임을 알 수 있다. 그러나 Chung[14]의 식 (2)의 방법으로 S(k)min , k ≥ 5를 구할 수 있지만 실제로 MinLA를 구하기 위해 노드들에 번호를 부여하는 정확한 방법은 알려지지 않고 있다. 따라서 3장에서는 정 이진트리에 대한 S(k)min , k ≥ 5를 정확히 얻는 번호 부여 방법을 제안한다.
Ⅲ. 이진트리의 MinLA 알고리즘
정 이진트리에 대한 S(k)min , k ≥ 5를 정확히 얻는 번호부여 알고리즘은 다음과 같이 수행된다.
(1) 중위탐색 방법으로 노드들 번호 부여. /* O(n), n = 2k - 1 */ 주어진 k-레벨 정 이진트리에 대해 kth-레벨인 단 노드들 u에 1 ≤ n ≤ 2k - 1 번호 중 홀수(odd)를 순서대로 π(u) 배정.
k - 1 ≤ l ≤ 1 레벨의 부 노들 P들은 l + 1th 레벨의 자 노드 C1과 C2번호에 대해 \(\begin{align}\pi(P)=\frac{\pi\left(C_{1}\right)+\pi\left(C_{2}\right)}{2}\end{align}\)가 되도록 짝수(even) 배정. 이는 그림 3의 표준 중위탐색 번호부여 방법 적용.
그림 3. 중위탐색 번호 부여 방법
Fig. 3. In-order labeling method
(2) 2 ≤ l ≤ k - 3(k ≥ 6)에 대해 번호 재배정. 단, 2 ≤ l ≤ k - 2(k = 5) 수행. /* O(n), n = 2k - 3 - 2 */
(2-1) 재배정 범위 설정
해당 lth 레벨 값이 l - 1th 레벨 부 노드의 좌측에 있으면 값을 증가시키기 위해 l + 1th 레벨의 우측 자 노드를 선택하고 l + 1th 노드의 l + 2th 레벨이 단 노드가 아닌 경우 우측 자 노드 간선을 삭제. 반대로, lth 레벨 값이 l - 1th 레벨 부 노드의 우측에 있으면 값을 감소시키기 위해 l + 1th 레벨의 좌측 자 노드를 선택하고 l + 1th 노드의 l + 2th 레벨 좌측 자 노드가 단 노드가 아닌 경우 간선 삭제. 이때 lth 레벨 값과 l - 1th 레벨 값의 차이가 1인 노드는 생략.
(2-2) 번호 재배정
해당 lth 레벨 값이 l - 1th 레벨 부 노드의 좌측에 있으면 lth 레벨 값을 kth 레벨의 좌측 첫 번째로 이동시키고, +1씩 증가시키면서 그림 3의 변형 중위탐색 번호 부여 방법으로 번호 배정. 반대로, lth 레벨 값이 l - 1th 레벨 부 노드의 우측에 있으면 lth 레벨 값을 kth 레벨의 우측 첫 번째로 이동시키고, -1씩 감소시키면서 번호 배정.
k = 5인 정 이진트리에 대해 제안된 알고리즘을 적용한 결과는 그림 4와 같다. k = 5, 2 ≤ l ≤ k - 2인 레벨 2와 3에 존재하는 8,24,4,12,20,28에 대해 번호 재배열을 수행한다. 레벨 2의 8,24에 대해 번호 재조정 결과, 레벨 3에서는 4,11,21,28이 존재하며, |12 - 11| = |20 - 21| = 1이 되어 4와 28에 대해서만 번호 재배열을 수행하였다. 제안된 알고리즘은 S(5)min = 58을 얻어 Chung[14]의 S(5)min = 25 - 1 + 4 + S(4)min + 2S(3)min = 24 + 4 + 24 + 2 × 8 = 60보다 좋은 결과를 얻었다.
그림 4. k = 5 정 이진트리의 제안된 알고리즘 MinLA
Fig. 4. Proposed algorithm’s MinLA for k = 5 full binary tree
Ⅳ. 알고리즘 적용 및 결과 분석
본 장에서는 k = 6과 k = 7 정 이진트리의 MinLA를 구하여 Chung[14]의 수치적 방법을 증명한다. k = 6 정 이진트리에 대해 제안된 알고리즘을 적용한 결과는 그림 5에 제시하였다. k = 6, 2 ≤ l ≤ k - 3인 레벨 2의 16,48과 레벨 3의 8,24,40, 56에 대해 번호 재배열을 수행한다. 먼저, 레벨 2의 16과 48의 번호 재배열 결과 레벨 3에서는 8,23,41,56이 존재하며, |24 - 23| = |40 - 41| = 1이 되어 8과 56에 대해서만 번호 재배열이 수행된다.
그림 5. k = 6 정 이진트리의 제안된 알고리즘 MinLA
Fig. 5. Proposed algorithm’s MinLA for k = 6 full binary tree
k = 7 정 이진트리에 제안된 알고리즘을 적용한 결과는 그림 6에 제시하였다. k = 7, 2 ≤ l ≤ k - 3인 레벨 2,3,4에 대해 번호 재배열이 수행되었다.
그림 6. k = 7 정 이진트리의 제안된 알고리즘 MinLA
Fig. 6. Proposed algorithm’s MinLA for k = 7 full binary tree
k = 6과 k = 7 정 이진트리에 제안된 알고리즘으로 MinLA를 구한 결과 Chung[14]의 S(k)min = 2k - 1 + 4 + S(k - 1)min +2S(k - 2)min가 성립함을 알 수 있다. 따라서 제안된 알고리즘을 적용하면 S(10)min = 3,696을 얻을 수 있으며, 배정된 번호를 재배정하는 횟수는 k ≥ 6은 2k - 3 - 2회, k = 5는 2k - 2 - 2회이다. 따라서 제안된 알고리즘은 선형시간 복잡도 O(n)으로 정확한 해를 구하는 알고리즘으로 기존의 선형시간 복잡도 O(n)의 근사 알고리즘에 비해 월등한 성능을 보임을 알 수 있다.
Ⅴ. 결론
본 논문은 정 이진트리의 MinLA의 근사 해를 선형시간 복잡도 O(n)으로 구하는 기존 방법들에 비해 O(n)으로 정확한 해를 구하는 알고리즘을 제안하였다.
제안된 알고리즘은 중위탐색 방법으로 번호를 부여하고, 2 ≤ l ≤ k - 3, (k ≥ 6) 레벨에 존재하는 노드들의 번호를 재배정하는 방법으로 정확한 해를 구하였다. 제안된 알고리즘은 Chung[14]의 S(k)min = 2k - 1 + 4 + S(k - 1)min +2S(k - 2)min 이론이 성립함을 증명하였다. 또한, S(5)min에 대해서는 Chung[14]의 60보다 좋은 58을 얻는데 성공하였다. 기존의 근사 알고리즘들은 결과 값만을 제시하고 실제 번호배열 순서를 제시하지 않고 있다. 반면에 제안된 알고리즘은 k의 값에 상관없이 항상 정확한 해를 구할 뿐 아니라 정확한 번호 부여 배열 결과도 제시하는 특징이 있다. 따라서 이진트리에 대해 정확한 해도 구하지 못하고, 번호 배열순서도 제시하지 못하는 기존의 근사 알고리즘을 적용하지 않아도 된다.
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.
- 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.
- F. R. K. Chung, "Some Problems and Results in Labelings of Graphs," The Theory and Application of Graphs, John Wiley and Sons, pp. 255-264, 1981.
- F. R. K. Chung, "A Conjectured Minimum Validation Tree," SIAM Review, Vol. 20, No. 3, pp. 601-604, Jul. 1977, https://doi.org/10.1137/1020084
- M. Chrobak and W. Rytter, "Two Results on Linear Embeddings of Complete Binary Trees," Theoretical Computer Science, Vol. 136, No. 2, pp. 507-526, Dec. 1994, https://doi.org/10.1016/0304-3975(94) 00036-I