寒くなって年末になったこともあり、車旅も一段落です。
そこで、今日は得体の知れない「女房」の考え方を改めて研究してみる事にしました。
30年一緒に暮らしても、不思議な女房
女房と結婚してから30年以上一緒に暮らしていて、いまでもずっと不思議に感じている事があります。
女房に質問してから帰ってくる答えに、時には喧嘩をしたり、言い争ったりになってしまうことも結構ありました。むしろその方が多かったと思います。
最近ブログを書いていて色々な考えに出会います。人それぞれの考えがあることは知っていても、なかなか相手の事は理解できません。30年一緒に暮らしていてもです。

何が違うのでしょうか?
思考アルゴリズムが全く違う!
最近やっと気が付いてのですが、女房の思考アルゴリズムと自分のアルゴリズムとは別物うということです。
当たり前の事言うなと言われそうですが・・・
自分の考え方を見てみると、初めにテンプレートがあり、それを基に考えていきます。そのテンプレートに合わせるように考えていくのです。
女房の考え方は、テンプレートが無く、状況やその場の条件に基づいてフレキシブルに答えを生成していく考え方です。
テンプレート型の思考
自分の事をテンプレート型と呼ぶことにします。
このメリットは、手本があると手本以上のものを作りあげる事が上手なことです。テンプレート型に様々なプラグインを入れたり、本体をカスタマイズしたりと器用に目的に叶ったものを作り上げていきます。
なので様々なテンプレートが必要となってきます。だから方法を勉強します。
生活の上でも、布団を畳む、洗濯ものを畳む、掃除の仕方、料理の仕方、物の片付け方・・・
様々なテンプレートを持っています。
なので女房のやることが、テンプレートに合わないと文句を言いだします。
そのようなクラスを持ったオブジェクトなのです。返すのは不満が多い。
ランダム生成型
女房の様にテンプレートを持たないアルゴリズムをランダム生成型と呼ぶことにします。テンプレ―ト型から見た呼び方です。
このオブジェクトに投げかかると、何が返ってくるか分からないのです。だから、ランダム生成型と呼びます。
このオブジェクトは、その場その場でそこにある物でその場に相応しいものを作っていきます。なのでテンプレートは存在しません。過去の事例がクラスとして継承していきません。
このアルゴリズムは、環境に依存していきますので環境が変化すればそれに伴ってアルゴリズムを生成するのです。定型的なアルゴリズムは存在しないのです
だから、30年一緒にいてもテンプレート型には理解ができないのです。
いくら探してもそこにはテンプレートが無いのですから。
その違いは・・
例えば料理を作って片付けるまでのアルゴリズムの比較です。
テンプレート型の場合
1.料理の作り方を手に入れ材料を集めます。道具を全て用意します。
2.料理します。完成
3.料理に使った鍋や包丁等を洗い元に戻し、シンク周りをきれいにします。
4.皿に盛り付け、テーブルに並べます。
5.二人がイスに着いたら、一緒に食べ始めます。
6.食事後は、食べた食器を洗って元あった場所ににしまいます。
7.完成まで時間がかかる。設定に時間がかかる。オシャレだ!(自己満足)
ランダム生成型
1.作るものを決めません。道具も近くにあるもので適に使います。
2.どんな材料があるか調べ、用意します。
3.はしからどんどん思い付きで作っていきます。調味料は材料で決めていきます。
4.料理完成。皿に盛り付けます。予測とは違う料理が完成します。
5.使った鍋や包丁やまな板は、使ったままシンクにあります。
6.二人そろわなくても、できたものから、食べていきます。
7.食事後はまとめて洗い、そのままカゴに置いて乾いたら翌日片付けます。
8.この流れは、その時の状況によって大幅に変わります。
9.完成までの処理速度は速い。まとめて洗うので洗剤・水の量が少ない。
アルゴリズムには、互換性がない
2人のアルゴリズムには、互換性がない。目的は一緒でも・・・
よって、それぞれのメリットを尊重しながら、お互いのアルゴリズムの良さだけを拾って生活していく事にしました。
ランダム生成型のアルゴリズムは、条件を選ばないので融通性があります。
テンプレート型がランダム生成型に対して良いと思って行動すると、
「なに考えているのよ!」と返事を返してきます。
「相手が良いと思う行動とは」というテンプレートに従っているからです。
女房は不思議なブラックボックスを持つオブジェクトのクラスです。適応力が強いです。強力な予測不可能なのです。まるでgoogleの乱数生成API・ Math.random() の様です・・・
自分のアルゴリズムに相手を合わせようとすると、クラッシュしていまい、リセットも数か月必要となります。トホホ・・・
ランダム生成型対応のプラグインで対応
1.どうするか聞いてはいけない。
2.テンプレートを外す。難しい・・・
3.理由や原因追及の言葉を外す。
4.過去のビックデータは、捨てる。参照してもあまり役にたたない。
アルゴリズム共存スタイルにしてからは、相互干渉しなくなりクラッシュやフリーズ、無限ループは無くなりました。