인접 행렬
Adjacency matrix그래프 이론과 컴퓨터 과학에서, 인접 행렬은 유한 그래프를 나타내기 위해 사용되는 정사각형 행렬이다.행렬의 요소는 그래프에서 정점 쌍이 인접해 있는지 여부를 나타냅니다.
유한 단순 그래프의 특별한 경우 인접행렬은 대각선상에 0이 있는 (0,1)행렬이다.그래프가 무방향인 경우(즉, 모든 가장자리가 양방향인 경우), 인접 행렬은 대칭입니다.그래프와 인접 행렬의 고유값 및 고유 벡터 사이의 관계는 스펙트럼 그래프 이론에서 연구된다.
그래프의 인접 행렬은 발생 행렬, 요소가 정점-연 쌍의 입사 여부를 나타내는 다른 행렬 표현 및 각 정점의 정도에 대한 정보를 포함하는 정도 행렬과 구별되어야 한다.
정의.
정점 집합 U = {u1, …, un}인 단순 그래프에서 인접 행렬은 정점 u에서 정점ij u까지 가장자리가 있을 때 요소ij A가 1이고 [1]가장자리가 없을 때 0이 되도록 정사각형 n × n 행렬 A이다.단순한 그래프에서는 정점에서 자신(루프)까지의 모서리가 허용되지 않으므로 행렬의 대각 요소는 모두 0입니다.또한 대수 그래프 이론에서 0이 아닌 요소들을 대수 [2]변수로 대체하는 것은 때때로 유용하다.동일한 개념은 대응하는 매트릭스 요소의 두 정점 사이의 가장자리 수를 저장하고 0이 아닌 대각 요소를 허용함으로써 루프가 있는 멀티그래프 및 그래프로 확장할 수 있습니다.루프는 일관된 규칙을 따르는 한 1회(단일 에지) 또는 2회(정점 에지 발생 2회)로 카운트할 수 있습니다.무방향 그래프는 종종 루프를 두 번 카운트하는 후자의 규칙을 사용하는 반면 방향 그래프는 일반적으로 전자의 규칙을 사용한다.
초당 그래프의 경우
두 부분이 r과 s 정점을 갖는 초당 그래프의 인접 행렬 A는 다음과 같이 작성될 수 있다.
여기서 B는 r × s 행렬이고r,r 0과s,s 0은 r × r 및 s × s 0 행렬을 나타낸다.이 경우 작은 행렬 B는 고유하게 그래프를 나타내며 A의 나머지 부분은 용장성으로 폐기할 수 있습니다.B는 때때로 생체방사선 매트릭스라고 불린다.
공식적으로, G = (U, V, E)가 부품 U = {u1, …, ur}, V = {v1, …, vs} 및 모서리 E를 갖는 초당 그래프라고 가정하자.생체방사행렬은 r × s 0–1 행렬 B이며, 여기서i,j b = 1 if, and onlyi ifj (u, v) e E이다.
G가 초당 멀티그래프 또는 가중그래프일 경우 요소i,j b는 각각 정점 사이의 가장자리 수 또는 가장자리 무게(ui, vj)로 간주된다.
바리에이션
단순그래프의 (a, b, c)-인접행렬 A는 (i, j)가 엣지이면 A = a, 그렇지 않으면 b, 대각선이면 c를 가진다i,j.세이델 인접 매트릭스는 (-1, 1, 0) 인접 매트릭스입니다.이 매트릭스는 강력한 규칙 그래프와 2-그래프를 [3]연구하는 데 사용됩니다.
거리 행렬은 정점i v와j v 사이의 거리(i, j)에 있습니다.거리는 정점을 연결하는 최단 경로의 길이입니다.에지 길이가 명시적으로 제공되지 않는 한 경로의 길이는 경로 내의 에지 수입니다.거리행렬은 인접행렬의 높은 검정력과 유사하지만 두 정점이 연결되어 있는지 여부(즉, 부울값을 포함하는 연결행렬)만 알려주는 것이 아니라 이들 사이의 정확한 거리를 제공합니다.
예
무방향 그래프
여기서의 규칙(무방향 그래프의 경우)은 각 가장자리가 매트릭스 내의 적절한 셀에 1을 더하고 각 루프가 [4]2를 더하는 것입니다.이것에 의해, 인접 행렬내의 각 행 또는 열의 값의 합계를 취하는 것으로, 정점의 정도를 간단하게 찾을 수 있습니다.
라벨 그래프 | 인접 행렬 |
---|---|
| |
|
유도 그래프
방향 그래프의 인접 행렬은 비대칭일 수 있습니다.다음과 같이 유도 그래프의 인접 행렬을 정의할 수 있습니다.
- 0이 아닌 요소ij A는 i에서 j까지의 가장자리를 나타냅니다.
- j부터 i까지의 엣지를 나타냅니다.
전자의 정의는 그래프 이론과 소셜 네트워크 분석(예: 사회학, 정치학, 경제학, 심리학)[5]에서 일반적으로 사용된다.후자는 다른 응용 과학(예: 동적 시스템, 물리학, 네트워크 과학)에서 더 흔하며,[6] 여기서 A는 때때로 그래프에서 선형 역학을 기술하는데 사용된다.
첫 번째 정의를 사용하여 대응하는 열의 엔트리와 대응하는 행의 엔트리를 합산함으로써 정점의 온도를 계산할 수 있다.degrees)를 계산할 수 있다.두 번째 정의를 사용할 때 정점의 인도는 대응하는 행합으로 주어지고 아웃도는 대응하는 열합으로 주어집니다.
라벨 그래프 | 인접 행렬 |
---|---|
|
간단한 그래프
완전한 그래프의 인접 매트릭스에는 0만 있는 대각선을 제외한 모든 인접 매트릭스가 포함됩니다.빈 그래프의 인접 행렬은 제로 행렬입니다.
특성.
스펙트럼
무방향 단순 그래프의 인접 행렬은 대칭이며, 따라서 실제 고유값과 직교 고유 벡터의 완전한 집합을 가진다.그래프의 고유값 집합은 [7]그래프의 스펙트럼입니다.고유값은 1 2 . 、 n _ {_ {_ {로 나타냅니다.
최대 고유값 1 \ _은 최대 차수로 위쪽에 경계되어 있습니다.이것은 페론-프로베니우스 정리의 결과로 볼 수 있지만, 쉽게 증명될 수 있다.를 §1에 관련된 고유 벡터 1(\ _로 하고 v가 최대 절대값을 갖는 컴포넌트를 x로 합니다.일반성을 잃지 않고 v는 양의 값이라고 가정합니다x.그렇지 않으면 §과 관련된 고유 벡터{\}를 취하기만 하면 됩니다.그리고나서
d-정규 그래프의 경우 d는 벡터 v = (1, …, 1)에 대한 A의 첫 번째 고유값입니다(위의 한계 때문에 고유값이고 최대값임을 쉽게 확인할 수 있습니다).이 고유값의 배수는 G의 연결된 컴포넌트 수이며, 특히 연결된 그래프의 경우 connected > 2 \ style \_ {1 > \_ {}。각 고유값 i {\i에 대하여 G가 이분 [8]그래프일 경우 그 반대인 n+ - {i}=\도 A의 고유값임을 알 수 있다.특히 -d는 모든 d-규칙 이분 그래프의 고유값입니다.
- _ _의 차이를 스펙트럼 갭이라고 하며, 이는 G의 팽창과 관련이 있다.그것은 또한 A{A\displaystyle}λ(G)에 의해 표시된의 스펙트럼 반경을 소개하기 위해)max λ 나는 <, dλ 나는{\displaystyle \lambda(G)=\max_{\left \lambda_{나는}\right <, d}\lambda _{나는}}. 이 숫자 1−입니다(1){\displaystyle \lambda(G)\geq 2{\sqrt{d-1}}-o((G)≥ 2d− λ에 의해 제한되며 유용하다.1)} 많은 분야에서 응용되고 있는 라마누잔 그래프에서 이 경계는 엄격하다.
동형 및 불변량
인접 행렬1 A와2 A를 가진 두 개의 방향 또는 방향 없는 그래프 G와12 G가 있다고 가정합니다.G와12 G는 다음과 같은 치환행렬 P가 존재하는 경우에만 동형이다.
특히 A와2 A는 유사하므로1 최소 다항식, 특성 다항식, 고유값, 행렬식 및 궤적이 동일합니다.따라서 이들은 그래프의 동형 불변량 역할을 할 수 있다.그러나 두 그래프는 동일한 고유값 집합을 가질 수 있지만 [9]동형이 아닐 수 있습니다.이러한 선형 연산자는 등분광 연산자라고 한다.
행렬의 거듭제곱
A가 방향 또는 무방향 그래프 G의 인접 행렬인 경우n, 행렬 A(즉, A의 n개의 복사본 행렬 곱)는 흥미로운 해석을 가진다. 요소(i, j)는 정점 i에서 정점 j까지의 길이 n개의 (방향 또는 무방향) 걸음을 나타낸다.만약 n이 음이 아닌 가장 작은 정수이며, 따라서 A의n 요소(i, j)가 양이면, n은 정점 i와 정점 j 사이의 거리이다.이는 예를 들어 무방향 그래프 G의 삼각형 수가 정확히 A를3 6으로 나눈 트레이스임을 의미합니다.인접 매트릭스를 사용하여 그래프가 연결되어 있는지 여부를 판단할 수 있습니다.
데이터 구조
인접행렬은 그래프를 조작하기 위한 컴퓨터 프로그램에서의 그래프 표현을 위한 데이터 구조로서 사용될 수 있다.이 응용 프로그램에서도 사용되는 주요 대체 데이터 구조는 인접 [10][11]목록입니다.
인접 행렬의 각 엔트리는 1비트만 필요하므로 V/8바이트만 사용하여 방향 그래프를 나타내거나 (패킹된 삼각형 형식을 사용하여 행렬의 아래쪽 삼각형 부분만 저장함으로써) 약 V/16바이트를 사용하여 방향 없는 그래프를 나타내면서 매우 콤팩트하게 나타낼 수 있습니다.조금 더 간결한 표현이 가능하지만, 이 방법은 모든 n-vertex [12]그래프를 표현하기 위해 필요한 최소 비트 수에 대한 정보 이론 하한에 근접합니다.텍스트 파일에 그래프를 저장하는 경우 바이트당 비트 수를 줄여 모든 바이트가 텍스트 문자임을 확인할 수 있습니다(예를 들어 Base64 [13]표현 사용).공간 낭비를 피할 수 있을 뿐만 아니라, 이 콤팩트함은 기준의 인접성을 촉진합니다.단, 스퍼스 그래프가 큰 경우 인접 목록은 존재하지 않는 [11][14]가장자리를 나타내기 위해 공간을 낭비하지 않기 때문에 필요한 스토리지 공간이 적습니다.
인접 행렬의 대체 형식(단, 더 많은 공간이 필요함)은 행렬의 각 요소의 숫자를 에지 개체(에지가 있는 경우) 또는 늘 포인터(에지가 [14]없는 경우)로 바꿉니다.인접 [11]매트릭스 요소에 엣지 웨이트를 직접 저장할 수도 있습니다.
공간 트레이드오프 외에도 서로 다른 데이터 구조는 서로 다른 운영을 촉진합니다.인접 목록에서 특정 정점에 인접한 모든 정점을 찾는 것은 목록을 읽는 것만큼 간단하며 네이버 수에 비례하는 시간이 걸립니다.인접 행렬에서는 행 전체를 스캔해야 합니다.이 경우 그래프 전체의 정점 수에 비례하여 시간이 더 걸립니다.한편, 인접 매트릭스를 사용하여 2개의 정점 사이에 엣지가 존재하는지 여부를 동시에 판단할 수 있습니다.다만, 인접 [11][14]리스트가 있는 2개의 정점의 최소 정도에 비례하는 시간이 필요합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ 를 클릭합니다Biggs, Norman (1993), Algebraic Graph Theory, Cambridge Mathematical Library (2nd ed.), Cambridge University Press, Definition 2.1, p. 7.
- ^ 를 클릭합니다Harary, Frank (1962), "The determinant of the adjacency matrix of a graph", SIAM Review, 4 (3): 202–210, Bibcode:1962SIAMR...4..202H, doi:10.1137/1004057, MR 0144330.
- ^ Seidel, J. J. (1968). "Strongly Regular Graphs with (−1, 1, 0) Adjacency Matrix Having Eigenvalue 3". Lin. Alg. Appl. 1 (2): 281–298. doi:10.1016/0024-3795(68)90008-6.
- ^ Shum, Kenneth; Blake, Ian (2003-12-18). "Expander graphs and codes". Volume 68 of DIMACS series in discrete mathematics and theoretical computer science. Algebraic Coding Theory and Information Theory: DIMACS Workshop, Algebraic Coding Theory and Information Theory. American Mathematical Society. p. 63. ISBN 9780821871102.
- ^ Borgatti, Steve; Everett, Martin; Johnson, Jeffrey (2018), Analyzing Social Networks (2nd ed.), SAGE, p. 20
- ^ Newman, Mark (2018), Networks (2nd ed.), Oxford University Press, p. 110
- ^ 빅스(1993), 제2장("그래프의 스펙트럼", 페이지 7-13).
- ^ Brouwer, Andries E.; Haemers, Willem H. (2012), "1.3.6 Bipartite graphs", Spectra of Graphs, Universitext, New York: Springer, pp. 6–7, doi:10.1007/978-1-4614-1939-6, ISBN 978-1-4614-1938-9, MR 2882891
- ^ Godsil, Chris; Royle, Gordon Algebragical Graph Theory, Springer(2001), ISBN 0-387-95241-1, 페이지 164
- ^ Goodrich & Tamassia(2015), 페이지 361: "사람들이 그래프를 나타내기 위해 자주 사용하는 두 가지 데이터 구조, 인접 리스트와 인접 매트릭스가 있다."
- ^ a b c d 를 클릭합니다Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001), "Section 22.1: Representations of graphs", Introduction to Algorithms (Second ed.), MIT Press and McGraw-Hill, pp. 527–531, ISBN 0-262-03293-7.
- ^ 를 클릭합니다Turán, György (1984), "On the succinct representation of graphs", Discrete Applied Mathematics, 8 (3): 289–294, doi:10.1016/0166-218X(84)90126-4, MR 0749658.
- ^ 를 클릭합니다McKay, Brendan, Description of graph6 and sparse6 encodings.
- ^ a b c 를 클릭합니다Goodrich, Michael T.; Tamassia, Roberto (2015), Algorithm Design and Applications, Wiley, p. 363.
외부 링크
- Weisstein, Eric W. "Adjacency matrix". MathWorld.
- Fluffschack - 인접 행렬과 그래프 간의 관계를 보여주는 교육용 Java 웹 시작 게임입니다.
- 개방형 데이터 구조 - 섹션 12.1 - 인접 매트릭스: 행렬에 의한 그래프 표현, Pat Morin
- 카페 산술 : 그래프의 인접 행렬 : 일련의 워크를 생성하는 계산에 대한 인접 행렬의 적용.