{{위키데이터 속성 추적}}
{{다른 뜻|그래프}}
[[파일:6n-graf.svg|섬네일|6개의 [[꼭짓점]]과 7개의 변을 갖는 그래프]]

[[수학]]에서 '''그래프'''({{llang|en|graph}}, {{문화어|그라프}})는 일련의 [[꼭짓점]]들과 그 사이를 잇는 변들로 구성된 [[조합론]]적 구조이다. 그래프를 연구하는 수학의 분야를 '''[[그래프 이론]]'''이라고 한다. “그래프”라는 용어는 1878년 [[제임스 조지프 실베스터|J. J. 실베스터]]에 의해 처음 사용되었다.<ref>See:
* J. J. Sylvester (February 7, 1878) [https://books.google.com/books?id=KcoKAAAAYAAJ&vq=Sylvester&pg=PA284#v=onepage&q&f=false "Chemistry and algebra,"] ''Nature'', ''17'' : 284. {{doi|10.1038/017284a0}}. From page 284: "Every invariant and covariant thus becomes expressible by a ''graph'' precisely identical with a Kekuléan diagram or chemicograph."
* J. J. Sylvester (1878) [https://books.google.com/books?id=1q0EAAAAYAAJ&pg=PA64#v=onepage&q&f=false "On an application of the new atomic theory to the graphical representation of the invariants and covariants of binary quantics, — with three appendices,"] ''American Journal of Mathematics, Pure and Applied'', ''1'' (1) : 64–90. {{doi|10.2307/2369436}}. {{JSTOR|2369436}}. The term "graph" first appears in this paper on page 65.</ref><ref>{{서적 인용
 | title = Handbook of graph theory
 | first1 = Jonathan L.
 | last1 = Gross
 | first2 = Jay
 | last2 = Yellen
 | publisher = [[CRC Press]]
 | year = 2004
 | page = [https://books.google.com/books?id=mKkIGIea_BkC&pg=PA35&lpg=PA35 35]
 | isbn = 978-1-58488-090-5
 | url = https://books.google.com/?id=mKkIGIea_BkC
 | postscript = <!--None-->}}</ref>

== 정의 ==
{{참고|그래프 이론 용어}}
'''그래프''' <math>(V,\sim)</math>는 집합 <math>V</math>와 <math>V</math> 위의 [[반사관계|반사]] [[대칭관계]] <math>\sim</math>의 [[순서쌍]]이다. 그래프 <math>(V,\sim)</math>의 '''꼭짓점'''(-點, {{llang|en|vertex|버텍스}})은 <math>V</math>의 원소이며, <math>u,v\in V</math>에 대하여 <math>u\sim v</math>라면 <math>u</math>와 <math>v</math>가 '''인접'''({{llang|en|adjacent}})한다고 한다.

두 그래프 <math>G,H</math> 사이의 '''[[준동형]]'''({{llang|en|homomorphism}}) <math>\phi\colon G\to H</math>은 다음 성질을 만족시키는 [[함수]] <math>V(G)\to V(H)</math>이다.
* 임의의 <math>u,v\in V(G)</math>에 대하여, <math>u\sim v</math>라면 <math>\phi(u)\sim\phi(v)</math>

[[모형 이론]]의 관점에서, 그래프는 ([[반사관계|반사 법칙]]·[[대칭관계|대칭 법칙]]을 만족시키는) [[이항 관계]] <math>\sim</math>가 주어진 [[구조 (논리학)|구조]]이며, 이 경우 그래프의 준동형은 구조의 준동형이다. [[범주론]]의 관점에서, 그래프의 범주 <math>\operatorname{Graph}</math>는 다음과 같은 [[쉼표 범주]]이다.
:<math>\operatorname{Graph}=\operatorname{Set}\downarrow F</math>
여기서 [[함자 (수학)|함자]] <math>F\colon\operatorname{Set}\to\operatorname{Set}</math>는
:<math>F(S)=\frac{S\times S\setminus\{(s,s)\colon s\in S\}}{(s_1,s_2)\sim(s_2,s_1)\forall s_1,s_2\in S}</math>
:<math>F(f\colon S\to T)\colon\{s_1,s_2\}\mapsto\{f(s_1),f(s_2)\}</math>
이다.

그래프는 표준적으로 [[CW 복합체]]의 구조를 가진다. 이 경우, 그래프의 각 꼭짓점은 0-세포에, 변은 1-세포에 대응한다.

=== 기본 정의 ===
<math>(V,\sim)</math>의 '''변'''({{llang|en|edge|에지}}) <math>\{v_1,v_2\}</math>은 <math>v_1\sim v_2</math>이지만 <math>v_1\ne v_2</math>인 두 꼭짓점으로 이루어진 집합이며, 흔히 <math>v_1v_2</math>로 표기한다. 그래프 <math>G=(V,\sim)</math>의 꼭짓점의 집합은 <math>V(G)</math>로, 변의 집합은 <math>E(G)</math>로 표기한다.

그래프 <math>G</math>의 꼭짓점 <math>v\in V(G)</math>의 '''차수'''({{llang|en|degree}}) <math>\deg v</math>는 [[기수 (수학)|기수]]
:<math>\deg v=|\{u\in V(G)\colon u\sim v\}\setminus\{v\}|</math>
이다. 그래프 <math>G</math>의 '''최대 차수''' <math>\Delta(G)</math>는
:<math>\Delta(G)=\sup_{v\in V(G)}\deg(v)</math>
이다.

두 그래프 사이의 [[전단사]] 준동형을 '''[[동형사상]]'''이라고 하며, 동형사상이 존재하는 두 그래프를 서로 '''[[동형]]'''이라고 한다. 만약 <math>\iota\colon G\to H</math>가 단사준동형이라면, <math>G</math>를 <math>H</math>의 '''[[부분 그래프]]'''라고 한다. 또한, 만약 <math>u,v\in G</math>에 대하여
:<math>u\sim v\iff \phi(u)\sim\phi(v)</math>
라면, <math>G</math>가 <math>H</math>의 '''[[유도 부분 그래프]]'''라고 한다.

꼭짓점의 집합이 [[유한 집합]]인 그래프를 '''유한 그래프'''라고 한다. 모든 꼭짓점의 차수가 유한한 그래프를 '''국소 유한 그래프'''({{llang|en|locally finite graph}})라고 한다. [[CW 복합체]]인 [[위상 공간 (수학)|위상 공간]])으로서 [[연결 공간]]인 그래프를 '''[[연결 그래프]]'''라고 한다.

== 성질 ==
어떤 그래프에 있는 모든 꼭짓점 차수의 합은 이 그래프가 가진 변의 수의 두 배가 된다. 따라서, 꼭짓점 차수의 합은 짝수가 되면, 차수가 홀수인 꼭짓점의 수도 짝수가 된다는 성질을 가진다.

=== 범주론적 성질 ===
그래프의 범주는 [[그로텐디크 준토포스]]를 이룬다. 특히, 그래프의 범주는 다음과 같은 성질들을 만족시킨다.
* 모든 유한 [[극한 (범주론)|극한]]이 존재한다.
* [[국소적으로 작은 범주]]이다. 즉, 두 그래프 사이의 준동형의 [[모임 (집합론)|모임]]은 [[집합]]을 이룬다.
* 쌍대 완비 범주이다. 즉, 모든 (작은) [[쌍대극한]]이 존재한다.
* [[데카르트 닫힌 범주]]이다.
그러나 이 범주는 [[부분 대상 분류자]]를 갖지 않아, [[토포스]]가 아니다.

그래프의 범주 <math>\operatorname{Graph}</math>는 그래프를 그 꼭짓점 집합으로 대응시키는 망각 함자 <math>V\colon\operatorname{Graph}\to\operatorname{Set}</math>를 갖는다. 이 함자는 극한과 쌍대극한을 보존시키며, 왼쪽·오른쪽 [[수반 함자]]를 갖는다.
:<math>\bar K\dashv V\dashv K</math>
여기서 <math>K\colon\operatorname{Set}\to\operatorname{Graph}</math>는 [[완전 그래프]] 함자이며, <math>\bar K\colon\operatorname{Set}\to\operatorname{Graph}</math>는 [[무변 그래프]]([[완전 그래프]]의 [[여 그래프]]) 함자이다.

그래프의 범주에서, [[쌍대곱]]은 그래프의 [[분리합집합]] <math>G\sqcup H</math>이며, 구체적으로 다음과 같다.
:<math>V(G\sqcup H)=V(G)\sqcup V(H)</math>
:<math>u\sim v\iff (u,v\in V(G)\land u\sim_Gv)\lor (u,v\in V(H)\land u\sim_Hv)</math>
그래프의 범주에서, [[곱 (범주론)|곱]]은 '''텐서곱'''({{llang|en|tensor product}}) <math>G\times H</math>이라고 하며, 다음과 같다.
:<math>V(G\times H)=V(G)\times V(H)</math>
:<math>(u_1,u_2)\sim(v_1,v_2)\iff u_1\sim v_1\land u_2\sim v_2</math>
그래프의 범주에서, [[시작 대상]]은 공 그래프 <math>\varnothing</math>이다 (<math>V(\varnothing)=E(\varnothing)=\varnothing</math>). 그래프의 범주에서, [[끝 대상]]은 하나의 꼭짓점만을 갖는 그래프 <math>K_1</math>이다.

[[데카르트 닫힌 범주]]로서, 두 그래프 <math>G,H</math> 사이의 [[지수 대상]] <math>H^G</math>은 다음과 같다.
:<math>V(H^G)=\hom_{\operatorname{Graph}}(G,H)</math>
:<math>\phi\chi\in E(H^G)\iff\forall u,v\in V(G)\colon u\sim v\implies\phi(u)\sim\chi(v)</math>
또한, 이 범주는 [[자연수 대상]] <math>\bar K(\mathbb N)</math>을 갖는다. 이는 자연수 집합에 대한 [[무변 그래프]]이다. 이 경우, 바로 다음 수 함수 <math>s\colon\bar K(\mathbb N)\to\bar K(\mathbb N)</math>은 <math>n</math>번째 꼭짓점을 <math>n+1</math>번째 꼭짓점으로 대응시키는 그래프 준동형이다.

=== 위상수학적 성질 ===
그래프는 [[CW 복합체]]이므로, [[하우스도르프 공간|하우스도르프]] [[파라콤팩트 공간]]이다.

그래프 <math>G</math>에 대하여, 다음 두 조건이 서로 [[동치]]이다.
* <math>G</math>는 [[국소 콤팩트 공간]]이다.
* <math>G</math>는 국소 유한 그래프이다.
그래프 <math>G</math>에 대하여, 다음 두 조건이 서로 [[동치]]이다.
* <math>G</math>는 [[콤팩트 공간]]이다.
* <math>G</math>는 유한 그래프이다.

그래프의 경우, [[CW 복합체]]이므로 [[세포 호몰로지]]를 정의할 수 있다. (이는 [[특이 호몰로지]]와 일치한다.) 그래프는 0-세포 및 1-세포만으로 구성되어 있으므로, 0차 및 1차 호몰로지 <math>H_0(G)</math>, <math>H_1(G)</math>만이 자명하지 않다. 0차 [[베티 수]]는 연결 성분의 수, 1차 [[베티 수]]는 [[선형독립]] [[순환 (그래프 이론)|순환]]의 수이다.

=== 논리학적 성질 ===
그래프의 [[1차 논리]] [[모형 이론]]은 상당히 약하다. 하나의 1차 논리 명제로 정의할 수 있는 성질들은 다음을 들 수 있다.
* [[완전 그래프]]의 모임 <math>\forall u\forall v\colon u\sim v</math>
* 임의의 자연수 <math>n</math>에 대하여, <math>n</math>-[[정규 그래프]]의 모임
* 임의의 하나의 유한 그래프 <math>G</math>만을 포함하는 집합 <math>\{G\}</math>
* 임의의 자연수 <math>n</math>에 대하여, <math>n</math>개의 꼭짓점을 갖는 그래프들의 집합
하나의 1차 논리 명제로 정의할 수 없는 성질들은 다음을 들 수 있다.
* 연결 그래프의 모임
* 유한 그래프의 집합
* 짝수 개의 꼭짓점을 갖는 유한 그래프의 집합
* [[이분 그래프]]의 모임

유한 그래프에 대하여, 기본 동치({{llang|en|elementary equivalence}})는 그래프의 동형과 같다.
:<math>G\cong H\iff\operatorname{Th}(G)=\operatorname{Th}(H)</math>
또한, 임의의 유한 그래프 <math>G</math>에 대하여,
:<math>H\models\phi_G\iff H\cong G</math>
인 1차 논리 명제 <math>\phi_G</math>가 존재한다.

무한 그래프의 경우, 기본 동치이지만 서로 동형이지 않는 두 그래프가 존재한다. 예를 들어, 꼭짓점 집합이 <math>\mathbb Z</math>이고, 변 집합이 <math>\{(n,(n+1))\colon n\in\mathbb Z\}</math>인 그래프 <math>C_\infty</math>를 생각해 보자. 이 경우, <math>C_\infty</math>와 <math>C_\infty\sqcup C_\infty</math>는 동형이 아니지만 기본 동치이다.<ref>{{웹 인용|url=https://mathoverflow.net/questions/37034/is-non-connectedness-of-graphs-first-order-axiomatizable/37049#37049|제목=Is non-connectedness of graphs first order axiomatizable?|웹사이트=Math Overflow|언어=en}}</ref>

==  예  ==
* '''[[공 그래프]]'''는 꼭짓점과 변이 둘 다 없는 그래프이다. 즉, <math>(V,E)=(\varnothing,\varnothing)</math>이다.
* '''[[한원소 그래프]]'''는 한 개의 꼭짓점을 가지고, 변이 없는 그래프이다. 즉, <math>V(G)=\{\bullet\}</math>, <math>E(G)=\varnothing</math>이다.
* '''[[무변 그래프]]'''는 변이 없는 그래프이다. 즉, <math>E(G)=\varnothing</math>이다.
* '''[[완전 그래프]]'''는 그래프에 속하는 모든 꼭짓점이, 다른 꼭짓점과 인접해 있는 그래프이다.
** 완전 그래프의 꼭짓점들은 모두 같은 개수의 꼭짓점과 연결되어 있기 때문에 완전 그래프는 [[정규 그래프]]이다. <math>n</math>개의 꼭짓점을 가진 완전 그래프는 <math>n(n-1)/2</math>개의 변을 가진다.
* '''[[완전 이분 그래프]]'''는 꼭짓점의 집합이 <math>V_1</math>과 <math>V_2</math>의 합집합이고, 모든 <math>V_1</math>의 꼭짓점이 <math>V_2</math>의 꼭짓점 각각과 변으로 연결되어 있는 경우이다.
* '''[[이분 그래프]]''':  그래프 <math>G = (V,E)</math>에서, 꼭짓점 집합 <math>V</math>를 두 개의 집합 <math>V_1</math>와 <math>V_2</math>로 나누되 모든 변은 <math>V_1</math>의 꼭짓점과 <math>V_2</math>의 꼭짓점과 동시에 접하도록 할 수 있는 경우 <math>G</math>를 이분 그래프라고 한다.
* '''[[정규 그래프]]'''는 모든 꼭짓점이 동일한 수의 이웃(즉, 동일한 차수)을 가지는 그래프이다. 정규 그래프에서 꼭짓점에 연결된 이웃이 k 개인 경우, '''k-정규 그래프'''라 불린다.
* '''[[평면 그래프]]'''는 평면 상에 꼭짓점과 변을 그리되 변과 변이 꼭짓점이 아닌 곳에서는 교차하지 않도록 그릴 수 있는 그래프이다.
* '''[[나무 (그래프 이론)|나무]]'''는 모든 꼭짓점들이 [[그래프 이론 용어#용어|연결]]되어 있고 [[순환 (그래프 이론)|순환]]을 포함하지 않는 그래프이다.
* '''[[나무 (그래프 이론)|숲]]'''은 [[순환 (그래프 이론)|순환]]을 포함하지 않는 그래프이다.

== 관련 개념 ==
'''[[유향 그래프]]'''는 각 변이 방향을 갖춘 그래프이다. 유향 그래프와 구별하기 위해, 그래프를 '''무향 그래프'''로 부르는 경우도 있다. 이는 각 변에 방향 구조를 갖춘 그래프로 볼 수 있다.

'''고리 그래프'''({{llang|en|loop graph}})는 양끝이 같은 꼭짓점인 변을 허용하는 그래프이며, 이러한 변을 '''고리'''({{llang|en|loop|루프}})라고 한다. 이는 각 꼭짓점에 <math>\{0,1\}</math>의 원소(고리의 유무 여부)를 추가한 그래프로 볼 수 있다.

'''[[다중 그래프]]'''({{llang|en|multigraph}})는 무향 또는 유향 그래프의 정의와 유사하나, 변 집합 <math>E</math>가 집합 대신 [[중복집합]]이다. 즉, 두 꼭짓점 사이에 여러 개의 변이 있을 수 있다. 이는 각 변에 양의 정수(변의 중복수)를 추가한 그래프로 볼 수 있다. 그래프를 다중 그래프와 구별하기 위해 '''단순 그래프'''({{llang|en|simple graph}})라고 하기도 한다.

마찬가지로, '''고리 다중 그래프'''나 '''유향 다중 그래프''' 등을 정의할 수 있다.

== 응용 ==
그래프의 개념은 [[정보과학]] 등에서 다양한 데이터를 나타내기 위해 응용된다.

== 같이 보기 ==
* [[그래프 이론]]
* [[그래프 이론 용어]]
* [[유향 그래프]]
* [[매트로이드]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{eom|title=Graph}}
* {{eom|title=Graph isomorphism}}
* {{매스월드|id=Graph|title=Graph}}
* {{매스월드|id=Subgraph|title=Subgraph}}
* {{매스월드|id=Supergraph|title=Supergraph}}
* {{매스월드|id=ConnectedGraph|title=Connected graph}}
* {{웹 인용|url=http://ncatlab.org/nlab/show/graph|제목=Graph|웹사이트=nLab|언어=en}}
* {{웹 인용|url=http://ncatlab.org/nlab/show/category+of+simple+graphs|제목=Category of simple graphs|웹사이트=nLab|언어=en}}

[[분류:그래프 이론]]