이제부터 풀이는 매우 간략하게 올리기로 결정했다. 


BOJ 2803 내가 어렸을 때 가지고 놀던 장난감

BOJ 18070 Double Palindrome

BOJ 17313 Inner Product

BOJ 18261 Tree Depth

BOJ 18073 Golf Time

BOJ 14343 Gallery of Pillars (Large)

BOJ 12748 색칠 공부 (Large)

BOJ 14347 Radioactive Islands (Large)

BOJ 18163 Binary Matrix


'PS > 수학 계열 PS' 카테고리의 다른 글

JAG Summer Camp 2018 Day 2  (0) 2020.02.19
Project Euler 450문제  (0) 2020.02.08
12월 말 PS 정리 - Part 2  (0) 2019.12.25
Project Euler 400문제  (0) 2019.12.13
Project Euler 350문제  (0) 2019.12.02

문제는 solved.ac 난이도 순이다. 전체적으로 난이도는 Platinum I ~ Ruby IV 정도로 높은 편이다.


BOJ 7737 삼각분할

BOJ 13127 도박과 사각형

BOJ 18151 DivModulo

BOJ 3435 Justice for All

BOJ 1665 화물열

BOJ 17643 Amusement Park

BOJ 10912 The Last Wizard

BOJ 17646 제곱수의 합 2 (More Huge)



'PS > 수학 계열 PS' 카테고리의 다른 글

Project Euler 450문제  (0) 2020.02.08
1월 PS 정리 - Part 2  (0) 2020.01.26
Project Euler 400문제  (0) 2019.12.13
Project Euler 350문제  (0) 2019.12.02
Project Euler 691  (1) 2019.12.01

Ramsey Number는 이산수학에서 중요하게 다뤄지는 주제 중 하나다. 


Ramsey Number \(R(n, m)\)는 정점이 \(V\)개인 완전그래프 \(G\)의 간선을 빨간색/파란색 중 하나로 색칠할 때, 빨간색 간선으로만 이루어진 완전그래프 \(K_n\) 또는 파란색 간선으로만 이루어진 완전그래프 \(K_m\)이 존재하게 되는 \(V\)의 최솟값으로 정의된다. 


이를 확장해서, 그래프 \(G_1, G_2\)에 대해 \(R(G_1, G_2)\)를 정점이 \(V\)개인 완전그래프 \(G\)의 간선을 빨간색/파란색 중 하나로 색칠할 때, 빨간색 간선으로만 이루어진 \(G_1\) 또는 파란색 간선으로만 이루어진 \(G_2\)가 존재하게 되는 \(V\)의 최솟값으로 정의하자.


본 포스팅에서는 1977년에 증명된 다음 정리를 증명한다. 


Theorem: (V. Chvatal) 

임의의 정점 \(n\)개를 가진 트리 \(T_n\)과 완전그래프 \(K_m\)에 대해서, \(R(T_n, K_m) = (n-1)(m-1)+1\)이 성립한다.


Theorem 증명

이제부터 빨간색 간선만 간선으로 본다. 즉, 이제부터 \(G\)는 빨간색 간선으로만 이루어진 그래프다. 

마찬가지로, \(\overline{G}\)는 파란색 간선으로만 이루어진 그래프다. 먼저 \(R(T_n, K_m) \ge (n-1)(m-1)+1\)을 보인다.

\(K_{n-1}\)을 \(m-1\)개 깔아놓은 것을 \(G\)라 하면, \(G\)는 \(T_n\)을 포함하지 않고 \(\overline{G}\)는 \(K_m\)을 포함하지 않는다. 

그러니 \(R(T_n, K_m) > |V(G)| = (n-1)(m-1)\)이 되고 \(R(T_n, K_m) \ge (n-1)(m-1)+1\)을 얻는다.


이제 \(R(T_n, K_m) \le (n-1)(m-1)+1\)이 성립함을 증명하자.

즉, \((n-1)(m-1)+1\)개의 정점을 가진 그래프 \(G\)가 있다면, \(G\)가 \(T_n\)을 포함하거나 \(\overline{G}\)가 \(K_m\)을 포함함을 증명하자. 

\(\overline{G}\)가 \(K_m\)을 포함하지 않으면, \(G\)가 \(T_n\)을 포함함을 보이면 된다. 


보조정리 3개가 필요하다. 대부분 well-known인 것 같다. 


그래프 \(H\)의 채색수를 \(\chi(H)\)라 하고, 최대 독립집합의 크기를 \(\alpha(H)\)라 하자.


Lemma 1. \(\chi(H) \cdot \alpha(H) \ge |V(H)|\)가 성립한다. 


Proof of Lemma 1. \(\chi(H)\)개의 색깔로 그래프를 색칠하면, 각 색으로 칠해진 정점의 집합은 각각 독립집합이 된다. 

이제 비둘기집의 원리를 적용하면 증명이 간단하게 끝난다.


Lemma 2. \(H\)의 적당한 부분그래프 \(H'\)이 존재하여, \(H'\)의 각 정점의 차수가 \(\chi(H)-1\) 이상이다. 


Proof of Lemma 2. 채색수를 유지하면서 정점을 삭제하는 것을 반복하자. 이 과정이 멈추면, 어떤 정점을 삭제해도 채색수가 감소하는 그래프를 얻게 된다. 이 그래프를 \(H'\)이라 하면, \(H'\)이 원하는 조건을 만족함을 보이자.

\(H'\)에 속하는 정점 \(v\)가 있어, \(H'\)에서 \(v\)의 차수 \(d\)가 \(\chi(H)-2\) 이하라고 가정하자. 

한편, \(H'\)의 성질에 의해서 \(H' - \{v\}\)는 \(\chi(H)-1\)개의 색으로 색칠할 수 있다. 

이제 \(d \le \chi(H)-2\)가 성립하므로, \(H' - \{v\}\)를 \(\chi(H)-1\)개의 색으로 색칠한 뒤 \(v\)를 적당한 색으로 칠해서 \(H'\) 전체를 \(\chi(H)-1\)개의 색으로 칠할 수 있게 된다. 그런데 \(\chi(H) = \chi(H')\)이 성립하므로, 이는 모순이다.


Lemma 3. \(H\)의 각 정점의 차수가 \(n-1\) 이상이면, \(H\)는 임의의 정점 \(n\)개를 가진 트리 \(T_n\)을 부분그래프로 가진다.


Proof of Lemma 3. \(n\)에 대한 귀납법. \(n \le 2\)까지는 자명하다. 

이제 임의의 정점 \(n\)개를 가진 트리 \(T_n\)을 하나 준비하고, 트리의 리프 노드 \(v\)를 하나 잡자.

귀납 가정에 의해서, \(H\)는 \(T_n - \{v\}\)를 포함한다. 한편, \(H\)의 각 정점의 차수가 \(n-1\) 이상이므로 적당하게 리프 노드 \(v\)를 \(H\)에서 찾은 \(T_n - \{v\}\)에 붙일 수 있다. 그러니 \(H\)는 \(T_n\)을 포함하고, 귀납법에 의해서 증명 끝.


이제 모든 준비가 끝났다. 본격적인 증명을 시작하자.


\(\overline{G}\)가 \(K_m\)을 포함하지 않는다는 것은 \(\alpha(G) < m\)이 성립한다는 것과 동치이다.

\(|V(G)|=(n-1)(m-1)+1\)이니, Lemma 1에 의해서 \(\chi(G) \ge n\)을 얻는다. 

Lemma 2에 의해서, \(G\)의 부분그래프 \(H\)가 존재하여 \(H\)의 각 정점의 차수가 \(n-1\) 이상이다.

Lemma 3에 의해서, \(H\)는 \(T_n\)을 부분그래프로 가진다. 즉, \(G\)는 \(T_n\)을 부분그래프로 가진다.


여기서 \(R(T_n, K_m) \le (n-1)(m-1)+1\)을 얻고, 이제 \(R(T_n, K_m) = (n-1)(m-1)+1\)을 얻어 증명 끝.


 



'수학 > 기타 재밌는 것들' 카테고리의 다른 글

Graham-Pollak Theorem  (0) 2018.10.09


문제 풀이는 문제 당 간단한 힌트를 몇 개 올리는 것으로 대체할 예정이다. 특별히 재밌었던 문제는 풀이를 완전히 올릴 수도.

'PS > 수학 계열 PS' 카테고리의 다른 글

1월 PS 정리 - Part 2  (0) 2020.01.26
12월 말 PS 정리 - Part 2  (0) 2019.12.25
Project Euler 350문제  (0) 2019.12.02
Project Euler 691  (1) 2019.12.01
BOJ #9267 - A + B (SEERC 2013)  (2) 2019.11.24

어쩌다가 여기까지 왔다. 이제 학교 공부해야지...



'PS > 수학 계열 PS' 카테고리의 다른 글

12월 말 PS 정리 - Part 2  (0) 2019.12.25
Project Euler 400문제  (0) 2019.12.13
Project Euler 691  (1) 2019.12.01
BOJ #9267 - A + B (SEERC 2013)  (2) 2019.11.24
Project Euler 300문제  (0) 2019.11.23

https://projecteuler.net/problem=691


Top 10에 처음 들었다. 뇌절을 좀 했는데 풀이 생각을 빨리 해서 그나마 어떻게 잘 풀린듯.



'PS > 수학 계열 PS' 카테고리의 다른 글

Project Euler 400문제  (0) 2019.12.13
Project Euler 350문제  (0) 2019.12.02
BOJ #9267 - A + B (SEERC 2013)  (2) 2019.11.24
Project Euler 300문제  (0) 2019.11.23
9월초 수학 PS 일지  (3) 2019.09.11

2019/12/13 ~ 2020/03/01


  • 정보처리기능사 필기 따기 (2월 중)
  • Project Euler 400 문제 찍기
  • 정보 겨울학교 조교 (1/6 ~ 1/17 예정)
  • 블로그 관리BOJ 문제 풀이, PE 문제 풀이
  • 김동률님의 선형대수학 책 읽기 (정확하게 Exercise 4문제 못 풀었다. 이건 천천히 봐야할 듯)
  • 과외 및 돈벌이 (방학 중에 계속 할 듯)
  • 대장금 봉사 시간 채우기 
  • Sage 간단하게 입문하기 (필요한 것 찾아서 적당히 짤 수 있을 정도로 연습 완료)



From 'Hard Normal Daddy', Warp Records (WARP50, 1997)


이게 1997년 작품이라는 게 믿기지가 않는다.