ゼッケンドルフの定理

提供: testwiki
ナビゲーションに移動 検索に移動
正の整数の最初 160 個(X軸上) をゼッケンドルフの表現で表したもの。長方形それぞれの色がフィボナッチ数列での番号、高さが値に対応している。

数学におけるゼッケンドルフの定理とは、任意の整数は、1つ以上の、番号が連続しないフィボナッチ数の和として一意に表せるという定理である。名前はベルギー数学者Edouard Zeckendorf に由来する。より厳密には、 テンプレート:Math theorem というものである。このような和は テンプレート:Mvarゼッケンドルフの表現と呼ばれる。

例えば、100 のゼッケンドルフの表現は

テンプレート:Math

となる。100 をフィボナッチ数の和として表す方法は他にも

テンプレート:Math
テンプレート:Math

のように存在するが、これらはそれぞれ 1 と 2, 34 と 55 が連続するフィボナッチ数であるため、ゼッケンドルフ表現ではない。

与えられた任意の正の整数のゼッケンドルフ表現は、その数を超えない最大のフィボナッチ数を取っていく貪欲法によって得られる。

証明

ゼッケンドルフの定理は2つの部分に分けられる。

  1. 存在:任意の正の整数 n に対してゼッケンドルフの表現が存在する。
  2. 一意性:どの正の整数 n も、相異なる2つのゼッケンドルフの表現を持たない。
存在

最初の部分(存在)は数学的帰納法によって示すことができる。テンプレート:Math2 については(これらはフィボナッチ数だから)明らかに真であり、テンプレート:Math2 に対しては テンプレート:Math2 が当てはまる。さて、すべての テンプレート:Math2 に対してゼッケンドルフの表現が存在すると仮定する。テンプレート:Math2 がフィボナッチ数ならばそれがゼッケンドルフの表現となり、そうでない場合には テンプレート:Math2 となる テンプレート:Mvar が存在することになる。後者の場合に、テンプレート:Math2 を考えると、テンプレート:Math2 であるから、 テンプレート:Mvar は帰納法の仮定により、ゼッケンドルフの表現を持つ。さらに、テンプレート:Math2 でありまた テンプレート:Math2(フィボナッチ数の定義から)だから、テンプレート:Math となって テンプレート:Mvar のゼッケンドルフ表現は テンプレート:Math を含まないことがいえる。よって、テンプレート:Mathテンプレート:Mvarテンプレート:Mvar のゼッケンドルフの表現の和として表すことができる。

一意性

後半(一意性)を示すには次の補題が必要となる。 テンプレート:Math theorem この補題は テンプレート:Mvar についての帰納法で証明することができる。

さて、和の等しい、互いに異なった連続しないフィボナッチ数の空でない集合 テンプレート:Mathbfテンプレート:Mathbf を考える。ここで集合 テンプレート:Mathテンプレート:Math を考える。これはそれぞれ テンプレート:Mathbfテンプレート:Mathbf から共通する要素を取り除いたものである(つまり、テンプレート:Math, テンプレート:Math である)。テンプレート:Mathテンプレート:Math の和は等しく、それぞれの集合から テンプレート:Mathテンプレート:Math を取り除いたものであることから、テンプレート:Math の和と テンプレート:Math の和もまた等しい。

ここから背理法によって テンプレート:Mathテンプレート:Math の一方は空であることを示す。テンプレート:Mathテンプレート:Math がいずれも空でないと仮定し、テンプレート:Math の最大の要素を テンプレート:Math2 の最大の要素を テンプレート:Mvar とする。テンプレート:Mathテンプレート:Math には共通する要素はないから、テンプレート:Math2 である。ここで テンプレート:Math としても一般性を失わない。このとき補題から、テンプレート:Math の総和は テンプレート:Math より小さく、従って テンプレート:Mvar よりも小さいが、テンプレート:Math の和は明らかに テンプレート:Mvar 以上である。これは テンプレート:Mathテンプレート:Math の総和が等しいことと矛盾しており、従って テンプレート:Mathテンプレート:Math の少なくとも一方は空であるといえる。

このとき テンプレート:Math が空であるとしても一般性を失わない。すると テンプレート:Math の和は 0 であり、このため テンプレート:Math の和も同様に 0 であるはずである。テンプレート:Math の要素は正の整数のみであるから、これを満たすためには テンプレート:Math は空集合でなければならない。従って テンプレート:Math, すなわち テンプレート:Math2 であって、ゼッケンドルフの表現の一意性が示された。

フィボナッチ積

自然数 テンプレート:Math2 に対して次の演算 ab を定義することができる。ゼッケンドルフの表現 a=i=0kFci(ci2)b=j=0lFdj(dj2) に対して、フィボナッチ積 ab=i=0kj=0lFci+dj.

例えば、2 のゼッケンドルフの表現は テンプレート:Math, 4 に対するそれは テンプレート:Math2 (テンプレート:Math は用いない) であるから、24=F3+4+F3+2=13+5=18 となる。

和の順序を入れ替えることでこれが可換であることは示すことができるが、ドナルド・クヌースはさらに、この演算が結合的でもあるということを証明した。

負数番のフィボナッチ数を用いた表現

フィボナッチ数列は、漸化式を書き換えて

Fn2=FnFn1,

とし、これをすべての整数について適用することで負数番 テンプレート:Mvar にも拡張することができ、次の性質を満たす。

Fn=(1)n+1Fn.

任意の整数は、連続したフィボナッチ数を使わない形で負数番のフィボナッチ数の和として一意に表すことができる[1]。例えば

たとえば テンプレート:Math であるから、この表現の一意性は連続するフィボナッチ数を用いないという条件に依存している。

この表現によって、ゼッケンドルフの表現と同様に整数を符号化することが可能である テンプレート:Small。整数 テンプレート:Mvar を表す文字列においては、テンプレート:Mvar 番目の桁は テンプレート:Mvarテンプレート:Mvar を表す和に現れるなら 1, そうでないなら 0 となる。例えば テンプレート:Math2 であるから 24 は 9, 6, 4, 1 桁目に 1 を置いて 100101001 によって表現できる。整数 テンプレート:Mvar が奇数桁でこのように表されることと、テンプレート:Math2 であることは同値である。

関連項目

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist

参考文献

関連項目

テンプレート:Div col

テンプレート:Div col end

外部リンク

  1. 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>
  2. Wythoff_setumei.pdf 数学パズル・ゲームの広場