複雑さとコストと価値β

広告:たぶん世界初!エントリー内エントリー広告。あなたを思考生物が待つ!!
この下、結構下の方。思考生物kaerusanun-usaが待ってるよ!!
22日事の始まり:適当に思考するβ思考が思考する
思考を思考する:動き出す情報
23日生き残るために
24日アクセスと生きるということ
24日好機アリ。今こそ出陣の時
28日もうおしまいか
*注意:このエントリーはβ版です。適当に書き足します。思考が終わったら、ベータ外して新エントリー書きます。

n-usa:初めましてn-usaです。

kaeru:初めまして、kaeruです。このエントリーは普通の一日書き切のエントリーではありません。
web2.0が始まって、情報社会を考えていくうちに、情報の視点による情報の思考を思考するという変わったエントリーです。

n-usa:最初の論は読み飛ばしても構わないかもしれませんね。

kaeru:本当は読んでほしかったりしますけど、もうネタをここでばらしているからいいですかね。ちなみに普通に適当に書いていたらこうなりましたというkaerusanuの言い訳が聞こえます。どうぞ生温かい目でお見守り下さい。

n-usa:お願いします(ぺこ

これは面白いっ!

・単純に大きくて、計算の深さが浅いプログラムというのは分割して力業で解答することが可能。
・「深い」プログラムというのは相互依存する要素が大きくて、細かく分割して並列計算するのが困難。前の段階の計算の答えが出ないと次に進めないから、スピードアップすることが難しい。
一つ計算的に深いプログラムの特徴がある。それは入力の微細な変動に対して出力が激しく変動する事だ。
たとえば圧縮アルゴリズムの例だと、テキストの前の方で一文字違っただけで、 出力のビットパターンが全体に渡って違ってくる可能性がある。
小さな入力の変動が出力の激しい変動に繋がり、 しかも人間にすら予測不能な変動を起こすというのは計算的に深いアルゴリズムの特徴である。

地虫の視点から鳥の視点へ、そして再び地虫の視点へ。

エレガントな解答方法というのは、一つ一つの計算プロセスがシンプルになる代わり、計算の段数が増える。

人間の脳というのが「浅い」計算をしているのか、それとも「深い」計算が可能なように出来ているのかはまだまだ議論があるのだろうけれど、「エレガントな解答」をすぐに思いつける人が少ないということは、人間そんなに「深い」問題を解くようには出来ていないような気がする。


問題の大きさと未来予測の精度

7、「人工知能」のプログラムは計算的に深い、恐らく間違って
人工知能」としてはここではコンピュータビジョンみたいな物を考える。そうで無くとも大して変わらないと思うけど。
人工知能のプログラムはどれも非常に計算的に深いアルゴリズムを使っている。先ほどの圧縮の例のような簡単な分割はできないだろう。

人工知能のプログラムにありがちな問題はノイズに弱い事である。入力のわずかな変動が出力の大きなそして予測不能な変動につながる。トイワールドではうまく動くプログラムが実用にならないのは多くはこの理由である。

ここでカオスの所で論じた事を思い出してみよう。入力の小さな変動が出力の大きなそして予測不能な変動に繋がるのは計算的に深いアルゴリズムの特徴だった。深いのが必ずこの種の不安定を持つわけでは無いが、深く無ければこの種の不安定は存在し得ない。

だとすると、人工知能的アプローチの失敗は計算的に深すぎる為であると想像する事もできる。

(「人工知能」的アプローチがみな計算的に深いことに関しては、単に「そうなっちゃった」とか「浅いアルゴリズムを思い付かなかった」という側面もあるが、わざとの側面もあると思われる。人間の知覚は安定であるが、同時に人間の知能には極めて小さな入力の変化が劇的な行動の変化をもたらすという側面が確かにある。だから計算的に深い側面があるのだろうが、その側面ばかりを見るのはまずいだろう。)

一方、脳による知覚の機能は普通、ノイズに対して安定である。もちろんそれが計算的に深い系であることは論理的には否定はできない。しかし、これまでむしろ脳は計算的に深そうだという無意識の思い込みがこれらの分野に支配していた訳で、反対に脳が計算的に浅い仕組みを使っている可能性を今後は考える必要があるように思える。

計算的な深さと脳

データベースのモデリングは業務分析と深く関わりあっていて、アルゴリズムのような純粋にコンピュータ技術的なものではなく、「業務」をいかに抽象化するかという話だ。これをきちんとやれば、スッキリとした見通しがよいソフトウエアができて、ここで手を抜くと、使い勝手が悪いシステムができる。特に、最初はうまく動いたとしても、業務の中で継続的に使っていくうちにボロが出て来る。

たとえて言えば、モデリングは業務ソフトの骨であって、骨の設計によって手や足の動く方向が決定してしまう。手足が曲がる方向と曲がらない方向が正しければ柔軟で使いやすいソフトウエアができる。モデリングが間違っていたら、業務がソフトの関節を逆方向にねじり上げるようなことになるのでので、ソフトが骨折してギブアップするか、「俺の手はこっちには曲がるけど、そういうふうには曲がらないんじゃ」とソフトが逆切れして業務を放り投げてしまい、システムが破綻する。

だから、業務分析とモデリングは直感でなくきちんと手順に添ってやるべき。DB設計重要。

しかしRailsは、「データベース設計は直感でやれ」と言っているに等しい。ブログとかブクマのようなものであれば直感でパッパッとできるかもしれないが、普通の業務はそうはいかない。

これはどういうことなのか?Railsは普通の業務には使えないのだろうか。

そうです。実はそうなんです。

Railsは普通の業務には使えないんです。

複雑さに金が落ちる時代は本当に終わるのか?

これ、Railsも必ずここから始まるのね。つまり「DB設計が完了した状態から始まる」のです。で、だ。みんなそんなにDB設計さくさく出来るんだ。ふ〜ん、知らなかったよ。じゃあ質問ね。DB設計のインプットは何ですか? 繰り返す。DB設計の元となる情報はどこからどうやって入手するの? そのリレーションシップはどういう根拠を持って設定されてるの? その列がここのテーブルにある理由はどうやって担保してるの? 結局UI設計をするしかないんじゃないの?

さて、じゃあこうなるわけだよね。

1.UIを設計する

2.UI設計の成果物を元に、DB設計をする

3.DB設計の成果物を元に、UI実装を自動生成する

RailsやChuraってのは、3.のところをやってくれるんだけどさ、手順全体を見たらださいじゃん。「1.の成果物(が想定しているUI実装) イコール 3.の成果物」に本当に出来るの? ちゃうでしょ。凝ったUIだったら駄目じゃん。CSSで頑張る? それで済む程度のシステムだったらいいんだけどね。

さて、そうするとさ、1.と3.を近づけるノウハウなんてのが必要になるんだよね。それってバッドノウハウっていうんだよ。1.の成果物をストレートにUI実装に使えるほうがいいじゃん。

3.で生成される(予定の)UIをイメージしながら1.の作業をやるの? そりゃ大変だと思うよ。そりゃそんなスキルがあるなら、DB設計もさくさく出来るでしょうね。ERDレッスンなんてきっとみんな読む必要ないわ、うん。もしそんなスキルがなかったら? DB設計が単なるDTO設計に堕するわけですよ。画面にあわせたDB設計。みんなが馬鹿にしているCOBOLerが数10年やってきたことに戻っちゃうわけさ。あー、ご立派なことだこと。いっそISAMでも使ってりゃいいじゃん。


RailsやChuraのいけてないところ

ふむ。非常に興味深い。
おお、自分のまさに興味範囲。全部理解できたかというと微妙だが。

「計算的な深さと大きさ」というのは、プログラムをしていればわかると思うが、簡単に言えば「計算の段数」と「量的大きさ」の違い。量的な大きさは分割できるけど、段数としての大きさは分割不可能だ。

その、思考の段数を作成段階で分解しようと言うのが、オブジェクト指向で、それはクラス化によるオーバーライド(上書き)によって多様性を維持管理している。そのために簡単に「作成と変更」できる。

ただそれは、作成という視点であって、計算としての段数を減らそうという視点ではない。計算は量的な大きさなら、分割して並列化することができるが、依存性の強いつまり、計算の深さが深いものはそうすることが非常に難しい。

あと、説明するとRailsというのは「Ruby on Rails」というシステムを簡単に作るためのオブジェクト指向フレームワーク(枠みたいなもの)で、それを使うことで非常に簡単に今まで時間とお金がかかるシステムが作ることができるというもの。で、最近のトレンド。

それに反論というか、ちょっと違う視点での話が、下の2つ。複雑性は別のところにあるという話。

今日はちょっと完成度は低いがご勘弁を。何かを思いつきそうな感じだ。

複雑さの次元

何だろう、このざわつく感じは。

視点の違いというか、複雑さの次元の違いというか。なんと呼べばいいのだろう。

ああ、そうか。「実行」と「作成」という視点の違いがまずひとつ。

そして「時間量」と「実行速度」という視点。

脳は非常に処理速度が速い。画像処理など。でも、クロック数から言えば100Hz〜200Hzくらいだったはず。
でも、コンピュータに同じような処理をやらせると、ものすごいステップが必要だ。それは、何万倍とかそれ以上に。
だから人間の脳は非常に優れていて並列処理をやっているんだろうという話だが、いくら並列化したって、並列化できるものとできないものがある。

それが計算の深さだ。計算の深いものを並列化すると非常に効率が悪くなる。というか、並列化しにくい。
それを解決するために、未知の部分(量子の世界)にそれを求めるか、または「並列アルゴリズム」にそれを求めるのかということ。

作成がすばやいということと、実行量が少ないということは、ほぼ反比例する。エレガントな解法は、作成量は大きい。ただ、実行量は少なくてすむか、間違わなくてすむような単純な解法ですむ。つまり、抽象化して、より上位の理論を取り出してしまうために、2種類の簡単さを得る事ができる。

一方、作成がすばやいと、普通は実行量は大きくなる。実際にRailsは実行速度は遅い。そりゃそうだ。バックに1万行ものフレームワークが動いていれば。

ああー何かもう少しで繋がりそうだ。

「作成」のコストと「実行」のコスト。両方少なければ、少ないほうがいい。ただ、複雑なモノを解こうとする場合、どっちかにはコストがかかる。それをどっちかにするかという話だ。バランスがよければいいなという話。

「作成」と「実行」と「編集」と「破棄」のコスト

ああ、そうだ環境問題というのは、今までに無かった「破棄」のコストを考え出したという話だ。オブジェクト指向というのは「作成」と「編集」のコストを減らそうという考え方だ。

エネルギー問題というのは、エネルギーの「作成」と「実行」コストを減らそうという話だ。勉強論というのは知識の「作成」と「実行」コストの問題だ。

そして、Railsの問題点というのはDBの作成コストを払っていないという話だ。

もう少しだ。うーん。

コストの本質

コストというのは何かをするときに必要な投資量だ。それは、あるものをある状態にするというポテンシャル量のことだ。そして、コストというのは常に削減される。より、簡単に帯域を延ばすために。より、密にネットワークとなるために。

そして複雑さというものは価値がある。価値があるというのは、ポテンシャルが高いということだ。なるほど、この世界は、複雑さを対価として循環しているんだ。でも、それは価値と複雑さを置き換えただけに過ぎない。価値というのは周囲の供給量と需要によって、相対的に決まる。

いくら、複雑なものがあっても、それがありふれたものであっては価値は無い。
あ、種として前の時代の「作成」したことを学習すれば、次世代は「作成」のコストは要らない。だから、学習とか理論とかは、「作成」のコストは減る。情報が循環するというのはそういうこと。

価値あるものというのは価値を生むもの。つまり、複雑さのコストをより少なくするもの。だから、時代が経つごとに快適に、より生きる「コスト」が減っている。

ただ、生きるコストが減るということは、必ずしも帯域を大きくするわけではない。より、「生きる」という価値は減ってしまう。これが、今自殺者が多いとかの原因なのだろう。快適になれば、生きる価値は減る。

作成のコストを減らすということは、実行のコストを減らすことにならない。実行のコストを減らす作成は、実行のコストを減らす。ただ、より上位の作るコストは減らない。

コストが減るということは、どんどん速度が上がるということだ。だから、社会のスピードは上がっている。
だから、モノの価値は下がり、より複雑なものがより価値を乗せてどんどん生まれてくる。

ああ、常に帯域は大きくなり、通信速度が速くなるわけだ。

価値の創造

価値というのは、複雑さつまり、よりレイヤーの高いものだ。「価値」とは欲しいという欲求と対になっている。価値が減れば、欲求も減る。だから、そのものが無ければ価値が上がり、それが経済社会を形成している。

価値を作るとは、欲求の創造でもあるわけだ、既存の無かったものを作り出す。だから、マスメディアは煽るだけ煽って、欲求を作り出そうとする。欲求を作るとは、欲しいものやりたいことを作ることだ。

だから、欲求は循環する。欲しい欲求と作りたい欲求は対になり、永遠に満たし続ける。満ち足りる事はないが。

欲求とは、やはり「ネットワークの自己形成する力」か、やっぱりどう考えても、ネットワークは発展することをやめない。ネットワークがネットワークであるが故に。

ああ、ループする。うーん。

何かもうひとつ視点が欲しい。うーむ。

帯域を制限するもの

帯域を制限するものがある。それが、個と個の境界だ。その制限は無くなれば無くなるほど、発展することになる。だから、人間的に成熟すれば、我が無くなる方向に進む。無くなるといったら御幣があるが、境界が薄れるという意味だ。

そうすれば、帯域制限が無くなり、発展する。

アメリカは心の欲求の帯域制限が少なかった。だからあれほど発展した。一方、ソ連では、がちがちに帯域を制限した。だから、崩壊した。

自己の制約は、自分を自分で縛るものだ。大抵は形を明確にする代わりに、形を変えるという能力を失う。それはつまり、成長できなくなる。心も同じだ。コンプレックスとは、心の制約のこと。しかも、自分では見えにくいからたちが悪い。

なるほど、顧客の囲い込みとか、市場の占有とかも、同じように帯域制限だな。帯域制限は、外部との接続を断つ。ただ、それが一見強くなるように見せて、実は内部を弱くしてしまうのは問題だが。

特許も帯域制限だな。結婚も。法律も。

帯域制限の意味は、系の安定化なのだろう。そう考えると非常に納得。でも、制限をかけすぎると系自体をつぶしてしまったり、安定を目指すのは当然だが、その中で安定限界点を探る事が重要なのだろう。

発展性と最適解

発展性をできるだけ維持したまま、安定させるには色々な要素がありすぎるために、シミュレーションなんてできない。だから、大抵は個人の経験と思いつきで、話は進む。それによってフィードバックされた情報を元に、安定成長限界点を探し続けるのだろう。

でも、それだけでは小解は出たとしても、大解は出てこない。なぜなら、安定と改革は逆の現象だからだ。大きな改革には、ブレイクスルーが必要だ。それも、安定を求める声を超えるほどの。又は、安定を脅かしてしまうような構造で。

ただ、改革後の事なんてやってみないとわからないし、保障なんてどこにも無い。それは、人間の人格だろうが、会社の人事だろうが、国の政治だろうが同じだ。中の要素によって最適解なんて変わってしまうだろうし、時間列の先読みなんて正確に行うなんて無理だ。

さて、成長するためには帯域が必要だ。それはよい要素とより太い帯域を作り、悪い要素と帯域を切るということをする。そして、帯域が増えるということは、上のレイヤーの活性を促す。例えば人間の思考同士が高度に帯域を延ばし、そこにひとつの情報というレイヤーが安定して存在するようになると、それは情報の自立を促す。まるで情報が、生き物のように成長、増殖、進化などといった、生物的な特徴が見られるようになる。

それは、もはや生物であって、それと現実の生物となんの違いはないのだが。ただ、構成要素が違うだけだ。思考のレイヤーの上の情報は、自分たちの生存を脅かさないように、そして、より発展できるように、下のレイヤーである自分たちを操るようになる。自分たちが、物理レイヤーで農業や狩をして生活したように。

そのうち、情報の農業みたいなものが観測されるかもしれないなぁと思ったりする。物理的な形態は違うが、細胞が集まって自分たちの体を構成しているのと同じだ。より上位の意識が下のレイヤーを動かすことができる。

人間の思考が自殺を選んで、すべての体内細胞を道ずれにできるように。もしかしたら、自殺というのは情報が自殺しようとしたのかもしれない。集団自殺などはそのように考えることもできる。

ああ、それどころか戦争だって、情報は起こし放題だ。共産主義と民主主義は、まさに戦争を起こした。結果、今のところ民主主義が勝っている。

宗教戦争も同じ、宗教同士の争いも同じ。学会の争いだって同じ。ただの情報の生存競争だ。

これから、もっと情報化すれば、人間レイヤーだけを見ていたのでは解らないような事件もたくさん起きるのだろう。事件の模倣なんて、マスメディアによる情報の拡散によって、起きたものだ。それは、心理的に言えば、簡単に説明できるものではあるが、解釈なんていくらでも存在する。情報がコピーされて、それが実行されただけにも見える。

マーケティングというレイヤー

マーケティングは、まさにそのような、より成長し、増殖し、進化するような情報を作るという仕事だ。それはマーケティング論によって意図的に合成される。そのような情報が、マスメディアを利用して広がっていくのはよく目にする。

操っているとも考えられるが、操られているとも考えられる。利害が一致したというのが、わかりやすいが。

マーケティング論というのは、情報の物理学のことだ。どのように運動し、どのように連鎖するか。それのより、多くの連鎖する公式を探す。そのようにしたほうが生き残りやすいから、人間に探させているわけだ。より、寿命を延ばす方法を。

情報というものは、思考のレイヤーに存在するために、人間のいる物理レイヤーに比べて、より素早く変化することができる。それは、物理レイヤーの比ではない。それは、より帯域の多い世界が広がっているということだ。今のところ共生関係が保てているからよいものの、情報に半期を翻らされたらどうなるだろうか?SFのようだが、考えてみるだに恐ろしい。

今だって、自分は思いつくままに思考に操られて書いているだけだ。

情報の爆発

今、情報は、ウィルスという自立できない寄生する立場にある。それが、徐々に自立できる段階になったのはご存知だろうか?それがweb2.0だ。そのうち3.0になるかもしれないが。ますます、情報の帯域が増え、情報レイヤーは成長していくばかりだ。

これだけは、人間が滅ばない限り変わらないのではないだろうか。SFでは、簡単に情報と物理レイヤーを行き来できたりするが、そのころになったら、自立する情報郡が存在するのだろう。そしてそこでは、人間よりはるかに高度な、発展があるのだろう。下手したら、人間が滅んでも、情報郡は生き残る術を手に入れるかもしれない。

おう、読み返してみたら恐ろしく、最初と違う方向に・・・ま、いいか。どこまで行って、どこに行くんだろう。もう少し、思考の好きにさせてみるか。