ガラス箱とガラパゴスって音が似ている?

kamui氏からメールが入っていたので返信した.

kamui さま

いつもお世話になっております.

>コロナの中、憂鬱な日が続いています。久しぶりにテント村に行きましたら「源氏物語全系譜6.1.ZELの法定親族図 #1 ----事象が発生している」などの記述が有りましたので、Windowsの最新バージョンへのインストールが可能になったのではないかと思いメールを出しました。

思い出して頂きありがとうございます.当方の開発機のOSバージョンは1909ですが,インストールできています.この後,2004,20H2というのが出ているようですが,まだ試していません.

>正式版のダウンロード可能になるのはいつ頃ですか?

本年度(2021年)中にはリリースしたいと考えています.仕掛りのバージョンは描画などにかなりの不具合があり,仮リリースもできない状態になっています.Alphabet(Google)傘下のDeepMindはアミノ酸配列からタンパク質の3D構造を予測するAlphaFoldと呼ばれるAIで目覚ましい成果を挙げていますね!「タンパク質3D構造予測問題」と「家系図作図問題」のどちらが難しいか?は言うまでもありませんが,我々のシステムもいよいよガラパゴス化(独自進化?)してきたことを率直に認めるしかありません.

G島でこのまま朽ち果てるのか,何か新しい成果を携えてカムバックできるのか?これが事実上最後の機会になると考えられるので,描画上の不具合などは一時棚上げして,システムのスリムアップを進めているところです.ニューラルネットの最大の弱点はそれが内部構造の見えないブラックボックスであるという点にありますが,我々の目標はそれと真逆の,システムの完全なグラスボックス化にあります.(ガラス箱とガラパゴスって音が似ているような?笑)

2021/01/17 硝子箱島にて
馬場 英治

源氏物語全系譜6.1.ZELの全体図を#1 光源氏で開いて「重婚同類グラフ検定異世代多重カウントオーバー」でループが停止しない.⇒系列枠:snum=1619 primetype=3:婚姻関係 senzo=#788 右大臣 (明石)で「実ノード不一致」が発生している.ループのボトムでブレークするようになっているが,EstablishMajorTribeChainでそれ以前にgoto TRYAGAINを実行している.⇒対処した.

この図面では系列が64個あり,そのうち一院系列の系統に含まれるものが,31個ある.この系統グラフは4つの連結成分に分離している.①始系列(一院系列)を含む28系列のグループと,②衛門督(箒木)系列,③伊予介系列,④右大臣(明石)系列だ.前回の法定親族図のときは,衛門督系列と伊予介系列は一つの成分になっていたので比較的簡単に解けたが,今回はかなり難しそうだ.

④右大臣(明石)系列の優先ノードは髭黒(2)で実ノード候補は玉鬘(0)と髭黒(3)だ.当初は髭黒(2)→ 玉鬘(0)という接合になっているが,EstablishMajorTribeChainで付け替えを試みようとして失敗している.髭黒の仮ノードは4つある.#1373(0)は一院系列で配偶者,#1804(1)は先帝系列の配偶者,#1841(2)は右大臣(明石)系列の実子,#3662(3)は右大臣系列のLDR.当初は髭黒(2)はTYW婚で外部に出ていて,髭黒(3)→(2)というノード対で連結されている.

この構成では髭黒(2)→ 玉鬘(0)という接合は難しい.EstablishMajorTribeChainの中で代替案を探す時点でこのノード対をRetrieveGhostで削除したところ髭黒(3)のノード自体が削除されてしまった.これはTWY婚の本人ノードが元の位置に戻るというノーマルな動作だが,そのまま続行できないので一旦EstablishMajorTribeChainから離脱してリトライするようにして解決した.かなり迂遠な解になってしまうが,今のところこれしかない.これで一応④右大臣(明石)系列の問題は解決したと考えてよいと思う.

image

しかし,伊予介系列と衛門督系列の孤立は続いている.前回サンプルでは空蝉が衛門督系列と伊予介系列の接点となり,軒端の荻が伊予介系列と一院系列を繋いでいたのだが,今回の図面では伊予介系列には空蝉の席がなく,軒端の荻は蔵人の少将という配偶者を持つという構図になっている.いや,少なくとも伊予介と衛門督は伊予介を媒介として接合できるはずだ.⇒確かにそれは可能と思われるが,現行アルゴリズムではそのような動作にはならない.

現行論理ではトップダウンで始系列を基準とし,始系列の連結成分中のノードとの接合しか探していないからだ.もし,伊予介系列が始系列と連結できれば初めて衛門督→伊予介が対象に入ってくる.軒端の荻は結婚を持っているが,BTWを使えば接合できるはずだ.なぜそれが出てこないのだろう?⇒すでに優先=#1827 軒端の荻(1)→#1353 軒端の荻(0)で設定されているからだ.EstablishMajorTribeChainでは既存の設定では物理コネクションを確立できないと見て,最初から除外している.

放置状態であればループの中でBTWを成立させてもよいと思われるのだが,なぜそうならないのか?⇒NAMEBOX::DoublyBlessedOneの冒頭,IfBTWPossibleで弾かれている.これは,軒端の荻が基準ノードである光源氏の配偶者であるためだ.「基準ノードの配偶者の配偶者を左手本人とするBTWを不可とする」というルールが@20190130に制定されている.これには例外があって,「基準ノードの配偶者が単親婚を持っている場合には左手本人とする」となっている.

「左手本人仮ノードが単親婚を持つ場合にはつねにBTWを構成する」という非常に強い条件があるが,これと同様に「左手本人仮ノードが系列優先ノードの場合はつねにBTWを構成する」という条件を付け加えてもよいのではないだろうか?⇒これで問題は解決した.軒端の荻と空蝉はいずれもBTW左手本人として光源氏と接合している.伊予介のカードがダブってしまうのはどうにも避けられないが,この図面には重婚同類循環が3つもあるので仕方ないだろう.

image

同上サンプルの#3 桐壷の更衣でNAMEBOX::TailSheddingのエラーが出た.TailSheddingの引数のdiffが負値になっている.diffには実ノードと仮ノードの世代差が入っている.diffが負になると調整ができないのでエラーになる.⇒ShiftDirectAbsoluteとAdjustTribeGenerationを止めるとこのエラーは消える.この2つの関数は多重が存在する場合には実行しないというのが本来の仕様でそれを暫定的に一度だけ実行するようにしているのだが,その妥当性を含めてこの辺りを精査する必要がある.

この処理を作動するように変更したのは,光源氏の法定親族図で三位中将系列の主系列参照チェーンが切れるというところからだ.この処理を停止すると今度はTRIBEBOX::adjustGenerationRangeで「先祖ノードが系列世代範囲を逸脱」というエラーが出るようになる.この関数は16回呼び出されているが,実行しなくても描画には影響しない.

光源氏の法定親族図では一度も呼び出されていない.三位中将のチェーン切れという問題も生じていない.全体図では一度呼び出されるだけだ.呼び出し16回というのは桐壷の更衣の全体図に限られている.系列ポテンシャルの設定はSetMinorTribeで実行しているので,ほとんど不要になっているのではないかと思われる.ただし,この関数は10箇所から呼び出されているので,よく使われている関数だ.

コメントを残す

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

CAPTCHA