메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Mathematical Induction: 두 판 사이의 차이

noriwiki
Pinkgo (토론 | 기여)
Pinkgo (토론 | 기여)
 
36번째 줄: 36번째 줄:


만약 <가 well-founded라면 아래와 같은 귀납 원리가 성립한다:
만약 <가 well-founded라면 아래와 같은 귀납 원리가 성립한다:
  <math>\forall x. (\forall y. (y<x \rightarrow P(y)) \Rightarrow P(x)) \Rightarrow \forall x.P(x)</math>
  <math>\frac{\forall x. (\forall y. (y<x \rightarrow P(y))\rightarrow P(x))}{\Rightarrow \forall x.P(x)}</math>
이는 "어떤 원소 x에 대해, x보다 작은 모든 y에서 성립하면 x도 성립한다"면, 전체적으로 모든 원소에 대해 성립한다는 의미이다.
이는 "어떤 원소 x에 대해, x보다 작은 모든 y에서 성립하면 x도 성립한다"면, 전체적으로 모든 원소에 대해 성립한다는 의미이다.



2025년 10월 8일 (수) 11:00 기준 최신판

상위 문서: Mathematical Induction

개요

수학적 귀납법(Proof by Induction)은 자연수에 대한 명제를 증명할 때 주로 사용되는 증명 방법이다.

Principle of Mathematical Induction

Figure 1. Proofs by Induction
Figure 1. Proofs by Induction

수학적 귀납법은 자연수에 대한 명제를 증명할 때 주로 사용되는 추론 규칙이다. 이의 목표는 [math]\displaystyle{ \forall n.P(n) }[/math]을 증명하는 것, 즉 모든 자연수 n에 대해 명제 [math]\displaystyle{ P(n) }[/math]이 참임을 증명하는 것이다. 귀납법은 다음 두 단계로 나뉘어진다:

  1. Basis (기초 단계): [math]\displaystyle{ P(0) }[/math][1]을 먼저 증명한다.
  2. Induction Step (귀납 단계): [math]\displaystyle{ \forall n. P(n) \rightarrow P(n+1) }[/math]임을 증명한다.

위 두 단계를 fitch-style 형식으로 정리하면 figure 1과 같은 꼴이 된다.

Complete Induction

파일:Figure 2. Complete Induction.png
Figure 2. Complete Induction

귀납법 중에는 완전 귀납법(complete induction)이 존재한다. 일반적인 귀납법과는 다르게, 완전 귀납법은 [math]\displaystyle{ P(n) }[/math]을 증명하고자 할 때, 단순히 [math]\displaystyle{ P(n-1) }[/math]만을 쓰는 것이 아니라 [math]\displaystyle{ P(0), P(1), \cdots, P(n-1) }[/math]을 가정하고 쓸 수 있다. 즉, 아래와 같은 형식적 규칙을 가진다:

[math]\displaystyle{ \frac{\forall n.(\forall m.m\lt n \rightarrow P(m)) \rightarrow P(n)}{\forall n.P(n)} }[/math]

따라서 모든 n에 대해 “n보다 작은 모든 수에 대해 성립하면 [math]\displaystyle{ P(n) }[/math]도 성립한다"가 참이면, 전체적으로 [math]\displaystyle{ \forall n.P(n) }[/math]또한 참이라는 것이다. 이는 figure 2와 같은 꼴을 통해 fitch style로 나타내어 진다.

완전 귀납법의 특징은 n번째 명제를 증명할 때, 바로 앞의 n-1 번째 명제 뿐만이 아니라 [math]\displaystyle{ P(0),P(1),\cdots,p(n-1) }[/math]을 모두 사용할 수 있다는 것이며, 이를 통해 더욱 유연한 증명을 할수 있다는 것이다. 이는 어떠한 명제 [math]\displaystyle{ P(n) }[/math]이 바로 전 단계 [math]\displaystyle{ P(n-1) }[/math]만 가지고서는 증명할 수 없기 때문에 사용된다. 예를 들어서 소인수분해 정리[2]를 증명해야 한다고 하자:

  • n이 소수가 아니면 [math]\displaystyle{ n = a \times b }[/math]꼴이며, 이때 [math]\displaystyle{ a, b \lt n }[/math]
  • 따라서 [math]\displaystyle{ a, b }[/math]에 대해 이미 성립한다고 가정해야 n에 대해서도 성립한다.
  • 이때 [math]\displaystyle{ P(n-1) }[/math]하나면 성립한다고 가정하는 것은 부족하며, n보다 작은 모든 값에 대해 성립한다고 가정해야 한다.

완전귀납법의 주요한 특징은 "Base Case"가 따로 필요 없다는 것이다. 왜냐하면 [math]\displaystyle{ n=0 }[/math]일 때 가정은 [math]\displaystyle{ \forall m. (m \lt 0 \rightarrow P(0)) }[/math]인데, "0보다 작은 자연수는 없다"는 명제는 항상 참이기 때문이다.

Generalized Induction Rules

귀납법이 꼭 자연수에 관한 명제에 대해서만 쓰이는 것은 아니다. 귀납법은 "비교 관계(<)"에 기초를 두고 있으므로, 일반적으로 어떠한 순서 관계가 있다면 귀납법을 정의할 수 있기 때문이다. 예를 들어 아래와 같은 공리를 살펴보자:

[math]\displaystyle{ \frac{\forall A.(\forall B.B\in A \rightarrow P(B)) \rightarrow P(A)}{\forall A. P(A)} }[/math]

이는 "집합 A의 모든 원소인 집합 B가 명제 P에 대해 성립하면 A도 성립한다"라는 의미이다. 이를 [math]\displaystyle{ \in }[/math]-귀납법([math]\displaystyle{ \in }[/math]-induction)이라고 부른다. 이 귀납법은 비교 관계로 "부등호(<)"가 아닌 "엡실론([math]\displaystyle{ \in }[/math])"을 사용한다. 즉, 이는 “어떤 집합의 원소가 그 집합보다 더 작다"라는 개념을 순서 관계로 보는 것이다.

Well-Founded Induction

귀납법은 "비교 관계(<)"가 잘 정의(well-founded) 되었을 때 일반화될 수 있다. 어떤 비교 관계가 잘 정의되었다는 것의 정의는 아래와 같다:

어떤 집합 A위의 관계 <가 well-founded라면, 빈 집합이 아닌 모든 부분집합 B는 최소 원소를 가진다.

즉, 자연수 집합의 경우에는 [math]\displaystyle{ 5 \gt 4 \gt 3 \gt 2 \gt 1 }[/math]과 같이 끝이 있으니 잘 정의된다. 하지만 정수를 생각해보면, [math]\displaystyle{ 2 \gt 1 \gt 0 \gt -1 \gt -2 \gt ... }[/math]과 같이 최소 원소가 정의되지 않기 때문에 잘 정의되지 않는다. 이는 양의 실수에도 동일하게 적용되어, 잘 정의되지 않는다는 것을 알 수 있다.

만약 <가 well-founded라면 아래와 같은 귀납 원리가 성립한다:

[math]\displaystyle{ \frac{\forall x. (\forall y. (y\lt x \rightarrow P(y))\rightarrow P(x))}{\Rightarrow \forall x.P(x)} }[/math]

이는 "어떤 원소 x에 대해, x보다 작은 모든 y에서 성립하면 x도 성립한다"면, 전체적으로 모든 원소에 대해 성립한다는 의미이다.

이는 자연수 뿐만 아니라 다양한 구조에 적용가능하다. 집합 관계에는 [math]\displaystyle{ \in }[/math]을, 문자열에는 적절한 접두사 관계를 사용할 수 있다.[3] 표현식 트리(expression trees)에서는 "부분식(subexpression)" 관계를 사용할 수 있다.

Inductively Defined Sets

귀납적으로 정의된 집합(Inductively Defined Sets)은 어떤 집합을 한번에 다 정의하는 대신, 규칙(closure conditions)을 정해서 그 규칙을 만족하는 원소들만 집합에 포함시키는 방식이다. 예를 들어서 식(Expression) 집합을 정의해보자.

  1. 기본 원소(Base Case): 문자 a 하나만 있어도 그것은 식(expression)이다.[4]
  2. 덧셈 규칙(Closure under +): [math]\displaystyle{ E_1, E_2 }[/math]가 식이면 [math]\displaystyle{ (E_1 + E_2) }[/math]또한 식이다.[5]
  3. 곱셈 규칙(Closure under [math]\displaystyle{ \cdot }[/math]): [math]\displaystyle{ E_1, E_2 }[/math]가 식이면 [math]\displaystyle{ (E_1 \cdot E_2) }[/math]또한 식이다.[6]
  4. 최소성 조건(Smallest set): 위 규칙을 유한 번 적용해서 만들 수 있는 것만 식이다.

Structural Induction

구조적 귀납법(Structural Induction)은 귀납법으로 정의된 집합에 대해 사용되는 귀납법이다. 이는 "집합 원소의 생성 규칙"을 기반으로 하는 귀납법이다. 예를 들어서 식(Expression)에 대한 구조적 귀납법을 관찰하자:

  1. 기본 단계(Basis): 문자 a에 대해 [math]\displaystyle{ P(a) }[/math]가 성립함을 보인다.
  2. 귀납 단계(덧셈): 만약 [math]\displaystyle{ E_1, E_2 }[/math]에 대해 [math]\displaystyle{ P(E_1), P(E_2) }[/math]가 참이면, [math]\displaystyle{ P(E_1 + E_2) }[/math]도 참임을 보인다.
  3. 귀납 단계(곱셈): 만약 [math]\displaystyle{ E_1, E_2 }[/math]에 대해 [math]\displaystyle{ P(E_1), P(E_2) }[/math]가 참이면, [math]\displaystyle{ P(E_1 \cdot E_2) }[/math]도 참임을 보인다.

이렇게 하면 식의 전체 집합에 대해 [math]\displaystyle{ P(E) }[/math]가 항상 성립한다고 말할 수 있다.

각주

  1. 혹은 상황에 따라 [math]\displaystyle{ P(1) }[/math]
  2. "모든 자연수는 소수이거나 소수의 곱으로 쓸 수 있다."
  3. 예: "abc" < "abcd".
  4. 예: x, y, z는 다 식이다.
  5. 예: x + y
  6. 예: x [math]\displaystyle{ \cdot }[/math] y