DOI QR코드

DOI QR Code

Algorithm for Minimum Linear Arrangement(MinLA) of Binary Tree

이진트리의 최소선형배열 알고리즘

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

Abstract

In the deficiency of an exact solution yielding algorithm, approximate algorithms remain as a solely viable option to the Minimum Linear Arrangement(MinLA) problem of Binary tree. Despite repeated attempts by a number of algorithm on k = 10, only two of them have been successful in yielding the optimal solution of 3,696. This paper therefore proposes an algorithm of O(n) complexity that delivers the exact solution to the binary tree. The proposed algorithm firstly employs an In-order search method by which n = 2k - 1 number of nodes are assigned with a distinct number. Then it reassigns the number of all nodes that occur on level 2 ≤ 𝑙 ≤ k-2, (k = 5) and 2 ≤ 𝑙 ≤ k-3, (k = 6), including that of child of leaf node. When applied to k=5,6,7, the proposed algorithm has proven Chung[14]'s S(k)min=2k-1+4+S(k-1)min+2S(k-2)min conjecture and obtained a superior result. Moreover, on the contrary to existing algorithms, the proposed algorithm illustrates a detailed assignment method. Capable of expeditiously obtaining the optimal solution for the binary tree of k > 10, the proposed algorithm could replace the existing approximate algorithms.

이진트리의 최소 선형 배열(MinLA) 문제의 해는 선형 복잡도 O(n)의 근사 알고리즘으로 구하고 있으며, k = 10에 대해 다양한 근사 알고리즘 수행 결과가 제시되어 있고, 단지 2개 알고리즘만이 최적 해 3,696을 얻었다. 본 논문은 이진트리의 정확한 해를 O(n) 복잡도로 구하는 알고리즘을 제안하였다. 제안된 알고리즘은 먼저, n = 2k - 1개 노드들에 중위 탐색(in-order search) 방법으로 번호를 부여하고, 2 ≤ 𝑙 ≤ k-2, (k = 5)와 2 ≤ 𝑙 ≤ k-3, (k = 6) 레벨에 존재하는 노드들에 대해 단 노드 자식들까지의 범위를 대상으로 번호를 재배열하는 방법을 적용하였다. 제안된 알고리즘을 k=5,6,7에 적용한 결과 Chung[14]의 S(k)min=2k-1+4+S(k-1)min+2S(k-2)min 이론을 증명하였으며, S(5)min에 대해서는 Chung[14]의 60보다 좋은 58을 얻었다. 또한, 기존의 근사 알고리즘들은 배열 결과를 제시하지 않고 있는데 비해 제안된 알고리즘은 정확한 배열 방법도 제시하는 장점을 갖고 있다. 따라서 제안된 알고리즘은 k > 10인 이진트리에 대해서도 항상 빠르게 최적의 해를 얻을 수 있기 때문에 기존의 근사 알고리즘을 적용하지 않아도 된다.

Keywords

Ⅰ. 서론

주어지 그래프 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

OTNBBE_2024_v24n2_99_2_t0001.png 이미지

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와 같다.

OTNBBE_2024_v24n2_99_3_f0002.png 이미지

그림 2. k = 5 정 이진트리의 다양한 탐색 방법 MinLA

Fig. 2. Various search methods for k = 5 full binary tree

표 2. 정 이진트리의 MinLA

OTNBBE_2024_v24n2_99_3_t0001.png 이미지

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의 표준 중위탐색 번호부여 방법 적용.

OTNBBE_2024_v24n2_99_4_f0001.png 이미지

그림 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보다 좋은 결과를 얻었다.

OTNBBE_2024_v24n2_99_4_f0002.png 이미지

그림 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에 대해서만 번호 재배열이 수행된다.

OTNBBE_2024_v24n2_99_5_f0001.png 이미지

그림 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에 대해 번호 재배열이 수행되었다.

OTNBBE_2024_v24n2_99_5_f0002.png 이미지

그림 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

  1. 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 
  2. 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 
  3. 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 
  4. J. Petit, "Approximation Heuristics and Benchmarkings for the MinLA Problem," Building Bridges Between Theory and Applications, pp. 112-128, Feb. 1998. 
  5. T. Poranen, "A Genetic Hillclimbing Algorithm for the Optimal Linear Arrangement Problem," Fundamenta Informaticae, Vol. 68, No. 4, pp. 333-356, Dec. 2005. 
  6. 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 
  7. 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. 
  8. 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 
  9. 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 
  10. 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 
  11. 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 
  12. 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. 
  13. 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. 
  14. 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 
  15. 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