宇宙スープ

Once upon a time, the Universe expanded from an extremely dense and hot soup

システムがおもしろいという話

大学生のころ自宅にインターネット開通したときが楽しくて、しばらくWikipediaをネットサーフィンしてた時期があった。
特に印象深く覚えているのは「バタフライ効果」を筆頭とする複雑系の説明だった。

バタフライ効果とは、「ブラジルの1匹の蝶の羽ばたきがテキサスで竜巻を引き起こす」といった、ごく微小な大気の撹乱が巡り巡って増幅し、大きな変化となって予想もしない場所に現れる現象を言う。大気などの複雑極まるシステムでは、ミクロに見るとごく単純な法則で動いているのに膨大な要素が絡みあうため、はじめの状態から時間が経過すると予測もつかない大事件が起こりうる。この事実は、この世界が決定論的に動いていたとしても、観測誤差がわずかでも生じる限り長期予測が不可能なことを示唆している。この説明に当時なにかグッと来るものがあり、以来お気に入りになった。

奇妙なシステム障害との遭遇

ただのお気に入り話だったバタフライ効果を再び思い出したのは、社会人になって1年ほど経ったときだった。ソフトウェアエンジニアとして就職して、アクセス量の多いウェブサイトの運用を担当してた。右も左もわけがわからず、謎の専門用語が飛び交う前線でひたすらシステムトラブル対応をやっていた。

ある日、ロードバランサとよばれる機器の異常を知らせるアラートが上がった。
ロードバランサは自分の所属部署管理ではなく、ネットワーク部の管轄だったので、その担当者をつかまえて対応してもらおうと考えた。しかししばらくするとそのネットワーク部担当の方から「あなたの部署管理のウェブサイトがロード許容量をオーバーしています」みたいな連絡が来た。
流れに身を任せて調査を進めていると、なんとトラブルの原因はそのサービスのデータベースにあったことがわかったのだ。

Webエンジニアでなければわけがわからないと思うので、一般的なウェブサイトのシステム構成を説明する。

f:id:metheglin:20160902205127p:plain

データベース(以下DB)は、データを保存する担当である。たとえばあなたが会員登録をすると、その情報をなくさないようにどこかのハードディスクに保存しておく必要がある。アプリケーションサーバがDBに「これ保存しといて」「この情報教えて」などと指示を出す。

ウェブアプリケーションサーバ(以下APPサーバ)は、サービスそのものである。たとえばユーザが会員登録ボタンを押したら、画面Aを表示させて、個人情報入力したらDBに保存の命令を出して...などなどアプリケーションを構成する機能がすべてプログラミングされたものが動いている。必然的にこの機器は忙しくなりがち。パソコンでいろいろやってると動作が重くなることがあるが、それと同じ状況に陥りやすい。

ロードバランサ(load balancer)(以下LB)とはload(積み荷、荷重)をbalance(分散)させるための機器である。荷物の中央集積所のような場所で、次から次とやってくる積み荷をどこに受け渡すかを指揮するのがLBの役割である。ゲームなどでお馴染みのNow loading...のloadも同様に必要な荷物をトラックなどに積み込む作業をイメージした言葉と思われる。
前述のようにAPPサーバは忙しくなりやすい。それゆえ、サーバが重くなったときは、機器自体の台数を増やすという戦略をとる。そのとき、ユーザから次々とやってくるアクセス(積み荷)をどうバランスよく複数のAPPサーバに振り分けるかということが問題になる。LBはその問題を解決する機器となる。

つまり、ユーザがウェブサイトのページを見ようとすると、そのアクセスはLBが受信し、APPサーバへと渡され、さらにDBへと命令が渡る。アクセスの流れ、それぞれの機器の役割をざっと把握したところで、はじめの問題を再考したい。

当時自分はLBがアラートを出したのでそこに問題があると思った。しかし実際の問題はシステム奥底のDBにあった。前述の説明をふまえればこのときの自分の戸惑いを少しは分かってくれたかもしれない。

「なぜ、システム奥底のデータベースに起こった問題がシステムの最前線であるロードバランサの障害となって出現するのか?」

このときはじめてシステム障害がバタフライ効果に似ていると思ったのだった。複雑に構成されたシステムはとある原因が思いもよらぬ別の場所で障害となって現れる。

どういうメカニズムでこんな奇妙なことが起こるのか、そろそろ理解しないとやばいと思った自分は情報をかき集めて真相を理解しようと頭を整理した。

どんなシステムも単位時間にこなせる仕事量、キャパシティ(許容量)を持っている

先ほどloadを積み荷と表現したが*1、この荷物の中にはなにが入っているのか?ユーザがサイトにアクセスすると、それが荷物となってシステム内を流れる。つまり荷物の中には「ユーザがなにをしたいか、何の情報を見たいか」という情報が入っている。
つまり、loadには「大きさ」があるということである。KB(キロバイト)、MB、GBなどおなじみの単位で表せるようなサイズを持っているということ。サイズがあるということは無限にloadを溜め込むことはできないということだ。その限界は、その機器が搭載するメモリのサイズに依存する。

そしてloadを受け取った機器はその荷物の中身を見て、おのおのがやるべきことを処理する。
「処理する」ということは計算をおこなったり、データ書き換えなどを実際におこなうことである。こういった作業は通常人間が観測できないほど超高速でおこなわれることがほとんどだが、0秒ではない。ほんのわずかでも処理時間が必要になる。

要するにシステムにはそのキャパシティ(仕事の許容量)を決定づける時間(処理時間)と空間(メモリサイズ)が存在するのである。

システムの許容量を超えた仕事を与え続けるとどうなるか?

キャパシティを持つシステムに対して、loadはユーザのページビュー数だけやってくる。
たとえば、1回の会員登録を完了するのに0.1秒を要し、同時に10アクセスを許容できるシステムがあったとすると、秒間100回の会員登録が許容の限界ということになる。秒間100以上の会員登録が来た場合、その積み荷の出し手に待ってもらわないといけない。これをloadが「滞留する」と表現したりする。
「滞留」は、現実世界にたとえるとレジ待ちの行列ができるようなものである。前述のようにloadにもサイズがあるので、現実の行列がスペースを占有するのと同じように、loadが滞留するとメモリを占有してしまう。
秒間100以上の会員登録がずっと来続けると、空きメモリはどんどん少なくなり、限界に達する。最終的にはloadを拒否するしかない。ウェブサイト上では、アクセスを拒否されたユーザは「503 Service Temporarily Unavailable」などの表示を見ることになる。

DBトラブルがLBの問題を引き起こす仕組み

まとめると、

  • DBに異常が起きて動作が遅くなるとどうなる?
  • => DB上にloadが滞留する
  • DB上にloadが滞留するとどうなる?
  • => APPサーバ上にloadが滞留する(APPがDBに命令を出してその応答を待っている。DBの仕事が終わるまではAPPサーバの仕事もやめられないので、滞留させておかないといけない)
  • APPサーバ上のloadが滞留するとどうなる?
  • => LB上のloadが滞留する
  • LB上のloadが滞留するとどうなる?
  • => 限界までloadを滞留させておくことはできるが、それを超えると新規のユーザアクセスを拒否する。同時にその異常事態を知らせるアラートがLBからとんだ。

これが事の真相であった。

極限の綱引きでバランスされる大規模システム

問題の根本的原因はDBにあったことがわかったが、停止したわけではなかった。停止していたらさすがにDBの異常を知らせるアラートが上がっていたはずだ。
実際にDBで起こっていたことは、「CPU使用率」の高騰である。

パソコンを使ってるとファンがシューシューとうめき、熱くなることがあるのはご存知と思うが、あれはCPUがフル稼働するときに起こる。このとき電力の消費量が大きくなり、大きな熱を発する。CPU使用率は、そのコンピュータの忙しさを表していると言える。CPU使用率が100%だと、新しい仕事がやってきてもなかなか対応する余裕がないといった具合だ。

ここでおもしろいのは、たとえば前述の例で1回の会員登録に0.1秒かかると思っていたものは正常時の数値なのである。CPUがせわしなくなってくると0.1秒で処理が完了しなくなる。処理時間が遅くなる。
処理時間が遅くなるとloadが滞留するので、CPUは休む暇なく次の荷物を処理する必要に駆られ、さらに忙しくなる。

これは大規模なウェブサイトでよく起こる、最も典型的なシステム悪循環の例である。
仕事をがんばらないといけないときに限って、CPU使用率が高騰し処理時間が遅くなるので、システムのキャパシティは見る見る減っていくのだ。

高校数学で極限という分野があって、「0 × ∞ = 0ではない。不定である。」と習う。0と∞の綱引きでより強い方が勝つのだ。
大規模システムのバランスもこれとよく似ている。
処理時間は通常限りなく0に近く、一方loadの数は膨大である。処理時間が0に近ければどんな大量のloadが来ても瞬時に処理されるので問題はない。しかしCPU高騰などで処理時間がわずかに悪化すると、0が弱くなり、途端に∞が勝つということが起こる。大規模システムの保守とは、極限のせめぎ合いだったのだ。

これに気付いたときの感激は未だに忘れられない。もう、トラブル対応が楽しくてしようがないというかんじ。それ以来、自然界、人体、社会など、システム的な動きを見せる現象にすごく興味を持つようになった。

 「世界はシステムで動く」を読んで、それを再認識できた。

世界はシステムで動く ― いま起きていることの本質をつかむ考え方

世界はシステムで動く ― いま起きていることの本質をつかむ考え方

 

 

*1:loadは、仕事上では「負荷」と訳されるのが一般的。また、loadが滞留するような場合には、loadではなくセッション、コネクションなどと表現することが多い。荷物が流れたり、滞留するという説明のほうが非Webエンジニアには分かりやすいと考えてこの表現にしている。

「いちいち確認するな」と「勝手に判断するな」の境界

仕事の話します

qiita.com

上司がいる環境で仕事をやり始めると誰でも「そんなこといちいち確認するな」と怒られ、一方で「自分で勝手に判断するな」と怒られた経験があると思う。どっちやねんと。特に新卒新人がこの境界で苦しむことは多いと思う。

自分の新卒のころを思い出すと、たしかに判断を仰ぐべきか迷ったことはあったけど、あまり思い悩んだことはなかった気がする。正しかったかそうでなかったかは別にしてもわりと自信をもって行動してた。
冒頭のリンクの記事を見て、どうやって自信を持てていたのか改めて考えをまとめることができたので自己流の場合分けを紹介したい。

自分で判断すると勝手に判断しない境界の場合分け案

それをやることでおこりうる問題をある程度予測できる かつ
問題がおきたとき自分の力だけで尻拭いができる

なにも聞かずに実行

それをやることでおこりうる問題をある程度予測できる かつ
問題がおきたとき自分一人では処理”できない” かつ
前に許可をもらったことがある

「やりますね」

それをやることでおこりうる問題をある程度予測できる かつ
問題がおきたとき自分一人では処理”できない” かつ
前に許可を”もらったことがない”

「こうすべき(こうしたい)と思いますが、どう思いますか?」
「いちいち聞くな」と言われたら、「すみません、○○みたいな問題がおこるかと思って一応確認しました」

それをやることでおこりうる問題を”予測できない”

怒られること覚悟で教えを乞う。
「いちいち聞くな」と言われたら、「すみません、どういう問題がおこるかイメージできなくて確認しました」

 

要点

上司に確認を求めるときは、何かしら怒られに行くと思う

新卒が考えることとその部門の責任者がが考えることには大きな乖離がある。自分の連絡に上司がどう反応するかは全くわからないと思ったほうがいい。まさか怒られると思いもせずに突進すると、不意をつかれてパニックになったり不要にストレスを感じることになるので、ベースとしては怒られること前提のメンタルを持っておくべき。

怒られたら、こっちもいろいろ考えて行動しているアピールをして上司を牽制する

「いちいち確認するな。そんなことも自分で判断できないの?」
と言われたら、「すみません、○○みたいな問題が起こりうると思ったので一応確認しました」と一言だけ釘を指す。ポイントは一言だけ。自己弁護が過剰すぎてもだめ。間違っても反抗的な態度にならないように。

これを言えるか言えないかには大きな差があると思う。何より仕事のことを真剣に考えていることが上司に伝わるはず。なぜ確認したのか、をある程度説明できる人に対して上司は迂闊に叱咤したり無下な態度をとりにくくなる。

はじめは怒られること前提で考えなければいけないが、怒られ慣れてもあまりよくない。怒られた後にプチ牽制入れられるようになると怒られるばかりの新卒から脱する手がかりとなる。

問題を予測する能力を鍛える

それでも結局は、どういう問題がおこりうるのかがさっぱり分からなければどうしようもない。問題予測能力を鍛えるためには、過去に起こった問題や、同僚が犯したミス、同じ部署内で発生しているトラブルに感覚を研ぎ澄ませる必要がある。自分の任された仕事だけを考えていてはだめということ。電話、メール、チャットなどで先輩たちが対応、議論している内容を理解しようと門戸を開くことが重要だと思う。

 

 

失敗は予測できる (光文社新書)

失敗は予測できる (光文社新書)

 

 

ドラッカーさんに教わったIT技術者が変わる50の習慣

ドラッカーさんに教わったIT技術者が変わる50の習慣

 

 

文明社会と隔絶された未開民族イゾラドとの接触が危険な理由

www.nhk.or.jp

10年に1度レベルの超傑作ドキュメンタリーではないかと思っているNHKスペシャルの大アマゾン特集。最終回の第4回はイゾラドとよばれる文明社会から隔絶されたアマゾン先住民族の特集だった。衝撃的だった。(たぶんまだ再放送あります)

文明との接触で全滅してしまうイゾラド

しかし、文明社会と接してこなかった彼らは、文明側の人間と会話をすること、握手をすることも毒になり得る。免疫がなく、外界との交流によってイゾラドの一族を死に至らせてしまうこともあるのだ。

 冒頭のリンクでも番組内でも触れられていたが、イゾラドと文明社会が接触すると、”非”文明側が病気で全滅してしまう危険がある。そのためイゾラドに接触する文明人はNHK取材チームも含めて、厳重な健康検査やワクチン注射をを受けなければいけないらしい。

なぜそういうことがおこるのか?

病原菌が世界の覇者を決めた説

 

 

文庫 銃・病原菌・鉄 (上) 1万3000年にわたる人類史の謎 (草思社文庫)
 

 

  「銃・病原菌・鉄」はタイトルこそつまらなそうだけど、2016年に読む本ではダントツで1番おもしろい本となる予定。朝日新聞ゼロ年代の名著第1位にも選ばれているらしいが、これは本当にその価値がある。凄すぎる。。たぶんこの本を引用して今後10本くらいは記事書くことになりそう。

 

 

人類史を振り返ると、大航海時代以降、ヨーロッパがアメリカ大陸、オーストラリア大陸を征服してしまったが、
「なぜ征服者がヨーロッパ人であり、その逆のアメリカ先住民、オーストラリア先住民ではなかったのか。」

「銃・病原菌・鉄」では、その必然性を詳らかにする。
「なぜヨーロッパが征服者となりえたのか」について表面的なこたえを用意すると、それこそがタイトルにあるように銃であり、病原菌であり、鉄をいち早く発明・発見できたことが理由であるのだが、この中でおそらく一般の人がわからないのは、なぜ”病原菌”が他大陸の征服に貢献できるのかということだ。もちろん昔の人が病原菌を生物兵器として使ったとかいう話ではない。

家畜と人口の密度が最強の病原菌を製造する

新大陸を開拓しようとアメリカにのりこんだヨーロッパ人は殺傷力の高い病原菌とその免疫を持っていたが、先住民にはそれがなかった。結果的に、ヨーロッパ人から見ると何もせずとも敵である先住民がバタバタと倒れていくことになり、インディアンやアボリジニは悲惨な運命をたどることとなった。

なぜその逆、つまり先住民が病原菌と免疫を持ち、ヨーロッパ人を殺してしまう方向に感染がおこらないのかと言えば、ヨーロッパでは大規模な畜産がおこなわれていたが、アメリカ先住民の文明にはそれがなかったからである。

ウイルス、細菌などの病原菌は基本的に動物から生まれ、変異を繰り返して動物種間を移動し、ヒトへの殺傷力の高い天然痘、インフルエンザ、はしか、おたふく、マラリア、エボラなどとなって現れる。
これらの菌は「接触」、「飛沫」、最強の部類でも「空気」を媒介しなければ感染できないので、動物同士、ヒト同士があまり密集しない状況下では感染力を高めることができない。そのため、動物およびヒトの密度の高さが病原菌の感染力の強さを決定する要因となる。つまり大規模畜産をおこない、人口集約された文明社会が強い病原菌製造の条件となる。

病原菌に決定づけられる未開民族の不幸な運命

もちろんヨーロッパ人が無傷でこの病原菌に対する免疫を手に入れたわけではなく、これらの病気を克服する過程で相当の被害者を出しているのだが、その地獄が発動されるタイミングが征服者が押し寄せてきたときだったということが、アメリカやオーストラリア先住民からすると不幸以外のなにものでもなかったかと思う。

実際アメリカ大陸の例で言えば、当時のアステカ、インカ、マヤ文明は十分高度な文明であった。ヨーロッパの水準ほどではなかったにしても、少なくとも大西洋を何日もかけて渡ってきた少数の開拓者に陥落させられるほど脆弱な民族ではなかったはずである。その運命を決定づけたのは大部分が病原菌免疫の有無であったと言えると思う。

当時のヨーロッパには、病原菌に関する今ほどの見識はなかったはずなので、自分たちは安全で先住民たちが死んでいく状況に対する説明を、おそらく宗教や民族の優位性に求めただろうと思う。それが残虐な所業を正当化することにもつながった可能性を考えると、自然の摂理の冷酷さというかなにか悔しさを感じる。

マラリアと鎌状赤血球症という病気

鎌状赤血球症というかなり興味深い遺伝性の病気がある。

鎌状赤血球症 - Wikipedia

赤血球が鎌型に変形して酸素を運搬できず貧血状態となるのが主な症状だが、遺伝子型によって重症と軽症の2パターンに別れる。

重症パターンでは、常時貧血を発症するので患者は20歳になる前に亡くなってしまうらしい。一方軽症パターンでは、酸素が少ない特殊な状況下でのみ発症するが日常生活は何も問題ないらしい。

マラリア - Wikipedia

マラリアは世界で最もヒトを死に至らしめる感染症の1つである。貧困をもたらす原因の1つとも言われ地域によっては非常に深刻な病気である。
マラリアは蚊が媒介した原虫が赤血球に取り憑いて増殖し、赤血球を破壊して血液中に溶け込み、さらに赤血球に取り憑くというサイクルを繰り返す。

しかし、鎌状赤血球症患者は赤血球型がおかしいためマラリアの感染を受けにくい。その結果、マラリアが猛威をふるう地域では、鎌状赤血球症の”軽症”患者はむしろマラリアの脅威に晒されない分、子孫を残せる確率が高くなるという。

ところが1つ大きな問題があり、”軽症”の鎌状赤血球症遺伝子を持ったカップルの子どもは”重症”の鎌状赤血球症遺伝子を持って産まれる確率が高くなるらしい。

その結果、鎌状赤血球症の遺伝子は耐マラリア機能を保持した遺伝子としてデフォルトでヒト遺伝子に組み込まれるには至らず、”重症”の遺伝子が生まれすぎない程度に、ある一定の水準に保たれる。

この説明を読んだときはめちゃくちゃ驚いた。蚊と人間を行き来して感染力を高めるマラリア原虫の進化もすごいが、それがヒトの遺伝子にも影響を与えるという進化のダイナミズムに。

メール返信が遅い人は仕事ができない?

仕事の話します

toyokeizai.net

メールの返信が早い人は今できる仕事をすぐに片付ける習慣がある、つまり仕事ができる。というのには同意。でも、そうでない人はできない人か、というとそうでもない。

なぜ社長、幹部などの忙しい人に限って返信が超速いかと言えば、あらゆる情報を連綿と収集し続けて意思決定を下すのが彼らの仕事だから。上に行けば行くほど具体的なタスクは持たず、情報を集めること自体が仕事になる。その裁量を握る人間がボトルネックとなって業務や意思決定やコミュニケーションが滞ればむしろその組織は致命的となる。

だから、「マネージャーたちはメール返信が早いから出世したわけではなく、出世して自分がやるべきことを考えた結果メールを迅速に返信するようになった」と言う見方をすべきだと思う。

そう考えると「仕事できる人になりたいならメールの返信を早くしよう」は必ずしも正解ではない。それがまわりから求められていることならそうすべきだが、多くの人にとって、情報を連綿と収集して意思決定を下すことはミッションではない。もっと具体的で集中すべきタスクを持っているはずである。逆に言えば、各社員が目の前のタスクに集中できることの重要さを理解しているからこそマネージャーはメール返信を迅速におこなうとも言える。

自分は新卒のころ全力でがんばっても期限を守れず、メールチェックすらままならなかった。当時の自分は全然仕事できなかったことに違いはないが、今考えればその状況を必要以上に自虐的に捉えることはなかったと思う。たぶん誰でも限界以上のことにチャレンジすればメールチェックなんかはおろそかになるから。

弱者を生かす戦略ー相模原事件を受けて思ったこと

detail.chiebukuro.yahoo.co.jp

何年か前話題になった知恵袋のベストアンサー。
相模原の事件を受けて、すべての人間が必読だと思うので、この機会に改めて確認してほしい。

アマゾンのジャングルに一人で放置されて生き延びられる現代人はいませんね
ということは、「社会」というものが無い生の自然状態に置かれるなら、人間は全員「弱者」だということです

その「弱者」たちが集まって、出来るだけ多くの「弱者」を生かすようにしたのが人間の生存戦略なんです

”人間は全員「弱者」である”のくだりは、ナウマンゾウを狩っていた時代にはなんの役にも立たなかったであろう自分みたいな人間にとってはかなり勇気づけられるメッセージだった。おそらく文明が少しずつ進化していく過程で、自分みたいな人間も養える体制が整ってきた。社会的に無能な人を受け入れる能力が向上し遺伝子が多様になった結果、数万年の時間を経て自分のような人間もそこそこ活躍できる時代が訪れたと言える。

この事件直後、「障害者は排除されるべき」というまさかの容疑者を擁護するかのような発言がネット上で見られた。彼らの主張は障害の定義があいまいで、論理を欠いていたが、「なぜ排除されるべきか」を突き詰めると、ほとんどは「私たちの生活をおびやかす存在であるから」という結論に至っていた。

一見、本当に「私たちの生活をおびやかす存在」がいるならば、排除されてしかるべきという意見には一理あるとも思える。たとえば、犯罪を生理学的、社会科学的、栄養学的に捉えると、「○○な特徴を持つグループはそうでないグループと比べて○倍殺人や暴力事件を起こす確率が高い」という証拠がいくつも見つかる。

けれども、そういう犯罪の兆候を調べるとむしろ火を見るより明らかに容疑者の特徴にこそ興味深い点がある。「私たちの生活をおびやかす存在」は、この事件の犯人と同様の特徴を示すグループの方かもしれないのだ。そういう意味では、この件の犯人こそ”弱者”の側にまわる。

ごくふつうに見える若者がどういう経緯で戦後史上最大の殺人事件を実行する行動力、決意、殺意を持てたのか個人的に気になったが、「暴力の解剖学」にそのヒントが記されている。

 

暴力の解剖学: 神経犯罪学への招待

暴力の解剖学: 神経犯罪学への招待

 

 

ピーター・サトクリフは、1946年6月2日午後10時、ウェスト・ヨークシャー州にあるビングレー産科医院で難産の末に生まれた。担当の医師が、彼の命は1日ともたないだろうと思ったほどだった。当時は、長かった二度目の世界大戦が終わってから1年しか経っておらず、乳児死亡率はきわめて高かった。だがピーターは、体重2.3キログラムのファイターだった。誕生時の障害にもかかわらず、この未熟児は10日間生死の境をさまよったあと退院した。

その後のピーターは、ごく普通の少年として育つ。彼の境遇は私とよく似ている。出産時の合併症を抱えて生まれたこと、イングランド北部の、典型的な労働者階級の家庭で内気な少年時代を過ごしたこと、年齢の割に小さかったこと、カトリックを信奉する大家族に育てられたことなど、私と彼には多くの共通点がある。ピーターは出産時の死の魔手からうまく逃れられたように思われるが、ほんとうにそうなのか?彼は、ビングレー墓地で墓堀人をしていた1967年に人生の転機を迎える。新しい墓を掘り終えてスコップに寄りかかって立っていたときに、エコーのかかったかすかな声を聞いたのだ。その声は、近くにあるポーランド人の墓の十字架から聞こえてきた。サトクリフはのちに、そのときのことを次のように述べている。

「つぶやくような声には奇妙な声があった。私はその声を聞く特権を与えられたのだと感じた。雨が降り始めていた。丘の頂上から谷間を見下ろしながら、何かすばらしいことを経験しているように感じた。谷を見渡し、周囲を見回してから、この世と天国について考え、人間がいかにつまらない存在であるかを悟った。だが、その瞬間、自分は重要な存在だと感じた。私は選ばれたのだと。」

いったい何に選ばれたのだろうか?サトクリフは徐々に、自分が悪行や性的な罪に対する神の怒りの代弁者であると認識し始める。彼の任務は、売春という罪をこの世から一掃することだった。

それは精神病質が表面化するきっかけになる体験だった。ポーランド移民の学校教師と幸福な結婚生活を営んでいたにもかかわらず、それ以後のサトクリフは、まったく別の目的で墓を掘り始める。合併症を抱えて生まれた乳児は、イングランドでは最多数の犠牲者を出した連続殺人犯の一人に変貌したのだ。統合失調症を抱えた殺人鬼となった彼は、ヨークシャー州で13人の売春婦の子宮を切り裂いた。

 この殺人犯は、典型的な統合失調症のダークサイドである。統合失調症の象徴的な症状は妄想で、知的障害に分類される場合もある。の患者はそうでない患者とくらべて、殺人を犯す確率と、自殺する確率が数倍高い。最悪のケースでは、誇大妄想を拡張し、常人では成し得ない衝撃的な殺人を実行することもある。今回の犯人も官邸に手紙を送るなど妄想を拡大した言動が確認されているので、統合失調症の疑いがあると思う。

統合失調症は脳の疾患である。原因は分かっておらず、本人が発症に気付かないケースが多い。しかも、以下Wikipediaにあるように発症したと思われる有名人一覧を見ると、芥川龍之介夏目漱石ニュートン、ナッシュ、ムンクゴッホなどが並ぶ。

統合失調症 - Wikipedia

この面子を見ると、統合失調症の発症しやすさと彼らの功績が無関係とも思えない気がしてくる。つまり、本人たちは苦しんでいるのだろうが、その症状をポジティブなパワーにかえる人たちもいるのだろうということが推測できる。

統合失調症を発症すると脳の構造的異常が起きることが分かっているため、CT/MRI検査などで診断がおこなわれることもあるらしい。けれど自分の予想ではその障害をポジティブなパワーにかえるか、ネガティブなパワーにかえるかまで診断することは不可能ではないかと思う。

ナチススウェーデン、日本がかつておこなっていたように優生学に基づいた排除、差別はどうがんばっても正当化できない。多様性との決別をあらわすからだ。個別の事象を見ればやむをえないケースもあるかもしれないが、少なくとも一般化することはあり得ない。弱者を生かすのがホモ・サピエンスの戦略なので。私たちができることは、「暴力の解剖学」から分かるような圧巻の研究成果の数々をもとに予防に徹するのみだと思う。

 

知性は脳細胞の数に比例するか?シンギュラリティ論者が見誤っていると思うところ

www.itmedia.co.jp

「知性は脳細胞の数に比例している。脳細胞は二進法で、ニューロンがくっついたときに微弱な電流が流れるという仕組み。コンピュータもこれと全く同じで、トランジスタがくっつくか離れるか。つまり、1チップの中にあるトランジスタがいつ人間の脳細胞数を超えるかを計算すると答えが出る。ぼくの計算では、2018年に超えるという結果が出た。コンピュータと囲碁や将棋をするのは、はなから諦めたほうがいい」(孫氏)

 シンギュラリティ論者が見誤っていると思うのは、脳細胞の数と知性が比例するというところ。比例してないよね?クジラとヒトの脳を比べればクジラの方がはるかに脳の絶対量は大きいのにどちらがより賢いかと言えば、単純な比較は難しいけど文明を見ればあきらかよね。一般的にも体に対する脳の大きさの”割合”が賢さと関係していると考えられている。

それだけではない。ヒトの脳内だけを見ても脳細胞数が知性と関係しているわけではない証拠が見つかる。脳の部位の中でも最もニューロンの数が多いのが小脳だと言われる。前頭前野に代表される知性の源と言われる大脳よりも小脳のほうがはるかに細胞数は多いのだ。もちろん小脳は知性を司る部位ではなく、はるかに原始的、動作を無意識にスムーズにおこなうなどの機能と考えられている。

  

意識はいつ生まれるのか――脳の謎に挑む統合情報理論

意識はいつ生まれるのか――脳の謎に挑む統合情報理論

 

 

「意識はいつ生まれるのか」は2015年に読んだ中で一番衝撃的だった本。 ニューロンの数が異なる部位同士の比較や、意識がある/ない状態の脳反応の比較などによって、意識を生み出すものの正体に迫る。
これ読んで、細胞の数ではないのなら何が重要なのか、なんとなくわかった気がする。

数よりも重要なのは、おそらくネットワークである。どういうネットワークかと言うと1つの入力から取得しうる可能性を最大化するようなネットワーク。それを統合情報理論として定量化できるという説を著者は打ち出した。

要するに何億何兆という細胞をどうつなぎ合わせると可能性を最大化できるか、という、天文学的な組み合わせ最適問題を解けるか、ということがテーマになる。

数学に詳しい人なら、コンピュータに演算させれば人間脳超えの最適ネットワークを弾き出せるのが何年先になるか分かるかもしれない。
自分は見当がつかないが、地球全面積5億平方kmの空間を使って、初の生命誕生以来ヒトを生み出すまでに40億年かかっている。そう簡単なことではなさそう。

こういう視点で考えると、コンピュータの処理速度を上げるという発想だけでは拉致があかないと思う。アルゴリズム変革待ちということだ。機械学習はネットワークを最適にする超効率的アルゴリズムであったという点で革命であったと思うけど、依然としてテーマはそこにあり続けると思う。

機会学習にしても学習の過程を経て、入力に対して出力が最適化されるように重み付けが変わっていく。これはつまりネットワークが最適化されていっているのである。決してコンピュータを構成するトランジスタ数が増えているわけではないのに、賢くなっていくわけだ。

ネットワーク最適化という発想が尋常でない可能性を秘めているということはやっぱりヒトの脳を見るとわかる。