昨日は1000人に近い来訪者があった

午前0時を回るところだが,スナップショットを取っておこう.1000に近い来訪者があったということになっている.この理由は不明だが,かなり驚異的な数字だ.

image

今日のペースはまた通常に戻っているようなので,一過性の現象だったようだが… 何はともあれ,数字が上がるというのは悪い話ではない.⇒今日も順調にカウントが上がっている.午前5時15分で343人の来訪者があった.今日中にトータル95000人を超えることは確実なので,一週間以内に10万人の大台を超えそうだ.⇒完全な勘違い!343人というのは昨日の数字だ.今日は午前6時半でまだ,46人しかいない.

実験的に「結婚枠だけをセグメント検定の対象とする@20230125」を試してみたが,無理そうなので解除.⇒試みに「MakePairListCleanを一時止める@20220215」を解除してみたら,解けてしまった.

image

MakePairListCleanという処理は,ノード対の配置を最適化するための操作であり,今の場合にはノード対はまったく使われていないはずなので,このような変化が起きているとすれば,「基本的に必要な処理」がノード対処理と分離されずに混交していたということになる.この部分を切り出して,基本処理に統合する必要がある.まず,ノード対が生成されていないことを確認しておこう.ノード対の発行数をどこかで確認できるだろうか?⇒Nringには生成されたすべてのオブジェクトが登録されているはずだから,CheckNringCountでカウントできるのではないか?⇒オブジェクトの総数32460のうち,ノード対はゼロだ

MakePairListCleanはTRIBELIST::MainExprerimentに入って始めて呼び出される.この関数は2度呼び出されているが,ループしないで一度で脱出している.ただし,内部にもループがあるのでそこでループしている可能性はある.この関数の中では複数の処理が実行されているが,何かしらの作用がある場合にはconflictが立ってループになるはずなので,ループしないで抜けているとすれば,「何事もなかった」ということになってしまうのだが,だとすれば動作が変化しているという理由が立たない.おそらく,どこかで,暗黙に何かが操作されているのだろう.

MakePairListCleanの内部で実行されているBuildCompleteTreeを止めると無限ループしてしまうので,この操作は必須処理になっているが,conflictは起きていない.BuildCompleteTreeは,CheckMultiCardsとStackTribeGeneを実行しているだけだ.⇒MakePairListCleanを暫定修正してBuildCompleteTreeを実行しただけで抜けるようにしてみたが,解けている.つまり,BuildCompleteTreeを実行することはノード対のあるなしに関わらず必須ということになる.

いや,MakePairListCleanを実行するか否かの問題ではない.単にCompleteTribeBoxの収束が遅いというだけの問題だ.実際,REDLINEを32まで引き上げたら正常描画できた.Collatz12146.ZELを読み込んでみよう.ループカウント上限32では,結婚点不一致84件, 衝突346件で収束には程遠いものがある.いずれにしても,三極検定をもう少し強化しないことにはどうにもならない問題であるようだ.とりあえず,ここで一旦打ち切って出直すことにしよう.

CompleteTribeBoxで結婚点不一致と結婚枠衝突を先行処理し,これらをクリアしてからセグメント検定に入るように修正して,一発でループを抜けられるようになったが,セグメント検定で動作不良が起きている.つまり,先祖ノードの「5」とその子どもの「53」が孤立した状態でループを脱出している.明らかにこれはセグメント検定に欠陥があることを示している.先祖ノードは#84230で,当初のセグメント番号は1.最終的にすべてのオブジェクトのセグメント番号は1724になる.

CompleteTribeBoxのループ出口でIsTribeCompleteの再検査を実行すると,結局31回ループするという動作になってしまう.少なくとも今の論理ではこれだけ回らないと解けないということのようだ.これは,セグメント検定で前詰めするとき,結婚点不一致が発生してしまうことが原因と考えられる.やはり,結婚点を維持しながら前詰めする方法を編み出すしかないのではないだろうか?⇒MAXIMALGRAPH:MoveSegmentBlockではBobject::MoveNeutralでオブジェクトを移動しているためと考えられる.

MoveSegmentBlockでMoveNeutralを使わないように仕様変更してみたが,31回ループという状況にはまったく変化がなかった.⇒「コラッツ特注版ではつねに中吊り@20211217」をオフにしたところ,HorizontalSegmentでまったく停止しなくなってしまった.⇒とりあえず,この論理は元に戻すしかなさそうだ.

コメントを残す

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

CAPTCHA