「三本桜の復活」を止めて,「銀河系の再構築」に方向転換した.一般的なアドレスコードは,コラッツ木のルートノード1からノードNまでの経路上の枝番号の並びを「.」で連結したテキストとして表記される.一般アドレスコードによって任意の自然数のコラッツ木上の位置を一意に決定することが可能だが,このアドレッシングには無効な枝番の並びが生じるという欠点がある.つまり,一般木上では3倍数が終端ノードとなってしまうため,完全正則木を構成することができない.
コラッツ木から3倍数を除去した完全木ではこのようなことが起きないので,完全正則な木を構成できる,つまり,任意のアドレスコードとノード番号に1対1の対応を付けることができるというのが「完全木」を導入した理由である.しかし,3倍数を除去することによって生じるコラッツ木上の空位とアドレスコードの対応は必ずしも自明ではない.仮想木の場合は仮想木上の位置とノード番号の関係は明確に定義されているのでむしろ対処し易いのではないか?と考えられたので急遽方向転換し,汎用アドレスコードを仮想木上で再定義することにした.完全木上のアドレスコードは以下のように定義されていた.
a.b.c….x-y*z a, b, c, … x, y, z は正の整数
a, b, c…, x は完全木上の枝番を示す1以上の整数で,a.b.c….x のような地番表示によって完全木上の任意のノードの位置を示すことができる.完全木は一般木から3倍数を除去したグラフであり,3倍数の位置を示すためには x-y のような構文が用いられる.これは3倍数Mが親ノードa.b.c….xのy番目の3倍数であることを示している.2倍数(偶数)を表記するためには,y*zの構文を用いる.これは,2倍数Eの親ノードをPとするとき,M=P*2^zの関係が成立することを意味している.完全木上のノードではない数を表記するために使われるx-y*zのような構文を「詳細付番」と呼んでいる.仮想木上のアドレスもこれに準ずる.
- コラッツ木上で共通の親を持つノードを兄弟ノードとし,兄弟ノードのうち最右に位置するノードを長子ノードとする 長子ノードはコラッツ数と呼ばれることもある
- 仮想コラッツ木はグラフの連結性を維持しながら,兄弟ノードを長子ノードに合併・縮約することによって得られる一般コラッツ木の簡約グラフである 仮想木上の(1を除く)すべてのノードは長子ノードである
- コラッツ木上のノードの位置を特定するためのアドレスコードは仮想木をベースとして定義される
- アドレスコードはルートノード1からノードNに至る経路上で経由する枝番号(兄弟順位)の並びを「.」で連結したテキストである
- ルートノード1を表記するアドレスコードは空文字列{}である
- ルートノード1以外の任意のノードNを表記するアドレスコードはつねに”1”で始まる アドレスコード{1}はノード5を示している
- 仮想木上に存在しないノード(非コラッツ数)には①非長子(奇数)ノード,②偶数ノードの2種がある 仮想木に非コラッツ数ノードを追加したグラフを拡張コラッツ木とする
- 非長子ノードUのアドレスは x/y のように表記する ここで,xはUの長兄ノードの枝番号(仮想木),yはUの属する兄弟枠の中の兄弟順位(一般木)である {x/y}は{x}というパスを含まない つまり,{x/y}で一つの「拡張木」上の枝番を表示する
- 偶数ノードEのアドレスは !z のように表記する ここで,Eの親ノードを奇数Nとするとき,E=N*2^zであるとする 奇数Nはコラッツ数である場合とそうでない場合がある {!z}で一つの「拡張木」上の枝番を表示する
たとえば,{1.2.3.4/2.!3} は 1[1]→ 5[2]→ 113[3]→ 4835[4]=6601841(2)→ 17604909*2^3→ 140839272 のようになる.コラッツ数列として表示すれば,
140839272→ 17604909→ 6601841→ 4835→ 113→ 5→ 1
である.既存ツールで17604909のコラッツ数列を求めると,以下が出力される.
4401227 17604909
6601841 (1) 6601841 [2]
4835 (4) 4951381 [1]
113 (3) 7253 [6]
5 (2) 85 [4]
1 (1) 1 [3]
この出力では,左列が仮想木,右列が一般木のコラッツ数列となっている.⇒なるほど,確かにこれが仮想木の欠点かもしれない.上記の拡張アドレスコードを使えば,次のような出力になる.
17604909 17604909
6601841 [1] 6601841 [2]
4835 (4) 4951381 [1]
113 (3) 7253 [6]
5 (2) 85 [4]
1 (1) 1 [3]
もし,ここで仮想木ではなく完全木を用いていれば,右列と左列は完全に一致していたはずだ.完全木上には3倍数が存在しないから,3倍数を通過点とするコラッツ経路は存在しない.従って,一般木と完全木はアドレッシングに関しては(3倍数を含めてもほぼ)完全に一致すると考えられる.確かにこれは完全木のかなり大きなアドバンテージであるように思われる.やはり,考察から完全木を(完全に)排除することはできないのではないか?必要なのは,むしろ完全木と仮想木がどのように対応しているかを見ることではないだろうか?それが解明できれば,一般木と仮想木の関係についても自ずから明らかになるのではないか?