logo

그래프의 행렬 표현 📂그래프이론

그래프의 행렬 표현

정의 1

그래프 G(V,E)G(V,E)가 주어졌다고 하자.

차수 행렬

각 버텍스 viVv_{i}\in V차수 d(vi)d(v_{i})를 간단히 did_{i}라고 표기하자. 다음과 같은 행렬을 GG차수 행렬degree matrix이라고 하고 D(G)D(G) 혹은 간단하게 DD라고 표기한다.

D(G)=diag(d1,,dn)=[d1000d2000dn] D(G) = \mathrm{diag} (d_{1}, \dots, d_{n}) = \begin{bmatrix} d_{1} & 0 & \cdots & 0 \\ 0 & d_{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_{n} \end{bmatrix}

이때 diag\mathrm{diag}대각행렬이다.

인접 행렬

다음과 같은 정사각행렬GG인접 행렬adjacent matrix이라고 하고 A(G)A(G) 혹은 간단하게 AA라고 표기한다.

A=[aij]={1,ijE(G)0,ijE(G) A = [a_{ij}] = \begin{cases} 1 &, ij \in E(G) \\ 0 &,ij \notin E(G) \end{cases}

인접 행렬은 이산적으로도 풍부한 성질을 가지면서 행렬의 꼴을 하고 있기 때문에 선형 대수의 여러가지 이론을 접목시킬 수 있다. 특히 그 고유값은 네트워크를 응용하는 여러 모델에서 자주 언급된다.

근접 행렬

다음과 같은 행렬을 GG근접 행렬incident matrix이라고 하고 M(G)M(G) 혹은 간단하게 MM이라고 표기한다.

M=[mij]={1,vertex i is incident with edge j0,otherwise M = [m_{ij}] = \begin{cases} 1 &, \text{vertex } i \text{ is incident with edge } j \\ 0 &, \text{otherwise} \end{cases}

유향 근접 행렬

GG유향 그래프라고 하자. 다음과 같은 행렬을 GG유향 근접 행렬directed incident matrix이라고 하고 N(G)N(G) 혹은 간단하게 NN이라고 표기한다.

N=[nij]={1,vertex i is tail of edge j1,vertex i is head of edge j0,otherwise N = [n_{ij}] = \begin{cases} 1 &, \text{vertex } i \text{ is tail of edge } j \\ -1 &, \text{vertex } i \text{ is head of edge } j \\ 0 &, \text{otherwise} \end{cases}

예시

2.png

가령 위와 같은 그래프에 대해서 다음과 같은 행렬을 얻는다.

D=v1v2v3v4v5v6v7v8v130000000v202000000v300200000v400060000v500002000v600000200v700000030v800000000 D = \begin{matrix} & v_{1} & v_{2} & v_{3} & v_{4} & v_{5} & v_{6} & v_{7} & v_{8} \\ v_{1} & 3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ v_{2} & 0 & 2 & 0 & 0 & 0 & 0 & 0 & 0 \\ v_{3} & 0 & 0 & 2 & 0 & 0 & 0 & 0 & 0 \\ v_{4} & 0 & 0 & 0 & 6 & 0 & 0 & 0 & 0 \\ v_{5} & 0 & 0 & 0 & 0 & 2 & 0 & 0 & 0 \\ v_{6} & 0 & 0 & 0 & 0 & 0 & 2 & 0 & 0 \\ v_{7} & 0 & 0 & 0 & 0 & 0 & 0 & 3 & 0 \\ v_{8} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{matrix}

A=v1v2v3v4v5v6v7v8v101110000v210010000v310010000v411101110v500010010v600010010v700011100v800000000 A = \begin{matrix} & v_{1} & v_{2} & v_{3} & v_{4} & v_{5} & v_{6} & v_{7} & v_{8} \\ v_{1} & 0 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ v_{2} & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ v_{3} & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ v_{4} & 1 & 1 & 1 & 0 & 1 & 1 & 1 & 0 \\ v_{5} & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\ v_{6} & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\ v_{7} & 0 & 0 & 0 & 1 & 1 & 1 & 0 & 0 \\ v_{8} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{matrix}

M=e1e2e3e4e5e6e7e8e9e10v11110000000v21001000000v30100100000v40011111100v50000010010v60000001001v70000000111v80000000000 M = \begin{matrix} & e_{1} & e_{2} & e_{3} & e_{4} & e_{5} & e_{6} & e_{7} & e_{8} & e_{9} & e_{10} \\ v_{1} & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ v_{2} & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ v_{3} & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ v_{4} & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\ v_{5} & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\ v_{6} & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 1 \\ v_{7} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 \\ v_{8} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{matrix}

3.png

위와 같은 유향 그래프에 대한 유향 근접 행렬은 다음과 같다.

N=e1e2e3e4e5e6e7e8e9e10v11110000000v21001000000v30100100000v40011111100v50000010010v60000001001v70000000111v80000000000 N = \begin{matrix} & e_{1} & e_{2} & e_{3} & e_{4} & e_{5} & e_{6} & e_{7} & e_{8} & e_{9} & e_{10} \\ v_{1} & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ v_{2} & -1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ v_{3} & 0 & -1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ v_{4} & 0 & 0 & -1 & -1 & -1 & 1 & 1 & 1 & 0 & 0 \\ v_{5} & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 1 & 0 \\ v_{6} & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 1 \\ v_{7} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & -1 & -1 \\ v_{8} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{matrix}


  1. Wilson. (1970). Introduction to Graph Theory: p14. ↩︎