重複なくすべての自然数が現れる数表生成法「インタースパージョン」
重複なくすべての自然数が現れる数表生成法「インタースパージョン」
2次元的に無限に広がる数の表で、同じ数がひとつも被らない上に、すべての自然数を含むようなものはいくつも作れるものでしょうか?
じつは、対応表(関数)を定義するだけでそのような数表を作り出せる魔法のような生成法があります。それが「インタースパージョン」です。
もっとも単純なインタースパージョン「物智の倍音配列」を例に出し、発展して少し難しい「ワイソフ配列」を構成、さらに研究を重ねて作ることができた「ペル版ワイソフ配列」をお見せします。
(本当はもっと詳しく書きたいのだけれど、とりあえず備忘録程度に。)
物智の倍音配列
与えられた値を
この関数に1以上の自然数を与えると、以下の対応になります。
対応表を充分大きく用意しておくとして、次のように数表を作ります。
- 1行目の1列目に、対応表の1番目の値を入れる
- 1行目の2列目に、1行目の1列目の値に対応する値を入れる
- 1行目の3列目に、1行目の2列目の値に対応する値を入れる
- これを繰り返して1行目の無限列が得られる
- 2行目の1列目に、1行目に現れなかった数の最小値を入れる
- 2行目の2列目に、2行目の1列目の値に対応する値を入れる
- 2行目の3列目に、2行目の2列目の値に対応する値を入れる
- これを繰り返して2行目の無限列が得られる
- 3行目の1列目に、それまでの行に現れなかった数の最小値を入れる
- 同様に3行目の無限列が得られる
- ここから先はもうおわかりでしょう
このようにして、以下の数表が得られます。
おそらく単純すぎるので名前が付いていないのだけれど、 いちおう自分で発見して独自に研究していたので、物智の倍音配列 (butchi bion array) と勝手に命名しています。皆さんも呼び名に困ったら使ってください。
作り方に沿っただけだとたまたまそうなったようにも見えますが、1列目は
もうちょっと考えると、2列目以降は偶数しか現れないわけだから…とここからだけでもいろいろな考察ができます。
ワイソフ配列
というさっきよりもちょっとだけ複雑な関数を用意します。
これを先ほどと同じ作り方で数表にしてみましょう。
こうなります。
この表が表しているのが、1行目がフィボナッチ数、2行目がリュカ数(一般的な定義だと途中から)、3行目以降も任意の初項によるフィボナッチと同じ二項漸化式による
この表には名前が付いており、ワイソフ配列 (Wythoff array) と呼ばれています。
(似た表でStolarsky arrayというのもあるそうなので要調査)
ワイソフ配列については、2016年8月26日に 日本フィボナッチ協会 第14回研究集会報告書 にある通り「ワイソフ配列について」と題して発表したのですが、フィボナッチに詳しい参加者の皆さんに見せても、知らない人ばかりでした。
そして、このように数表を構成することを「インタースパージョン」 (Interspersion) と呼ぶようなのですが、これについても日本語どころか英語の文献も(論文は調査不足だけれど)ほとんど見つかっていので、 Clark Kimberling氏のサイトに書かれているINTERSPERSIONS AND DISPERSIONSというページを聖典のように見ています。
なお、本記事では書ききれませんでしたが、ワイソフ配列は「ゼッケンドルフ表現」 (Zeckendorf representation) においては物智の倍音配列とほとんど同じ構造を持っています。たとえば、この表の1列目
他に、ここ数日はビーティー列 (Beatty sequence) との関係を調査していましたが、まだいまいち対応付けがうまくいっておらず、これについてわかったら改めてブログを書こうと思います。
ペル版ワイソフ配列
先ほどの配列が「フィボナッチ版ワイソフ配列」だとすると、「ペル版ワイソフ配列」というものも考えられます。
ペル数 (Pell number) は黄金比ではなく白銀比と関係していて、フィボナッチ数を少しアレンジしたような定義によって作られる数列です。
こちらは一般項も今のところ調べきれておらず、とりあえずインタースパージョン(のひとつ?)を求められたことだけを備忘録的に記しておきます。
(メモ: ワイソフ配列のときとかなり似ていて、ペル列としての01列の累積を0列目と1列目に持ってくる)
とりあえず今回はこれまで。続報にご期待あれ。