レイヤー思考とビジョナリー思考

かえるさんとこのレイヤー思考に対抗して

「ビジョナリー指向(思考)」を発明しました。
hamastaの日記 -Pythonで学ぶプログラミングの世界- - ビジョナリー指向(思考)をつくってみた

というわけで、id:hamastaさんによる対抗馬の出現です。

概要は自分の理解する限りこんな感じらしいです。

ビジョナリー指向(思考)

目的:10(製品)から100(マーケティング)にする

手段:抽象化による思考フレームワーク

履歴:ガワであるシェル(殻)からの作成。内容はそのうち埋まるはず。


ちなみに、レイヤー思考はこんな感じ。

レイヤー指向(思考)

目的:0(質問)から1(アイディア)にする

手段:抽象化による思考フレームワーク

履歴:内部であるゴースト(核)からの作成。適当に作ってたら、ガワが出来た。


非常に良く似ています。目的と作成法が違うだけで、同じ抽象化のための思考フレームワークというわけです。

だれか1から10の部分を作れる人いないかな。

抽象化のための思考フレームワーク

id:Aobaさんとレイヤー思考(前オブジェクト思考)について話し合った結果、プログラムのためのオブジェクト指向とは大分違うものだという結論が出て、それではその違いの名前を取って「レイヤー思考」にしようといった経過があったわけですが。

ちなみに、レイヤー思考のあとは、ツリー思考?になる予定となっています。だんだん、規模が大きくなっていくみたいなので予想はついているのです。

そんな訳で、レイヤー思考の軽い説明をちらりと。

レイヤー思考

抽象化をすることで、全てのレイヤーを同一視し、別のオブジェクトで起きたことを他のオブジェクトに適応することによって、数倍の理解力と数十倍の創造力を得る思考のためのフレームワーク

たぶん、大学を出ているレベルなら誰でも理解できるはず。

レイヤー思考基本要素

1.レイヤー(層):基本オブジェクトが存在する観測範囲。オブジェクトが人間なら、社会がレイヤー。原子がオブジェクトなら、ナノレベルの観測範囲がレイヤー。

2.オブジェクト=コア(核):1つの基本単位となるもの。小さい方から、素粒子、原子、分子、高分子、タンパク質、細胞、多細胞、動物(人)、組織、国、惑星、恒星系、銀河系、・・・となる。他に傍系として、情報、精神などがある。みかんも。

3.ゴースト:オブジェクトの中身だ。質量とか、本質とかを表す。みかんで言えば中の身の部分。

4.シェル(殻):オブジェクトの外見だ。面積とか見た目とかを現す。みかんで言えば皮の部分。

Aobaさんとチャットでレイヤー思考(このときはまだオブジェクト思考)を伝えてみる

kaerusanu
まずオブジェクト思考の世界では、レイヤーとついになったオブジェクトしか存在しません。
Aoba
はい、それはOK。
レイヤーに所属する形だよね。
kaerusanu
例えば細胞を例に取りましょう。
細胞はがん細胞になるという、メソッド?があります。
がん細胞はDNAが同じために敵と認識されずに、増殖を続ける細胞です。

例えば人間を例にとりましょう。
Aoba
はい
kaerusanu
人間はスパイ化というメソッド?があります。
スパイは所属が同じために敵として認識されずに、宿主にとって不利益を続ける人間です。
Aoba
ふむ
kaerusanu
2つのメソッド、がん化とスパイ化は似ていますよね?
Aoba
似てるね。
kaerusanu
この類推を使って、別のレイヤーでおきた事を、そのレイヤーに適応できるようにするのです。
Aoba
ははーん、なんとなくわかった。
kaerusanu
例えば、このがん化とスパイ化のメソッドの上位メソッドは、自己組織の同一性に対するシェルを使う事で上位コアに取って不利益な事を行うことと、纏められます。
これはメソッドの抽象化ですね。
Aoba
なるほど。メソッドというか、事象の抽象化ね。
kaerusanu
あ、「シェルの同一性を利用したセキュリティシステムを同一シェルを使う事で、回避し上位コアにとって不利益を行うこと

Aoba
つまり、すべてのレイヤーにおいて、同じ仕組み(オブジェクト思考)で動いていると信じることが重要になってくるわけだ。
kaerusanu
一度抽象化することで、他のレイヤーにも使えますよね?
同じ仕組みで認識できるということですね。同じか
Aoba
で、オブジェクト思考は、各オブジェクトの振る舞い(=指向で言うメソッド)を定義せず、オブジェクトの繋がりに重点を置いているから、同じ仕組みで動いてると認識することも可能なわけだ。
kaerusanu
オブジェクト思考は、各オブジェクトの振る舞いがレイヤーに依存すると定義してあるので、オブジェクトはフリーなのです。お、ここも違うな
Aoba
レイヤーに依存する=環境に依存する、ってことだよね?
kaerusanu
そうですね。振る舞いのかなり細かい部分は捨象してしまって、細胞だろうが人間だろうが、組織だろうがボールのように扱います。
Aoba
すると事象の類推を行うときには、レイヤーの類似性とか同一性を証明しておく必要がありそうに思うけど、その辺はどう考える?
kaerusanu
抽象レベルを物凄く上げることで精度の誤差として棄ててしまうのです。1つの認識対象というレベルまでその対象の抽象度を上げます。
それと、レイヤーの振る舞いのフォーマットを用意することで似ているレイヤーなどを想像することが出来ます。
あ、レイヤーに付属する振る舞いのフォーマットです
例えばこんな感じ、原子にも色々あって化学反応とかあるけど、そこらへん全部棄てて原子直径と分子間力だけでシミュレーションしよう。
Aoba
うんレイヤーの特徴とは無関係に「オブジェクトのリンク(レイヤーとのリンク?)の生成と消滅」だけを観測するっていうことだよね。各オブジェクトは自分に利益がある行動を取るという前提で。
だとしたら、レイヤーって無視しても良いのでは?
あ、レイヤーの特徴を無視ね。
kaerusanu
んーちょっと違うかな
まぁ抽象化しすぎても、全くの論理になってしまうから、最低限の要素だけを残しておこうと。それも全部のレイヤーに適応できそうなものだけ残しておこうと。
それが
レイヤーの次元とか温度とか相(個液気)だったり
オブジェクトのシェルとゴーストだったり
オブジェクト間の相互作用「力」だったり
それの時間で割ったもの「帯域」だったりするわけです。

Aoba
全部のレイヤーに適応できそうなものというとー例えば人体レイヤーと企業レイヤーで、共通するプロパティ(の項目)だけを残しておくということ?

kaerusanu
おーそれです。当たりです
Aoba
ふむ。つまり比較対象になるレイヤーの共通項目だけは保存しておくってことか…。
これって重要だよね。
kaerusanu
それをもっとすすめて、レイヤーのフォーマットを作ってしまって全部それで記述できるようにするってことですね
Aoba
それが上の、温度とか相とかの話に繋がってるわけか。なるほど。
kaerusanu
上のプロパティは、自分がどのレイヤーにもあるなーと思って考えているものですね
Aoba
でも例えば企業レイヤーの相が気体なのか液体なのかって考えても、一般的な人では答えが出せないと思うけど、その辺はどう?
kaerusanu
そこらへんは考えるしか無いのだけど、そこが出せなければ出せないで類推精度が落ちるだけなので、オブジェクト思考を使うためには十分です。相は自分もあまり考えない要素ではありますし。
Aoba
なるー
kaerusanu
とりあえず全然違うものを同じものとして認識するためにあらゆる要素を取り除くのですよね。
Aoba
うん、そこら辺は理解してた。どんな情報を取り除いて良いと考えるのか?という認識が深まった。
kaerusanu
よし。ではここからがオブジェクト思考のつかいどころ。
例えば犬の吼えるメソッド(くどいかな
Aoba
はい。
kaerusanu
これを抽象化すると生き物(オブジェクト)が離れたオブジェクトに向かって力で斥力干渉をする。となる。
Aoba
ははぁ、吼えるという事象を「警告 」と考えるわけだ。
kaerusanu
そうです。
それは、あらゆるオブジェクトも使えるはずだと考えるのです。
Aoba
つまり何らかの事象を、オブジェクト間の関係の変化に置き換える必要があるってことだね。
kaerusanu
ただ、それはレイヤーが似ていないと出来ないでしょうけど
そうですね。
Aoba
ふーむ。また少し理解が深まった。
kaerusanu
例えば人間同士であったとして、
吼えるはどうなるでしょうか ?
Aoba
脅す、かな。
kaerusanu
そうですね。
Aoba
おおー
kaerusanu
では企業同士だとして
Aoba
んー排斥だからー
合法にやるとするとー
難しいね(笑
kaerusanu
訴訟とか、そのまま脅しのプレゼンでも、競合商品を当てるでも
さて次国家同士だとどうでしょうか
Aoba
んー吼えるというのとは少しずれるかなぁ。
えーと国家だとそりゃ外交圧力ってところだね。

kaerusanu
正確性はこのさいあまりきにしないでニュアンスだけでいいのです
そうですね。
さて、犬が吼えたときに効果があるときと無いときがあります。それはどんなときでしょう?
Aoba
相手の方が強いと効果が無い。弱いと効果がある。
kaerusanu
それは人間同士が脅すだと?
企業同士が訴訟だの競合を当てるだと?
国家同士が外交圧力をかけるだと?
Aoba
えーと持ってる武器が十分強い(と相手に判断される)場合には効果アリってことかな。
kaerusanu
そうですね。吼えられた相手の吼えた側に対する認識が「強い」と効果があって、「弱い」と効果がない。ですね
Aoba
おお、認識工学!
kaerusanu
そのレイヤーで信じている力が振る舞いを決定しますから
Aoba
それがレイヤーに依存するという意味ね。
kaerusanu
さてとまぁ、ここまでが普通の考えでしょうけどさらに次にすすめてみましょう。これはアイディアの掘り出しという意味でもいいです。
さて、原子が吼えると?
分子が吼えると?
細胞が吼えると?
情報が吼えると?
認識が吼えると?
星が吼えると?
銀河系が吼えると?
宇宙が吼えると?
Aoba
原子分子は分子間力かな。
細胞と情報と認識はなんだろう。
kaerusanu
これが、あらゆるメソッドをあらゆるオブジェクトに適応するということです。ただレイヤーが違いすぎると使えないのだけど、類推では答えは出せる。
Aoba
なるほど、イメージは掴めた。
kaerusanu
認識は嫌いとかコンプレックスの斥力とか
Aoba
把握。わかりやすい。
「メソッドの抽象化」というよりは、「事象の抽象化」とか「事象によるオブジェクト間関係の変化にのみ着目」または「事象による認識の変化にのみ着目」と伝えた方が、プログラマには伝わり易いかもしれない。
kaerusanu
そんな感じで、類推を使いまくって無理やり意味を作り出してしまうのです
うお、逆に分からない
専門用語を違うように使ってるから分かりにくくなってしまうのですね。
Aoba
あはは。バックボーン(土俵)が違うと言語違うし、こればっかりは通訳が必要だよね。どの業界間でも。
でもありがとう。だいぶ理解が深まったよ。
kaerusanu
まぁこんな感じで全てのレイヤーと抽象化によって脳内リンクを無理やり作り出して、新しいものを創造するということと
無理やり理解するってことですね
Aoba
うん。これで実践応用も結構いけると思う。
いろいろ試してみる。
kaerusanu
おー伝わったー