이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학...

22
이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은 유명한 Konigsberg의 다리 문제로부터 시작 되었다고 할 수 있다. <그림1>에서 보듯이 강 한가운데에 두개의 섬이 있고, 가운데 한 섬(지역 A)은 위, 아래 양쪽 강둑(지역 B, C)에 각각 두개의 다리로 연결이 되어 있고, 다른 한 섬(지 역 D)은 양쪽 강둑과 다른 섬(지역 A)에 각각 한 개의 다리로 연결 되어있다. 문제 는 '한 사람이 한 지역에서 출발하여 모든 다리를 한번씩 만 건너서 모든 다리를 다 건너게 산책을 할 수 있는 가?' 이다(한 붓 긋기). 1736년에 오일러(Leonhard Euler)에 의해 <그림1>에서는 이러한 경로는 없다 는 것이 증명 되었다. 또한 1800년대에 드 모르강에 의해 4가지색으로 지도 칠하 기 가설(Four Color Map Conjecture)문제가 제기 되었다. 이 문제는 4가지 색깔 을 이용하여 지도위의 모든 나라를 이웃한 나라는 다른 색을 갖도록 색칠이 가능한 가를 묻는다. 이 문제는 컴퓨터의 도움으로 애펠과 해켄(Appel, Haken)에 의해 1976년에 가능함을 증명되었다. 20세기에 들어서서 그래프이론은 많은 현실적인 문제와 특히 컴퓨터과학에서 없어서는 안 될 모델링 도구로서 각광 받게 되었다. 그림 1. 쾨니스버그의 다리와 그 그래프 모델. 정 의 한 그래프 는 점이라 부르는 대상과 선이라 부르는 이 점들의 순서 없는 쌍들의(하나도 없을 수 있음) 공집합이 아닌 유한집합이다. 의 점의 집합을

Transcript of 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학...

Page 1: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

이산수학

채 갑병(원광대학교)

I. 그래프 이론의 개요

1. 그래프

그래프이론은 유명한 Konigsberg의 다리 문제로부터 시작 되었다고 할 수 있다.

<그림1>에서 보듯이 강 한가운데에 두개의 섬이 있고, 가운데 한 섬(지역 A)은 위,

아래 양쪽 강둑(지역 B, C)에 각각 두개의 다리로 연결이 되어 있고, 다른 한 섬(지

역 D)은 양쪽 강둑과 다른 섬(지역 A)에 각각 한 개의 다리로 연결 되어있다. 문제

는 '한 사람이 한 지역에서 출발하여 모든 다리를 한번씩 만 건너서 모든 다리를

다 건너게 산책을 할 수 있는 가?' 이다(한 붓 긋기).

1736년에 오일러(Leonhard Euler)에 의해 <그림1>에서는 이러한 경로는 없다

는 것이 증명 되었다. 또한 1800년대에 드 모르강에 의해 4가지색으로 지도 칠하

기 가설(Four Color Map Conjecture)문제가 제기 되었다. 이 문제는 4가지 색깔

을 이용하여 지도위의 모든 나라를 이웃한 나라는 다른 색을 갖도록 색칠이 가능한

가를 묻는다. 이 문제는 컴퓨터의 도움으로 애펠과 해켄(Appel, Haken)에 의해

1976년에 가능함을 증명되었다. 20세기에 들어서서 그래프이론은 많은 현실적인

문제와 특히 컴퓨터과학에서 없어서는 안 될 모델링 도구로서 각광 받게 되었다.

그림 1. 쾨니스버그의 다리와 그 그래프 모델.

정 의 한 그래프 는 점이라 부르는 대상과 선이라 부르는 이 점들의 순서

없는 쌍들의(하나도 없을 수 있음) 공집합이 아닌 유한집합이다. 의 점의 집합을

Page 2: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

라 하고 선의 집합을 로 쓴다. 번호 있는 그래프(labeled graph)는 각

점에 이름이 있는 그래프이고, 번호 없는 그래프(unlabeled graph)는 점에 이름이

없다.

예제

점들의 집합

과 선들의 집합

이 주어지면 그 그래프 G 는 <그림2>와 같이 다이어그램으로 나타낼 수 있다.

그림 2. 그래프 모델 G = (V, E).

한 그래프 에서 선의 집합 의 원소들이 두 번 이상 나타날 때

를 멀티 그래프(multigraph)라 한다. 선이 두 번 나타날 때 그 선을 중복선(double

edge)라 한다. 세 번 이면 트리플 선(triple edge)이라 한다(<그림3> 참조). 만약

임의의 에 대하여 이면 를 루프(loop)라 한다. 루프나 중복선 트리플선

이 없는 그래프를 단순 그래프(simple graph)라 하고 이 책에서 따로 조건 없이 그

래프라 하면 단순 그래프를 뜻하는 것으로 약속하자.

그림3. 중복선, 트리플선과 루프.

Page 3: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

표시법

그래프 안의 점들의 개수를 이라 나타내고 선들의 개수를 로 나타

낸다. 을 그래프 의 위수(order)라고 하고 을 그래프 의 사이즈(size)라고

한다. 그래프는 위수 과 사이즈 의 그래프를 뜻한다.

그러면 개의 점을 갖는 번호있는 그래프의 총 개수는 몇 개 인가? 이다. 왜냐

하면 가능한 선의 총 개수는 이므로 각각의 가능한 선을 한 그래프가 포함하거

나 포함하지 않거나, 두 가지 경우가 있으므로

∙∙∙

이다. 반면, 개의 점과 개의 선을 가진 그래프는 몇개 인가?

이다. 즉, 선의 총 개수 에서 개의 선을 뽑는 방법의 가지 수 이다.

그래프 (<그림 4>)에서 점 은 점 에 종속해있다고(adjacent to)한다. 반

면 점 은 선 와 인접(incident to)되어 있다 한다. 또한 선 는 선

와 종속해있다고(adjacent to)한다. 즉 일반적으로 다음과 같이 정의 한다.

정 의 한 그래프  에서 점 ∈ 에 대하여 ∈이면 와 가 종속

(adjacent)해 있다고 말한다. 두선 ∈에 대하여 와 가 한 점을 공유하면

와 가 종속(adjacent)해 있다고 말한다. 만약, 어떤 점 에 대하여 이면

점 와 선 가 인접(incident)해 있다고 말한다.

정 의 그래프  안의 한 점 의 이웃 을 다음과 같이 정의한다.

             ∈ ∈

한 그래프를 나타내는 방법 중에서 행렬을 사용하는 방법은 일반화되어 있다. 그

래프 의 행렬을 다음과 같이 정의하며 그래프 의 종속행렬(adjacent martix)이

라 한다.

정 의 한 그래프 의 점의 집합을 라 하자. 그래프 의

Page 4: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

종속 행렬 를 다음과 같이 정의 한다. 행렬 의 행과 렬은 에 의해

번호가 매겨진다.

예제 <그림 4>에 점 5개와 선 6개를 갖는 한 그래프 의 그림을 볼 수 있

다. 이고 이다. 다음 행렬 를 그래

프 의 종속행렬(adjacent martix)이라 한다.

1 2 3 4 51 0 1 0 1 12 1 0 1 0 03 0 1 0 1 04 1 0 1 0 15 1 0 0 1 0

그림 4. 점 5개의 그래프  

정 의 그래프 에서 한 점 에 대해 를 이 점의 차수(degree)라 하고

이 점에 인접한 선의 개수를 의미한다. 가 짝수이면 짝수 점(even vertex)이

라 하고 홀수이면 홀수점(odd vertex)이라 한다. 또한 이면 이점을 고립점

(isolated vertex)이라 하고 이면 끝점(end-vertex, leaf)라 한다.

단순 그래프에서는 한 점 의 차수는 의 개수와 일치한다. 한 그래프안의

모든 점 중 차수가 가장 큰 점의 차수를 최대 차수, 가장 작은 차수를 최소차수라

정의 하고 다음과 같이 나타낸다.

최대차수 = ∈, 최소차수 = ∈.

정리 를 그래프라 하자. 그러면 우리는 다음이 성립한다.

Page 5: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

∈ .

증명) 각각의 점에서 인접한 선을 세면 모두 ∈ 이다. 그런데 선의 입장에

서 보면 각각의 선들은 정확히 두 번씩 세어졌다. 즉, 이다.

주의 의 종속행렬에서 ∈ 이다.

정리 모든 그래프 는 짝수개의 홀수점을 갖는다.

증명 를 사이즈 의 그래프라 하자. 를 의 홀수 점들의 집합이라 하고

를 짝수점들의 집합이라 하자. 위의 정리에 의해

이다. 그런데 ∈

가 짝수이므로 홀수들의 합인 ∈

가 짝수이어야 한

다. 따라서 는 짝수이어야 한다.

G 1 G 2

그림 5. 그래프의 동형

Page 6: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

정 의 를 그래프라 하자. 두 그래프는 그 번호매기는 방법 또는 그리는

방법에 따라 달라 보이지만 구조가 같은 것이 있다. 이점을 여기서 분명히 정의 하

고 넘어 가자.

i) 와 가 그래프 일때 함수 → 가 일대일 대응이고 선들을

보존시키면, 즉, ∈ ⇔ ∈ 이면 를 동형 사상이라 한다. 만약

와 사이에 이러한 동형사상이 존재하면 우리는 와 를 동형이라 하고

≅ 라 쓴다. 구조가 같은 두 번호 있는 그래프는 동형이다. 이러한 이유로 두

그래프를 같다고도 한다.

ii) 번호 없는 그래프(unlabeled graph) 는 즉 점들이 구별 불가능한 그래프

는 번호있는 그래프의 동형 동치류(equivalent class)이다.

<그림 5>에서 이지만 ≠이다. 예를 들면 다음과 같이 정의된 함수

→ 는 동형사상이다.

반면 는 삼각형을 포함하는데 는 그렇지 못하기 때문에 동형이 될 수 없다.

그림 6. 위수 4의 번호 없는 그래프

그래프 가 그래프라면 ≥이고 ≤≤

이다. 그러므

로 그래프는 오직 하나만 존재하고(동형그래프를 포함해서), 이를 자명한 그

래프(trivial graph)라 한다. 비자명한 그래프는 ≥이다. 위수가 4인 그래프가

<그림 6>에 주어졌다.

정 의 를 그래프라 하자.

i) ⊆ 이고 ⊆ 인 그래프 를 의 부분그래프라 하고

⊆라 쓴다.

Page 7: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

ii) ⊆ 이고 이면 를 의 확장(spanning subgraph)부분그래

프라 한다. 즉 같은 위수의 모든 부분 그래프를 말한다.

iii) ⊆라 하자. 에 의해 생성된 생성 부분그래프 ⟨⟩(induced

subgraph by )란 점 부분집합 와 에서의 의 점들 사이에 있던 선들만을

포함하는 부분그래프이다. 그래프 의 한 부분 그래프 가 의 부분 집합

에 의해 생성 되었으면, 즉 ⟨⟩이면 를 (점)생성 부분 그래프라 한다.

iv) ⊆라 하자. 에 의해 생성된 생성 부분그래프 ⟨⟩(induced

subgraph by )란 가 선 부분집합이므로 이 선들만을 포함하고 이 선들의 각

끝점으로만 이루어진 부분 그래프를 뜻한다. 그래프 의 한 부분 그래프 가

의 부분 집합 에 의해 생성되었으면, 즉 ⟨⟩, 를 (선)생성 부분 그래

프라 한다.

정 의 를 그래프라 하자. 그래프 의 여그래프 는 이고

∈⇔ ∉ 인 그래프를 뜻한다. 인 그래프를 자기 여그래프(self-

complement)라 한다.

2. 여러가지 그래프

정 의

i) 개의 점 위의 완전 그래프 는 개의 점과 가능한 모든 개의 점을 가진 그

래프이다. 반면, 개의 점 위의 완전 불연속 그래프(empty or trivial graph)는

선을 하나도 갖지 않는다, 즉 이다.

ii) 점 개위의 경로(path), 는 와 를

갖는 그래프이다.

iii) 점 개위의 원형 그래프(cycle), 는 와

를 갖는 그래프이다.

iv) 차수 의 정규그래프 는 모든 점 에 대해 인 그래프이다. 이런 그

래프를 정규그래프라 한다. 특히 인 그래프를 큐빅(cubic)그래프라 한

다.

정 의 방향그래프(digraph, directed graph)

i) 번호있는 방향그래프, 는 구별가능한 개의 점들과 점들의 순서쌍인 호

(arc)들의 집합 를 갖는 그래프이다. 가 에서 로의 호라면

Page 8: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

라고 나타낸다( ≠ ).

ii) 를 방향그래프라 하고 ∈라 하자. 그러면 우리는 점 로 부터 점

로 들어간다고 한다. 또한 호 는 점 와 점 가 접촉 했다고 한다.

iii) 를 방향그래프라 하고 ∈라 하자. 점 의 들어오는 차수 는 로(to)

인접한 점들의 개수를 말한다. 점 의 나가는 차수 는 로부터(from) 인

접한 점들의 개수를 말한다. 총 차수(degree) 는 이다.

iv) 만약 모든 점 에 대하여 이면 방향 그래프 를 정규그

래프라 한다.

예제 개의 점을 갖는 번호 있는 방향그래프의 총 개수는?

풀이 각 호가 방향이 있으므로 호의 총 개수는 ×이고 이 집합의 부분집합의

총 개수가 번호 있는 방향그래프의 총 개수이므로 이다.

예제 개의 점과 개의 선을 가진 방향그래프는 몇 개 인가?

풀이 ×개의 선에서 개의 호를 선택하는 방법은 이다.

정리 인 방향그래프 에서

            ∈

∈  

이 성립한다.

정 의 를 그래프라 하면 의 순환 그래프(orientation of G)는의 각 선

에 방향을 주어 만든 방향그래프이다.

정리 가 개의 선을 가지면 는 개의 순환 그래프를 갖는다.

정 의 완전 그래프 의 순환 그래프를 토너먼트(tournament)라고 한다.

정 의 방향그래프 가 주어졌을때 이 그래프의 바탕그래프(underlying

graph) 는 의 각호의 방향을 제거하여 얻어지는 그래프이다.

Page 9: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

그림 10. 토너먼트, 2-정규 방향그래프.

II. 트리와 그래프의 연결성

1. 그래프의 연결성

정 의

i) 길이 의 산책경로(walk)란 와 같은 점들의 수열이다. 여

기서 ≤≤ 에 대해 ∈이다. (점과 선이 반복되어 나타날수 있다.)

ii) 산책경로 의 길이는 (위의 점의 개수)-1, 또는 위의 선의 개수이다.

iii) 선들이 반복되어 나타나지 않고 한번 씩만 나타날 때 산책경로 를 트레일

(trail)이라한다.

iv) 점들이 반복되어 나타나지 않고 한번 씩만 나타날때 산책경로 를 경로

(path)이라한다.

v) 이면, 즉 시작점과 끝점이 동일하면 산책경로 를 닫혀있다고

(closed walk)하고 ≠이면 열려 있다고 한다(open walk).

vi) 닫혀있는 경로(단, )는 원형 그래프 이다.

vii) 닫혀있는 트레일을 회로(circuit)라 한다. 즉 각 선이 한번만 나타난다.

주의 길이 인 경로는 이다.

정리 모든 산책경로는 경로를 포함한다.

정 의 다음을 만족하는 그래프 를 연결 그래프(connected graph)라 한다.

Page 10: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

모든 점 에 대하여 산책경로가 안에 존재한다. 그렇지 않은 그래프를 불

연결 그래프(disconnected graph)라 한다.

정 의 그래프 가 연결그래프라 하고 ∈라 하자. 와 사이의 거리

(distance)를 가장 짧은 산책경로의 길이(length)라고 정의하고 라고 쓴

다. 그리고 길이 인 산책경로를 지오데식(geodesic)이라 한다.

정 의 를 방향그래프라 하자.

i) 모든 점들 u, v에 대하여 u-v 경로와 v-u 경로가 모두 다 안에 존재 할때

를 강한연결(strongly connected) 방향그래프(digraph)라 한다.

ii) 모든 점들 u, v에 대하여 경로 또는 경로 중 하나만 안에 존재

할 때 를 일방향연결(unilaterally connected) 방향그래프(digraph)라 한다.

iii) 모든 점들 에 대하여 방향을 무시한 경로가 안에 존재 할때 를

약연결(weakly connected) 방향그래프(digraph)라 한다.

정 의

i) 한 그래프 의 성분그래프(component of )는 극대연결부분그래프(maximal

connected subgraph)이다.

ii) 한 그래프 안의 싸이클 란 점들의 수열 이다. 여기서

∈이고 은 경로이다.

iii) 한 싸이클 위의 선의 개수가 홀수이면 홀수 싸이클(odd cycle), 짝수이면 짝

수 싸이클(even cycle)이라 한다.

표시법 : 의 성분그래프의 개수.

예제 그래프 (<그림10> 참조)에서 경로와 싸이클을 찾아보자.

점 는 길이 0의 경로 이고 는 길이 1인 경로 는 길이 4인 경로이

다. 반면, 는 경로가 아니다. 는 길이 3의 싸이클(홀수) 이고

는 길이 6의 싸이클이다.

Page 11: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

그림 10. 그래프 G

정 의

i) 한점 에 대해 이면 를 단절 점(cut-vertex)라 한다.

ii) 한선 에 대해 이면 를 다리(bridge)라 한다.

iii) 한 연결그래프가 단절 점을 갖지 않으면 블록(block)이라 한다.

2. 트리(trees)

정 의 연결그래프이며 원형 그래프를 포함하지 않는 그래프를 나무(trees,

트리)라 한다. 숲(forest)은 나무들의 모임이다.

정 의 원형 그래프를 포함 하지 않는 그래프를 acyclic 그래프라 한다.

정리 가 개의 점과 개의 선을 갖는 나무라면 이다.

증명 에 수학적 귀납법을 적용한다.

이면 나무 는 이므로 이다. 그러므로 .

: 를 의 끝점이라 하자. 그리고 ′ 라 하면 수학적 귀납법

에 의해 ′ ′ 이므로 ′′ 이다.

정리 를 한 나무라 할때 다음은 서로 동치이다.

i) 는 연결그래프이고 원형그래프를 포함하지 않는다.

ii) 모든 점들의 쌍 ∈ 에 대해 오직 한 개의 경로가 존재 한다.

iii) 는 연결그래프이고 이다.

iv) 는 원형 그래프를 포함하지 않는 그래프이고(acyclic graph)

Page 12: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

이다.

증명

(1)⇒ (2) 가 연결그래프이므로 모든 점들의 쌍 u, v ∈ V는 적어도 하나

의 경로를 갖는다. 만약 두개라면 원형 부분그래프를 갖게 되므로 모순

이 된다.

(2)⇒ (3) 가정으로부터 는 연결 그래프가 된다. 이제 임을

귀납법으로 증명하자.

이면 이고 : 성립.

이면 (2)에 의해 모든 ∈는 단절선이 된다. 그러므로 한 선을

고정하고 를 살펴보자. 는 두개의 구성 부분 그래프를 갖게

된다. 이들을 ′ ″이라 하자. 귀납법에 의해 ′ ″는 (2)를 만족한

다. 그러므로

′′ ″″ 이다. 그럼 바로

′′′″. (3)⇒ (4) 만약 가 원형 부분 그래프 를 갖는 다면 이다, 즉, 위

의 점의 개수와 선의 개수가 같다. 각 점 ∈ 에 대하여, 를

로 부터 가장 가까운 위의 한 점에 이르는 지오데식위의 첫 번째 선이

라 하자. 이제 함수 ↦ 를 로부터 로 가는

함수로 정의할 수 있다. 그러므로

이고 이므로 ≤이 되어 모순이 생긴다.

(4)⇒ (1) 가 원형그래프를 갖지 않으면 는 숲이 되고 이다.

가정에 의해 이므로 는 연결 그래프이다.

정 의 확장 부분 그래프 (spanning subgraph)중 트리인 그래프를 확장트리

(spanning tree )라 한다.

정리 한 그래프 가 연결그래프이기 위한 필요충분조건은 이 그래프가 확

장 트리를 포함 하는 것이다.

Page 13: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

3. 나무(trees)의 검색(searching) 과 배열(sorting).

1) 검색(searching)

표시법

⌈⌉는 a와 같거나 큰 최소 정수를 나타낸다.

⌊⌋는 a와 같거나 작은 최대 정수를 나타낸다.

정 의

i) rooted tree = 뿌리 트리. 한점을 선택하여(이점을 뿌리(root)라 한다) 그 점을

잡아 나무를 잡아들었을 때 생기는 모습의 트리.

ii) binary tree = 이진 트리. 뿌리 나무에서 한점 로 부터 연결된 점의 개

수가 0 이거나 2인 나무(일반적으로 2개 이하로 정의하는 책이 많고 0이거나

2인 경우는 완전 이진트리 (full binary tree)라 한다.)

iii) 한점 로 부터 뻗어 나온 점들을 그점의 아들점(sons)이라 하고 를 부모점이

라 한다. 그리고 로 부터 나온 모든 점들을 의 자손(descendants)점이라 한

다. 또한 는 부모점을 포함한 뿌리 쪽으로 위에 있는 점들을 조상(ancester)

점 이라 한다. 부모가 같은 점들을 형제점(sibling)이라 한다.

iv) binary search tree = 이항 탐색 나무. 이항 나무의 점들에 번호를 매길 때 부

모점보다 작은 번호를 왼쪽 아들 점에게 부모점보다 높은 번호는 오른 쪽 아들

점에게 번호 매김 한 나무를 말한다.

정 의

i) 나무의 높이(height) = h : 뿌리로 부터 나무의 끝점까지의 선의 개수.

ii) 나무의 계급(level) : 뿌리로 부터의 거리. 뿌리는 계급이 0 이다. 부모점의 계

급이 이면 아들점의 계급은 이다.

정리 만약 가 개의 끝점이 아닌 내부 점을 가진 완전이진트리이면, 는

개의 끝점을 가진다. 즉, 총 개의 점을 가진다.

증명 의 점들은 (어떤 부모의) 자식인 점들과 누구의 자식도 아닌 점들로 구성

된다. 자식이 아닌 점은 하나(뿌리)만 존재 한다. 따라서 각각이 2개의 자식을 갖는

개의 내부점(끝점이 아닌 모든점)이 있으므로 개의 자식이 있게 된다. 그러므로

의 점들의 총수는 이고 끝점의 수는 이다.

Page 14: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

이진트리 가 개의 끝점을 가진다면 위의 정리에 의해 개의 점을 가진

다. 그러므로 다음을 얻는다.

정리 가 높이가 이고 개의 끝점을 가진다면 ≤.

정리 가 높이가 , 위수 인 이진나무라 하면 ≤ 이다.

증명 ≤ …

.

정리 위수 인 이진나무의 최소 높이는 이다.

(증명) ≤ 를 에 관해 푼다.

따름 정리 이항 탐색 나무를 이용한 검색(searching) 프로그램 알고리듬의 계산

복잡도는(computational complexity)는 이다.

그림 11. {a, b, c }를 정렬하는 선택 나무.

Page 15: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

2) 배열(sorting)

정 의 a decision tree : 선택 나무 또는 결정트리. 이진나무에 순서 분류

규칙을 적용한 나무. 각 점들은 판별하는 질문이 되고 "예" 이면 왼쪽 아들점으로 "

아니오 "이면 오른 쪽 아들점으로 간다.

주의 개의 대상을 정렬하는 결정 트리에서 개의 정렬 순서가 있으므로 적

어도 개의 끝점을 정렬 트리는 갖는다. 왜냐하면 정렬순서가 중복이 되어 끝점에

나타날 수 있기 때문이다.

예제 {a, b, c }를 정렬하는 선택 나무는 3! =6 의 끝점을 가지고 있다(<그

림 6>참조).

정리 높이 의 이진나무는 많아야 개의 끝점을 갖는다.

개의 끝점을 갖는 이진나무는 높이 이다.

정리 ≥개의 물건을 두 개씩 비교하는 어떠한 알고리듬도 최악의 경우에

적어도 번의 비교를 수행한다. 여기서 는 양의 상수이다.

증명 적어도 개의 끝점이 있으므로 나무의 높이 는 적어도 이다

≥ … ⌈⌉≥ 그러므로, ≥에 대하여 ≥ 이므로

≥ ⇔ ≥

⇔ ≥

⇔ ≥

이다. 양변을 2로 나누면

이다. 그러므로

Page 16: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

을 얻는다.

알고리듬 <Bubble Sort>

입력 : 개의 원소를 갖는 리스트 ⋯ .

출력 : 크기 순서로 나열된 리스트(작은거 먼저).

단계 1. 이라 놓는다.

단계 2. 에 대해서 이면 와 의 순서를 바꾼다.

단계 3. 이라 놓고 이면 중단하고 출력을 내보낸다.

그렇지 않으면 두 번째 단계로 돌아간다.

버블 알고리듬의 컴퓨렉써티는

이다.

III. 오일러 그래프와 해밀턴 그래프

1. 오일러 그래프

앞선 <그림1>에서 모든 다리를 한번 씩만 건너는 방법을 쾨니스버그의 다리 문제

라 하였다. 여기서 우리는 좀 더 나아가 모든 다리를 한번씩 건너서 다시 제자리로

돌아오는 문제를 생각해보자.

정 의 (오일러 트레일과 회로(circuit))

i) 그래프 의 모든 점과 선을 포함하는 트레일을 오일러 트레일 이라 한다.(각

선을 한번 씩만 지난다.)

ii) 그래프 의 모든 점과 선을 포함하는 회로를 오일러 회로라 한다(각 선을

한번 씩만 지난다).

iii) 어느 그래프가 오일러 회로를 포함하면 그 그래프를 오일러 그래프 또는 오

일러리안 이라 한다.

즉 원래의 쾨니스버그의 다리 문제는 오일러 트레일을 찾는 문제로 정의 되어 질

수 있다. 이제 오일러에 의해 알려졌고 1873년 하이어홀저(Hierholzer)에 의해 증

Page 17: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

명된 오일러 그래프의 필요충분 조건애 대해 알아보자.

정리 를 연결 그래프라 하자. 가 오일러 그래프이기 위한 필요충분조건

은 의 각 점의 차수가 짝수 인 것이다.

정리 를 연결 그래프라 하자. 가 오일러 그래프이기 위한 필요충분조건

은 1) ∪∪⋯ ∪ ∩ ∅ ≤ ≤이고

2) 모든 에 대하여, ⟨⟩는 싸이클이다.

2. 해밀턴 그래프

1857년 해밀턴은 다음과 같은 질문을 하였다. 한 점을 출발하여 모든 점들을

한번씩 통과하여 다시 출발점으로 돌아올 수 있는가? 하지만 그전에 1855년 토마

스 커크만(Thomas Kirkman)이 먼저 이 문제를 제안했지만 지금은 해밀턴의 이름

을 따라서 다음과 같이 정의 하는 것이 관례가 되었다.

정 의 의 모든 점들을 포함하는 싸이클을 해밀턴 싸이클이라 한다(모든 선

들을 포함할 필요는 없다).

즉 해밀턴이나 커크만이 제안 했던 문제는 한 그래프가 해밀턴 싸이클을 갖는냐 는

것이다.

정 의 해밀턴 싸이클을 포함하는 그래프를 해밀턴 그래프라 한다.

정리 가 해밀턴 그래프이면 는 2-연결(2-connected)그래프이다.

가중치 그래프 (선에 각각 무게가 주어진 그래프)가 주어졌을 때 안에 최소 길

이를 가지는 해밀턴 싸이클을 찾는 문제를 세일즈맨 여행 문제( traveling

salesman problem)라고 한다.

IV. 평면 그래프

정 의

선들이 겹치지 않게 평면위에 그릴 수 있는 그래프를 평면적 그래프(planar graph)

Page 18: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

라 한다. 또한 그래프가 선들이 겹치지 않게 평면에 그려져 있을 때 그 그래프를

평면 그래프(plane graph)라 한다. 이제부터 혼돈할 여지가 없다면 위의 두 그래프

를 평면 그래프라 부르도록 하자.

정 의 평면 그래프에서 면(face)이란 선으로 둘러 싸여진 부분을 말한다.

정리 (오일러의 공식: Euler's Formula)

가 연결 평면 그래프이고 개의 점과 개의 선과 개의 면을 갖는다면

가 성립한다.

정 의 다음을 만족하는 그래프 를 이분그래프(bipartite graph)라 한다. 점

들의 집합이 두 집합으로 분할(partition)되고, 즉

여기서

∈ ⇒ ∈이고 ∈

또는 ∈이고 ∈

이다. 점들의 집합 V 1과 V 2를 파타이트(partite)라 한다. 완전 이분 그래프

(complete bipartite graph), 또는 는 이고 과 사

이의 가능한 모든 선을 갖는 이분 그래프이다.

예제 3×3 완전 이분그래프 는 평면 그래프가 아니다.

왜냐하면 가 평면 그래프라 하면 각 면(face)은 4개의 선으로 이루어져

있으므로 전체 개수는 이고 이는 전체 선의 개수 보다 클수가 없으므로

이다. 이므로

이고 이고 이므로 ≥ 또는 ≥이므로 에 모

순이다.

Page 19: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

V. 그래프 칼라링.

정 의

i) 적당한 그래프 칼라링(proper graph coloring)이란 이웃하는 점들이 서로 다른

색깔을 갖도록 점들을 색칠하는 것을 말한다.

ii) 그래프 의 크로매틱수(chromatic number)란 적당한 그래프 칼라링이 가능하

게 필요한 최소의 색깔수를 말한다.

iii) : 의 크로매틱수.

예제 <그림4>의 그래프의 색깔수는 3 이다.

정리

i) ⇔ .

ii) ⇔ 는 이분할 그래프이고 ≠ .

표시법 ∆는 그래프 의 점들의 차수중 가장 큰 차수를 나타낸다.

예제 <그림 4>의 그래프 는 ∆는 3 이다. 왜냐하면 이고

에서 가장 차수가 높다.

정리 ≤ ∆.

정 의 그래프 의 모든 점 에 대하여 차수가 일때, 즉 이면 그래

프 를 정규(regular)그래프라 한다.

정리 위수 의 그래프 가 정규라면 다음이 성립한다.

증명 ≥을 증명하자. 개의 칼라를 쓰는 의 칼라링을 생각하

자. ⋯ 를 같은 색을 갖은 점들을 모은 집합들이라 하자.(classes) 를

그 중 가장 큰 집합이라 할 때 라 하자. ⋯ ≤

Page 20: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

을 얻는다. 한 점 ∈에 대하여 가 독립 집합(independent set)이기 때문에

의 주변 어떤 점도 에 포함되지 못한다. 그러므로 ≤이고

≤이다.

정 의 가 그래프일 때 는 많아야 개의 색깔로 를 색칠

하는 방법의 개수를 세는 식이다.

예제 라면 한 점을 칠하는 방법의 개수는 이고 다른 점을 칠하는

방법의 개수는 이므로 이다. 비슷하게

이다.

몇 가지 예에서 보았듯이 는 항상 다항식임을 알 수 있다. 그러므로

를 크로매틱 다항식(chromatic polynomial)이라 한다.

예제

(a) 이면,

이다.

(b) 이면, 이다.

정 의 가 그래프이고 ∈이면 압축(contraction)그래프 란 다음

과 같은 그래프이다.

⊎ .

여기서 는 새로 추가된 점이다.

⊎ 는에서 또는 에인접해있던 점들이다

표시법 ╲

정리 <제거 - 압축 정리 (Deletion - Contraction Lemma, Fundamental

Reduction Theorem)>

∈이면 ╲

Page 21: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

증명 ╲ 임을 보이자. 라 하자. ╲의 적당한 칼

라링에는 두 가지 경우가 있다. 첫째 가 다른 색으로 칠해져 있다면 이 또한

의 적당한 칼라링이 된다. 그러므로 개의 선택 방법이 있다. 다음, 가 같은

색이라면 ╲의 적당한 칼라링은 새로 삽입하는 점 를 와 같은 색을 칠하는

의 적당한 칼라링과 일치한다. 그러므로 이다.

예제

정리 의 여러성질

i) 는 항상 다항식이다.

ii) .

iii)

⋯ , 여기서 모든 에 대해서 ≥.

iv) 선의개수 . v) 만약 성분 그래프의 개수 이면

에서

vi) ⋯ 가 의 성분그래프이면

.

vii) 만약 이면 이고

≠ .

증명

(1) - (4) : 에 수학적귀납법을 이용하여 동시에 증명.

: 이므로 이고 (1)- (4)를 만족한다.

: 한 점 ∈를 선택하자. 수학적 귀납법에 의해 ╲와

가 (1)-(4)를 만족한다. 그러므로

╲ ⋯

이고

Page 22: 이산수학 - WKUrg.wonkwang.ac.kr/teaching/teacher/graphtheory.pdf · 2020-02-25 · 이산수학 채 갑병(원광대학교) I. 그래프 이론의 개요 1. 그래프 그래프이론은

이다. 그러므로

╲ ⋯

을 얻는다.

(5) 위의 증명과 같은 방법.

(6) 곱셈 법칙에 의해 성립.

(7) 는 의 적당한 칼라링에 필요한 최소개수의 색깔을 뜻하므로 이면

개로 를 칼라링 할 수 없음을 의미한다. 최소한 ≥ 이어야만 적당한

의 칼라링이 존재할 수 있다.