DOI QR코드

DOI QR Code

Generalized Borůvka's Minimum Spanning Tree Algorithm

일반화된 Borůvka 최소신장트리 알고리즘

  • Choi, Myeong-Bok (Dept. of Multimedia Engineering, Gangnung-Wonju National University Wonju Campus) ;
  • Lee, Sang-Un (Dept. of Multimedia Engineering, Gangnung-Wonju National University Wonju Campus)
  • 최명복 (강릉원주대학교, 멀티미디어공학과) ;
  • 이상운 (강릉원주대학교, 멀티미디어공학과)
  • Received : 2012.08.09
  • Accepted : 2012.12.14
  • Published : 2012.12.31

Abstract

Given a connected, weighted, and undirected graph, the Minimum Spanning Tree (MST) should have minimum sum of weights, connected all vertices, and without any cycle taking place. Borůvka Algorithm is firstly suggested as an algorithm to evaluate the MST, but it is not widely used rather than Prim and Kruskal algorithms. Borůvka algorithm selects the Minimum Weight Edge (MWE) from each vertex with distinct weights in $1^{st}$ stage, and selects the MWE from each MSF (Minimum Spanning Forest) in $2^{nd}$ stage. But the cycle check and the number of MSF in $1^{st}$ stage and $2^{nd}$ stage are difficult to implication by computer program even if it is easy to verify visually. This paper suggests the generalized Borůvka Algorithm, This algorithm selects all of the same MWEs for each vertex, then checks the cycle and constructs MSF for ascending sorted MWEs. Kruskal method bring into this process. if the number of MSF greats then 1, this algorithm selects MWE from ascending sorted inter-MSF edges. The generalized Borůvka algorithm is verified its application by being applied to the 7 graphs with the many minimum weights or distinct weight edges for any vertex. As a result, the generalized Borůvka algorithm is less required for cycle verification then the Kruskal algorithm. Therefore, the generalized Borůvka algorithm is more fast to obtain MST then Kruskal algorithm.

무방향성, 가중치를 가진 그래프에서 최소신장트리(Minimum Spanning Tree, MST)는 사이클이 발생하지 않으면서 모든 정점들을 간선들로 연결한 그래프로 간선들의 가중치 합이 최소가 되어야 한다. 최소신장트리(MST)를 구하는 알고리즘으로 Borůvka 알고리즘이 가장 먼저 제안되었지만 일반적으로 사용되지 않고, Prim과 Kruskal 알고리즘이 일반적으로 널리 알려져 왔다. Borůvka 알고리즘은 각 정점에서 최소 가중치를 갖는 간선(Minimum Weight Edge, MWE)을 선택하고 사이클을 제거하는 $1^{st}$ Stage와 MSF(Minimum Spanning Fores)의 MWE를 선택하는 $2^{nd}$ Stage를 수행한다. 이 과정은 시각적으로는 쉽게 MWE를 구하지만 프로그램으로 구현하는데 어려움이 있다. 본 논문은 일반화된 Borůvka 알고리즘을 제안한다. $1^{st}$ Stage에서 각 정점에서 MWE들을 모두 선택하고, Kruskal 방법을 도입하여 오름차순으로 정렬된 MWE들에 대해 사이클의 최대 가중치 간선을 제거하면서 MSF를 형성시킨다. 만약, MSF가 1개 이상 발생하면 $2^{nd}$ Stage에서 MSF 간선들을 오름차순으로 정렬시켜 MWE를 선택하였다. 제안된 알고리즘을 7개의 여러 간선들 가중치가 동일하거나 상이한 그래프에 적용하여 알고리즘 적합성을 검증하였다. 검증 결과, 일반화된 Borůvka 알고리즘은 사이클 검증에 요구되는 간선 수가 Kruskal 알고리즘보다 적어 보다 빠르게 MST를 구할 수 있었다.

Keywords

References

  1. Wikipedia, "Minimum Spanning Tree," http://en.wikipedia.org/wiki/Minimum_spanning_tree, Wikipedia Foundation Inc., 2010.
  2. O. Boruvka, "O Jistem Problemu Minimalnim," Prace Mor. Prrodved. Spol. V Brne (Acta Societ. Natur. Moravicae), vol. III, no. 3, pp. 37-58, 1926.
  3. J. Nesetril, E. Milkova, and H. Nesetrilova, "Otakar Boruvka on Minimum Spanning Tree Problem (Translation of the both 1926 Papers, Comments, History)," DMATH: Discrete Mathematics, vol. 233, 2001.
  4. R. C. Prim, "Shortest Connection Networks and Some Generalisations," Bell System Technical Journal, vol. 36, pp. 1389-1401, 1957. https://doi.org/10.1002/j.1538-7305.1957.tb01515.x
  5. J. B. Kruskal, "On the Shortest Spanning Subtree and The Traveling Salesman Problem," Proceedings of the American Mathematical Society, vol. 7, pp. 48-50, 1956. https://doi.org/10.1090/S0002-9939-1956-0078686-7
  6. Wikipedia, Reverse-Delete Algorithm," http://en.wikipedia.org/wiki/Reverse-delete_algorithm, Wikipedia Foundation Inc., 2010.
  7. J. Erickson, "CS 473G - Graduate Algorithms," Dept. of Computer Science, University of Illinois, 2005.
  8. D. Pe'er and A. Wigderson, "On Minimum Spanning Trees," Hebrew University, MSc Thesis, 1998.
  9. Wikipedia, Boruvka Algorithm," "http://en.wikipedia.org/wiki/Boruvka_algorithm, Wikipedia Foundation Inc., 2010.
  10. J. Eisner, "State-of-the-Art Algorithms for Minimum Spanning Trees: A Tutorial Discussion," University of Pensylvania, 1997.
  11. S. Pettie and V. Ramachndran, "An Optimal Minimum Spanning Tree Algorithm," Journal of the ACM, vol. 49, no. 1, pp. 16-34, 2002. https://doi.org/10.1145/505241.505243
  12. Wikipedia, "Reverse-Delete Algorithm," http://en.wikipedia.org/wiki/Reverse_Delete_algorithm, 2008.
  13. J. Kleinberg and E. Tardos, "Algorithm Design," New York: Pearson Education, Inc., 2006.
  14. C. Peiper, CS 400 - Data Structures for Non CS-Majors," http://www.cs.uiuc.edu/class/fa05/cs400/_labs/Lab12/suuri/, 2005.
  15. Yong-Jin Lee, Dong-Woo Lee, "Minimum Cost Spanning Tree Problem in Wireless Sensor Network and Heuristic Algorithm," Journal of Advanced Information Technology and Convergence, pp. 275-282, vol. 7, no. 4, 2009. 8.
  16. Dongyoung Shin, Joonseok Park, "A Performance Improvement for Tree Search using Dynamic Load Balancing between CPU and GPGPU," Journal of Advanced Information Technology and Convergence, vol. 10, no. 2, pp. 132-140, 2012. 2.