컴퓨터프로그래밍

크루스 칼의 알고리즘 - 최적의 프레임 워크의 건설

에서 19 세기 초 기하 야콥 스타이너에서 베를린 세트 작업의 방법 연결 세 마을 그래서 그 길이 된 짧은. 나중에, 그는 문제를 요약 : 평면에서 지점을 찾을 필요, n은 다른 점 그것으로부터의 거리가 가장 낮았다. 20 세기에,이 주제에 계속 작동합니다. 그것은 몇 점을 가지고 그들 사이의 거리가 가장 짧은이었다 같은 방식으로 연결하기로 결정했다. 이 모든 연구되고 문제의 특별한 경우이다.

"욕심"알고리즘

크루스 칼의 알고리즘은 "욕심"알고리즘 (또한 그라데이션)을 의미합니다. 이들의 본질 - 각 단계에서 가장 높은 승리. 항상, "욕심"알고리즘은 문제에 대한 최적의 솔루션을 제공합니다. 이론은 특정 작업에 대한 그들의 응용 프로그램에서 그들이 최적의 솔루션을 제공 보여주는,있다. 이 matroids의 이론이다. 크루스 칼의 알고리즘은 이러한 문제를 의미합니다.

최소 도체 무게를 찾기

본 알고리즘은 최적의 프레임 수를 구성한다. 다음과 같이의 문제입니다. 단 병렬 가장자리와 루프없이 그래프에 방향성 및 에지들의 집합은 각 에지 E에 번호를 할당 w 가중 함수 주어진다 - 중량 리브 - (E)를 w. 복수의 리브의 각각의 서브 세트의 무게는 그 에지의 가중치의 합이다. 작은 무게의 뼈대를 찾을 필요합니다.

기술

크루스 칼의 알고리즘이 작동합니다. 우선, 초기 그래프의 모든 모서리는 가중치의 오름차순으로 배열된다. 처음 프레임 있지 않음 들어있는 갈비뼈 만 포함 모든 정점. 스패닝 숲 인 카 커스의 부분에 이미 생성 된 알고리즘의 다음 단계를 수행 한 후, 하나 개의 에지가 부가된다. 그것은 임의로 선택되지 않습니다. 그래프의 모든 모서리는 프레임에 속하지 않는, 적색 및 녹색이라고 할 수있다. 각각 빨간색 가장자리의 상단은 건설 숲 연결에서 동일한 구성 요소, 그리고 녹색 상판 - 다른. 당신은 빨간색 가장자리에 추가하는 경우 따라서,이주기이며, 경우 녹색 -이 단계 이후에 수신 한 나무 연결 구성 요소가 1보다 작습니다. 따라서, 그 결과 건설에는 빨간색 테두리를 추가 할 수 없습니다, 그러나 어떤 녹색 가장자리 숲을 얻기 위해 추가 할 수 있습니다. 그리고 최소의 무게와 녹색 가장자리를 추가합니다. 결과 프레임 워크의 최소 무게.

이행

F. 그것은 연결의 분야에서 정점의 집합을 분할 현재 포리스트을 표시 (노조 형태 F, 그들은 분리 된 있습니다). 빨간 정점의 양쪽 가장자리에서 그들은 한 조각에 거짓말. 부품 (X) - 각 정점 X의 이름의 일부를 반환하는 함수,는 X 속한다. 단결 (X, Y) - (X) 및 (Y)의 일부 및 모든 다른 부분과 함께 구성된, 새로운 파티션을 구축하는 과정. N하자 - 모서리의 수. 이러한 모든 개념은 크루스 칼의 알고리즘에 포함되어 있습니다. 구현 :

  1. n 번째 상승 가중치 1의 그래프의 모든 에지를 정렬. (AI, BI - 숫자 I와 상단 가장자리).

  2. 위한 I = 1은 N 할.

  3. X : = 부 (AI).

  4. Y : = 부 (BI).

  5. X는 동일하지 않은 후 Y 단결 (X, Y)를 수행하는 경우, 에지에서 I F 번호에 포함한다.

정확성

T하자 - 임의의 프레임 - 원 그래프의 프레임은 크루스 칼 알고리즘 S를 사용하여 구축 하였다. (T)는 (S) w보다 크지 승 우리는 것을 증명해야합니다.

M하자 - 에지 S, P의 세트 - S는 T와 동일하지 않은 경우 T. 가장자리 세트하고 엣지 프레임 등 T는 모든 에지 ES 제거 환 S.을 형성 S. 외에 인접 속하는 C C.에서 호출되지 않는가 소유 가장자리와 정점이 동일하기 때문에 S. 우리는 새로운 프레임을 구하십시오. 그 중량 (S), w (ET) 이후 더이상 전력 크루스 칼 알고리즘 (ES) w w보다 크다. 이러한 동작 (리브에 대체 T S 리브)만큼 T. 각 후속 수신 된 프레임의 무게를 수신으로 반복한다 의미 이전 중량보다 큰 것 (T)을 (S) w보다 크지 승.

크루스 칼의 알고리즘의 견고성은 matroids에 왜 그래 - 에드먼즈의 법칙을 따른다.

애플리케이션 예제 크루스 칼 알고리즘

정점 A, B, C, D, E 및 리브 (a, b), (a, e)에 (b, c), (B, E)와 그래프 주어 (c, d), (C, E) (D, E). 에지의 가중치는 표와 도면에 도시된다. 처음 건설 숲 F는 그래프의 모든 정점을 포함하고 갈비뼈가 포함되어 있지 않습니다. 그리고, 리브 중량이 낮은 이래로 알고리즘 크루스 칼 먼저, 리브 (a, e)를 추가하고, 정점 A 및 E는 목재 연결 F (리브 (a, e)는 녹색이다) 다른 성분에 (c, d) 때문에 그래프의 에지들의 적어도이 에지 중량 아닌 F에 속하고,이 녹색, 동일한 이유로 에지 발생을위한 다음 (a, b). 그러나 가장자리 (B, E)가 그와 나머지 가장자리의 최소 무게는 빨간색이기 때문에, 비록 전달됩니다 정점 B와 E가 숲 연결 F의 동일한 구성 요소에 속하는, 그것은 우리가 F로 가장자리 (B, E)를 추가하는 경우, 형성되어있다 사이클. 를 첨가 녹색 가장자리 (B, C), IS 통과 빨간색 가장자리 (C, E), 그리고 D, E. 따라서, 연속적으로 가장자리 (A, E), (c, d)를 추가, (a, b), (b, c). 및 nihera 최적 프레임으로부터 원래의 그래프로 구성된다. 이 방법,이 경우, 알고리즘이다 크루스 칼. 일례가 도시되어있다.

그림은 두 개의 연결된 구성 요소로 이루어진 그래프를 나타낸다. 굵은 선 (녹색)를 크루스 칼 알고리즘을 사용하여 구성되는 최적 프레임 리브를 나타낸다.

최소 무게의 골격, 그를 위해 내장 된 알고리즘을 사용하여 - 상단 그림은 원래의 그래프와 바닥을 보여줍니다.

리브의 첨가 순서 (1.6); (0,3), (2,6) 또는 (2,6), (0,3) - 중요하지 않다; (3,4); (0,1), (1,6) 또는 (1,6), (0,1), 상관도 (5,6).

크루스 칼의 알고리즘은 각 나라에서 새로운 주택 영지의 지방뿐만 아니라 다른 경우 가스켓 통신, 도로를 최적화하기 위해, 예를 들어, 실용적인 응용 프로그램을 찾습니다.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ko.delachieve.com. Theme powered by WordPress.