Introduction

 

이산수학 : Richard Johnsonbaugh 저서, 강홍식.김정인.이도훈.이명재 번역, 교보문고, 1999 (원서 : Discrete Mathematics 6th ed, Prentice-Hall, 1997), Page 363~373

 

1736 년 그래프 이론에 대한 첫 논문이 발표되었고, 19 세기에 중요한 업적들이 몇몇 있었지만, 그래프 이론이 학문으로 인정되고 널리 연구되기 시작한 것은 1920 년대에 와서다. 실제로 그래프 이론에 대한 첫 교재 ([König]) 는 1936 년에야 발간되었다. 최근 들어 그래프 이론에 대한 관심도가 높아지는 이유 중의 하나는 전산학, 화학, 오퍼레이션 리서치 (operation research), 전자공학, 언어학, 경제학 등 다양한 분야에서 응용되고 있기 때문이다.

이 장에서는 기본적인 그래프 용어와 예들을 살펴보고 경로와 사이클 같은 그래프 이론에서 매우 중요한 개념에 대해 알아본다. 최단 경로 문제는 주어진 두 점 간의 최단 경로를 찾는 문제이다. 해밀턴 사이클의 존재 여부와 판매원 방문 문제와 같은 두 개의 고전적인 문제를 살펴본다. 그래프 표현 방법을 살펴본 후, 두 개의 그래프가 근본적으로 같은지, 그리고 주어진 그래프를 간선들의 겹침 없이 그릴 수 있는지에 대한 문제를 공부한다. 마지막으로 순간 착란 (Instant Insanity) 퍼즐을 그래프 모델을 이용해 해법을 찾는다.

 

1. 서  론

그림 1 은 와이오밍 주의 고속도로 시스템이다. 어떤 한사람이 이 도로를 순찰할 의무를 가지고 있다. 특히 이 도로 순찰자는 모든 도로들을 조사해야 하고, 도로 분리선의 선명도, 교통 신호의 상태 등에 관한 보고서에 작성해야 한다. 도로 순찰자는 그레이불 (Greybull) 에 살고 있다. 그가 모든 도로를 순찰할 가장 경제적인 방법은 그레이불에서 출발하는 것이고, 모든 도로를 한 번씩 지나 다시 그레이불로 되돌아 와야 한다. 이것이 가능할까? 진도를 나가기 전에 가능한지 결정해 보자.

 

그림 1  와이오밍 고속도로 시스템의 부분

이 문제는 그래프 (graph) 로 모델화할 수 있다. 사실 그래프는 점과 선으로 그려지기 때문에 도로 지도같이 보인다. 그림 2 는 그림 1 의 지도를 그래프 G 로 모델화하였다. 그림 2 에서 점들을 정점 (vertices) 들이라 하고 정점 간을 이어주는 선들을 간선 (edge) 이라고 한다 (이 절의 끝에 이들의 용어를 상세히 정의할 것이다). 각 정점에 해당되는 도시 이름의 앞 세 글자로 정점 이름을 준다. 간선들은 라고 이름을 붙인다. 그래프를 그릴 때, 중요한 정보는 어느 정점들이 어떤 간선들과 연결되느냐 하는 것이다. 이런 이유로 그림 2 의 그래프를 그림 3 과 같이 그릴 수 있다.

 

그림 2  그림 1 고속도로 시스템의 그래프 모델

 

그림 3  그림 1 고속도로 시스템의 그래프 모델의 대안

정점 에서 출발하여 정점 으로 가는 간선을 따라가고, 또 정점 로 가는 또 다른 간선을 따라 가는 등 결국 정점 에 도착한다. 이때 에서 으로의 완전한 방문 (순회) 를 경로 (path) 라 한다. She 을 출발해서 Buf 를 거쳐 Gil 에서 끝나는 경로는 그림 1 의 지도에서 Sheridan 에서 시작하여 Buffalo 를 지나서 Gillette 에서 끝나는 여정에 해당된다. 도로 순찰자 문제는 그래프 모델 G 에 대해 다음과 같이 다시 고쳐 쓰면 : 정점 Gre 으로부터 모든 간선을 한 번만 지나서 정점 Gre 로 오는 경로가 존재하는가?

도로 순찰자는 Greybull 에서 출발하여, 모든 도로를 한 번만 거쳐 Greybull 로 돌아올 수 없다. 그래프 용어를 사용하여 정리하면, 그림 2 에서 정점 Gre 로부터 모든 간선을 한 번만 지나서 정점 Gre 로 되돌아오는 경로는 없다. 이를 알기 위해 앞에서 정의한 경로가 존재한다고 가정하고 정점 Wor 를 고려해 보자. 어떤 간선이 Wor 에 도착하면 다른 간선을 따라 반드시 떠나야 한다. 나아가 Wor 에 연결된 모든 간선은 사용되어야 한다. 그래서 Wor 에서의 간선은 쌍으로 존재한다. 짝수 개의 간선이 Wor 에 연결되어야 함을 뜻한다. 세 개의 간선이 Wor 에 연결되어 있으므로 모순됨을 알 수 있다. 따라서 그림 2 에서 정점 Gre 에서 출발하여 모든 간선을 한 번씩 돌아서 정점 Gre 로 되돌아오는 경로는 존재하지 않는다. 이와 같은 주장은 임의의 그래프 G 에도 적용된다. 정점 에서부터 모든 간선을 한 번씩 방문하고 정점 로 되돌아 오는 경로가 존재하면 짝수 개의 간선이 각 정점에 연결되어 있어야 한다. 이 문제는 2 절에서 더 자세하게 논의한다.

여기서 몇 가지 공식적인 정의들을 살펴보자.

 (정의 1.1)

 (예제 1.2)

V = {Gre, She, Wor, Buf, Gil, Sho, Cas, Dou, Lan, Mud}

E = {}.

 (예제 1.3)

 

그림 4  방향 그래프

정의 1 은 정점들의 같은 쌍에 대해서도 서로 다른 간선을 허용한다. 예를 들어, 아래의 그림 5 에서 간선 과 는 둘다 정점의 쌍 를 나타낸다. 이런 간선을 병렬 간선 (parallel edges) 이라 한다. 하나의 정점으로 표기되는 간선을 루프 (loop) 라 한다. 예를 들어, 그림 5 에서 간선 는 루프이다. 그림 5 에서 정점 와 같은 정점은 어떠한 간선을 갖지 않는데 이를 분리된 정점 (isolated vertex) 이라 한다. 루프도 가지지 않고 병렬 간선도 가지지 않은 그래프를 단순 그래프 (simple graph) 라 한다.

 

그림 5  병렬 간선을 가지는 그래프

 

그림 6  볼트를 위한 구멍을 가진 금속관

 (예제 1.4)

 (예제 1.5)

 

그림 7  그림 6 의 금속판을 위한 그래프 모델. 간선 가중치는 드릴 프레스가 움직이는 데 걸리는 시간이다.

표 1  그림 7 그래프에 에서 로의 모든 정점을 한 번만 지나가는 경로와 그 길이

경      로

길     이

21

28

24

26

27

22

예제 5 에서 했던 것처럼, 정점 에서 정점 로 가는 모든 경로를 열거하는 방식은 정점 에서 모든 정점을 한 번씩 방문하여 로 가는 최소 길이 경로를 찾는, 다소 시간이 많이 결리는 방법이다. 불행하게도 임의의 그래프에 대해서 보다 실용적인 방법은 알지 못한다. 이 문제는 판매원 방문 문제 (traveling salesperson problem) 이다. 헤밀턴 사이클과 판매원 방문 문제에서 이 문제가 논의될 것이다.

 (예제 1.6)   유사도 그래프

표 2  같은 알고리즘을 구현한 C 프로그램들

Program

Number of
Program Lines

Number of
return Statements

Number of

Function Calls

1

2

3

4

5

66

41

68

90

75

20

10

5

34

12

1

2

8

5

14

,

,

,

,

,

,

,

,

 

,

,

 

 

그림 8  표 2 에서 S=25 에 대응되는 유사도 그래프

예제 6 은 패턴 인식 (pattern recognition) 이라는 주제에 속하는 문제이다. 패턴 인식은 주어진 자료의 성질에 따라 자료를 클래스로 분류하는 것과 관련이 있다. 컴퓨터에 의한 패턴 인식은 실상의 문제에 있어 아주 중요하다. 예를 들어, X-레이로부터 암을 발견한다든지, 감사 받아야 할 납세 신고서를 잡아내거나, 위성 사진을 분석하고, 글자 인식, 일기 예보를 하는 데 사용되어 왔다.

 (예제 1.7)    (하이퍼큐브)

 

그림 9  3-큐브

 

그림  10 두 개의 3-큐브를 결합하여 하나의 4-큐브를 얻는다.

 (정의 1.8)   

 (예제 1.9)   

 

그림 11  완전 그래프

 (정의 1.10)   

 (예제 1.11)  

과

 (예제 1.12)  

 (정의 1.13)  

 (예제 1.14)  

 

그림 14  완전 이분 그래프