일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 컴퓨터알고리즘
- 유전학알고리즘
- 카카오테크캠퍼스
- 알고리즘
- 데이터과학
- 부동소수점
- 프로그래밍 언어론
- 백준2098
- 함수형 프로그래밍
- Ga
- 판다스
- 그리디
- 탐색
- cpp02
- 현대자동차
- 분할과정복
- 정렬
- 컴퓨터구조
- 배낭문제
- 백준
- H-모빌리티 클래스
- 컴퓨터공학과
- 외판원순회
- 코틀린
- datapath
- 대외활동
- 데이터 과학
- 안드로이드스튜디오
- Today
- Total
minkylee
[이산수학] 그래프 본문
그래프
그래프 $G = (V, E)$ 는 정접의 집합 V와 간선의 집합 E로 구성된다.
방향을 가진 그래프(directed graph)와 두 정점 간 대칭적인 관계인 무방향(undirected graph) 그래프가 있다.
- $e_k = (v_i, v_j)$ => $v_i$에서 $v_j$로 가는 방향을 가진 간선
- $e_k = \{v_i, v_j\}$ => 방향이 없는 간선
간선 e = (a, b)에 대해
- e는 정점 a, b에 인접하다
- e는 a에서 시작하고 b로 끝난다.
- e는 a에서 나다고 b로 들어간다.
- a는 b에 인접하다.
- a는 간선 (a, b)의 출발점이다.
- b는 간선 (a, b)의 도착점이다.
- (a, a)는 자기 자신을 연결한다. => loop
- 고립 정점 (isolated vertex) : 연결된 간선이 없다.
Walk
무방향 그래프에서 정점과 간선이 교대로 나타나는 열이면서 각 간선의 앞위에 위치한 정점을 그 간선의 양끝점으로 갖는 열
x-y walk는 정점 x에서 시작하여 n개의 간선을 지나 y로 끝난다. 이때 간선은 $e_i = \{x _{i - 1}, x_i\}$ 로 정의한다.
walk의 길이는 포함된 간선의 수 n이다.
만약 n = 0일 경우 trival walk라고 한다.
시작점과 끝점이 같은 경우 Close Walk, 다른 경우 Open Walk 이다.
walk는 다양하게 존재할 수 있다.
Citcuit & Cycle
- x-y trail : x-y walk에서 간선이 반복되지 않는 경우
- Circuit : trail이면서 시작점과 끝점이 같은 경우
- x-y path : x-y walk에서 정점이 중복되지 않는 경우
- Cycle: path이면서 시작점과 끝점이 같은 경우
Examples of Circuit & Cycle
방향 그래프의 경우 direct walk, direct trail, direct path, ...
Connected Components
무향 그래프 G = (V, E) 에서 서로 다른 두 정점 u, v에 대해 path가 존재하면 connected graph 라고 함
연결된 그래프의 최대 연결된 부분 그래프를 연결성분이라고 한다.
$\kappa(G)$ : 그래프 G의 연결성분 개수
$\kappa(G) = 1$ 이면 그래프 전체가 연결되어 있다.
모든 정점의 path가 있기 때문에 $\kappa(G) = 1$이다
두 개의 연결성분이 존재한다.
Connectivity in direct G
- Weakly connected : 간선의 방향을 없앴을 때 (방향 -> 무향으로 변경했을 때) 연결되어 있으면 Weakly
- 모든 정점은 적어도 하나의 나가는 간선, 들어오는 간선이 있어야 한다.
- Strongly connected : 그래프 G의 모든 정점 {a, b}에 대해 a -> b , b -> a가 모두 존재하는 경우
- Unilaterally connected : 그래프 G의 모든 정점 {a, b}에 대해 a -> b 또는 b -> a가 존재하는 경우
- Multigraph : 두 정점 사이에 중복 간선이 허용되는 경우
- (a, b)는 방향 multigraph
- {a, b}는 무향 multigraph
Subgraph
그래프 G = (V, E)가 있을 때, $V_1 \subseteq V , E_1 \subseteq E$ 이면 $G_1 = (V_1, E_1)$ 은 G의 Subgraph이다.
- Spanning subgraph
- G의 모든 정점을 포함할 경우
- Induced subgraph : 정점을 선택하면 그 정점들 간 원래 그래프에서 연결된 간선만 포함
G-v, G-e
G-v는 그래프 G에서 정점 v를 제거한 것
- v를 제외한 모든 정점을 포함하고
- 제거된 정점 v에 연결된 모든 정점을 제거한다.
G-e는 간선 e만 제거하고 모든 정점을 포함하는 것이다. spnning subgraph와 같다.
Complete Graph
Complete graph $K_n$은 모든 정점 쌍 사이에 간선이 존재하는 그래프이다.
Complement Graph
complete graph가 되도록 하는 그래프
complete 그래프 k에서 G에 포함되지 않은 간선만 포함한다.
$K_n$의 complement graph는 null이다.
Isomorphism (동형)
Graph의 isomorphism은 그래프 $G_1(V_1, E_1), G_2(V_2, E_2)$ 가 있을 때
- 정점 $V_1$이 $V_2$ 에 일대일 대응되고
- 모든 간선 구조가 동일하게 유지 될 때
$G_1, G_2$를 isomorphic graphs 라고 한다.
이 두 개의 그래프는 모양은 다르지만 Isomorphic이다.
각 정점이 일대일 대응되고 간선구조가 동일하기 때문이다.
Degree(차수)
무향 그래프 G가 있을 때 정점 v의 차수는 v에 연결된 간선의 개수이다.
loop은 차수 2로 계산된다.
무향 그래프에서 모든 정점의 차수 합은 간선 * 2이다.
$\sum_{v \in V} deg(v) = 2|E|$
각 간선은 두 정점에 연결되고 차수 1씩 기여한다. -> 2개씩 중복계산 된다.
홀수 차수를 가지는 정점의 개수는 항상 짝수이다. -> 전체 차수의 합이 |2E| 이기 때문에 홀수 차수를 가지는 정점이 홀수개 있다면 전체 차수의 합이 홀수가 되어 |2E| 가 성립하지 않는다.
K - regular graph
모든 정점이 동일한 K개의 차수를 가지는 그래프
- 10개의 간선으로 4-regular graph를 만들 수 있을까?
- 10개의 간선은 20개의 차수(2|E|)를 가진다. -> 5개의 정점으로 만들 수 있다.
Hypercubes
n-dimensional hypercube는 $2^n$개의 정점을 가지는 무향 그래프이다.
정점들은 n - bit로 이루어진 이진수 시퀀스이고 두 정점 v1, v2는 이진표현에서 정확히 하나의 비트만 다르다.
n - dimensional hypercube의 차수는? => n개
Planar Graph (평면 그래프)
그래프 G가 평면에 그려질 수 있고 간선이 정점에서만 교차할 경우 planar라고 부른다.
=> 그래프가 평면에 겹침없이 표현 가능하다.
=> 이러한 G의 그림을 평면에 G를 embedding한다고 한다.
$K_4$는 planar 그래프가 된다.
반면, $K_5$ 그래프는 planar 가 될 수 없다.
Bipartitle Graphs (이분 그래프)
그래프 G를 정점집합 두 개의 서로소 부분집합 V1, V2로 나눌 수 있어야 한다.
같은 부분집합에 속한 정점들끼리는 연결되지 않아야 한다.
Complete Bipartitle Graphs (완전 이분 그래프)
V1 집합의 모든 정점이 V2 집합의 모든 정점과 연결되어 있는 이분 그래프
만약 |V1| = m, |V2|=n 이면 그래프는 $K_{mn}$으로 표시한다.
하나의 정점은 다른 부분집합의 모든 정점과 연결되어 있다.
Subdivision (세분화)
elementary subdivision (기본 세분화) : 간선 e를 그래프 G에서 제거한 후 새로운 정점 v를 추가한 후 두 간선 {u, v}, {v, w}를 추가한다.
v는 기존 정점 집합에 속하지 않아야한다.
특정 간선에 새로운 정점을 삽입하여 그 간선을 두 개의 새로운 간선으로 나누는 작업이다.
Homeomorphic (동형적)
그래프 G1과 G2가 Homeomorphic이려면
- 두 그래프가 isomorphic
- elementary subdivision을 통해 생성된 그래프의 경우
- G1의 세분화 중 하나인 G1'가 G2의 세분화 중 하나 G2'가 서로 동형일 경우
기본 그래프 H에서 세분화를 통해 생성된 두 그래프는 서로 homeomorphic이다.
기존 두 그래프에서 세분화를 통해 생긴 두 그래프가 서로 동형일 경우 기존 두 그래프는 서로 homeomorphic이다.
homeomorphic은 구조적으로 동일하다는 뜻이다.
하나의 그래프에서 간선 중간에 차수가 2인 정점을 추가하거나 제거하는 방식으로 다른 그래프를 만들 수 있는 경우 두 그래프를 Homeomorphic 하다고 한다.
예를 들어 A-B-C라는 간선을 갖는 그래프가 있다면 A-X-B-C 와 같이 X라는 차수가 2인 정점을 추가해도 Homeomorphic하다고 말할 수 있다.
두 그래프가 서로 Homeomorphic 이라면 둘다 planar이거나 둘 다 nonplanar이다.
Hamilton Path & Cycle
그래프 G에서 모든 정점을 한 번만 지나고 다시 출발점이라면 그 cycle을 Hamilton cycle이라고 한다. 그리고 Hamilton cycle을 포함하는 그래프를 Hamiltonian graph라고 한다.
Hamilton path는 모든 정점을 한 번만 지나가지만 사이클이 아닌 단순 경로이다.
TSP (외판원 순회)
Greedy Algorithm 으로 출발지에서 가장 비용이 낮은 간선을 선택해 다음 정점으로 가는 방법을 사용할 수 잇다.
하지만 항상 최적 해를 보장하지 않는다.
이를 슈도 코드로 표현하면 다음과 같다.
'CSE > 이산수학' 카테고리의 다른 글
[이산수학] Automata , prefix(접두사), suffix(접미사), substring(부분 문자열), Language, Kleene Closure (0) | 2024.12.13 |
---|---|
[이산수학] Equivalance Relation R, Characteristic, Galois Field (1) | 2024.10.27 |
[이산수학] Polynomial Ring, Factor Theorem, Monic, GCD (0) | 2024.10.27 |
[이산수학] Subring, Ideal, Kernel (0) | 2024.10.27 |
[이산수학] Ring의 성질, Zero Element (1) | 2024.10.27 |