초록
본 논문에서는 무방향 그래프의 최소신장트리 (Minimum Spanning Tree, MST) 알고리즘인 Prim MST 알고리즘으로 방향 그래프의 최소신장트리 (DMST)를 구하는 알고리즘을 제안하였다. 먼저, 무방향 그래프와 방향 그래프의 차이점을 반영하여 각 노드에서 유출되는 호들 중 최소 가중치를 가진 호 (Minimum Weight Arc, MWA)를 선택하는 Prim DMST 알고리즘을 제안하였다. 다음으로 Prim DMST 알고리즘과 DMST의 대표적인 Chu-Liu/Edmonds DMST 알고리즘을 실제 3개 그래프에 적용하여 DMST를 찾지 못하는 단점을 보였다. 마지막으로 항상 DMST를 찾을 수 있는 알고리즘으로 Prim DMST를 변형시킨 진보된 Prim DMST 알고리즘을 제안하였다. Prim DMST 알고리즘은 각 노드의 유출 호들 중 MWA를 선택하는 방법이다. 반면에 진보된 Prim DMST 알고리즘은 각 노드의 유출 호들과 유입 호들 중 일치하는 호들을 선택하는 방법을 택하였으며, 만약에 일치하는 호가 없을 경우 각 노드의 유출 호들 중 MWA를 선택하는 방법이다. 제안된 알고리즘을 17개의 다양한 그래프에 적용한 결과, 항상 Chu-Liu/Edmonds DMST 알고리즘과 동일한 DMST를 찾는데 성공하였다. 또한, Chu-Liu/Edmonds DMST 알고리즘과 같이 사이클을 제거하기 위한 복잡한 계산을 하지 않아도 되며, Prim DMST 알고리즘 보다 수행속도를 크게 단축시킬 수 있었다.
This paper suggests an algorithm that obtains Directed Graph Minimum Spanning Tree (DMST), using Prim MST algorithm which is Minimum Spanning Tree (MST) of undirected graph. At first, I suggested the Prim DMST algorithm that chooses Minimum Weight Arc(MWA) from out-going nodes from each node, considering differences between undirected graph and directed graph. Next, I proved a disadvantage of Prim DMST algorithm and Chu-Liu/Edmonds DMST (typical representative DMST) of not being able to find DMST, applying them to 3 real graphs. Last, as an algorithm that can always find DMST, an advanced Prim DMST is suggested. The Prim DMST algorithm uses a method of choosing MWA among out-going arcs of each node. On the other hand, the advanced Prim DMST algorithm uses a method of choosing a coinciding arc from the out-going and in-going arcs of each node. And if there is no coinciding arc, it chooses MWA from the out-going arcs from each node. Applying the suggested algorithm to 17 different graphs, it succeeded in finding the same DMST as that found by Chu-Liu/Edmonds DMST algorithm. Also, it does not require such a complicated calculation as that of Chu-Liu/Edmonds DMST algorithm to delete the cycle, and it takes less time for process than Prim DMST algorithm.