DOI QR코드

DOI QR Code

방향그래프의 최소신장트리 알고리즘

A Minimum Spanning Tree Algorithm for Directed Graph

  • 최명복 (강릉원주대학교 멀티미디어공학과) ;
  • 이상운 (강릉원주대학교 멀티미디어공학과)
  • 투고 : 2011.07.27
  • 심사 : 2011.10.14
  • 발행 : 2011.10.31

초록

본 논문에서는 방향 그래프의 최소신장트리(Directed Graph Minimum Spanning Tree, DMST)를 구하는 알고리즘을 제안하였다. 기존의 Chu-Liu/Edmonds DMST 알고리즘은 DMST를 찾지 못하거나 ST의 가중치 합이 최소가 되지 못하는 경우가 발생한다. 제안된 알고리즘은 Chu-Liu/Edmonds DMST 알고리즘의 단점을 보완하여 항상 DMST를 찾을 수 있도록 하였다. 먼저, 근 노드를 포함한 모든 노드의 최소 가중치를 갖는 유입 호 (Minimum-Weight Arc, MWA)를 선택하여 오름차순으로 정렬시킨 후 사이클이 발생하는 호를 제거하는 과정을 거쳤다. 이 과정에서 최소신장 포레스트 (Minimum Spanning Forest, MSF)가 얻어진다. 만약 MSF가 1개이면 DMST가 얻어지며, MSF가 2개 이상인 경우, MSF 유입 호들 중 최소 가중치를 갖는 호를 결정하기 위해 직접 가중치 합을 계산하는 방법을 택하여 Chu-Liu/Edmonds DMST 알고리즘의 사이클 해결을 위한 유입 호 가중치 수정 과정을 단순화 시켰다. 제안된 Sulee DMST 알고리즘은 근 노드가 지정되어 있거나 미 지정된 경우 모두 항상 호들의 가중치를 최소화 시키는 DMST를 얻을 수 있으며, 그래프의 가중치가 최소화된 ST의 근 노드를 찾는 장점도 갖고 있다.

This paper suggests an algorithm that obtains the Minimum Spanning Tree for directed graph (DMST). The existing Chu-Liu/Edmonds DMST algorithm has chances of the algorithm not being able to find DMST or of the sum of ST not being the least. The suggested algorithm is made in such a way that it always finds DMST, rectifying the disadvantage of Chu-Liu/Edmonds DMST algorithm. Firstly, it chooses the Minimum-Weight Arc (MWA) from all the nodes including a root node, and gets rid of the nodes in which cycle occurs after sorting them in an ascending order. In this process, Minimum Spanning Forest (MST) is obtained. If there is only one MSF, DMST is obtained. And if there are more than 2 MSFs, to determine MWA among all MST nodes, it chooses a method of directly calculating the sum of all the weights, and hence simplifies the emendation process for solving a cycle problem of Chu-Liu/Edmonds DMST algorithm. The suggested Sulee DMST algorithm can always obtain DMST that minimizes the weight of the arcs no matter if the root node is set or not, and it is also capable to find the root node of a graph with minimized weight.

키워드

참고문헌

  1. Wikipedia, http://en.wikipedia.org/wiki/Minimum _spanning_tree, Wikimedia Foundation Inc., 2007.
  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. Milkov'a, and H. Nesetrilov'a, "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. P. A. Jensen, "Operations Research Models and Methods," John Wiley and Sons, 2003.
  7. S. Boyd, "Applications of Combinational Optimization: Optimal Paths and Trees," http://www.site.uottawa.ca /-sylvia/csi5166web/5166tespg26to61.pdf, School of Information Technology and Engineering (SITE), University of Ottawa, Canada, 2005.
  8. C. Duhamel, L. Gouveia, P. Moura, and M. C. Souza, "Models and Heuristics for a Minimum Arborescence Problem," Research Report LIMOS /RR-04-13, http://www.isima.fr/limos/publi/ RR-04-13.pdf, 2004.
  9. S. J. Yang, "The Directed Minimum Spanning Tree Problem," http://www.ce.rit.edu/-sjyeec/dmst.html, 2000.
  10. A. Schrijver, "Advanced Graph Theory and Combinatorial Optimization," Dept. of Mathematics, University of Amsterdam, Netherlands, http://citeseer.ist.psu.edu/schrijver01advanced.html, 2001.
  11. N. Bezroukov, "Minimum Spanning Trees," Softpanorama, http://www.softpanorama.org/Algorithms/Digraphs/mst.shtml, 2006.
  12. Wikipedia, "Tree(Graph Theory)," http://en.wikipedia.org/wiki/Tree_graph_Theory/, 2007.
  13. R. Krishnam, B and Raghavachari, "The Directed Minimum-Degree Spanning Tree Problem," FSTTCS 2001, LNCS 2245, pp. 232-243, 2001.
  14. T. UNO, "An Algorithm for Enumerating all Directed Spanning Trees in a Directed Graph," International Symposium on Algorithm and Computation(ISAAC96), pp. 166-173, 1996.
  15. M. Llewellyn, "COP 3503: Computer Science II - Introduction to Graphs," http://www.cs.ucf.edu/courses/cop3503/summer04, 2004.
  16. K. Ikeda, "Mathematical Programming," Dept. Information Science and Intelligent Systems, The University of Tokushima, http://www-b2.is. tokushima-u.ac.jp/-ikeda/suuri/maxflow/ Maxflow App.shtml. 2005.
  17. WWL. Chen, "Discrete Mathematics," Department of Mathematics, Division of ICS, Macquarie University, Australia, http://www.maths.mq.edu.au/-wchen/lndmfolder/ lndm.html, 2003.
  18. R. Wenger, "CIS 780: Analysis of Algorithms," http://www.cse.ohio-state.edu/-wenger/cis780/ shortest_path.pdf, 2004.
  19. J. R. N. Forbes, "CPS196.2 Robotics: Graphs and Matrices," http://www.cs.duke.edu/courses/ cps196.2/fall03/pdf/graphs_and_matrices.pdf
  20. C. List, "MT303: Operations Research Graphs & Networks - Handout 3," Department of Mathematics, National University of Ireland, http://www,maths.may.ie/clist/teching/netw_handout_3. pdf, 2003.
  21. 이용진, 이동우, "WSN의 최소비용 신장트리 문제와 휴리스틱 알고리즘," 한국정보기술학회논문지, 제7권, 제4호, pp. 275-282, 2009.
  22. 박양재, 이정현, "무선 이동 에드 혹 네트워크에서 효율적인 코어- 기반 멀티캐스트 트리," 한국정보기술학회논문지, 제1권, 제1호, pp. 32-44, 2003.
  23. 임은기, "자료흐름도로부터 데이터베이스 테이블 설계순서를 추출하는 알고리즘," 한국정보기술학회논문지, 제5권, 제4호, pp. 226-233, 2007.