あらたまの年も新たに去年の月

image

今年はいよいよどっからもカレンダーが来ない… まぁ,いっか.コロナ時代だ!一旦ここまでの修正をフィックスしてから作業に掛かることにしよう.仕掛りのオプションには以下がある.

  1. DecidePrimaryNodeを書き換え@20201226 1箇所
  2. mergeUpperSegmentで移動禁止@20201227 1箇所
  3. 最大区間ノード対を端点共有の先頭に置く@20210101 25箇所

源氏物語全系譜6.1.ZELの全体図を#18 左兵衛督で開いて,PAIRBOX::CheckPairBoxで不良ノード対エラーで停止.「最大区間ノード対の逆転」が起きている.PAIRBOX:#84668:#23457 弘徽殿大后(1)→#12718 (0) と#50680:#23481 致仕太政大臣の北の方(1)→#13143(0)だ.NAMEBOX::makePairBoxではノード対を生成するだけで,端点共有の調整までは実施していない.ただし,端点共有はチェックされていて,端点共有束には追加されている.PAIRBOX:CalcPairBoxではNOCOMMONの場合には調整しているが,すべての場合をカバーしていない.ここで調整しておくべきだろう.

源氏物語全系譜6.1.ZELの傍系血族図を#5 紫の上(若紫)でソートしてLIST::nextで(PHASE > INITIALSTATE)という理由で停止した.系統並び替えでTribeRelocation→MakePairListCleanを実行しているところだ.PAIRLIST::SearchSamePointPairの中で起きている.この関数は「端点を共有するノード対を探す」ためのものだが,探しているノード対リストに属していないノード対をピックアップしてきたように思われる.IsBindablePairの中で書き換わっているのではないだろうか?

IsBindablePairの中でPAIRBOX::CalcPairBoxが実行され,「最大区間ノード対の逆転を解決」によってリストが再編されている.このため,直列リスト上にあったPAIRBOX:#35362:#21617 雲井の雁(1)→#12378(0)が端点共有リストの下位に移ってしまっている.IsBindablePairの中でPAIRBOX::CalcPairBoxが実行されること自体問題だが,最大区間先頭の調整が遅れていることも問題だ.いや,この動作はPAIRLIST::RepairPairBoxGenerationの中で起きているので,状態がある程度流動的になるのは避けられないのではないか?

IsBindablePairの中でCalcPairBoxを実行しないことでこのエラーは解消したが,雲井の雁と玉鬘の端点共有が崩れてしまっている.なぜか?⇒明石中宮と雲井の雁が同一チャンネルに入ったため,玉鬘が加わる余地がなくなったためと考えられる.(最終出力では明石中宮と雲井の雁は同一チャンネルにはなっていない… )最適解を求めるとすれば,玉鬘と雲井の雁の端点共有を成立させた上で,明石中宮は別チャンネルに移るというのが正解と思われるが,そこまでの動作にはなっていない.これで見ると,最優先すべき条件は端点共有であるということが分かる.

▲源氏物語全系譜6.1.ZELの全体図を#127 摂政太政大臣でソートしてPAIRBOX:repairCommonEndPointの出口でGENELIST:CheckPairBoxの不良ノード対エラーにより停止.CheckSamePointで「端点一致でsamepointゼロ」というエラーが起きている.問題のノード対はPAIRBOX:#49223:#23382 蛍兵部卿宮の前の北の方(1)→#13126 蛍兵部卿宮の前の北の方(0).

コメントを残す

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

CAPTCHA