그래프의 행렬 표현
📂그래프이론그래프의 행렬 표현
정의
그래프 G(V,E)가 주어졌다고 하자.
차수 행렬
각 버텍스 vi∈V 의 차수 d(vi)를 간단히 di라고 표기하자. 다음과 같은 행렬을 G 의 차수 행렬degree matrix이라고 하고 D(G) 혹은 간단하게 D라고 표기한다.
D(G)=diag(d1,…,dn)=d10⋮00d2⋮0⋯⋯⋱⋯00⋮dn
이때 diag 는 대각행렬이다.
인접 행렬
다음과 같은 정사각행렬을 G 의 인접 행렬adjacent matrix이라고 하고 A(G) 혹은 간단하게 A라고 표기한다.
A=[aij]={10,ij∈E(G),ij∈/E(G)
인접 행렬은 이산적으로도 풍부한 성질을 가지면서 행렬의 꼴을 하고 있기 때문에 선형 대수의 여러가지 이론을 접목시킬 수 있다. 특히 그 고유값은 네트워크를 응용하는 여러 모델에서 자주 언급된다.
근접 행렬
다음과 같은 행렬을 G 의 근접 행렬incident matrix이라고 하고 M(G) 혹은 간단하게 M이라고 표기한다.
M=[mij]={10,vertex i is incident with edge j,otherwise
유향 근접 행렬
G가 유향 그래프라고 하자. 다음과 같은 행렬을 G 의 유향 근접 행렬directed incident matrix이라고 하고 N(G) 혹은 간단하게 N이라고 표기한다.
N=[nij]=⎩⎨⎧1−10,vertex i is tail of edge j,vertex i is head of edge j,otherwise
예시

가령 위와 같은 그래프에 대해서 다음과 같은 행렬을 얻는다.
D=v1v2v3v4v5v6v7v8v130000000v202000000v300200000v400060000v500002000v600000200v700000030v800000000
A=v1v2v3v4v5v6v7v8v101110000v210010000v310010000v411101110v500010010v600010010v700011100v800000000
M=v1v2v3v4v5v6v7v8e111000000e210100000e310010000e401010000e500110000e600011000e700010100e800010010e900001010e1000000110

위와 같은 유향 그래프에 대한 유향 근접 행렬은 다음과 같다.
N=v1v2v3v4v5v6v7v8e11−1000000e210−100000e3100−10000e4010−10000e5001−10000e60001−1000e700010−100e8000100−10e9000010−10e10000001−10