์ผ๋ฐ˜ ๊ท€๋‚ฉ๋ฒ•

date:
2025-04-02
order:
1

์ฆ๋ช…ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. Indirect proof : ๋ง ๊ทธ๋Œ€๋กœ ์ง์ ‘์ ์œผ๋กœ ์ฆ๋ช…ํ•˜์ง€ ์•Š๋Š” ์ฆ๋ช…๋ฒ•. - ๋ฐ˜๋Œ€ ๋ช…์ œ๊ฐ€ ๊ฑฐ์ง“์ž„์„ ๋ฐํ˜€ ์ด ๋ช…์ œ๊ฐ€ ์ฐธ์ž„์„ ์ฆ๋ช…ํ•˜๋Š” ๊ท€๋ฅ˜๋ฒ•(proof by contradiction)์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ. Direct proof : ๋ง ๊ทธ๋Œ€๋กœ ์ง์ ‘์ ์œผ๋กœ ๋ช…์ œ๊ฐ€ ์ฐธ์ž„์„ ์ฆ๋ช…ํ•˜๋Š” ๋ฐฉ๋ฒ•. - ๊ท€๋‚ฉ๋ฒ•(induction)์ด ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ.

๊ท€๋‚ฉ๋ฒ•์€ ์ด์‚ฐ ์ˆ˜ํ•™ ๋ถ„์•ผ์™€ ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์‚ฌ์‹ค ์ด์‚ฐ ์ˆ˜ํ•™์—์„œ ์ด์‚ฐ discrete์ด๋ผ๋Š” ํŠน์ง•์„ ๊ทœ์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

์ผ๋ฐ˜ ๊ท€๋‚ฉ๋ฒ• Ordinary Induction

P๋ผ๋Š” ๋ช…์ œ๋ฅผ ์ฆ๋ช…ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด

  1. P(0) 0์˜ ๊ฒฝ์šฐ์— P๊ฐ€ ์ฐธ์ด๊ณ 
  2. P(n) ์ด ์ฐธ์ž„์ด P(n+1)๊ฐ€ ์ฐธ์ž„์„ ํ•จ์˜ํ•œ๋‹ค๋ฉด
  3. P(m)๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฐธ์ด๋‹ค. ์œ„์™€ ๊ฐ™์€ ๋…ผ๋ฆฌ ํ˜•์‹์— ๋งž์ถฐ์„œ ์ฆ๋ช…์„ ํ•˜๋ฉด ๋œ๋‹ค. ๋ณด๊ธฐ์—๋Š” ์ฐธ ๊ฐ„๋‹จํ•œ๋ฐ ์™œ ์ด๋ ‡๊ฒŒ ์–ด๋ ค์šด์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

์˜ˆ์‹œ

์ˆ˜์—…์—์„œ ์˜ˆ์‹œ๋กœ ์ œ์‹œ๋œ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1

P = For all $n \in \mathbb{N}$: $1+2+3+\cdots+n=\frac{n(n+1)}{2}$ ๊ทธ๋Ÿผ ์œ„์˜ P๋ฅผ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๋ช…์ œ๋ฅผ ์ฆ๋ช…ํ•ด์•ผ ํ•œ๋‹ค.

  1. P(0) ์ฆ๋ช… base case
  2. P(n)๊ฐ€ P(n+1)๋ฅผ ํ•จ์˜ํ•จ์„ ์ฆ๋ช… ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋จผ์ €, base case ์ฆ๋ช…

$\frac{0(0+1)}{2} = 0$

๋‹ค์Œ, ํ•จ์˜๊ด€๊ณ„ ์ฆ๋ช…

P(n) implies P(n+1) ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ ์™ผ์ชฝ์„ ๊ฐ€์ •ํ•˜๊ณ  ์˜ค๋ฅธ์ชฝ์„ ์ฆ๋ช…ํ•˜๋Š” ์ ์ด๋‹ค. $1+2+3\cdot+n=\frac{n(n+1)}{2}$ ์„ ๊ฐ€์ • $1+2+3\cdot+n+(n+1)=\frac{(n+1)((n+1)+1)}{2}$ ์„ ์ฆ๋ช…

P(n)์˜ ์–‘ ๋ณ€์€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— (๊ฐ€์ •๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—) ์–‘ ๋ณ€์— (n+1)์„ ๋”ํ•ด์ค˜๋„ ์–‘ ๋ณ€์€ ๊ฐ™๋‹ค. $1+2+3\cdot+n+(n+1)=\frac{n(n+1)}{2}+(n+1)$ ์˜ค๋ฅธ์ชฝ ๋ณ€์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค. $\frac{n(n+1)}{2}+(n+1)=\frac{n(n+1)}{2}+\frac{2n(n+1)}{2}=\frac{n^2+3n+2}{2}=\frac{(n+1)(n+2)}{2}$ ๋งˆ์ง€๋ง‰์œผ๋กœ (n+2)๋Š” (n+1)+1 ์ด๋ฏ€๋กœ $\frac{(n+1)((n+1)+1)}{2}$๊ฐ€ ๋‚˜์˜จ๋‹ค.

2. LํŠธ๋กœ๋ฏธ๋…ธ ํƒ€์ผ๋ง ๋ฌธ์ œ

$2^n*2^n$๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ํƒ€์ผ ์œ„์— 'ใ„ด'์ž ๋ชจ์–‘์œผ๋กœ ์ƒ๊ธด 3์นธ ๋„“์ด์˜ ํƒ€์ผ์„ ๋ฐฐ์น˜ํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ํ•œ ์นธ์€ Bill ์ด๋ผ๋Š” ์‚ฌ๋žŒ์˜ ๋™์ƒ์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋‹ค(= ํ•œ ์นธ์˜ ์ž๋ฆฌ๋Š” ๋น„์–ด์žˆ๋‹ค).

base case

P(0) ๋Š” $2^0*2^0=1$ ์ด๋ผ์„œ ํ•œ ์นธ์˜ ์ž๋ฆฌ๊ฐ€ ๋น„์–ด์žˆ์œผ๋‹ˆ ์ฐธ

inductive step

P(n) -> P(n+1) $2^{n+1}2^{n+1}=2^{2n+2}=2^{2n}2^2=4(2^n2^n)$ n+1์€ n์ผ๋•Œ์˜ ํƒ€์ผ ์ „์ฒด๊ฐ€ 4๊ฐœ ์žˆ๋Š”๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ $2^n2^n$์˜ ๊ฒฝ์šฐ๊ฐ€ ์ฐธ์ด๋ผ๋ฉด ๋‚˜๋จธ์ง€ ์„ธ ๊ฐœ์˜ $2^n*2^n$์—์„œ๋„ ์ฐธ์ด๊ณ  ๋‚˜๋จธ์ง€ ์„ธ ๊ฐœ์—์„œ๋„ ํ•œ ์ž๋ฆฌ์”ฉ ๋น„๊ฒŒ ๋˜๊ณ  ๊ฑฐ๊ธฐ์— ๋งˆ์ง€๋ง‰ ํƒ€์ผ์„ ๋„ฃ์œผ๋ฉด ์ „์ฒด$2^{n+1}*2^{n+1}$ ๊ฐœ์˜ ํƒ€์ผ์—์„œ๋„ ๋”ฑ ํ•œ ์นธ์„ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋‘ ํƒ€์ผ๋กœ ๋ฎ์„ ์ˆ˜ ์žˆ๋‹ค.


https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-fall-2010/resources/lecture-3-strong-induction/

Now, good proofs are very much like good code. In fact, one of the reasons we care so much about teaching you how to write a good proof in computer science is so that later on, you'll be able to prove that your programs are doing what you expect-- what they're supposed to do.

์ฆ๋ช…์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค๊ณ .