ゼッケンドルフの定理

数学におけるゼッケンドルフの定理とは、任意の正の整数は、1つ以上の、番号が連続しないフィボナッチ数の和として一意に表せるという定理である。名前はベルギーの数学者、Edouard Zeckendorf に由来する。より厳密には、 定理 ― N を任意の正の整数とすれば、ci+1 > ci + 1 を満たす正の整数 ci ≥ 2 が存在して、 N = ∑ i = 0 k F c i {\displaystyle N=\sum _{i=0}^{k}F_{c_{i}}} （ただし Fn は n 番目のフィボナッチ数） というものである。このような和は N のゼッケンドルフの表現と呼ばれる。 例えば、100 のゼッケンドルフの表現は 100 = 89 + 8 + 3 となる。100 をフィボナッチ数の和として表す方法は他にも 100 = 89 + 8 + 2 + 1 100 = 55 + 34 + 8 + 3 のように存在するが、これらはそれぞれ 1 と 2, 34 と 55 が連続するフィボナッチ数であるため、ゼッケンドルフ表現ではない。 与えられた任意の正の整数のゼッケンドルフ表現は、その数を超えない最大のフィボナッチ数を取っていく貪欲法によって得られる。 ゼッケンドルフの定理は2つの部分に分けられる。 存在：任意の正の整数 n に対してゼッケンドルフの表現が存在する。 一意性：どの正の整数 n も、相異なる2つのゼッケンドルフの表現を持たない。 存在 最初の部分（存在）は数学的帰納法によって示すことができる。n = 1, 2, 3 については（これらはフィボナッチ数だから）明らかに真であり、n = 4 に対しては 4 = 3 + 1 が当てはまる。さて、すべての n ≤ k に対してゼッケンドルフの表現が存在すると仮定する。k + 1 がフィボナッチ数ならばそれがゼッケンドルフの表現となり、そうでない場合には Fj < k + 1 < Fj+1 となる j が存在することになる。後者の場合に、a = k + 1 − Fj を考えると、a ≤ k であるから、 a は帰納法の仮定により、ゼッケンドルフの表現を持つ。さらに、Fj + a < Fj+1 でありまた Fj+1 = Fj + Fj−1（フィボナッチ数の定義から）だから、a < Fj−1 となって a のゼッケンドルフ表現は Fj−1 を含まないことがいえる。よって、k + 1 は Fj と a のゼッケンドルフの表現の和として表すことができる。 一意性 後半（一意性）を示すには次の補題が必要となる。 補題 ― 最大の要素が Fj である、連続せず互いに異なったフィボナッチ数の任意の空でない集合について、その和は Fj+1 より（実際に）小さい。 この補題は j についての帰納法で証明することができる。 さて、和の等しい、互いに異なった連続しないフィボナッチ数の空でない集合 S と T を考える。ここで集合 S′ と T′ を考える。これはそれぞれ S と T から共通する要素を取り除いたものである（つまり、S′ = S \ T, T′ = T \ S である）。S と T の和は等しく、それぞれの集合から S ∩ {\displaystyle \cap } T を取り除いたものであることから、S′ の和と T′ の和もまた等しい。 ここから背理法によって S′ と T′ の一方は空であることを示す。S′ と T′ がいずれも空でないと仮定し、S′ の最大の要素を Fs,T′ の最大の要素を Ft とする。S′ と T′ には共通する要素はないから、Fs ≠ Ft である。ここで Fs < Ft としても一般性を失わない。このとき補題から、S′ の総和は Fs+1 より小さく、従って Ft よりも小さいが、T′ の和は明らかに Ft 以上である。これは S′ と T′ の総和が等しいことと矛盾しており、従って S′ か T′ の少なくとも一方は空であるといえる。 このとき S′ が空であるとしても一般性を失わない。すると S′ の和は 0 であり、このため T′ の和も同様に 0 であるはずである。T′ の要素は正の整数のみであるから、これを満たすためには T′ は空集合でなければならない。従って S′ = T′ = ∅ {\displaystyle \emptyset } , すなわち S = T であって、ゼッケンドルフの表現の一意性が示された。 自然数 a, b に対して次の演算 a ∘ b {\displaystyle a\circ b} を定義することができる。ゼッケンドルフの表現 a = ∑ i = 0 k F c i ( c i ≥ 2 ) {\displaystyle a=\sum _{i=0}^{k}F_{c_{i}}\;(c_{i}\geq 2)} と b = ∑ j = 0 l F d j ( d j ≥ 2 ) {\displaystyle b=\sum _{j=0}^{l}F_{d_{j}}\;(d_{j}\geq 2)} に対して、フィボナッチ積 a ∘ b = ∑ i = 0 k ∑ j = 0 l F c i + d j . {\displaystyle a\circ b=\sum _{i=0}^{k}\sum _{j=0}^{l}F_{c_{i}+d_{j}}.} 例えば、2 のゼッケンドルフの表現は F3, 4 に対するそれは F4 + F2 (F1 は用いない) であるから、 2 ∘ 4 = F 3 + 4 + F 3 + 2 = 13 + 5 = 18 {\displaystyle 2\circ 4=F_{3+4}+F_{3+2}=13+5=18} となる。 和の順序を入れ替えることでこれが可換であることは示すことができるが、ドナルド・クヌースはさらに、この演算が結合的でもあるということを証明した。 フィボナッチ数列は、漸化式を書き換えて F n − 2 = F n − F n − 1 , {\displaystyle F_{n-2}=F_{n}-F_{n-1},} とし、これをすべての整数について適用することで負数番 n にも拡張することができ、次の性質を満たす。 F − n = ( − 1 ) n + 1 F n . {\displaystyle F_{-n}=(-1)^{n+1}F_{n}.} 任意の整数は、連続したフィボナッチ数を使わない形で負数番のフィボナッチ数の和として一意に表すことができる。例えば −11 = F−4 + F−6 = (−3) + (−8) 12 = F−2 + F−7 = (−1) + 13 24 = F−1 + F−4 + F−6 + F−9 = 1 + (−3) + (−8) + 34 −43 = F−2 + F−7 + F−10 = (−1) + 13 + (−55) 0 は空集合に対する和として表される。 たとえば 0 = F−1 + F−2 であるから、この表現の一意性は連続するフィボナッチ数を用いないという条件に依存している。 この表現によって、ゼッケンドルフの表現と同様に整数を符号化することが可能である (en:NegaFibonacci_coding)。整数 x を表す文字列においては、n 番目の桁は Fn が x を表す和に現れるなら 1, そうでないなら 0 となる。例えば 24 = F−1 + F−4 + F−6 + F−9 であるから 24 は 9, 6, 4, 1 桁目に 1 を置いて 100101001 によって表現できる。整数 x が奇数桁でこのように表されることと、x > 0 であることは同値である。 ワイソフのゲーム（2山の片方からまたは、両方から同数ずつ取る石取りゲーム）の後手必勝形は、次のようにゼッケンドルフ表示できる： x = Fn1 + Fn2 + … + Fnk, y = Fn1+1 + Fn2+1 + … + Fnk+1（n1 < n2 < … < nk は連続しない自然数） [脚注の使い方] ^ Knuth, Donald. "Negafibonacci Numbers and the Hyperbolic Plane" Paper presented at the annual meeting of the Mathematical Association of America, The Fairmont Hotel, San Jose, CA. 2008-12-11 <http://www.allacademic.com/meta/p206842_index.html> ^ Wythoff_setumei.pdf 数学パズル・ゲームの広場 中村滋『フィボナッチ数の小宇宙：フィボナッチ数、リュカ数、黄金分割』（改訂版）日本評論社、2008年1月。ISBN 978-4-535-78492-5。  Knuth, Donald E. (1988), “Fibonacci multiplication”, Applied Mathematics Letters 1 (1): 57-60, doi:10.1016/0893-9659(88)90176-0, ISSN 0893-9659, Zbl 0633.10011  Zeckendorf, E. (1972), “Représentation des nombres naturels par une somme de nombres de Fibonacci ou de nombres de Lucas” (仏語), Bull. Soc. R. Sci. Liège 41: 179-182, ISSN 0037-9565, Zbl 0252.10011  オストロウスキーの数表現（英語版） フィボナッチ符号（英語版） 『ゼッケンドルフの定理とその証明』 - 高校数学の美しい物語 Weisstein, Eric W. "Zeckendorf's Theorem". mathworld.wolfram.com (英語). Weisstein, Eric W. "Zeckendorf Representation". mathworld.wolfram.com (英語). cut-the-knot での Zeckendorf's theorem G.M. Phillips (2001), “Zeckendorf representation”, in Hazewinkel, Michiel, Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4, https://www.encyclopediaofmath.org/index.php?title=Z/z120020  Sloane, N.J.A. (ed.). "Sequence A101330 (Knuth's Fibonacci (or circle) product)". The On-Line Encyclopedia of Integer Sequences. OEIS Foundation. {{cite web}}: Cite webテンプレートでは|access-date=引数が必須です。 (説明) この記事は、クリエイティブ・コモンズ・ライセンス 表示-継承 3.0 非移植のもと提供されているオンライン数学辞典『PlanetMath』の項目proof that the Zeckendorf representation of a positive integer is uniqueの本文を含む