• 제목/요약/키워드: Kruskal 알고리즘

검색결과 17건 처리시간 0.021초

Kruskal과 역-삭제 최소신장트리 알고리즘의 효율적 구현 방법 (An Efficient Implementation of Kruskal's and Reverse-Delete Minimum Spanning Tree Algorithm)

  • 최명복;이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제13권2호
    • /
    • pp.103-114
    • /
    • 2013
  • 본 논문은 최소신장트리를 구하는 Kruskal과 역-삭제 알고리즘의 수행 횟수를 줄이는 방법을 제안하였다. 기존의 Kruskal과 역-삭제 알고리즘은 그래프의 모든 간선들을 대상으로 사이클이 발생하는지 여부를 검증한다. 이로 인해 알고리즘 수행 과정에서 이미 최소신장트리를 얻었음에도 불구하고 나머지 간선들에 대해 알고리즘을 추가로 불필요하게 수행하는 문제점을 갖고 있다. 본 논문은 먼저, Kruskal과 역-삭제 알고리즘과 동일하게 모든 간선들을 대상으로 알고리즘은 수행하지만 알고리즘 종료 시점 기준을 적용하여 수행 횟수를 줄이는 "제1방법"을 제안하였다. 다음으로, 최소신장트리에 전혀 영향을 미치지 않는 불필요한 간선을 사전에 제거하고 남은 간선들을 대상으로 최소신장트리를 찾는 "제2방법"을 제안하였다. 제안된 방법들을 실제 그래프들에 적용한 결과 기존의 Kruskal과 역-삭제 알고리즘보다 최소 1.4배에서 최대 3.86배 빨리 알고리즘을 종료시키는 효과를 얻었다. 제안된 2개 방법을 2개 알고리즘에 적용한 4개 알고리즘 중에서 역-삭제 알고리즘 "제2방법"이 가장 빨리 알고리즘을 종료시키는 결과를 얻었다.

하이브리드 최소신장트리 알고리즘 (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 알고리즘으로 채택이 가능할 것이다.

2-간선 연결 그래프를 사용한 최소신장트리 알고리즘 제안 (Proposal of Minimum Spanning Tree Algorithm using 2-Edges Connected Grap)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제14권4호
    • /
    • pp.233-241
    • /
    • 2014
  • 본 논문은 원 그래프를 2-간선 연결 그래프로 단순화하고, 사이클 속성을 적용하여 최소신장트리를 빠르게 얻는 알고리즘을 제안하였다. Borůvka 알고리즘은 정점 (v) 당 최소 가중치 간선 (v) 을 1개씩 선택하는 1-간선 연결 그래프에 대해 사이클 속성을 적용하여 부분신장트리를 얻는다. 추가적으로 절단속성을 적용하여 부분신장트리를 연결하는 최소 가중치 간선을 선택한다. Kruskal 알고리즘은 그래프의 모든 간선을 대상으로 오름차순으로 절단 속성을 적용한다. 역-삭제 알고리즘은 내림차순으로 사이클 속성을 적용한다. Borůvka, Kruskal과 역-삭제 알고리즘은 모든 간선들을 대상으로 하기 때문에 항상 |e| 회 수행된다. 제안된 알고리즘은 첫 번째로, 정점 당 최소 가중치 간선을 2개씩 선택하는 2-간선 연결 그래프를 얻는다. 두 번째로, 2-간선 연결 그래프에 대해 사이클 속성을 적용하여 |e|=|v|-1 일 때 알고리즘을 종료시켰다. 제안된 방법들을 10개의 실제 그래프들에 적용한 결과 모두 최소신장트리를 얻는데 성공하였다. 또한, Borůvka, Kruskal과 역-삭제 알고리즘에 비해 수행 횟수를 60% 단축시켰다.

일반화된 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를 구할 수 있었다.

유전 알고리즘과 Kruskal 알고리즘을 이용한 배전계통 재구성에 관한 연구 (A Study on Distribution System Reconfiguration using GA and Kruskal Algorithm)

  • 안진오;김세호
    • 대한전기학회논문지:전력기술부문A
    • /
    • 제49권3호
    • /
    • pp.118-123
    • /
    • 2000
  • This paper presents an efficient algorithm for loss reduction and load balancing by sectionalizing switch operation in large scale distribution system of radial type. We use Genetic algorithm and Kruskal algorithm to solve distribution system reconfiguration. Genetic algorithm is used to minimize objective function including loss and load balancing items. Kruskal algorithm is used to satisfy the radial condition of distribution system. The experimental results show that the proposed method has the ability to search a good solution regardless of initial configuration and size of system.

  • PDF

크루스칼 알고리즘과 불규칙 삼각망을 이용한 유역 추출 알고리즘 (Watershed Delineation Algorithm Using Kruskal's Algorithm and Triangulated Irregular Network)

  • 박미정;허현;김태곤;서교;이정재
    • 한국농공학회논문집
    • /
    • 제48권4호
    • /
    • pp.3-12
    • /
    • 2006
  • Watershed is the land area that contributes runoff to an outlet point. To delineate an watershed, watershed delineation using GIS that contains grid data structure is the most general method. Some researchers have studied to implement algorithms that revise the TIN topography since it is difficult to delineate watershed boundary more accurately. In this study kruskal's greedy algorithm and triangulated irregular network (TIN) were used to delineate a watershed. This method does not require a conversion from to DEM in grid and automatically obtain(generates) the oulet points. Delineation algorithm was tested in Geosan-gun, Chung-cheongbuk-do and get small watershed areas. Finally, kruskal's algorithm could operate more precisely with revision algorithm.

간선 모집단 규모축소 기법을 적용한 빠른 최소신장트리 결정 (Fast Determination of Minimum Spanning Tree Based on Down-sizing Technique of Edges Population)

  • 이상운;최명복
    • 한국인터넷방송통신학회논문지
    • /
    • 제14권1호
    • /
    • pp.51-59
    • /
    • 2014
  • 논문은 최소신장트리를 보다 빠르게 구하기 위해 그래프의 간선 모집단을 축소시키는 방법을 제안하였다. 기존의 최소신장트리 알고리즘은 그래프의 모든 간선을 대상으로 한다. 반면에, 제안된 알고리즘은 사전에 결합가가 3 이상인 정점에 대해 최대 가중치 간선을 삭제하는 방법을 적용하여 간선 모집단 크기를 축소시킨다. 다음으로 축소된 간선 모집단을 대상으로 Borůvka, Prim, Kruskal과 역-삭제 알고리즘을 최적으로 종료시키는 종료시점 기준을 적용하였다. 9개 그래프에 제안된 알고리즘을 적용한 결과 MST에 기여를 하지 못하는 간선을 사전에 평균 38% 축소시킬 수 있었다. 또한, 원래의 그래프를 대상으로 하는 경우와 비교 결과 알고리즘에서 비교되는 간선의 수를 Borůvka는 38%, Prim은 37%, Kruskal은 39%, 역-삭제 알고리즘은 73%를 단축시켜 신속하게 최소신장트리를 구하였다.

선택-삭제 최소신장트리 알고리즘 (Minimum Spanning Tree with Select-and-Delete Algorithm)

  • 최명복;이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제13권4호
    • /
    • pp.107-116
    • /
    • 2013
  • 본 논문은 알고리즘 수행 횟수를 줄여 최소신장트리를 빨리 얻는 방법을 제안하였다. 제안된 알고리즘은 선택과 삭제 과정을 수행한다. 선택 과정은 먼저, 그래프의 모든 정점들에 대해 Borůvka의 첫 번째 단계를 수행하고, 특정 정점들에 대해 Borůvka의 첫 번째 단계를 재 수행하여 간선들의 모집단을 축소시키는 결과를 얻었다. 삭제 과정은 축소된 모집단 간선들에 대해 3개 정점들 간에 사이클이 발생할 경우 최대 가중치 간선을 삭제한다. 나머지 간선들 중 최대 가중치 간선에 대해 결합가 개념을 적용하여 삭제한다. 마지막으로 결합가가 큰 정점들 간의 사이클이 발생하는 경우 최대 가중치 간선을 삭제하는 기법을 적용하였다. 선택-삭제 알고리즘을 9개의 다양한 그래프에 적용하여 알고리즘 적용성을 평가하였다. 제안된 선택 과정은 MST 알고리즘을 최적으로 수행해야 하는 간선의 수와 비교시 6개는 적은 개수를, 3개 그래프만이 1개 큰 간선을 선택하는 결과를 나타내어 최적으로 간선을 선택하는 방법임을 알 수 있다. 삭제 단계를 Kruskal 알고리즘을 적용할 경우 Kruskal 알고리즘을 최적으로 수행하는 횟수와 비교한 결과 6개의 그래프는 수행 횟수가 적은 반면, 3개 그래프는 1회 많게 수행하는 결과를 얻었다. 또한, 제안된 삭제 단계를 수행할 경우 1개 그래프는 1단계만, 5개 그래프는 2단계까지, 나머지 3개 그래프만이 3단계를 수행하는 결과를 나타내었다. 결국, 선택-삭제 알고리즘이 MST 알고리즘들 중에서 가장 적은 수행 횟수를 나타내었다.

k-opt를 적용한 차수 제약 최소신장트리 알고리즘 (A Degree-Constrained Minimum Spanning Tree Algorithm Using k-opt)

  • 이상운
    • 한국컴퓨터정보학회논문지
    • /
    • 제20권5호
    • /
    • pp.31-39
    • /
    • 2015
  • 방향 가중 그래프의 차수제약 최소신장트리 (degree-constrained minimum spanning tree, d-MST) 문제는 정확한 해를 구하는 다항시간 알고리즘이 존재하지 않아 NP-완전 문제로 알려져 왔다. 따라서 휴리스틱한 근사 알고리즘을 적용하여 최적 해를 구하고 있다. 본 논문은 차수와 사이클을 검증하는 Kruskal 알고리즘으로 d-MST의 초기 해를 구하고, d-MST의 초기 해에 대해 k-opt를 수행하여 최적 해를 구하는 다항시간 알고리즘을 제안하였다. 제안된 알고리즘을 4개의 그래프에 적용한 결과 2-MST까지 최적 해를 구할 수 있었다.

최소신장트리를 위한 크루스칼 알고리즘의 효율적인 구현 (An Efficient Implementation of Kruskal's Algorithm for A Minimum Spanning Tree)

  • 이주영
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권7호
    • /
    • pp.131-140
    • /
    • 2014
  • 본 논문에서는 최소신장트리를 구하는 크루스칼 알고리즘의 효율적인 구현 방법을 제시한다. 제시하는 방법은 union-find 자료구조를 이용하며, 노드 집합을 나타내는 각 트리의 깊이를 줄이기 위해 union 연산시 루트까지의 경로에 있는 노드들의 위치를 최종 루트의 자식노드로 직접 이동하여 깊이를 줄이도록 하는 방법이다. 이 방법은 루트까지의 경로를 축소하고 노드의 레벨을 축소시킴으로써 트리의 깊이도 줄일 수 있다. 트리의 깊이가 줄어든다면 노드가 속하는 트리의 루트를 찾는 시간을 줄일 수 있게 되어 효율적인 방법이라 할 수 있다. 본 장에서 제안하는 방법을 그래프로 평가해보고 분석해 본 결과, 기존의 union() 방법이나 경로축소방법인 union2() 보다 트리의 깊이를 작게 유지함을 알 수 있다.