제켄도르프의 정리

제켄도르프의 정리(Zeckendorf's theorem)는 자연수를 피보나치 수의 합으로 나타내는 방법에 관한 정리이다. 이름은 벨기에의 수학자인 에두아드 제켄도르프(Edouard Zeckendorf)에서 유래하였다.

진술[편집 | 원본 편집]

모든 자연수는 제켄도르프 분해로 나타낼 수 있으며, 그 표현 방식은 유일하다.

제켄도르프 분해란 어떤 자연수를 연속하지 않은 피보나치 수의 합으로 나타내는 표현 방식이다. 즉 [math]\displaystyle{ F_n }[/math]을 피보나치 수열의 [math]\displaystyle{ n }[/math]번째 항이라 하면,

[math]\displaystyle{ N=\sum_{i=1}^{m}F_{\sigma(i)}, \sigma(i+1) \geq \sigma(i)+2 }[/math]

와 같이 나타낼 수 있다. 여기서 [math]\displaystyle{ \sigma(i) }[/math]는 항의 번호를 나타낸다.

가령 100의 경우 [math]\displaystyle{ 100=89+8+3=F_{11}+F_6+F_4 }[/math]와 같이 나타낼 수 있고, 각 피보나치 수는 서로 이웃한 항이 아님을 알 수 있다. 어떤 자연수가 피보나치 수이면 그 수 자체로 제켄도르프 분해가 되며, 항의 개수는 하나다.

증명[편집 | 원본 편집]

이 정리는 제켄도르프 분해의 존재성과 유일성 둘로 나눠서 각각 증명한다.

존재성[편집 | 원본 편집]

어떤 자연수 [math]\displaystyle{ N }[/math]이 피보나치 수이면 정리는 자명하다. 여기서는 어떤 항 번호 [math]\displaystyle{ j }[/math]가 존재해서 [math]\displaystyle{ F_j \lt N \lt F_{j+1} }[/math]인 경우를 생각한다.

[math]\displaystyle{ F_1=F_2=1, F_3=2, F_4=3 }[/math]은 피보나치 수이므로 [math]\displaystyle{ N, j \geq 4 }[/math]에서 출발한다. 수학적 귀납법을 이용한다.

  • 증명 목표: 임의의 [math]\displaystyle{ j }[/math]에 대해 [math]\displaystyle{ F_j \lt N \lt F_{j+1} }[/math]인 자연수는 언제나 제켄도르프 분해가 존재한다. (★)
  • [math]\displaystyle{ j=4 }[/math]일 때 (★) 명제는 참이다.
  • [math]\displaystyle{ j \lt k (k \geq 5) }[/math]일 때 (★) 명제가 참이면 [math]\displaystyle{ j=k }[/math]일 때도 마찬가지로 참이다.

먼저 [math]\displaystyle{ j=4 }[/math]인 경우, [math]\displaystyle{ F_4=3, F_5=5 }[/math]이므로 이 사이에 들어가는 자연수는 4 뿐이다. [math]\displaystyle{ 4=1+3=F_2+F_4 }[/math]이므로 제켄도르프 분해가 존재하며, 첫째 조건은 참이다.

다음으로 둘째 조건의 가정은 [math]\displaystyle{ N\lt F_k }[/math]일 때 (★) 명제가 참이라고 표현할 수 있다.

[math]\displaystyle{ j=k }[/math]이면 [math]\displaystyle{ F_k \lt N \lt F_{k+1} }[/math]이다. 이때 [math]\displaystyle{ M=N-F_k }[/math]라 하면 피보나치 수열의 정의에 의해 [math]\displaystyle{ F_{k+1}-F_k=F_{k-1} }[/math]이므로 [math]\displaystyle{ M\lt F_{k-1}\lt F_k }[/math]이다. 즉 [math]\displaystyle{ M }[/math]은 둘째 조건의 가정에 따라 제켄도르프 분해가 존재하고, [math]\displaystyle{ M=\sum_{i=1}^{m}F_{\sigma(i)} }[/math]에서 가장 나중 항은 [math]\displaystyle{ F_{k-2} }[/math] 또는 그 이하이다. 즉 [math]\displaystyle{ \sigma(m) \leq k-2 }[/math]. 이제 [math]\displaystyle{ k=\sigma(m+1) }[/math]이라 하면 [math]\displaystyle{ \sigma(m+1) \geq \sigma(m)+2 }[/math]이며 [math]\displaystyle{ N=M+F_k=\sum_{i=1}^{m}F_{\sigma(i)}+F_{\sigma(m+1)}=\sum_{i=1}^{m+1}F_{\sigma(i)} }[/math]이다. 가장 나중의 두 항이 서로 이웃 항이 아니므로, [math]\displaystyle{ N }[/math] 역시 제켄도르프 분해가 존재한다.

따라서 둘째 조건도 참이 되어 모든 자연수에 대해 존재성이 증명된다.

유일성[편집 | 원본 편집]

유일성의 증명에 앞서 보조정리를 먼저 살펴본다.

  • 보조정리: [math]\displaystyle{ N }[/math]을 제켄도르프 분해로 나타낼 때, 가장 큰 항이 [math]\displaystyle{ F_j }[/math]이면 [math]\displaystyle{ F_j \leq N \lt F_{j+1} }[/math]이다.

보조정리 역시 수학적 귀납법으로 증명할 수 있다.

먼저 주어진 수가 피보나치 수인 경우, 즉 [math]\displaystyle{ N=F_j }[/math]인 경우는 자명하다. 피보나치 수가 아닌 경우, [math]\displaystyle{ j=4, F_4=3 }[/math]에서 출발한다. 그러면 제켄도르프 분해의 가장 큰 항은 3인데, 3보다 작은 이웃이 아닌 피보나치 수는 1뿐이다. [math]\displaystyle{ N=3+1=4\lt F_5 }[/math]이므로 보조정리의 조건을 만족한다.

다음으로 [math]\displaystyle{ j\lt k }[/math]일 때 보조정리가 참이라 가정하면 [math]\displaystyle{ j=k }[/math]일 때도 참임을 보인다. [math]\displaystyle{ N }[/math]의 제켄도르프 분해의 가장 큰 항이 [math]\displaystyle{ F_k }[/math]이면, 그 다음으로 작은 항은 [math]\displaystyle{ F_{k'}, k' \leq k-2 }[/math]이다. [math]\displaystyle{ M=N-F_k }[/math]라 하면 [math]\displaystyle{ M }[/math] 내에서는 [math]\displaystyle{ F_{k'} }[/math]이 가장 큰 항이므로 가정에 의해 [math]\displaystyle{ M\lt F_{k'+1} \leq F_{k-1} }[/math]이다. 따라서 [math]\displaystyle{ M+F_k \lt F_{k-1}+F_k }[/math]이고 [math]\displaystyle{ N\lt F_{k+1} }[/math]이 된다.

이상 보조정리의 증명은 끝나고, 이제 유일성을 증명할 차례다. [math]\displaystyle{ S, T }[/math]를 어떤 자연수의 제켄도르프 분해를 담은 집합이라 하자. 즉 각 집합 내 원소들은 연속하지 않는 피보나치 수이고, 원소들을 모두 합하면 원래 자연수가 된다. 수식으로 표현하면 [math]\displaystyle{ N=\sum_{x_s \in S}x_s = \sum_{x_t \in T}x_t }[/math](☆) 제켄도르프 분해가 유일하다면 반드시 [math]\displaystyle{ S=T }[/math]가 성립해야 한다.

[math]\displaystyle{ S'=S \setminus T \neq \emptyset, T'=T \setminus S \neq \emptyset }[/math]이라 가정한다.[1] 각 차집합 내의 가장 큰 원소인 [math]\displaystyle{ F_s \in S', F_t \in T' }[/math]를 불러오면 [math]\displaystyle{ S' \cap T' = \emptyset }[/math]이므로 [math]\displaystyle{ F_s \neq F_t }[/math]이다. 일반성을 잃지 않고 [math]\displaystyle{ F_s \lt F_t }[/math]라 하면, 보조정리에 의해 [math]\displaystyle{ S' }[/math]내의 모든 원소의 합은 [math]\displaystyle{ F_t }[/math]보다 작다. 즉 [math]\displaystyle{ \sum_{x_s \in S'} x_s \lt F_t \leq \sum_{x_t \in T'} x_t }[/math]

그러므로 [math]\displaystyle{ \sum_{x_s \in S'} x_s + \sum_{x_s \in S \cap T} x_s \lt \sum_{x_t \in T'} x_t + \sum_{x_t \in S \cap T} x_t }[/math]이며, 양 변을 간단히 하면 [math]\displaystyle{ \sum_{x_s \in S} x_s \lt \sum_{x_t \in T} x_t }[/math]이다. 하지만 이는 (☆) 식과 모순이다. 그러므로 [math]\displaystyle{ S'=T'=\emptyset, S=T }[/math]가 되어 유일성은 참이다.

피보나치 곱[편집 | 원본 편집]

제켄도르프 분해를 바탕으로 한 특수한 연산을 정의할 수 있다. 어떤 두 수가 [math]\displaystyle{ a=\sum_{i=1}^{m}F_{\rho(i)}, b=\sum_{j=1}^{n}F_{\sigma(j)} }[/math]와 같이 표현될 때, 피보나치 곱은 아래와 같이 정의한다. 단, 제켄도르프 분해에서 1이 들어가 있다면 이는 [math]\displaystyle{ F_2 }[/math]로 간주한다.

  • [math]\displaystyle{ a \circ b = \sum_{i=1}^{m}\sum_{j=1}^{n}F_{\rho(i)+\sigma(j)} }[/math]

예를 들면

[math]\displaystyle{ \begin{align} 6 \circ 7 &= (5+1) \circ (5+2) = (F_5+F_2) \circ (F_5+F_3) =F_{5+5}+F_{5+3}+F_{2+5}+F_{2+3} =F_{10}+F_8+F_7+F_5 \\ &=F_{10}+F_9+F_5 =F_{11}+F_5 =89+5 =94 \end{align} }[/math]

와 같이 셈할 수 있다. 피보나치 곱을 시행하면 보통 제켄도르프 분해 형태로 나오지 않지만 항을 적절히 재조합하면 모양을 만들 수 있다.

이 연산은 정의에 따라 교환법칙과 분배법칙이 성립한다. 또, [math]\displaystyle{ c=\sum_{k=1}^{p}F_{\tau(k)} }[/math]를 불러오면 아래와 같이 결합법칙도 성립한다.

  • [math]\displaystyle{ (a \circ b) \circ c = a \circ (b \circ c) = \sum_{i=1}^{m}\sum_{j=1}^{n}\sum_{k=1}^{p}F_{\rho(i)+\sigma(j)+\tau(k)} }[/math]

기타[편집 | 원본 편집]

이 정리는 이진법과 성격이 유사하다. 이진법의 경우 합의 분해를 피보나치 수 대신 (1을 포함한) 2의 거듭제곱으로 나타낸다. 즉 "모든 자연수는 2의 거듭제곱의 합으로 나타낼 수 있고, 그 표현은 유일하다"는 것이 이진법의 기본 배경이다. 다만 이쪽은 연속하지 않은 원소라는 조건이 붙어있지 않다.

각주

  1. [math]\displaystyle{ S \neq T }[/math]이면서 집합 내 원소(자연수)의 합이 같다면 두 집합은 서로 부분집합 관계일 수 없다.