Truncated treeが軸線図にならないバグ

開発機に仕掛けた検証テストの進捗は3日+17時間で24.8%,予備機の方は1日+21時間で16%というところだ.どちらもまだまだ掛かりそうだが,順調に走っていると言えるのでこのまま推移を見ることにする.

Truncated tree(刈り込み木)が軸線図にならないバグを片付けなくてはならない.この軸線図と枝番号リストは1対1に対応するものなのでこれを表示できるようにすることはとても重要だ.Odd number=32769のとき,最大枝数3,樹高32になるが,このサンプルの刈り込み木を取ると,3つの部分木に分離してしまう.参照番号が1ずれていることが原因なので,どこかに論理ミスがあるものと思われる.

imageコラッツ木生成ツールの画面に表示されている隣接リストは正しいが,オプションのゼルコバの木CSV出力に誤りがある.⇒親番号に1つ大きい数が割り当てられていた.ほぼ繋がったが,先頭の1で失敗している.1は#1として登録されているが,5も同じ#1で上書き登録されている.⇒対処した.あとは,これを軸線図として出すだけだ.

残念ながらエラーになってしまう.前に一度刈り込み木を軸線図として表示できたことはあったような気はするのだが…⇒SIMPLEGRAPH::MakeAntiChainListで最長鎖の長さゼロでゼロ復帰している.SIMPLEGRAPH::GetHasseDiagramで長さゼロを返している.⇒この関数は冒頭でゼロ復帰している.なぜだろう?ともかく,これを外してみる.

image途中エラーは出ているが,描画できた.これが刈り込み木と呼んでいるものだ.きちんとしたデバッグは後日ということにして,この図をマニュアルに取り込む段取りを進めよう.枝番号数列はこの図から簡単に導くことができる.上から,軸線ノードが右から何番目の子であるかを数えるだけだ.マニュアルには,15から生成される高さ5の刈り込み木を挿入した.

image

これで大体道具立てはそろったのではないだろうか?あとは,淡々と記述するだけではないかと思う.タブAの部分はすでに書き上がっているが,タブBに関してはまだ,画面構成にも残っている部分がある.これらは,タブBの4機能を書き上げた上で,その要約として書き込めばよい.従って,4機能をまとめるのが先決ということになる.


コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA