• 제목/요약/키워드: Minimum Spanning Forest

검색결과 3건 처리시간 0.017초

방향그래프의 최소신장트리 알고리즘 (A Minimum Spanning Tree Algorithm for Directed Graph)

  • 최명복;이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제11권5호
    • /
    • pp.159-171
    • /
    • 2011
  • 본 논문에서는 방향 그래프의 최소신장트리(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의 근 노드를 찾는 장점도 갖고 있다.

하이브리드 최소신장트리 알고리즘 (Hybrid Minimum Spanning Tree Algorithm)

  • 이상운
    • 정보처리학회논문지A
    • /
    • 제17A권3호
    • /
    • pp.159-166
    • /
    • 2010
  • 본 논문에서는 여러 간선들이 동일한 가중치를 갖고 있는 그래프에서 최소신장트리 (Minimum Spanning Tree, MST)를 얻기 위해 Bor$\dot{u}$vka, Prim과 Kruskal MST 알고리즘을 실제 그래프에 적용한 결과 Bor$\dot{u}$vka와 Kruskal MST 알고리즘은 MST를 얻었지만 Prim MST 알고리즘은 MST를 얻는데 실패함을 보였다. 또한, Bor$\dot{u}$vka의 $2^{nd}$ Stage에서 Inter-MSF MWE를 선택하는 알고리즘이 복잡함을 알 수 있었다. Bor$\dot{u}$vka의 $1^{st}$ Stage는 최소한의 간선들로 최소신장 포레스트 (Minimum Spanning Forest, MSF)를 얻는 장점을 갖고 있으며, Kruskal MST 알고리즘은 모든 간선들을 대상으로 하지만 항상 MST를 얻는 장점을 갖고 있다. 따라서 본 논문은 Bor$\dot{u}$vka의 $1^{st}$ Stage와 Kruskal MST 알고리즘의 장점을 결합한 하이브리드 MST 알고리즘을 제안하였다. 하이브리드 MST 알고리즘을 추가적으로 6개의 그래프에 적용한 결과 Kruskal MST 알고리즘과 동일하게 항상 MST를 얻음을 검증하였다. 또한, 알고리즘 수행속도와 메모리 용량 측면에서 비교한 결과 하이브리드 MST 알고리즘이 가장 좋은 성능을 보였다. 따라서 제안된 알고리즘을 일반화된 MST 알고리즘으로 채택이 가능할 것이다.

일반화된 Borůvka 최소신장트리 알고리즘 (Generalized Borůvka's Minimum Spanning Tree Algorithm)

  • 최명복;이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제12권6호
    • /
    • pp.165-173
    • /
    • 2012
  • 무방향성, 가중치를 가진 그래프에서 최소신장트리(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를 구할 수 있었다.