基準ノードの物理世代番号と系統ポテンシャル値が一致しないというエラー

▲ZTシステム構成図7.1.ZELの全体図を#33 baselist 基本世代枠でソートして,TRIBEBOX::SetPotentialで停止.基準ノードの物理世代番号と系統ポテンシャル値が一致しないというエラーが起きている.障害が起きているのは,始系列のTRIBEBOX #905 先祖=#716 coupling(0)[1] 優先=#748 baselist基本世代枠(0)で,系統ポテンシャル値は4,基準ノードの物理世代番号は3になっている.AFTERMARGSAMEGENEフェーズ「重婚グラフ検定の事後処理」の中でCheckTribeVerticalPositionを実行しているところだ.最古世代先祖ノードは始系列に属する #716 coupling(0),つまり,始系列は系統最古系列でもある.

基準ノード世代=-1 先祖ノード世代=-4で確かに世代差は3だ.つまり,基準ノードの物理世代番号3というのは数字的には正しい.そもそも,基準ノード世代=-1というのがおかしい.この値はNAMEBOX::listdata.Generationに格納された値で,系列内の相対世代番号を表す数字だが,基準となるのは「系列優先ノード」であり,始系列の場合は基準ノードに該当するものであるのだから,つねにゼロでなくてはならないと考えられる.かなりややこしい問題がある.

基準ノードのbaselistから先祖ノードへの経路は少なくとも2つある.距離(世代差)3の経路と距離4の経路だ.上流検定ではより小さい数値が適用されるので,先祖ノードの世代値は-4となり,下流検定で基準ノードの世代値に-1が設定されることになる.これをいじると,今度は世代差が出てきて世代計算の根底が崩れてしまうようになるので,この状態で収めることを考えよう.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA