맨위로가기

신장 부분 그래프

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

신장 부분 그래프는 그래프의 부분 그래프로, 원래 그래프의 모든 정점을 포함한다. 신장 부분 그래프 중 나무 그래프는 신장 나무 부분 그래프, 숲 그래프는 신장 숲 부분 그래프라고 한다. 신장 부분 그래프는 다양한 특성을 가지며, 특히 가중치가 있는 그래프에서 간선 비용의 합을 최소화하는 최소 비용 신장 트리를 찾는 문제가 중요하다. 최소 비용 신장 트리는 크루스칼 알고리즘이나 프림 알고리즘을 통해 구할 수 있으며, 최단 경로 문제 해결에도 활용된다. 또한, 신장 트리의 수는 그래프의 불변량으로, 케일리 공식 등을 통해 계산할 수 있다. 신장 트리는 통신망 구축, 경로 탐색, 네트워크 라우팅 등 다양한 분야에 응용된다.

더 읽어볼만한 페이지

  • 선택 공리 - 초른 보조정리
    초른 보조정리는 공집합이 아니고 모든 사슬이 상계를 갖는 부분 순서 집합에서 적어도 하나의 극대 원소가 존재함을 보장하는 정리이다.
  • 선택 공리 - 곱집합
    곱집합은 주어진 집합들의 원소들을 순서대로 나열하여 만든 순서쌍 또는 튜플들의 집합이며, 집합론에서 중요한 개념으로 순서쌍, 선택 공리, 함수 및 관계 정의의 기초가 되고, 기수의 곱과 거듭제곱을 정의하며 다양한 수학적 성질을 가진다.
  • 그래프 이론의 계산 문제 - 외판원 문제
    외판원 문제(TSP)는 여러 도시를 모두 한 번씩 방문하고 출발점으로 돌아오는 최소 비용의 이동 순서를 구하는 문제로, NP-난해 문제에 속하며, 배송 계획 등에 응용되고 다양한 해법이 존재한다.
  • 그래프 이론의 계산 문제 - 해밀턴 경로
    해밀턴 경로는 그래프의 모든 꼭짓점을 한 번씩 방문하는 경로로, 해밀턴 순환은 이러한 경로가 순환 형태를 띠는 것을 의미하며, 이들은 그래프 이론에서 중요한 개념으로 NP-완전 문제 및 외판원 문제 등에 응용된다.
  • 트리 구조 - 덴드로그램
    덴드로그램은 데이터 분석에서 데이터 포인트 간 계층적 관계를 시각적으로 표현하는 나무 형태의 다이어그램으로, 군집 분석에서 클러스터 간 유사성을 나타내기 위해 활용되며 다양한 분야에 응용된다.
  • 트리 구조 - 프림 알고리즘
    프림 알고리즘은 그래프의 최소 비용 신장 트리를 찾는 탐욕 알고리즘으로, 최소 가중치를 가진 간선을 선택하여 트리를 확장하며, 시간 복잡도는 사용되는 자료 구조에 따라 달라진다.
신장 부분 그래프
정의
설명그래프의 모든 정점을 포함하는 트리
속성
연결 그래프모든 정점을 연결해야 함
순환 없음트리의 기본 속성
최소 연결간선의 수가 최소화됨
종류
최소 신장 트리 (MST)가중 그래프에서 간선 가중치의 합이 최소인 신장 트리
최대 신장 트리가중 그래프에서 간선 가중치의 합이 최대인 신장 트리
응용
네트워크 설계최소 비용으로 네트워크 연결
클러스터 분석데이터 포인트 간의 연결 구조 파악
이미지 분할이미지를 여러 영역으로 분할
알고리즘
Prim 알고리즘정점을 중심으로 트리를 확장
Kruskal 알고리즘간선을 가중치 순으로 선택
Borůvka 알고리즘각 연결 요소를 가장 가까운 다른 요소에 연결

2. 정의

그래프 \Gamma부분 그래프 \Gamma'\subseteq\Gamma가 모든 꼭짓점을 포함하면(\operatorname V(\Gamma')=\operatorname V(\Gamma)), \Gamma'\Gamma의 '''신장 부분 그래프'''라고 한다. 나무 그래프인 신장 부분 그래프는 '''신장 나무'''(spanning subtree영어)라고 하며, 숲 그래프인 신장 부분 그래프는 '''신장 숲'''(spanning subforest영어)이라고 한다.

나무는 연결된 무방향 그래프이며, 사이클이 없다. 그래프 ''G''의 신장 트리는 ''G''의 모든 정점을 포함하고 ''G''의 부분 그래프(트리의 모든 변이 ''G''에 속함)인 경우를 말한다. 연결 그래프 ''G''의 신장 트리는 사이클을 포함하지 않는 ''G''의 변들의 최대 집합 또는 모든 정점을 연결하는 변들의 최소 집합으로 정의할 수도 있다.

2. 1. 인자

신장 부분 그래프 가운데, r-정규 그래프인 것을 '''r차 인자'''(r次因子, r-factor영어)라고 한다. 특히, 1차 인자는 '''완벽 부합'''이라고 한다. (0차 인자는 꼭짓점 집합 위의 무변 그래프이다.)

페테르센 그래프에서, 붉은 변들은 1차 인자(완벽 부합)를 이루며, 푸른 변들은 2차 인자를 이룬다.

2. 2. 기본 사이클과 기본 컷셋

스패닝 트리에 단 하나의 간선을 추가하면 사이클이 생성되는데, 이러한 사이클을 해당 트리에 대한 '''기본 사이클'''이라고 한다. 스패닝 트리에 없는 각 간선에 대해 고유한 기본 사이클이 존재하며, 따라서 기본 사이클과 스패닝 트리에 없는 간선 사이에는 일대일 대응이 있다. ''V''개의 정점을 가진 연결 그래프에서 모든 스패닝 트리는 ''V'' − 1개의 간선을 가지므로, ''E''개의 간선을 가진 그래프와 그 스패닝 트리는 ''E'' − ''V'' + 1개의 기본 사이클을 갖는다. (스패닝 트리에 포함된 간선 수를 빼서 스패닝 트리에 포함되지 않은 간선의 수를 구한다.) 주어진 스패닝 트리에 대해, 모든 ''E'' − ''V'' + 1개의 기본 사이클 집합은 사이클 기저를 형성한다. 즉, 사이클 공간의 기저이다.[5]

주어진 신장 트리에 대한 '''기본 컷셋'''의 개념은 기본 사이클의 개념과 쌍대 관계에 있다. 신장 트리의 단 하나의 에지를 삭제하면 정점들은 두 개의 서로소 집합으로 분할된다. 기본 컷셋은 동일한 분할을 수행하기 위해 그래프 ''G''에서 제거해야 하는 에지들의 집합으로 정의된다. 따라서 각 신장 트리는 신장 트리의 각 에지에 대해 하나의 ''V'' − 1개의 기본 컷셋을 정의한다.[6]

기본 컷셋과 기본 사이클 간의 쌍대성은 사이클 에지가 신장 트리에 없는 경우 해당 사이클의 다른 에지들의 컷셋에만 나타날 수 있고, 반대로 컷셋의 에지는 컷셋에 해당하는 에지를 포함하는 사이클에만 나타날 수 있다는 점에 의해 성립된다. 이러한 쌍대성은 매트로이드 이론을 사용하여 표현할 수도 있다. 신장 트리는 그래픽 매트로이드의 기저이고, 기본 사이클은 기저에 하나의 요소를 추가하여 형성된 집합 내의 고유한 회로이며, 기본 컷셋은 쌍대 매트로이드에서 동일한 방식으로 정의된다.[7]

2. 3. 신장 숲

그래프에서 숲은 분리(연결되지 않은)된 나무 그래프들의 집합이다. ''신장 숲''은 추가적인 요구 사항이 있는 숲인 부분 그래프이다. 신장 숲에 대한 두 가지 주요 정의가 있다.

  • 대부분의 그래프 이론 서적과 논문에서는 신장 숲을 모든 정점을 포함하는 숲으로 정의한다. 즉, 그래프의 각 정점이 숲에 포함된다. 연결된 그래프는 각 정점이 단일 정점 트리를 형성하는, 가장자리가 없는 숲과 같이 연결되지 않은 신장 숲을 가질 수 있다.[8][9]

  • 일부 그래프 이론 저자들은 신장 숲을 주어진 그래프의 최대 비순환 부분 그래프, 또는 각 연결 요소에서 신장 트리를 포함하는 부분 그래프로 정의한다.[10]


이 두 정의는 혼동될 수 있으므로, "전체 신장 숲"(주어진 그래프와 동일한 수의 구성 요소를 가진 신장 숲) 또는 "최대 신장 숲"(최대 숲은 필연적으로 모든 정점을 포함)이라는 용어를 사용하기도 한다.[11]

3. 성질

임의의 그래프 \Gamma의 신장 부분 그래프의 수는 2^

이다. (여기서 \operatorname E(\Gamma)\Gamma의 간선 집합이다.) 모든 연결 그래프는 적어도 하나의 신장 나무를 갖는다. (무한 그래프의 경우 선택 공리가 필요하다.)[27][28] 연결 그래프의 신장 트리는 순환 매트로이드의 기저와 같다.[5]

4. 최소 비용 신장 트리 (Minimum Spanning Tree)

평면 그래프의 최소 비용 신장 부분 나무 그래프


연결 유한 그래프 \Gamma와 함수 f\colon\operatorname E(\Gamma)\to\mathbb R ('''비용 함수''', cost function영어)가 주어졌을 때, \Gamma의 '''최소 비용 신장 나무 부분 그래프'''(最小費用身長部分graph, minimum cost spanning tree영어)는 \Gamma연결 신장 부분 그래프 \Gamma'\subseteq\Gamma 가운데, 변들의 비용의 합

:\sum_{e\in\operatorname E(\Gamma')\subseteq\operatorname E(\Gamma)}f(e)\in\mathbb R

를 최소화하는 것이다. 이는 항상 나무 그래프가 되며, 항상 존재한다.

각 변에 가중치(비용)가 있는 경우, 최소 총합 비용으로 구성된 신장 트리를 '''최소 신장 트리'''라고 한다. 어떤 분야의 그래프 이론에서는 가중 그래프의 최소 신장 트리를 찾는 것이 종종 유용하다.

최소 신장 트리를 찾는 대표적인 알고리즘은 다음과 같다:

  • 크루스칼 알고리즘: 단순한 탐욕법으로 계산량은 O(E \log{E})이다.
  • 프림 알고리즘: 탐욕법이지만 계산량은 O(E + V \log{V})이다. 변의 수가 정점에 비해 충분히 클 때는 O(E)로 간주할 수 있다.


변의 가중치가 균일한 경우에는 너비 우선 탐색으로 O(E)에 구할 수 있다.

5. 최단 경로 트리 (Shortest Path Tree)

최단 경로 문제는 어떤 정점에서 다른 정점으로 가는 비용이 가장 적게 드는 경로를 찾는 문제이다. 어떤 정점에서 다른 모든 정점으로 이동하는 비용이 가장 적게 드는 트리를 '''최단 경로 트리'''라고 하며, 이는 신장 트리이다. 최단 경로 트리를 구하는 방법으로는 다익스트라 알고리즘, 벨만-포드 알고리즘 등이 있다.[1]

6. 신장 트리 계산

케일리 공식에 따라, K_n2^{n(n-1)/2}개의 신장 부분 그래프 가운데 n^{n-2}개가 신장 트리이다.



연결된 그래프의 스패닝 트리의 수 ''t''(''G'')는 잘 연구된 불변량이다. 특정 그래프의 경우, ''t''(''G'')는 다음과 같이 계산할 수 있다.

그래프신장 트리 개수(t(G))
트리1[12]
사이클 그래프 Cnn[12]
완전 그래프 Knn^{n-2} (케일리 공식)[12]
완전 이분 그래프 K_{p,q}p^{q-1}q^{p-1}[8]
n차원 하이퍼큐브 그래프 Q_n2^{2^n-n-1}\prod_{k=2}^n k^[13]



임의의 그래프 ''G''에 대해, 신장 트리의 수 ''t''(''G'')는 키르히호프의 행렬-나무 정리를 사용하여 다항 시간에 계산할 수 있다.[14]

''t''(''G'')를 계산하는 방법은 다음과 같다.

1. 그래프의 라플라시안 행렬을 구성한다. 이는 행과 열이 모두 ''G''의 정점들로 인덱싱된 정사각 행렬이며, 행 ''i''와 열 ''j''의 항목은 다음 세 가지 값 중 하나이다.


  • ''i'' = ''j''인 경우 정점 ''i''의 차수
  • 정점 ''i''와 ''j''가 인접한 경우 -1
  • 정점 ''i''와 ''j''가 서로 다르지만 인접하지 않은 경우 0

2. 임의로 선택된 정점에 대한 행과 열을 삭제하여 더 작은 행렬을 만든다.

3. 이 더 작은 행렬의 행렬식이 ''t''(''G'')이다.

그래프의 신장 트리 개수 ''t''(''G'')는 ''삭제-축약 재귀식''을 만족한다.

: ''t''(''G'') = ''t''(''G'' − ''e'') + ''t''(''G''/''e'')

여기서

  • ''e''는 ''G''의 임의의 모서리이다.
  • ''G'' − ''e''는 ''e''를 삭제하여 얻은 멀티그래프이다.
  • ''G''/''e''는 ''G''의 ''e''에 의한 모서리 축약이다.[15]
  • ''t''(''G'' − ''e'')는 모서리 ''e''를 사용하지 않는 ''G''의 신장 트리를 센다.
  • ''t''(''G''/''e'')는 ''e''를 사용하는 ''G''의 신장 트리를 센다.


멀티그래프에서 축약으로 인해 두 정점이 여러 모서리로 연결되는 경우, 중복된 모서리는 제거해서는 안 된다.[15]

그래프의 튜테 다항식은 (1,1)에서 신장 트리의 수를 나타낸다.[16] 튜테 다항식은 삭제-축약 재귀를 사용하여 계산할 수 있지만, 계산 복잡도가 높아 (1,1)을 제외하면 계산이 어렵다.[17]

7. 알고리즘

유한 연결 그래프의 최소 비용 신장 부분 그래프는 프림 알고리즘이나 크러스컬 알고리즘을 사용하여 다항 시간 안에 찾을 수 있다. 그래프의 단일 신장 트리는 선형 시간 안에 깊이 우선 탐색 또는 너비 우선 탐색으로 찾을 수 있다. 이 두 알고리즘 모두 임의의 정점 ''v''에서 시작하여 발견한 정점의 이웃을 반복하고 탐색되지 않은 각 이웃을 나중에 탐색할 데이터 구조에 추가하여 주어진 그래프를 탐색한다. 이들은 이 데이터 구조가 스택 (깊이 우선 탐색의 경우)인지 큐 (너비 우선 탐색의 경우)인지에 따라 다르다. 어느 경우든, 루트 정점 ''v''를 제외한 각 정점을 발견된 정점에 연결하여 신장 트리를 형성할 수 있다. 이 트리는 이를 구성하는 데 사용된 그래프 탐색 알고리즘에 따라 깊이 우선 탐색 트리 또는 너비 우선 탐색 트리로 알려져 있다.[18] 깊이 우선 탐색 트리는 19세기에 깊이 우선 탐색을 발견한 사람의 이름을 딴 트레모 트리라고 불리는 신장 트리의 특별한 경우이다.[19]

신장 트리는 병렬 및 분산 컴퓨팅에서 프로세서 집합 간의 통신을 유지하는 방법으로 중요하다. 예를 들어 OSI 링크 계층 장치에서 사용되는 스패닝 트리 프로토콜 또는 분산 컴퓨팅을 위한 Shout (프로토콜)를 참조할 수 있다. 그러나 순차 컴퓨터에서 신장 트리를 구성하기 위한 깊이 우선 및 너비 우선 방법은 병렬 및 분산 컴퓨터에 적합하지 않다.[20] 대신, 연구자들은 이러한 계산 모델에서 신장 트리를 찾기 위한 몇 가지 더 전문화된 알고리즘을 고안했다.[21]

각 변에 가중치(비용)가 있는 경우, 최소 총합 비용으로 구성된 신장 트리를 '''최소 신장 트리'''라고 한다.

알고리즘설명계산량
크루스칼 알고리즘단순한 탐욕법O(E \log{E})
프림 알고리즘탐욕법O(E + V \log{V}) (변의 수가 정점에 비해 충분히 클 때는 O(E)로 간주)



변의 가중치가 균일한 경우에는 너비 우선 탐색으로 O(E)에 구할 수 있다. 최단 경로 문제는 어떤 정점에서 다른 정점으로의 이동 비용이 최소가 되는 경로를 구하는 문제이다. 어떤 정점에서 다른 모든 정점으로 이동하는 비용이 최소가 되는 트리를 '''최단 경로 트리'''라고 하며, 이는 신장 트리이다. 최단 경로 문제는 단일 정점에서 임의의 정점으로의 최단 경로 트리를 구하는 방법으로는 다익스트라 알고리즘이나 벨만-포드 알고리즘 등이 있으며, 임의의 정점에서 임의의 정점으로의 이동 비용이 최소가 되는 최단 경로 트리를 구하는 방법으로는 플로이드-워셜 알고리즘이 알려져 있다.

8. 응용

경로 탐색 알고리즘, 다익스트라 알고리즘, A* 탐색 알고리즘 등은 문제를 해결하기 위한 중간 단계로 내부적으로 신장 트리를 구축한다.

전력 네트워크, 배선 연결, 배관, 자동 음성 인식 등 비용을 최소화하기 위해 최소 신장 트리를 찾는 과정에서 중간 단계로 신장 트리(또는 여러 개의 트리)를 점진적으로 구축하는 알고리즘을 사용한다.[2]

인터넷 및 기타 통신망은 일부 루프를 포함하는 메시 토폴로지에서 노드를 연결하는 전송 링크를 가지고 있다. 브리지 루프 및 라우팅 루프를 방지하기 위해 스패닝 트리 프로토콜, OSPF, 링크 상태 라우팅 프로토콜, 증강 트리 기반 라우팅 등과 같은 라우팅 프로토콜은 각 라우터가 신장 트리를 기억하도록 요구한다.[3]

Xuong 트리는 위상 기하학에서 최대 종수를 가진 그래프 임베딩을 찾기 위해 사용되는 특수한 종류의 신장 트리이다. Xuong 트리는 나머지 그래프에서 홀수 개의 간선을 가진 연결 요소의 수가 가능한 한 적도록 하는 신장 트리이다. Xuong 트리와 관련된 최대 종수 임베딩은 다항 시간 내에 찾을 수 있다.[4]

전역 트리의 개념은 컴퓨터 네트워크 관련 분야에서 중요한 위치를 차지한다. 단말, 라우터, 스위칭 허브 등을 정점으로, 연결된 케이블을 변으로 간주하면 네트워크는 하나의 거대한 그래프가 되며, 전역 트리는 그 그래프에 대한 경로 구축 절차로 간주할 수 있다. OSPF, STP 등에서는 최단 경로 트리를 구성하여 통신 경로를 결정한다.

참조

[1] 웹사이트 Tree https://networkx.org[...] 2021-12-10
[2] 웹사이트 On the History of the Minimum Spanning Tree Problem http://www.math.ucsd[...] 1985
[3] Youtube Folklore of Network Protocol Design https://www.youtube.[...] Microsoft Research 2022-05-13
[4] 서적 Topics in topological graph theory Cambridge University Press, Cambridge
[5] 문서 Kocay, Kreher, 2004
[6] 문서 Kocay, Kreher, 2004
[7] 서적 Matroid Theory https://books.google[...] Oxford University Press
[8] 서적 Pearls in Graph Theory: A Comprehensive Introduction Courier Dover Publications
[9] 서적 Combinatorics: Topics, Techniques, Algorithms https://books.google[...] Cambridge University Press
[10] 서적 Modern Graph Theory https://books.google[...] Springer
[11] 서적 Graph Theory and Its Applications https://books.google[...] CRC Press
[12] 서적 Proofs from THE BOOK Springer-Verlag
[13] 간행물 A survey of the theory of hypercube graphs
[14] 서적 Graphs, Algorithms, and Optimization https://books.google[...] CRC Press
[15] 문서 Kocay, Kreher, 2004
[16] 문서 Bollobás, 1998
[17] 간행물 Inapproximability of the Tutte polynomial
[18] 서적 The Design and Analysis of Algorithms https://books.google[...] Springer
[19] 서적 Graph theory (Cambridge, 1981) North-Holland
[20] 간행물 Depth-first search is inherently sequential
[21] 간행물 A distributed algorithm for minimum-weight spanning trees https://dl.acm.org/d[...]
[22] 서적 Handbook of Computational Geometry Elsevier
[23] 서적 Spanning Trees and Optimization Problems CRC Press
[24] 간행물 Proceedings of the Twenty-Eighth Annual ACM Symposium on the Theory of Computing (STOC 1996)
[25] 간행물 On finding a minimum spanning tree in a network with random weights http://www.stats.ox.[...]
[26] 간행물 Finding all spanning trees of directed and undirected graphs
[27] 서적 Trees Springer
[28] 서적 Horizons of combinatorics Springer
[29] 저널 Sandpile groups and spanning trees of directed line graphs
[30] 문서 3-正則平面グラフを用いた結び目の構成に関する定理 日本数学協会
[31] 웹사이트 3-正則平面グラフを用いた結び目の構成に関する定理 https://researchmap.[...]
[32] 저널 O jistém problému minimálním http://hdl.handle.ne[...] 1926
[33] 저널 Příspěvek k řešení otázky ekonomické stavby elektrovodných sítí http://hdl.handle.ne[...] 1926-03-05
[34] 저널 On the history of the minimum spanning tree problem http://www.math.ucsd[...] 1985-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com