Processing math: 6%

상세 컨텐츠

본문 제목

Dirac's Theorem and its Generalization

Graph/Hamiltonian

by 아이고리즘 2021. 11. 6. 15:33

본문

Graph Theory (basic)

 

Graph Theory (basic)

1. edge 수와 degree의 합의 관계. Graph에서 모든 정점의 degree의 합은 간선의 수의 두배와 같다. VE를 graph의 vertex set, edge set이라 했을 때, vVd(v)=2|E| 가 성립한다. 증명은..

cultivated-algorist.tistory.com

이전 글에서 minimum degree와 cycle의 관계를 활용해서 증명들을 몇 개 했었다. 이 글에서도 minimum degree δ와 cycle, 특히 Hamilton cycle과의 관계를 살펴볼 예정이다.

 

Hamilton Path, Hamilton Cycle, Hamiltonian Graph

Hamilton path는 그래프의 모든 vertex를 포함하는 path다.

Hamilton cycle은 그래프의 모든 vertex를 포함하는 cycle이다.

Hamiltonian graph는 Hamilton cycle을 포함하는 그래프이다.
(Hamilton path를 포함하는 그래프는 traceable graph라고 한다.)

그래프가 Hamilton cycle을 포함하는지 판별하는 문제는 NP-complete다.

Traveling Salesman Problem은 minimum weight Hamilton cycle을 찾는 문제다. (당연히 역시 NP-complete다.)

 

Dirac's Theorem은 Hamilton cycle이 존재한다는 것을 보장하기 위해서 minimum degree δ가 얼마나 커야 하는지에 관한 정리다.

 

Dirac's Theorem

n(3)개의 vertices를 가진 simple graph의 minimum degree δδn/2를 만족할 때,
그 그래프는 Hamilton cycle을 가진다.

 

Note. n3 조건이 있어야 하는 이유는 그래프가 두개의 vertices와 이 둘을 이어주는 하나의 edge로 구성되어 있는 경우 때문이다. (K2)

 

이 정리에 대한 3가지 증명을 소개할 것이다. 우선 모든 증명들에서 쓰이는 Lollipop Lemma를 소개하도록 하겠다. 

 

Definition. (x,y)-lollipop

(x,y)-lollipop은 CP={y}을 만족하는 cycle Cxy-path P의 union, CP이다. (Lollipop은 lasso나 loop라고도 불리기도 한다.)

(x,y)-lollipop

Notation. Successor v+, Predecessor v

Orientation이 있는 cycle C위의 한 vertex를 v라고 하자. C위에서 v의 다음 vertex(successor)를 v+로, 이전 vertex(predecessor)를 v로 부르겠다. 이 notation은 C의 vertices의 subset S로도 연장될 수 있다.

S+:= S:={v|vS}

Successor and Predecessor of v

The Lollipop Lemma

G에서 cycle C의 길이 = l, path P의 길이 = m을 만족하는 CP(x,y)-lollipop이라고 하자.
그러면 G는 길이가 l+m1xy path와 xy+ path를 포함한다.
만약에 CG의 longest cycle이고 m이 0이 아니라면, y에서 m 이하로 떨어진 C위의 vertex는 x와 adjacent할 수 없다.

 

두 번째 문장은 쉽게 이해가 된다. 사실 세 번째 문장도 그다지 어렵지 않다. y에서 거리가 m 이하로 떨어진 C위의 vertices 집합을 L이라 하자. 만약 xL에 속한 vertex와 하나라도 adjacent했다면 길이가 더 긴 cycle이 있다는 말이기에 C가 longest cycle이라는 것과 모순이 생긴다.

(추가 설명)

더보기

xL에 속한 c와 adjacent했다고 가정하자. 그러면 기존의 cycle의 {cy}부분을 c[xy]로 cycle을 더 늘릴 수 있다. { } 부분이 m보다 작거나 같은 C의 부분이고 [ ] 표시된 부분이 대체된 P 부분이다. 길이가 최소 1 늘어난 것을 알 수 있다.

굉장히 간단하고 당연해 보이는 이 lemma난 Dirac's Theorem을 보이는 데 큰 역할을 한다.

 

Dirac's Theorem. n(3)개의 vertices를 가진 simple graph의 minimum degree δδn/2를 만족할 때, 그 그래프는 Hamilton cycle을 가진다.

 

Proof 1. By choosing a longest cycle

CG에서 길이가 l인 longest cycle이라 하자. 우리는 lδ+1, 즉 l>δ임을 알 수 있다. (이전 글의 2 참고, 길이가 최소 δ인 path가 존재함을 이용한다.) 만약 C가 Hamilton cycle이면 증명할 것이 없다. 따라서 CHamilton cycle이 아니라고 가정하자. (즉, GC라고 가정하자.)

CP(x,y)-lollipop이라고 하자. 이때 P는 길게 잡을 수 있는 만큼 최대한 길게 설정한다. 이 P의 length를 m이라 하자. 그러면

δnδ>nl=|GC|

을 만족한다. (첫 번째 부등식은 δn/2 조건에서 오고, 두 번째는 l>δ에서 오고 마지막 등식은 lC의 크기이기 때문에 성립한다.)

위에서 구한 δ>|GC|의 의미를 살펴보자. GC의 크기가 minimum degree보다 작기 때문에  GC에 속한 임의의 vertex가 나머지 모든 GC vertices에 adjacent해도 그것의 degree가 δ보다 작다는 뜻이다. 즉, 각 GC에 속한 vertex는 C에 속한 vertices 중 적어도 하나와 adjacent하다는 뜻이다. P의 끝점 xC에 속한 vertices 중 적어도 하나와 adjacent하다.

x와 adjacent할 수 있는 C위의 vertices 후보들을 살펴보자. 우선 Lollipop Lemma에 의해 x와 인접한 vertex는 ym이하로 떨어져 있으면 안 된다. 따라서 l개 중 2m개가 제외되어 l2m개가 남는다. 또한 x는 consecutive vertices와 adjacent하면 안된다. (C가 longest인 것과 모순이 일어나기 때문이다.) 그러면 후보로 총 (l2m)/2개가 남는다.

종합하여 x의 degree를 살펴보자.

d(x)m+l2m2=l2<n2δ

즉, d(x)<δ가 되어 모순이 발생한다.

 

Note. 이 증명은 Dirac 본인이 한 증명이다.

 

Proof 2. By choosing a longest path

P=v0v1vlG에서 길이 l인 longest path라고 하자. 먼저 Gl+1 길이를 갖는 cycle C가 있음을 보일 것이다. 만약 v0vl이 adjacent하면 끝난다. 따라서 v0vl이 adjacent하지 않다고 가정하자.

P를 가장 긴 path로 골랐기 때문에 v0의 neighbor과 vl의 neighbor 모두 P에 속한다. XY를 다음과 같이 정의하자:

X:={vi:(v0,vi+1)E}

Y:={vi:(vi,vl)E}

Intuitive하게 말하자면 Xv0와 adjacent한 vertex들의 이전 vertex들의 집합이고 Yvl과 adjacent한 vertex들의 집합니다. 어떤 경우에도 XY에는 vl이 포함되지 않으므로

|XY|ln1

이다. 또한 (Dirac's Theorem의 전제 조건인) δn/2으로

|X|+|Y|=d(v0)+d(vl)2δn

임을 알 수 있다. 위 두 식을 |XY|=|X|+|Y||XY|과 종합하면

|XY|=|X|+|Y||XY|n(n1)=1

을 알 수 있다. XY에 속한 vertex를 vk라 하자. 그러면 v0vkvlvk+1v0는 length l+1인 cycle임을 알 수 있다. (vkX,Y에 속한다는 것으로 (v0,vk+1),(vk,vl) edge들이 E에 속한다는 것을 알 수 있다.)

이제 이 cycle C가 Hamilton cycle임을 보이자. CHamilton cycle이 아니라고 가정하자. CP를 lollipop이라고 하자. P의 길이를 m이라 하자. (m은 0이 아니다.) Lollipop Lemma에 의해서 길이 l+1+m1=l+m짜리의 path가 존재한다. 처음에 G에서 가장 긴 path P의 길이가 l이었기 때문에 모순이 발생한다.

 

Note. 이 증명은 Newman이 1958년에 했다. 그리고 가장 많이 알려진 증명이다.

 

Proof 3. 앞의 두 증명을 조합

CG에서의 longest cycle이라고 하자. 마찬가지로 CHamilton cycle이 아니라고 가정하자. 그러면 GC이다. CP(x,y)-lollipop이라고 하자. (역시나 P의 길이는 0이 아니다.) V1,V2,V3를 다음과 같이 정의하자.

V1:=V(C)

V2:=V(P){y}

V3:=V(G)V(CP)

즉, V1은 cycle C위의 vertices, V2y를 제외한 path P위의 vertices, V3는 lollipop위의 vertices를 제외한 나머지 vertices다. d1(v),d2(v),d3(v)를 각각 V1,V2,V3에서의 degree라고 하자. 우리는 다음과 같은 사실을 알 수 있다.

(i) C위의 consecutive vertices vv+에 대해서 xv, y+v+가 동시에 adjacent할 수 없다. (더 긴 cycle [yx]vy+v+이 생성되기 때문.

d1(x)+d1(y+)|V1|

(ii) y+는 (Lollipop Lemma에 의해) V2의 어느 vertex와도 adjacent할 수 없다.

d2(y+)=0

(iii) xy+V3의 한 vertex와 동시에 adjacent할 수 없다. (더 긴 cycle이 생기기 때문.)

d3(x)+d3(y+)|V3|

여기에 d2(x)|V2|1이라는 사실을 추가해 종합한다면

2δd(x)+d(y+)=i=1,2,3(di(x)+di(y+))|V1|+|V2|+|V3|1=n1<n

즉, 처음의 가정 δn/2위반한다.

 

Note. 이 증명은 Bondy가 1981년에 했다.

Note. Dirac's Theorem의 inductive proof는 알려진 바가 없다. 

 

Corollary of Dirac's Theorem

n vertices를 가진 simple graph Gδ(n1)/2를 만족한다고 하자.
그러면 G는 Hamilton path를 가진다.

증명은 간단하다. n=1이면 trivial하다. n2일 때는 G에 새로운 vertex v를 추가하고 기존의 모든 vertices와 연결한다. 그러면 resulting graph는 n+1의 vertices를 가지고 minimum degree가 at least (n+1)/2가 된다. Dirac's Theorem에 의해 길이 n+1짜리 Hamilton cycle이 존재하고, 이 cycle에서 v를 제거하면 기존의 그래프에서 Hamilton path가 된다.

 

Generalization of Dirac's Theorem

Dirac's Theorem은 다양한 방향으로 generalize될 수 있다. 우선 Proof 2를 살펴보자. 잘 보면 δn/2 조건을 (직접적으로) 사용하지 않고 이보다 더 약한 조건인 d(v0)+d(vl)n을 사용했다. 따라서 똑같은 증명으로 더 stronger theorem을 보일 수 있다.

 

Ore's Theorem.

n3의 vertices를 가지는 simple graph G에서 아무 nonadjacent vertices 두 개의 degree를 합했을 때 항상 최소 n이면. G는 Hamilton cycle을 갖는다.

 

Proof 2를 이용하여 추가적으로 뽑아낼 수 있는 것을 더 찾아보자. n3G에서 degree의 sum이 최소 n인 두 nonadjacent vertices가 존재하고 이를 uv라고 하자. 과연 어떤 조건 하에 G에 Hamilton cycle이 있을까?

G(u,v) edge를 추가한 그래프를 G라 하자. 그리고 G에서 Hamilton cycle C이 있다고 가정하자. 만약 C(u,v) edge가 없다면 CG에서도 Hamilton cycle이니, C(u,v)가 반드시 포함된다고 가정하자. 이 뜻은 uv를 endpoint로 갖는 path가 있었다는 것이고 이 path의 길이는 n1이었을 것이다. 즉 이 path는 proof 2에서 처음에 고른 longest path P이자 모든 vertex를 지나는 spanning path가 된다. 따라서 proof 2에 따라 G도 Hamiltonian이라는 것을 알 수 있다.

 

n3의 simple graph G에 nonadjacent하며 degree의 sum이 n 이상인 vertices uv가 있다고 하자. 만약 G+(u,v)가 Hamiltonian이라면 G도 그러하다.

 

이것을 활용해서 Dirac's Theorem을 더 generalize할 수 있다. 현재 보고 있는 그래프에 nonadjacent하면서 degree의 sum이 n 이상인 두 vertices가 있고 이 둘을 잇는 과정 proc라고 했을 때 더 이상 그런 vertices pair가 없을 때까지 proc를 반복해서 나온 그래프를 그것의 closure이라고 하자.

 

Closure Lemma (Bondy-Chvátal Theorem)

A simple graph G is Hamiltonian if and only if its closure is Hamiltonian.

 

따라서 만약 어떤 graph G의 closure가 complete하다면, (complete graph는 Hamiltonian이기 때문에) G는 Hamiltonian이다. 이 이유로 Dirac's Theorem을 만족하는 graph G는 (minimum degree가 n/2 이상이므로) closure를 취하면 complete해지기에 Hamiltonian이라 할 수 있다. 이 아이디어를 이용해서 추가적인 사실을 알아보자.

 

Chvátal Theorem

n3인 simple graph G가 degree sequence (d1,d2,...,dn)를 갖는다고 하자.
(d1d2dn.)
만약 (n1)/2 이하의 k 중에서 dkk이고 dnk<nkk가 존재하지 않는다면,
G는 Hamiltonian이다.

 

조건이 비교적 복잡하지만 천천히 증명해보자. 증명에서는 위의 조건을 만족하는 G에 closure를 취했을 때 complete graph임을 모순으로 보인다. G의 closure를 complete가 아닌 graph H라고 하자. G에서의 degree는 H에서의 degree보다 크지 않을 테니 dGdH로 bound할 수 있고, 따라서 만약 H에서 조건에 만족하는 k가 존재한다면 G에서도 만족한다. 우리는 그런 k를 찾아서 모순을 보일 것이다.

H의 nonadjacent vertices 중 degree sum이 최대인 vertices pair를 ab라고 하자. dH(a)+dH(b)n1일 것이다. WLOG, dH(a)dH(b)라고 가정하고 dH(a):=k로 설정하면, k(n1)/2일 것이고 dH(b)nk1일 것이다. 

H에서 ab에 nonadjacent한 vertices set을 각각 NH[a], NH[b]라고 하자. (자기 자신은 adjacent하다고 생각하자.) 그러면 |NH[a]|=ndH(a)1=nk1

|NH[b]|=ndH(b)1k

를 만족한다. 추가적으로 uNH[a]에 대해서 dH(u)dH(b)이어야 하고 vNH[b]에 대해서 dH(v)dH(a)이어야 한다. (그렇지 않으면 ab의 choice에 모순이 생긴다.) 

uNH[a],dH(u)nk1

vNH[b],dH(v)k

종합하면 H에서 degree가 최대 nk1인 vertices는 |NH[a]{a}|=nk만큼 있고, degree가 최대 k인 vertices는 최소 |NH[b]|=k만큼 있다. 따라서 k(n1)/2 such that dkk and dnknk1<nk are satisfied.

 

Closure Lemma를 이용해서 Ore's Theorem의 generalized 버전을 쉽게 증명할 수 있다.

Fan's Theorem

n3인 2-connected simple graph G에서 degree가 n/2 미만인 vertices끼리는 common neighbor가 없다면,
G는 Hamiltonian이다.

 

Note. Ore's Theorem은 모든 nonadjacent한 vertices의 degree sum이 n 이상이라는 조건을 가졌는데, 이 조건은 2-connectedness를 imply하고 새로운 조건에서는 nonadjacent vertices의 degree sum이 n이 안되는 vertices pair가 존재할 수 있기 때문에 generalization이다.

(왜 모든 nonadjacent한 vertices의 degree sum이 n 이상이라는 조건이 2-connectedness를 imply할까?)

더보기

2-(vertex-)connected graph는 임의의 vertex를 제거해도 connectedness가 유지되는 graph를 말한다. nonadjacent한 어떤 두 vertices를 잡아도 degree sum이 총 vertex 수 이상이다. 즉 고른 2개의 vertices를 제외한 n2개의 vertices 중에 최소 2개는 common neighbor이다. 따라서 어떤 vertex를 제고해도 disconnect되지 않는다.

 

증명을 해보자. F를 degree가 n/2이 안 되는 vertices로만 이루어진 subgraph에서의 한 connected component라고 하자. F에서 두 vertices uv를 고르고 이 둘 사이의 shortest path를 P=ux1x2v라고 하자. P의 길이는 최대 얼마일까? 만약 P의 길이가 2 이상이라면, ux2 둘 다 degree가 n/2 미만인데, common neighbor를 갖게된다는 모순이 생긴다. 따라서 P의 최대 길이는 1, 즉 F에서 어떤 두 vertices를 골라도 서로 adjacent하다는 것이다. 이 말은 n/2이 안되는 vertices로만 이루어진 subgraph에서 모든 connected component는 complete하다는 것을 알 수 있다.

이제 G에 closure를 취해보자. U를 degree가 n/2 이상인 vertices set이라 하면, G의 closure에서 U의 subgraph는 complete하다. 따라서 FU 사이에 edge가 어떻게 있는지에 따라 G의 closure에서 Hamilton cycle 존재성이 갈린다. 주어진 그래프가 2-connected 임을 이용해보자. |F|=1U와 최소 2개의 edge로 이어져 있을 것이다. |F|2U와 최소 2개의 independent edge, 즉 endpoint가 다 다른 edge들로 이어져 있을 것이다. (만약 endpoint가 같은 edge로 이어져 있다면 그 vertex를 제거했을 때 connectedness가 깨지게 된다.) 이로써 우리는 Hamilton cycle이 존재함을 알 수 있다.


Extra.

이제까지는 Dirac's Theorem의 조건을 generalize했다면 이번에는 결과를 generalize하는 정리를 하나 살펴본다. 우선 한 가지 정의를 하고 넘어가자. 3n인 모든 에 대해서 그래프가 length가 인 cycle을 포함한다면 그 그래프는 pancyclic하다. 당연히 pancyclic한 그래프는 Hamiltonian이다. 다음은 이와 관련된 Bondy의 정리이다.

 

Bondy Theorem

mn2/4를 만족하는 simple Hamiltonian graph G
(1) pancyclic하거나 (2) complete bipartite graph이다.

 

증명은 induction으로 진행된다. n=3이면 trivial하다. 따라서 n4일 때를 가정하자.

 

1. Gn1 길이의 cycle을 포함하면 G는 pancyclic하다.

그 cycle을 C=v1v2vn1v1라고 하고 vC에 속하지 않은 G의 vertex라고 하자.

G=G{v}라고 정의하고 G의 vertex 수와 edge 수를 각각 n,m이라고 하자.

  • 만약 d(v)(n1)/2라면,
    m=md(v)n24n12>(n1)24=n4를 만족한다. Induction hypothesis에 의해 G는 pancyclic하고, 따라서 G는 pancyclic하다.
    (Induction hypothesis에 따르면 G가 complete bipartite graph일 수 있다. 하지만 |E|>|V|2/4인 경우 그래프가 complete bipartite일 수 없고 m>n2/4이기 때문에 G는 complete bipartite graph가 아님을 알 수 있다.
  • 만약 d(v)>(n1)/2라면,
    3n를 만족하는 모든 에 대해서, C에 속하면서 서로 2만큼 떨어져 있고 v에 adjacent하는 두 vertex vi,vi+2가 존재한다. (이것의 증명은 아래에 있다.) 따라서 길이가 인 cycle vvivi+2v이 존재하기 때문에, G는 pancyclic하다.
    이것의 증명에서는 어떤 에 대해서는 그러한 i가 없다고 가정을 하고 모순을 보인다. v에 adjacent한 vertex들을 vi1,vi2,,vid(v)라고 하자. r:=2라고 했을 때, 가정에 따라 v는 모든 vi1+r,vi2+r,,vid(v)+r과 adjacent하지 않을 것이다. (만약 v의 subscript index가 n-1을 넘어가면 modulo를 취한다.) v와 adjacent한 vertex의 수가 d(v)이고 nonadjacent한 vertex의 수도 최소 d(v)이기 때문에 cycle 위의 vertex의 수는 최소 2d(v)이다. 그러나 d(v)>(n1)/2이기 때문에 모순이 발생한다.

2. Gn1 길이의 cycle을 포함하지 않으면 complete bipartite하다. (물론 n은 짝수여야 한다.)

v1v2vnv1G의 Hamilton cycle이라고 하자. 그러면 1i,jn이면서 ji1인 모든 i,j에 대해서, (vi,vj)(vi+1,vj+2) 중 최대 하나만이 G의 edge가 될 수 있다. (그렇지 않으면 vjvj1vi+1vj+2vj+3vivj인 cycle이 존재하고 이것의 길이는 n1이다.)

이제 vivi+1에 adjacent한 vertex의 수의 관계를 보자. vivj에 adjacent하면 vi+1vj+2와 adjacnet하지 않다. vid(vi)만큼 adjacent하면 vi+1은 최소 d(vi)만큼 nonadjacent하다. 따라서 d(vi)+d(vi+1)n을 만족한다. 모든 i에 대해서 위 식을 합치면 2i=1nd(vi)n2이 될 것이고 i=1nd(vi)=2m인 것을 이용하면 mn24를 얻을 수 있다. G의 조건 중 하나인 mn2/4에 의해 m=n2/4임을 알 수 있고, 이를 통해 모든 i에 대해 d(vi)+d(vi+1)=n임을 알 수 있다. 따라서 1i,jn이면서 ji1인 모든 i,j에 대해서, (vi,vj)(vi+1,vj+2) 중 최대 하나만이 G의 edge가 될 수 있다는 조건에서 '정확히 하나'를 만족하는 조건으로 강화됨을 알 수 있다.

이제 이를 이용해 complete bipartite임을 보이자. 일단 그래프가 bipartite하지 않다고 가정하자. 그러면 ij(mod2)이면서 vivj가 adjacent한 i,j가 존재할 것이다. 그러한 i,j 중에 |ij|가 가장 작은 pair를 i,j라고 하자. (WLOG, i<j라고 가정하자.) 우선 ji는 2가 될 수 없다. 왜냐하면 길이 n1 cycle이 생기기 때문이다. ji는 4이상의 짝수인데 그러면 vivj가 adjacent하다는 것으로 vi1vj2는 nonadjacent함을 알 수 있고, 이것으로 vi2vj4가 adjacent함을 알 수 있다. 여기서 i,j의 선택에 모순이 생긴다.

Bipartite하면서 m=n2/4를 만족하는 그래프는 complete bipartite graph밖에 없다.


Reference - Handbook of Combinatorics, Volume 1, Basic graph theory: Paths and circuits

댓글 영역