제 8 장    Graph 이론과 그 응용

 

     1. Graph의 개념

  

    1. Graph의 개념

 

 

  다음 그래프에서 점 1에서 시작하여 모든 모서리를

지나는 경로를 그릴 수 있는가 생각하여 보시오. 

         

 

 

   본 강의에서는 graph이론의 시작에 관한 이야기와

graph이론에서의 기본적인 용어에 대하여 학습한다.

 

 

 

 

 

             Graph의 정의

 

그래프 이론(graph theory)을 이용한 문제 해결은

1736년 스위스의 수학자 Leonard Euler(1707-83)에

의하여 최초로 시작되었다. 당시 러시아의

Konigsberg에는 그림 1처럼 Pergel 강에 있는 두

개의 섬과 일곱 개의 다리로 구성된 산책할 수 있는

공원이 있었다. 이곳 시민들은 자주 산책을 즐기면서

이들은 집에서 출발하여 정확하게 일곱 개의 다리를

산책하는데 지나간 다리는 다시 지나지 않는 방법으로

이어지는 산책경로가 존재하는지 궁금하게

생각했었다.  그런데  Euler는 그림 2의 단순화된

그래프 이론을 이용하여 이 문제를 쉽게 해결할 수

있었다.

 

 

 그림 1

 

그림 2

 

  1과 2는 강의 양쪽 기슭을 의미하며, 3과 4는 2개의

섬을 나타낸다. 이 점들을 연결하는 7개의 선들은

7개의 다리를 나타낸다. 여기서 Euler는 이 문제를

다음과 같은 방법으로 설명하였다.

 

1,2,3,4 중 어느 한 위치에서 시작해서 각 다리를

정확하게 한번만 산책하는 방법으로 출발했던 위치로

되돌아 오는 것이 가능할까?

 

이 문제에 대한 해답은 뒤에서 학습할  Euler와

Hamilton경로의 이론에서 알 수 있을 것이다.

 

Euler는 주어진 그래프에서 정점의 차수(degree)가

짝수를 갖고 있을 때, 이 문제가 해결됨을 수학적

증명으로 보였다.

 

 

 

위의 그림 2와 같은 도형을 그래프(graph)라고

부르며, 각 점들을 정점(vertex) V로, 다리와 도로를

모서리(edge) E로 표현되는 그래프 G = (V, E)라고

하며, 이러한 그래프이론은 1736년 Euler의 논문에서

처음 발표되었다.

 

 

 

그래프 이론은 수학의 가장 성공적인 응용 부분의

하나이며, 이것은 전산학, 물리학, 화학, 공학,

의학,생물학, 심리학, 경제학, 도시계획, 인공지능학,

언어학 등의 다른 여러 분야에서 중요한 응용을 갖고

있다.

 

 

다음의  강의 내용은 그래프이론에 대한 표준적인

교과서를 참고하여 학습하기 바랍니다.

 

 

     

    정의 1.  V를 공집합이 아닌 정점(vertex)들의

    집합이라고 하고 모서리(Edge)들의 집합을

    E⊆V×V라고 하자 .

    이 때,  우리는 G = < V, E > 를  방향그래프(digraph

    또는 directed graph)라고 하며,  방향이 없는

    그래프는 단순히 G = ( V, E )로 표시하기로 한다.

     그래프 G에서 다른 정점들과 연결되지 않은 정점 v을

    고립정점이라고 하고, 고립정점으로만 이루어진

    그래프를 공 그래프 (null graph)라고 한다.

     

 

        

 

그래프 G = (V, E)에서 V와 E는 유한한 원소들의

집합으로 가정한다.

 

임의의 모서리 x ∈ E 가 V의 순서쌍  <u, v> 혹은

비순서쌍 (u, v)와 연관이 있을 때, 모서리 x는 정점

u 와 v를 연결(connect)한다고 말하고, 임의의

모서리에 의하여 연결된 정점들의 쌍을 인접한

정점(adjacent vertices)들이라 한다. 방향 그래프를

나타낼 때, 정점은 점 a, b, c 등으로 표시하며

모서리는 <a,b>, <a,c> 등으로 표시한다.

 

 

 

다음과 같은 용어를 알아봅시다.

 

 Three properties of graphs that are

important in many problems are size,

regularity, diameter.

 

The size of a graph is the number of

vertices it has.

 

  다음 그래프는 size가 1부터 9 까지인

graph를 나타낸다.

 

          

 

 

 

Just like the diameter of a circle measures

the distance across a circle, diameter is a

measure of distance between vertices in a

graph. The idea of "distance" in a graph is

different from the "distance" we commonly

measure with a tape measure, however,

because we can stretch or shrink the

edges of a graph to be any length at all.

 

Imagine traveling from vertex to vertex

along the edges of a graph. Each trip

along one edge, no matter how long or

short the edge happens to be, counts as

one move. The distance from one vertex

to another is the smallest number of

moves that it takes to get there.

 

  

The diameter of a circle measures the

distance between two points on the circle

that are farthest apart. Similarly, the

diameter of a graph is the distance

between the two vertices of the graph that

are farthest apart.

 

 

 

 

 

예제 1.  그림 3의 그래프는 다음 성분을 갖는다 .

 모서리의 집합 E = { < a , a >, < a , b >,

                      < a , d> , < b , c >}

정점의 집합    V = { a , b , c , d , e }

                                         

          그림 3

 

 

 

방향 그래프 G = <V, E>  에서  x ∈ E 가 두 정점의

순서쌍 <u, v>  로 연결된  방향이 있는 모서리일 때,

모서리 x 는 u 를 출발점 (initial vertex) , v를

도착점 (terminal vertex ) 이라고 한다. 방향

그래프에서 , 모서리는 화살표로 표시한다.

 

 

무방향 그래프(undirected graph)의 모서리는

(a , b ), ( b , c ) , ( a , a ), ( a , d ) 등과 같으며

일반적인 모서리 ( a , b )는 두 개의 방향성 모서리

{< a , b >,< b , a>} 를 의미한다. 여기서,

(a , b ) = (b , a )이면  a = b 가 된다.

    

 

 

정의 2.  평행한 모서리가 존재하지 않는 그래프를

평면그래프(planar graph 또는 simple graph)라고

하며, 평행한 모서리들이 존재한다면

비평면그래프(nonplanar 또는 multigraph)라고

말한다.

 

 

                   그림 4(1)

                    그림 4(2)

                 그림 4(3)

 

 

    그림 4(1)는 평면그래프의 예, 그림 4(2)는

비평면그래프의 예이고, 그림 4(3)은 평면그래프를

비평면그래프로 그린 예이다.

 

이제 그래프의 성질에 대하여 정의하여 봅시다.

 

 

정의 4. 그래프 G = (V, E)에서 요소

(components)의 수는 연결된 그래프의 수를

의미하며, k(G)로서 나타낸다.

 

 

 

 

예제 3. 다음 그림 5(a)는 전체가 연결된 그래프이기

때문에 K(G1) = 1 이지만, 그림 5(b)는 두 개의 독립

연결 그래프이므로 K(G2) = 2이다.

 

 

  

   

 

 

  

 본 강의에서는 graph이론의 시작에 관한 이야기와

graph이론에서의 기본적인 용어에 대하여 학습한다.

  

   

 

 

 

 

 

 

 

 

 

 

 

  제 8 장    Graph 이론과 그 응용

 

      2.  Subgraph

   

 

     2.  Subgraph

 

 

 다음 그래프의 부분집합으로 생길 수 있는 그래프를

그려보시오.

                

 

  본 강의에서는 앞의 강의에 이어서 raph이론에서의

기본적인 용어에 대하여 학습한다.

 

 

 

Subgraph

 

앞에서 학습한 그래프의 개념과 정의에 이어서 필요한 여러

개념을 계속하여 학습하기로 한다.   다음의  강의 내용은

앞에서와 같이 그래프이론에 대한 표준적인 교재들을

참고하여 학습하기 바랍니다.

 

먼저 다음의 정의를 생각해 봅시다.

 

 

정의 1. (1)단순 방향 그래프 G = <V, E>에서 정점

v에서 정점 u까지의 경로가 존재할 때, v는 u로부터

연결가능(reachable accessible)이라고 한다.

(2) G = <V, E>를 단순 방향 그래프(simple

directed graph)라고 하자. 이 때 모든 정점의 쌍의

집합에 속하는 정점들 중에서 적어도 한 정점에서

다른 정점으로 도착가능하다면, 그래프 G를 연결

그래프(connected graph)라고 한다.  또, 모든

정점의 쌍의 집합에 속하는 정점들 중에서 쌍의 두

정점이 모두 서로 다른 정점으로부터

도착가능하다면, 그래프 G를 강한 연결그래프(

strongly connected graph)라고 한다.

 

 

 

                             그림 1

 

위 그림 1의 그래프 G는 분명히 연결 그래프

(connected graph) 이다.

 

무방향 그래프에서 정점의 임의의 쌍에 대하여, 두

정점이 서로 다른 정점으로부터 도착가능하다면, 그

그래프는 연결되었다고 하며, 방향 그래프에서 각

간선의 방향을 무시했을 때 생기는 무방향 그래프가

연결되면 본래의 방향 그래프는 약한 연결 그래프

(weakly connected graph) 라고 한다.

 

 

 

문제 1 .  강한 연결그래프와 약한 연결그래프의

간단한 예를 들어 보시오.

 

 

 

그래프의 연결성에 대한 다음 정리를 얻을 수 있다.

 

 

정리 1. 단순 방향 그래프 G = <V, E>에서 각

정점은 유일한 강한 요소에 속한다.

 

 

증명 . 임의 정점 v ∈V 에 대하여 v와 서로

도달가능한 정점들로 구성된 집합 S를 정의하자.

그때 S는 v를 포함하며, G의 강한 요소이므로 모든

정점은 강한 요소에 속함을 알 수 있다. 여기서 v가

두 개의 강한 요소에 포함되어 있다고 가정하면, 두

요소 내의 정점끼리는 v를 통하여 서로 도달 가능하게

되어 강한 요소의 정의에 모순된다. 결국, 각 정점은

유일한 강한 요소에 속한다.

정점과는 다르게 간선 x ∈ E 는 강한 요소에 속할

수도 있고, 속하지 않을 수도 있다. x = < u, v>일

때, u와 v가 같은 강한 요소에 속하면 x 도 강한

요소에 속하며, x가 강한 요소에 속하면, x는

싸이클의 한 부분임을 알 수 있다.

 

 

 

 

정의 2.   x,y를 그래프 G = (V, E)의 정점이라고

하자. 이 때, 그래프 G 에서 x-y 경로라 함은

출발점 x에서 도착점 y까지 이어지는 정점과 간선의

유한한 나열을 의미한다.

x = x0, e1, x1, e2, x2,,..., en-1, xn-1,en,xn= y

에서, 걸음의 길이(length)는 걸음의 모서리의 수를

의미하며, n개의 모서리를 갖는 걸음의 길이는 n이

된다.

 

 

 

x=y인 경우,  x-y 걸음은 닫힌 경로(closed walk)

이라 하며, 다른 경우는 열린 경로(opend walk)라고

부른다.

 

 

예제 2.  다음 그래프에서 다음과 같은 경로를

생각할 수 있다.

            

1.{a,b}{b,d}{d,c}{c,e}{e,d}{d,b}은 길이 6인

a-b 경로이다. 여기서 정점 d와 b를 반복하면

모서리 (b,d)를 반복해서 이루어진 경로이다.

 

2. b→ c→ d→ e→ c→ f 은 정점 c를 반복하며, 한

번 이상 반복되는 모서리가 없는 길이 5인 b-f

경로이다.

 

3. {f,c}{c,e}{e,d}{d,a}은 정점이든 모서리이든

반복되는 것이 없는 길이 4인 f-a의 경로이다.

 

 

 

 

 

정의 3. 그래프 G = (V, E)에서 임의의 x-y 경로에

대하여

(1) x-y 경로에서 어떤 모서리도 반복되지 않는다면,

정점과 모서리들로 번갈아 나열된  x-y 자국(trail)

이라 하고, 닫힌 x-x 행로는 회로(circuit)라고

한다.

(2) x-y 경로의 어떤 정점도 한 번 이상 반복되지

않는다면, 그 경로를   x-y 행로라고 한다.

싸이클(cycle)이라는 의미는 닫힌 x-x행로라는 것을

의미한다.

 

 

                     그림 3

 

위 그림에서 처럼 싸이클(cycle)의 의미는

그래프에서 적어도 3 개 이상의 서로 다른 모서리들로

연결되고 원래의 출발점으로 되돌아 오는 경로를

의미환다.

 

 

지금부터는 집합에서의 부분집합의 개념과 같이,

주어진 그래프에서 부분그래프(subgraph)가

무엇인지를 정의하고 그래프의 여러 성질에 관하여

알아 봅시다.

 

 

정의 4. G = (V, E) 를 그래프라고 하자. 그 때

Ф=V1 ≤ V과 E1≤E인 조건하에서 그래프 G의

부분적인 그래프 H를 생성할 경우, 우리는 H를 G의

부분 그래프(subgraph)라고 하며, H≤G라고

표기한다.

 

 

 

 

 

다음은 위 그래프의 subgraph들의 예를 보여

준다.

 

 

 

 

예제 3.  다음 그림은 무방향 그래프 G = (V, E)

이며, 두 개의 부분 그래프 G1(a) 와 G1(b)를

갖는다.

           

 

 

 

 

정의 5.   v를 그래프 G = (V, E) 에 존재하는

정점이라고 하자. G-v가 의미하는 그래프 G의 부분

그래프는 정점 V1=v - {v}과 모서리 E1을 갖는다.

여기서 E1는 정점 v에 연관된 모서리들을 제외한

E에 속한 모든 모서리의 집합이다.

 

 

 

모서리에 대하여도 꼭같은 방법으로,      e가 그래프

G = (V, E)의 한 모서리라면,  E1 = E - {e}인

집합과 V1 = V인 그래프 G의 부분 그래프  G-e 를

얻을 수 있다.

 

 

 

예제 4. 위 예제 3의 그래프에서 그래프 G의

부분그래프 G1= (V1, E1)라고 할 경우, 그래프 G의

부분 그래프 G1=G-c는  V1={a,b,d,f,g,h}와

E1={(a,b),(d,f),(f,g),(g,h),(f,h)}로 구성된

부분그래프를 의미한다.

 

 

         

 

 

 

     

 

   본 강의에서는 앞의 강의에 이어서 계속하여

graph이론에서의 기본적인 용어에 대하여 학습한다.