原題に、"THE COMPASS OF PLEASURE" とある。まさに快感は、人生の羅針盤!人を導くすべての動機がここにあるのやもしれん...
「人間にとって、快感はまっとうに得られるものではない。天から貸し出されるのだ。非常な高利で。」
... ジョン・ドライデン「オイディプス」
どんな生き方にも、ダークサイドはつきもの。心の弱さが憎悪や嫉妬を呼び、欲望を旺盛にする。そして、快感のダークサイドには依存症がつきまとう。人間は、未来の不確実性に魅了される。破産リスクを承知しつつも、ギャンブルにのめりこみ、身体の有害リスクを承知しつつも、ドラッグをやめられない。アルコール、高カロリー食、買い物、オーガズム、ポルノ、SNS、オンラインゲーム... 快感となるものすべてが依存症になりうる。正義感に燃えては批判癖がつくのも、高い倫理観を求めては意地悪癖が染みつくのも、理性や道徳をストレス解消の手段とするのも... まるで依存のオンパレード。
はたまた、地位や名声に縋り、権力欲や支配欲に憑かれ、金や女体に溺れ、爽快な景色に彩られたゴルフ場でたまーにでるビッグショットに魅了されては、その一瞬の快感を味わうために、夜な夜な打ちっぱなしに励む。苦労して分厚い本を読み耽るのも、読破した時の達成感が忘れられないからだ。アバンチュールを求めては適度な冒険心にはやる。愛は障害が大きほど燃えるというが、禁断でなければ色褪せる。
これらすべて快感の裏返し。人間社会は、快感を伴う活動を厳しく規制する。金の使い方、性の在り方、飲み方など、だらしなく耽溺することを悪徳として...
「働いて得た九九ドルより道ばたで拾った一ドルのほうがうれしい。それと同じで、トランプや株で勝った金は気持ちをくすぐる。」
... マーク・トウェイン
とはいえ、人間は何かに依存しなければ生きては行けない。空間にあっては集団社会と対峙し、時間にあっては自我と向かい合い、そして、なによりも自然界の一員として存在している。自然だけを相手取るなら、それほど悩まなくて済みそうだが、空間と時間を認識してしまうと人生は修業の場と化す。慢性的な退屈病を抱えれば、いつも刺激を求めて徘徊し、慢性的な関係依存症を患えば、仮想社会を徘徊する。人はみな、暇人よ。人はみな、寂しがり屋よ。貧乏暇なし... というが、依存している暇もなければ多忙依存症か。時間をもてあそべば、何かやっていないと落ち着かない時間貧乏性か。そして、依存できるものがなくなったら、人間を破綻させてしまう...
ならば、だ!
依存する方向を選ぶしかあるまい。快感を働かせるものは、なにも悪徳や悪習だけではない。趣味のエクササイズ、瞑想や祈り、社会的評価を受けること、慈善行為からも、あるいは、苦労した末に高度な知識や技術を会得した瞬間や、困難な仕事を成し遂げた達成感からも、快感が得られる。知識依存症ってのもなかなか素敵。神経回路から見れば、美徳も悪徳もあるまい。
本書は、「快感回路」を報酬系を興奮させる神経機能としている。つまるところ見返りの原理。脳神経科学では、報酬系の機能として「内側前脳束」という用語を耳にするが、ここでは「内側前脳快感回路」と呼んでいる。
依存症は、この快感回路のニューロンやシナプスの電気的、形態的、生化学的機能の長期変化に関係するという。ハイになるのに必要量が増えていく耐性や禁断症状、あるいは再発や再犯といった恐ろしい症状の根底に、神経機能の持続的変化が伴うというのである。そして、分子レベルの分析から人間の行動パターンを解き明かそうと試みる。例えば、ドーパミンの放出が促される神経伝達において抑制系を麻痺させるプロセスや、レプチン遺伝子において肥満系に対処するプロセスなど。そして、快感回路を直接刺激する電極を埋め込んだとしたら...
もっと食べたいという欲求は、もともと遺伝子に組み込まれているのかもしれない。というのも、人類には飢えてきた歴史があり、近代のように物が溢れ、満腹状態な時代はごく稀だ。そして、快感ボタンを押し続ける遺伝子を刺激して、一度でもスィッチが入ったら...
さて、おいらの快感回路は何に乗っ取らせよう。ニコチンか?アルコールか?いや、夜の社交場に捧げる。小悪魔のやつらときたら、集団で囲んでは目でファックし、心でファックしてきやがる。酔いどれは、この非接触型の恋愛メカニズムに快感悶絶よ!M だし...
あのバイロン卿は、こう書いたという。
「人は、合理的存在として、酔わずにはいられない。酩酊こそが人生の最良の部分である。」
ところで、セックス依存症ってのは本当であろうか。それとも、火遊び好きなセレブたちが不倫を正当化するためにでっちあげた幻想であろうか。世間に依存症や症候群という用語がこれだけ溢れ、なんでも病気のせいにできれば、やはり依存症なのである。「不倫はセックス依存症の飲酒運転だ!」と言った奴がいたが、本書にもそのフレーズが。皮肉屋バーナード・ショーも、こう言ったとか。「道徳とは既婚者の組合主義にほかならない。」
人間は自分に言い訳をしながら生きている。自己満足のうちに、自己納得のうちに、時間は過ぎていく。人生とは、ある種の自慰行為の連続であったか。そして、人間の性嗜好に関するこの文章が妙に説得力を与える...
「あなたのセックスを眺めているネコは、いったいどう思っているだろう。たとえあなたがこの文化の中で性的に伝統的とされる嗜好を持っているとしても、つまり、たとえばディック・チェイニーのゴムマスクをかぶり、乳首を洗濯バサミで挟み、BGM にワーグナーの『指輪』をかけるというようなことをしていなくても、あるいはブルートゥース対応の電気ショックプローブを肛門に挿入して、インターネット経由でハンセン株価指数の激しい変動に応じてショックを味わうような真似をしていなくても、異性のパートナーを相手に自宅の寝室で二人きりで抱き合い、キスをし、撫で、舐め、普通に生殖器による性交をしているとしても、ネコはあなたを異常な奴だと考えるはずだ。そしてネコは正しい。ネコがおぞましいと感じることの一つは、人間が受胎しない時期に交尾をするという事実だ。また、一つの排卵周期のあいだに交尾の相手を一人に固定するというのも、ネコには理解しがたい。」
Contents
- 2018-06-24 "快感回路 - なぜ気持ちいいのか、なぜやめられないのか" David J. Linden 著
- 2018-06-17 "孤独の科学 - 人はなぜ寂しくなるのか" John T. Cacioppo & William Patrick 著
- 2018-06-10 "死のテレビ実験 - 人はそこまで服従するのか" Christophe Nick & Michel Eltchaninoff 著
- 2018-06-03 "こちら脳神経救急病棟" Allan H. Ropper & Brian Burrell 著
- 2018-05-27 "インテルスレッディング・ビルディング・ブロック" James Reinders 著
- 2018-05-20 "UNIX プログラミング環境" Brian W.Kernighan & Rob Pike 著
- 2018-05-13 "UNIX という考え方" Mike Gancarz 著
- 2018-05-06 "世界の技術を支配するベル研究所の興亡" Jon Gertner 著
- 2018-04-29 デスクトップの魔物... 雨降って頭固まっちゃった!?
- 2018-04-22 "はじめての数論 原著第3版" Joseph H. Silverman 著
2018-06-24
2018-06-17
"孤独の科学 - 人はなぜ寂しくなるのか" John T. Cacioppo & William Patrick 著
地上で、これほど孤独を恐れる生命体が他にあろうか。それは、精神を獲得した生物の性癖であろうか。世間では、孤独を悪のように触れ回り、孤独死を悲惨な結末として忌み嫌う。おまけに、仲間はずれの類いを、異常に、異様に恐れ、多数派に属すことで安住できる性分ときた。原始の時代、集団の中に身を置くことで個の命が守られた。ホモ・サピエンスという種は、群れずにはいられない遺伝子を持っているようである。
すでにアリストテレスは定義している... 人間は生まれつき社会的な生き物である... と。生を授かり、終焉するまでの間、人とのつながりを完全に拒絶することができないのは、いわば人間社会の掟。
誰にでも訪れる死を、人生の最大の不幸と捉えるばかりか、死に方にまで理想像を追いかける。それでいて、生き方についてはあまり気にかけない。ウィリアム・ヘイズリットは、こんなことを言った... 死に対する嫌悪感というものは、人生が無駄に過ぎてしまったという諦めがたい失望感に比例して増大する... と。
「心とは、それ独自の場であり、本来、地獄を天国に変え、天国を地獄に変えうる。」
... ジョン・ミルトン著「失楽園」
「善いものも悪いものもありはしない。要は、どう考えるか、だ。」
... シェークスピア
人間とは、意味づけをしながら生きていく動物である。自分の人生に言い訳を求めながら生きていく動物である。それゆえ、自分の人生は正解だった!と自我を慰めるのに必死だ。疎外感を和らげるために自分の認知能力を誤魔化したり、人生を脚色して偽りのペルソナを作り上げたりと自己欺瞞に必死だ。幸せな人生とは、現実を幸せに生きることではなく、人より幸せに見せたい、あるいは、そう思い込みたいと願うこと、ただそれだけのことかもしれん。
孤独だと要求ばかりするようになる... 孤独だと批判ばかりするようになる... 孤独だと行動が消極的になって引きこもる... 孤独だと現実を見ようとしなくなる...
こうした歪んだ意識は、論理的に正当化できない恐怖心に由来するものだが、もはや冷静な言葉を受け入れる余裕もない。
年老いてくれば、自然に人間関係を整理していくことになる。友人の数を競っても詮無きこと。その中に真の友人がどれだけいるというのか。一人いれば、十分、二人では、ちと多い、三人となると、もってのほか...
となると、関係を求めるよりも、孤独を受け入れることの方がずっと本質的なのかもしれん。人生とは、孤独に立ち向かうための修行の場なのかもしれん。
いずれにせよ、相対的な認識能力しか持ち合わせない知的生命体は、仲間の在り方を知らなければ、孤独の在り方を知ることはできず、その逆もしかり。したがって、孤独を拒絶すれば、仲間の在り方にも目を背けていることになろう...
「独房に監禁されたかのような孤独感は終身刑である必要はない...」
1. 孤独愛好家
誰とでもつながれる社会では、逆に孤独愛好家を増殖させる。グローバリズムが浸透するほど、民族意識やナショナリズムを旺盛にさせる。これだけ人間が溢れているというのに、なにゆえ小じんまりとした人間関係に縛られなければならんのか。古いしがらみに... 惰性的な関係に...
多くの孤独愛好家は、それほど心配はいらないだろう。心が欲するに応じて適当に孤独を愛するから愛好家なのである。深刻なのは、社会とのつながり方が分からなくなった場合だ。つながりたくても、具体的に何をしていいか分からない。そこで、近所を散歩中、隣人に明るく挨拶するだけでも日常が変わってくるかもしれない。スーパーのレジのおばさんと、これ高くなったねぇ!と軽く会話したり、精肉屋さんに、この食材どうやって料理すると美味しいの?って聞くだけでも、孤独感からちょっぴり解放されるかもしれない。人生とは、そんな些細な事の積み重ねで成り立っている。
世間には、孤独が好きというだけで、社会の適合能力がないとみなす人たちがいる。孤独死を、悲惨な結末だと決めつける人たちがいる。しかし、だ。大抵の人は独りで死んでいく。心中でもしない限り...
一方で、社交的な人間嫌いも少なくない。人当たりが良く、如才なく振る舞えるような。自己に絶望しているわけでもなく、むしろ自信を持っているような。小説家や芸術家などは、そうした人種なのだろう。世間に惑わされないということは、しっかりと自分自身を見つめている証拠である。まずは自分自身を知ること。そして、恐怖心に歪められた思い込みに惑わされぬよう、人生の主導権を握ること。しかしながら、これが難題中の難題!
贅沢を知れば、人は多くを欲するようになる。多くを要求するようになる。そして、権利ばかり主張する。昔の人は、幸せになる権利なんて考えもしなかっただろう。今では、容姿、お金、知性、地位すべてを欲しがる。孤独を求めるのも、その贅沢の類いなのやもしれん...
2. 孤独と孤独感
孤独と孤独感は、まったく違う。孤独は状態であり、孤独感は独りぼっちになることの恐怖心という感覚である。孤独感の治療法だって?なぁーに、心配はいらない。孤独感そのものは病ではないし、人間である証だ。
孤独感を覚えることで、防衛本能を発動させ、人間社会でどう生きるかを工夫しようとする。自我を見つめるためにも不可欠な感覚である。実際、孤独を歓迎する人たちがいる。偉大な思想や真の創造性は孤独から生まれた。淋しさを知らなければ、詩人にもなれない。芸術家たちは、自我との対立から偉大な創造物に辿り着き、真理の探求者たちは、自問することによって学問の道を切り開いた。そのために、自ら命を擦り減らし、自ら抹殺にかかることも珍しくない。
だが、その結末が不幸かどうかは、本人にしか分からない。偉大な創造物を遺し、満足感のうちに死んでいったのかも。なにゆえ、孤独死を忌み嫌う。肉体の後始末は行政が処理してくれるだろう。財産はすべてくれてやるさ...
とはいえ、孤独には危険性が孕んでいる。精神的にも、生理的にも、身体的にも疲れさせ、この世で独りぼっちと思い込むだけで、高脂肪な食べ物に手を伸ばし肥満にもなる。
では、集団はどうであろう。やはり同じことではないのか。硬直化した集団的思考は脳肥満にさせ、個人で考えを巡らすこともできなくなる。そして、集団の中にこそ、深刻な孤独感を蔓延させる。帰属意識を失う恐怖心がつきまとえば、奴隷根性を身にまとい、嫉妬心や憎悪心によって一層駆り立てられる。
ちなみに、シリル・コナリーは、こんなことを言った... 孤独に対する恐怖は、結婚による束縛に対する恐怖よりもはるかに大きいので、俺達はつい結婚しちまうんだ... と。
集団の中に安住することに執着すれば、まったく自立性を欠いていく。多数派の意見に流されながら生きて行ければ、そりゃ楽だろう。それで人生が楽しいかどうかは知らんが...
3. ホモ・サピエンスの社会的特性
進化生物学者マーティン・ノヴァクは、社会的協力について五つの特性を挙げたという。
・血縁淘汰
「兄弟を二人、または従兄弟を八人助けるためなら、私は川に飛び込む。」
同じ遺伝子を、兄弟は 50% 、従兄弟は 12.5% 持っているから...
・直接的互恵主義
「私の背中を掻いてくれたら、君の背中を掻いてあげよう。」
見返りの原理か...
・間接的互恵主義
「人を助けて良い評判を得る。そうすれば、人から報われるだろう。」
これも見返りの原理か...
・ネットワーク互恵主義
「私が他人を助けるのは、メンバーどうしが助け合う協力的なネットワークから排除されるのを避けるため。」
仲間はずれ恐怖症か...
・集団淘汰
「協力者たちから成るグループは、脱落者ばかり出るグループよりもうまくいくかもしれない。」
とはいえ、協調だけでは不十分で、競争も必要...
ちなみに、アフリカの諺にこういうのがあるそうな。
「急いで行きたければ、独りで行くといい。遠くまで行きたければ、いっしょに行くことだ。」
すでにアリストテレスは定義している... 人間は生まれつき社会的な生き物である... と。生を授かり、終焉するまでの間、人とのつながりを完全に拒絶することができないのは、いわば人間社会の掟。
誰にでも訪れる死を、人生の最大の不幸と捉えるばかりか、死に方にまで理想像を追いかける。それでいて、生き方についてはあまり気にかけない。ウィリアム・ヘイズリットは、こんなことを言った... 死に対する嫌悪感というものは、人生が無駄に過ぎてしまったという諦めがたい失望感に比例して増大する... と。
「心とは、それ独自の場であり、本来、地獄を天国に変え、天国を地獄に変えうる。」
... ジョン・ミルトン著「失楽園」
「善いものも悪いものもありはしない。要は、どう考えるか、だ。」
... シェークスピア
人間とは、意味づけをしながら生きていく動物である。自分の人生に言い訳を求めながら生きていく動物である。それゆえ、自分の人生は正解だった!と自我を慰めるのに必死だ。疎外感を和らげるために自分の認知能力を誤魔化したり、人生を脚色して偽りのペルソナを作り上げたりと自己欺瞞に必死だ。幸せな人生とは、現実を幸せに生きることではなく、人より幸せに見せたい、あるいは、そう思い込みたいと願うこと、ただそれだけのことかもしれん。
孤独だと要求ばかりするようになる... 孤独だと批判ばかりするようになる... 孤独だと行動が消極的になって引きこもる... 孤独だと現実を見ようとしなくなる...
こうした歪んだ意識は、論理的に正当化できない恐怖心に由来するものだが、もはや冷静な言葉を受け入れる余裕もない。
年老いてくれば、自然に人間関係を整理していくことになる。友人の数を競っても詮無きこと。その中に真の友人がどれだけいるというのか。一人いれば、十分、二人では、ちと多い、三人となると、もってのほか...
となると、関係を求めるよりも、孤独を受け入れることの方がずっと本質的なのかもしれん。人生とは、孤独に立ち向かうための修行の場なのかもしれん。
いずれにせよ、相対的な認識能力しか持ち合わせない知的生命体は、仲間の在り方を知らなければ、孤独の在り方を知ることはできず、その逆もしかり。したがって、孤独を拒絶すれば、仲間の在り方にも目を背けていることになろう...
「独房に監禁されたかのような孤独感は終身刑である必要はない...」
1. 孤独愛好家
誰とでもつながれる社会では、逆に孤独愛好家を増殖させる。グローバリズムが浸透するほど、民族意識やナショナリズムを旺盛にさせる。これだけ人間が溢れているというのに、なにゆえ小じんまりとした人間関係に縛られなければならんのか。古いしがらみに... 惰性的な関係に...
多くの孤独愛好家は、それほど心配はいらないだろう。心が欲するに応じて適当に孤独を愛するから愛好家なのである。深刻なのは、社会とのつながり方が分からなくなった場合だ。つながりたくても、具体的に何をしていいか分からない。そこで、近所を散歩中、隣人に明るく挨拶するだけでも日常が変わってくるかもしれない。スーパーのレジのおばさんと、これ高くなったねぇ!と軽く会話したり、精肉屋さんに、この食材どうやって料理すると美味しいの?って聞くだけでも、孤独感からちょっぴり解放されるかもしれない。人生とは、そんな些細な事の積み重ねで成り立っている。
世間には、孤独が好きというだけで、社会の適合能力がないとみなす人たちがいる。孤独死を、悲惨な結末だと決めつける人たちがいる。しかし、だ。大抵の人は独りで死んでいく。心中でもしない限り...
一方で、社交的な人間嫌いも少なくない。人当たりが良く、如才なく振る舞えるような。自己に絶望しているわけでもなく、むしろ自信を持っているような。小説家や芸術家などは、そうした人種なのだろう。世間に惑わされないということは、しっかりと自分自身を見つめている証拠である。まずは自分自身を知ること。そして、恐怖心に歪められた思い込みに惑わされぬよう、人生の主導権を握ること。しかしながら、これが難題中の難題!
贅沢を知れば、人は多くを欲するようになる。多くを要求するようになる。そして、権利ばかり主張する。昔の人は、幸せになる権利なんて考えもしなかっただろう。今では、容姿、お金、知性、地位すべてを欲しがる。孤独を求めるのも、その贅沢の類いなのやもしれん...
2. 孤独と孤独感
孤独と孤独感は、まったく違う。孤独は状態であり、孤独感は独りぼっちになることの恐怖心という感覚である。孤独感の治療法だって?なぁーに、心配はいらない。孤独感そのものは病ではないし、人間である証だ。
孤独感を覚えることで、防衛本能を発動させ、人間社会でどう生きるかを工夫しようとする。自我を見つめるためにも不可欠な感覚である。実際、孤独を歓迎する人たちがいる。偉大な思想や真の創造性は孤独から生まれた。淋しさを知らなければ、詩人にもなれない。芸術家たちは、自我との対立から偉大な創造物に辿り着き、真理の探求者たちは、自問することによって学問の道を切り開いた。そのために、自ら命を擦り減らし、自ら抹殺にかかることも珍しくない。
だが、その結末が不幸かどうかは、本人にしか分からない。偉大な創造物を遺し、満足感のうちに死んでいったのかも。なにゆえ、孤独死を忌み嫌う。肉体の後始末は行政が処理してくれるだろう。財産はすべてくれてやるさ...
とはいえ、孤独には危険性が孕んでいる。精神的にも、生理的にも、身体的にも疲れさせ、この世で独りぼっちと思い込むだけで、高脂肪な食べ物に手を伸ばし肥満にもなる。
では、集団はどうであろう。やはり同じことではないのか。硬直化した集団的思考は脳肥満にさせ、個人で考えを巡らすこともできなくなる。そして、集団の中にこそ、深刻な孤独感を蔓延させる。帰属意識を失う恐怖心がつきまとえば、奴隷根性を身にまとい、嫉妬心や憎悪心によって一層駆り立てられる。
ちなみに、シリル・コナリーは、こんなことを言った... 孤独に対する恐怖は、結婚による束縛に対する恐怖よりもはるかに大きいので、俺達はつい結婚しちまうんだ... と。
集団の中に安住することに執着すれば、まったく自立性を欠いていく。多数派の意見に流されながら生きて行ければ、そりゃ楽だろう。それで人生が楽しいかどうかは知らんが...
3. ホモ・サピエンスの社会的特性
進化生物学者マーティン・ノヴァクは、社会的協力について五つの特性を挙げたという。
・血縁淘汰
「兄弟を二人、または従兄弟を八人助けるためなら、私は川に飛び込む。」
同じ遺伝子を、兄弟は 50% 、従兄弟は 12.5% 持っているから...
・直接的互恵主義
「私の背中を掻いてくれたら、君の背中を掻いてあげよう。」
見返りの原理か...
・間接的互恵主義
「人を助けて良い評判を得る。そうすれば、人から報われるだろう。」
これも見返りの原理か...
・ネットワーク互恵主義
「私が他人を助けるのは、メンバーどうしが助け合う協力的なネットワークから排除されるのを避けるため。」
仲間はずれ恐怖症か...
・集団淘汰
「協力者たちから成るグループは、脱落者ばかり出るグループよりもうまくいくかもしれない。」
とはいえ、協調だけでは不十分で、競争も必要...
ちなみに、アフリカの諺にこういうのがあるそうな。
「急いで行きたければ、独りで行くといい。遠くまで行きたければ、いっしょに行くことだ。」
2018-06-10
"死のテレビ実験 - 人はそこまで服従するのか" Christophe Nick & Michel Eltchaninoff 著
人の耳元には、いつも悪魔が囁きかける。集団性という悪魔が。三人集まれば、もう集団。戦場ならいざ知らず、日常であっても人は権威に弱い。公の場とは恐ろしいものである。ひとたび公衆の面前に身を置けば、虚栄心を掻き立て、自尊心を肥大させる。
おまけに、大衆は魔女狩りや公開裁判の類いがお好きときた。人の恥や馬鹿っぷりを暴露することが、そのまま視聴率に結びつく。テレビ屋は、対象人物にキャラクターイメージを叩き込み、大衆を煽る。心優しい加害者たち... これが大衆の本性か...
相対的な認識力しか持ち合わせない知的生命体は、他との比較の中でしか自己を見つめることができない。そして、人の不幸を見て、自己を安心させるのである。不幸すぎる人も、幸せすぎる人も、やはり冷酷になるものらしい。これは、従属と服従の原理を綴った物語である...
権威から良心に反する命令を受けた時、個人はどれくらいの割合で服従するか?これを問うた実験がある。あのミルグラム実験が、それだ。社会心理学者スタンレー・ミルグラムがイェール大学で実施し、アイヒマン実験とも呼ばれる。ミルグラムは、記憶力に関する実験と称して被験者を募り、科学実験という権威の下で、見ず知らずの人に電気ショックを与え続ける場を設定した。被験者が先生役になって問題文を読み、生徒役が間違ったら電気ショックを与える。電気の強さは答えを間違える度に上がり、450ボルトまでが設定された。もはや致死量である。先生役と生徒役は、建前上クジで決められるが、実は生徒役は俳優が演じる。生徒役はやめてくれ!と叫び、声がでなくなって生死が危ぶまれる状態へ。大半の被験者は、こんな残酷なことを途中でやめるだろうと思われたが、予想に反して多くの被験者が最後まで電気ショックを与え続けたとさ。権威の命ずるままに...
本書は、この実験のテレビ版である。ただし、新たな要素が一つ加わる。「観客」という要素が...
被験者は、プロデューサからこの実験が安全であることを説明され、番組成立のための一体感を植え付けられる。観客の方はというと、アシスタントディレクタの前説によって番組に参加できるという意識を昂揚させる。ちょっと練習してみましょう!さぁ、拍手!間違った時は合図とともに「お仕置き」コールを!
日常のバラエティー番組でも、観客の笑い声や、えぇーっ!といった驚きの声で大袈裟に演出される。それが却って、つまらなく感じさせるのは気のせいか。番組がぐだらないというなら、見なければいい。番組を批判するということは、そのくだらない番組を事細かく見ているということ。それを感情的に批判するなら、すでにテレビの虜である。ただ、それが反面教師になっているところも大いにある。
本物語においても、司会者に反論したり、抗議したりする人ほど、ずるずると最終段階までいってしまう。この状況は、株式市場における投資家行動にも似ている。下落相場で、もう下げ止まるだろう、とずるずると決断できずに含み損を拡大させる、いわば、損切りの心理学である。それは、目の前の不幸を信じたくないという先送りの原理そのもの。こうした心理状態は、都合のよい解釈に発し、希望的観測が合理的判断を鈍らせる。
一方、途中で服従をやめられた人は、あっさりと決断している。現実をしっかりと見つめられるということか。あるいは、深いところで自分を信じているということか。
ミルグラム実験では、権威に最後まで服従した被験者は 62.5% にのぼったとか。これだけでも驚くべき数字だが、テレビ実験では、実に 81% もの被験者が最後まで電気ショックを与え続けたという。それでテレビの方が権威が上になるのかは知らんが...
「最後にこの実験に深く関わった者として、一言。人は自分で思っているほど強くはない。『自分は自由意思で行動していて、やすやすと権威に従ったりはしない』、そう思い込んでいればいるほど、私たちは権威に操られやすく、服従しやすい存在になる...」
1. 主義主張のない扇動者
あの最終的解決策の張本人アドルフ・アイヒマンは冷酷非情の怪物とされるが、世間が言うほどの残虐な性格の持ち主だったのだろうか。彼は暴力に訴えるわけではなく、事務机に座ったまま署名一つで何百万ものユダヤ人の死を確定させた。グイド・クノップは著作「ヒトラーの共犯者」の中で綴っている。彼が極めて官僚的な人物であったことを。もし命令があれば、自分の父親ですら殺すだろうと供述したと。与えられた仕事を黙々とこなす、どこにでもいる官僚の一人だったと。出世欲が異様に強かったのは確かなようである。凶悪な性向などないごく普通の人々でも、戦時でもなく、上官の命令でもなく、権威に促されれば殺人を犯す可能性があることを、アイヒマンの残虐行為が暗示している。
では、テレビにどれほどの権威があるというのか?従来の権威は、人として、形として、はっきりと現れてきた。王様や統治者、法律や政府、警察や軍隊といった形で。
だが、テレビは違う。目的意識もなければ、主義主張もない。ひたすら視聴率を稼ぐだけの存在。だから、余計に厄介とも言える。カルト教団は信者を規格化させるが、テレビは大衆を規格化させる。意思なき規格化である。独裁者の暴走先ははっきりしていて動機も単純だが、テレビの向かう先は一向に見えてこない。実体が見えなければ、食い止めようにも、何を食い止めていいのか?大衆は流されるがまま。思考しない者が思考しているつもりで同意している状態ほど、扇動者にとって都合のよいものはない。だが、テレビの中の扇動者とはいったい誰なんだ?
2. 良心と義務の狭間で...
欧米のバラエティー番組には、ゴキブリを喰わせるという過激なものがあると聞く。被害者が美女ということが場を盛り上げ、観客から、た・べ・ろ!た・べ・ろ!の大合唱。日本のバラエティーにも熱湯モノがあるが、これが本物ではないことぐらい視聴者の多くは承知しているだろうし、リアクション芸人にとってはおいしい。やらせ!をいまさら...
本実験においても、まさかテレビがそんな残酷なことをするわけがない!と思い込んでいる被験者も少なくない。そして、司会者の促すままに...
実際、生徒役は俳優なので安全であったし、現実をしっかり見つめているのは、むしろ服従者の方という見方もできる。いや、本物かどうかを別にしても、自分の良心が許さない!と命じれば、やめれば済む話か。
やらせ!と思っても、涙を出しながら拷問を続ける人が多くいたということは、何を意味しているのだろうか?仮に拷問が本物だとしても、最後まで続ける可能性が高いということか?そうかもしれない。
ただ、映画やドラマでも感情移入して涙を誘うことはある。それがつくりもので、ニセモノだと分かっていても、人は涙を流すのだから、そう結論づけるのも難しい。
そもそも被験者たちは、番組に出演したいという思いで応募してきた連中である。番組を成立させるという義務が自発的に植え付けられている、いわば、自主的な服従者とも言える。
おまけに、華やかなテレビ界独特の雰囲気に引き込むために、様々な趣向が凝らされる。専用車で迎えられて出演者として丁重に扱われ、収録前に楽屋でメイク係に化粧をしてもらえば、もはやテレビデビューか。
予めプロデューサが全責任を負うと宣言すれば、観客と一体になって協力しようというバイアスが、より大きくかかる。セールスの原理に... 最初に同意すれば、条件が多少違っても断りにくい状況に陥ってしまう... というのがあるが、まさにそれだ。人間は誰しも、自分の意思を義務と結びつけて、存在感を周囲に認めさせたいという心理が働く。結局、人間ってやつは、客観的な現実が目の前にあっても、自分に都合のよいように解釈してしまう。結局、責任の所在が自分にないことを確認できれば、どんな意図にも流されやすい。要するに、人のせいにして生きて行ければ、幸せってことか。人のせいにできなければ、神のせいにでもするさ。それで神も本望であろう...
3. 反抗的な服従者と素直な服従者
本物語は、やめる根拠を見つけることの難しさを暗示している。一旦、義務に昇華した意思を、どうやって覆すことができるか。客観的に考えれば簡単なことでも、大衆の面前ではその場の雰囲気が優勢となる。孤立した人が良心に従うことは難しい。せめて観客を味方につけれられれば... 自己の良心を確認するには、集団から距離を置くしかなさそうか...
服従するタイプにも、反抗的な服従者と素直な服従者とに分かれる。自信なさげな反抗を見せる人もいれば、強烈に批判する人もいるが、どちらも拒否には至らない。
一方で、服従を途中で拒否した人はみな、「自分には出来ない!」とはっきり言えた。しかも、あっさりと。なぜ、言えたのか?深いところで自分の良心を信じているからか?服従を拒否することと、抗議することとは、まったく次元が違う。抗議という行為は、良心と服従の葛藤からくる緊張を和らげる効果がある。つまり、自分自身に言い訳を求めているのである。司会者に、本当に大丈夫ですか?このままじゃ、死んじゃいますよ!と意見具申するも、自分の意志ではないことを観客にアピールしているということ。最初から権威に立ち向かうのを諦めているということか。これが群集心理なのだろう。実際、人間社会には責任をとらない権威が、あらゆるところに蔓延る。
となれば、反抗的な服従者の方が危険かもしれない。なにしろ扇動者の代理人となって、いや、代理人になっていることにも気づかず、場を盛り上げているのだから...
ちなみに、心理学者ギュスターヴ・ル・ボンは、こう指摘したという。
「群衆の心を支配するのは、自由を求める気持ちではなく、何かに奉仕したいという欲求である。群衆は本能的に、自分は支配者だ!と言う者に服従しようとする...」
しかしながら、テレビはだたの群衆ではない。個人の場にも群集心理を持ち込む存在だ。部屋で一人でテレビを見ていても一体感を植え付ける。そして、いまやテレビ以上に一体感を煽るメディアが台頭する。自己を見つめ直すのが難しい時代には、孤独愛好家を増殖させるものらしい...
おまけに、大衆は魔女狩りや公開裁判の類いがお好きときた。人の恥や馬鹿っぷりを暴露することが、そのまま視聴率に結びつく。テレビ屋は、対象人物にキャラクターイメージを叩き込み、大衆を煽る。心優しい加害者たち... これが大衆の本性か...
相対的な認識力しか持ち合わせない知的生命体は、他との比較の中でしか自己を見つめることができない。そして、人の不幸を見て、自己を安心させるのである。不幸すぎる人も、幸せすぎる人も、やはり冷酷になるものらしい。これは、従属と服従の原理を綴った物語である...
権威から良心に反する命令を受けた時、個人はどれくらいの割合で服従するか?これを問うた実験がある。あのミルグラム実験が、それだ。社会心理学者スタンレー・ミルグラムがイェール大学で実施し、アイヒマン実験とも呼ばれる。ミルグラムは、記憶力に関する実験と称して被験者を募り、科学実験という権威の下で、見ず知らずの人に電気ショックを与え続ける場を設定した。被験者が先生役になって問題文を読み、生徒役が間違ったら電気ショックを与える。電気の強さは答えを間違える度に上がり、450ボルトまでが設定された。もはや致死量である。先生役と生徒役は、建前上クジで決められるが、実は生徒役は俳優が演じる。生徒役はやめてくれ!と叫び、声がでなくなって生死が危ぶまれる状態へ。大半の被験者は、こんな残酷なことを途中でやめるだろうと思われたが、予想に反して多くの被験者が最後まで電気ショックを与え続けたとさ。権威の命ずるままに...
本書は、この実験のテレビ版である。ただし、新たな要素が一つ加わる。「観客」という要素が...
被験者は、プロデューサからこの実験が安全であることを説明され、番組成立のための一体感を植え付けられる。観客の方はというと、アシスタントディレクタの前説によって番組に参加できるという意識を昂揚させる。ちょっと練習してみましょう!さぁ、拍手!間違った時は合図とともに「お仕置き」コールを!
日常のバラエティー番組でも、観客の笑い声や、えぇーっ!といった驚きの声で大袈裟に演出される。それが却って、つまらなく感じさせるのは気のせいか。番組がぐだらないというなら、見なければいい。番組を批判するということは、そのくだらない番組を事細かく見ているということ。それを感情的に批判するなら、すでにテレビの虜である。ただ、それが反面教師になっているところも大いにある。
本物語においても、司会者に反論したり、抗議したりする人ほど、ずるずると最終段階までいってしまう。この状況は、株式市場における投資家行動にも似ている。下落相場で、もう下げ止まるだろう、とずるずると決断できずに含み損を拡大させる、いわば、損切りの心理学である。それは、目の前の不幸を信じたくないという先送りの原理そのもの。こうした心理状態は、都合のよい解釈に発し、希望的観測が合理的判断を鈍らせる。
一方、途中で服従をやめられた人は、あっさりと決断している。現実をしっかりと見つめられるということか。あるいは、深いところで自分を信じているということか。
ミルグラム実験では、権威に最後まで服従した被験者は 62.5% にのぼったとか。これだけでも驚くべき数字だが、テレビ実験では、実に 81% もの被験者が最後まで電気ショックを与え続けたという。それでテレビの方が権威が上になるのかは知らんが...
「最後にこの実験に深く関わった者として、一言。人は自分で思っているほど強くはない。『自分は自由意思で行動していて、やすやすと権威に従ったりはしない』、そう思い込んでいればいるほど、私たちは権威に操られやすく、服従しやすい存在になる...」
1. 主義主張のない扇動者
あの最終的解決策の張本人アドルフ・アイヒマンは冷酷非情の怪物とされるが、世間が言うほどの残虐な性格の持ち主だったのだろうか。彼は暴力に訴えるわけではなく、事務机に座ったまま署名一つで何百万ものユダヤ人の死を確定させた。グイド・クノップは著作「ヒトラーの共犯者」の中で綴っている。彼が極めて官僚的な人物であったことを。もし命令があれば、自分の父親ですら殺すだろうと供述したと。与えられた仕事を黙々とこなす、どこにでもいる官僚の一人だったと。出世欲が異様に強かったのは確かなようである。凶悪な性向などないごく普通の人々でも、戦時でもなく、上官の命令でもなく、権威に促されれば殺人を犯す可能性があることを、アイヒマンの残虐行為が暗示している。
では、テレビにどれほどの権威があるというのか?従来の権威は、人として、形として、はっきりと現れてきた。王様や統治者、法律や政府、警察や軍隊といった形で。
だが、テレビは違う。目的意識もなければ、主義主張もない。ひたすら視聴率を稼ぐだけの存在。だから、余計に厄介とも言える。カルト教団は信者を規格化させるが、テレビは大衆を規格化させる。意思なき規格化である。独裁者の暴走先ははっきりしていて動機も単純だが、テレビの向かう先は一向に見えてこない。実体が見えなければ、食い止めようにも、何を食い止めていいのか?大衆は流されるがまま。思考しない者が思考しているつもりで同意している状態ほど、扇動者にとって都合のよいものはない。だが、テレビの中の扇動者とはいったい誰なんだ?
2. 良心と義務の狭間で...
欧米のバラエティー番組には、ゴキブリを喰わせるという過激なものがあると聞く。被害者が美女ということが場を盛り上げ、観客から、た・べ・ろ!た・べ・ろ!の大合唱。日本のバラエティーにも熱湯モノがあるが、これが本物ではないことぐらい視聴者の多くは承知しているだろうし、リアクション芸人にとってはおいしい。やらせ!をいまさら...
本実験においても、まさかテレビがそんな残酷なことをするわけがない!と思い込んでいる被験者も少なくない。そして、司会者の促すままに...
実際、生徒役は俳優なので安全であったし、現実をしっかり見つめているのは、むしろ服従者の方という見方もできる。いや、本物かどうかを別にしても、自分の良心が許さない!と命じれば、やめれば済む話か。
やらせ!と思っても、涙を出しながら拷問を続ける人が多くいたということは、何を意味しているのだろうか?仮に拷問が本物だとしても、最後まで続ける可能性が高いということか?そうかもしれない。
ただ、映画やドラマでも感情移入して涙を誘うことはある。それがつくりもので、ニセモノだと分かっていても、人は涙を流すのだから、そう結論づけるのも難しい。
そもそも被験者たちは、番組に出演したいという思いで応募してきた連中である。番組を成立させるという義務が自発的に植え付けられている、いわば、自主的な服従者とも言える。
おまけに、華やかなテレビ界独特の雰囲気に引き込むために、様々な趣向が凝らされる。専用車で迎えられて出演者として丁重に扱われ、収録前に楽屋でメイク係に化粧をしてもらえば、もはやテレビデビューか。
予めプロデューサが全責任を負うと宣言すれば、観客と一体になって協力しようというバイアスが、より大きくかかる。セールスの原理に... 最初に同意すれば、条件が多少違っても断りにくい状況に陥ってしまう... というのがあるが、まさにそれだ。人間は誰しも、自分の意思を義務と結びつけて、存在感を周囲に認めさせたいという心理が働く。結局、人間ってやつは、客観的な現実が目の前にあっても、自分に都合のよいように解釈してしまう。結局、責任の所在が自分にないことを確認できれば、どんな意図にも流されやすい。要するに、人のせいにして生きて行ければ、幸せってことか。人のせいにできなければ、神のせいにでもするさ。それで神も本望であろう...
3. 反抗的な服従者と素直な服従者
本物語は、やめる根拠を見つけることの難しさを暗示している。一旦、義務に昇華した意思を、どうやって覆すことができるか。客観的に考えれば簡単なことでも、大衆の面前ではその場の雰囲気が優勢となる。孤立した人が良心に従うことは難しい。せめて観客を味方につけれられれば... 自己の良心を確認するには、集団から距離を置くしかなさそうか...
服従するタイプにも、反抗的な服従者と素直な服従者とに分かれる。自信なさげな反抗を見せる人もいれば、強烈に批判する人もいるが、どちらも拒否には至らない。
一方で、服従を途中で拒否した人はみな、「自分には出来ない!」とはっきり言えた。しかも、あっさりと。なぜ、言えたのか?深いところで自分の良心を信じているからか?服従を拒否することと、抗議することとは、まったく次元が違う。抗議という行為は、良心と服従の葛藤からくる緊張を和らげる効果がある。つまり、自分自身に言い訳を求めているのである。司会者に、本当に大丈夫ですか?このままじゃ、死んじゃいますよ!と意見具申するも、自分の意志ではないことを観客にアピールしているということ。最初から権威に立ち向かうのを諦めているということか。これが群集心理なのだろう。実際、人間社会には責任をとらない権威が、あらゆるところに蔓延る。
となれば、反抗的な服従者の方が危険かもしれない。なにしろ扇動者の代理人となって、いや、代理人になっていることにも気づかず、場を盛り上げているのだから...
ちなみに、心理学者ギュスターヴ・ル・ボンは、こう指摘したという。
「群衆の心を支配するのは、自由を求める気持ちではなく、何かに奉仕したいという欲求である。群衆は本能的に、自分は支配者だ!と言う者に服従しようとする...」
しかしながら、テレビはだたの群衆ではない。個人の場にも群集心理を持ち込む存在だ。部屋で一人でテレビを見ていても一体感を植え付ける。そして、いまやテレビ以上に一体感を煽るメディアが台頭する。自己を見つめ直すのが難しい時代には、孤独愛好家を増殖させるものらしい...
2018-06-03
"こちら脳神経救急病棟" Allan H. Ropper & Brian Burrell 著
原題 "Reaching Down the Rabbit Hole (ウサギ穴を降りて)"...
ウサギ穴とは、「不思議の国のアリス」に出てくるあれか。無邪気なアリスはウサギを追いかけ、奇妙な世界へ迷い込む。脳神経疾患とは、脳が変性してしまう病で、時には信じ難いほどに変性したケースもある。まさに、空想の域を超えた不条理な世界が...
脳神経内科医の仕事は、患者の厄介な反応を分析し、臨床像に当てはめ、問題を整理し、できるかぎり当人が望むような生活を送ってもらえるプランを立てることだという。
しかしながら、患者の癖のある表情から真意を汲み取るのは至難の業。患者はぞれぞれに違った症状を見せ、場所の見当識はあっても時間や状況が把握できないといったケースも珍しくない。医師アラン・H・ロッパーは、唯一の対処法は患者一人一人の内面に接すること... と自分に言い聞かせるように語り、そのためにうんざり気味な側面も覗かせる。人間の多様性ってやつは、実に手強い。人間の本質を理解しよう思えば、正常な人間よりも、いや、正常と思い込んでいる人間よりも、こちらに耳を傾ける方がはるかに有意義かもしれない。少なくとも政治屋どもの演説を聞くよりは...
脳の活動は、極めて電気的に作用するため、環境条件によってシステムダウンすることも。運が良ければ再起動できるが、運が悪ければ復帰の見込みもない。まさに、Kernel Panic !!!
自己の存在意識を肥大化させれば、妄想が妄想を呼び、正常な細胞までも破滅へ道連れ。そして今、この酔いどれ天の邪鬼が自己分析を試みても、時には些細なことで怒り狂うかと思えば、驚くほどの忍耐や寛容さを見せることもあって、まったく支離滅裂ときた。どちらも自分ではないような感覚に見舞われるが、どちらも正真正銘の自分なのだ。そうなると、もう確率論に委ねるしかない。気まぐれってやつに...
正気と狂気の境界は精神病棟の鉄格子によって分けられる。それは、異常者を隔離するためのものだろうか。それとも、純真な心の持ち主を保護するためのものだろうか。そして、自分はどちらの側にいるのだろうか...
ところで、おいらは脳神経内科と脳神経外科の違いもよく分からない。大雑把に言えば、手術などの外科的な治療の対象かどうかで線引きされるが、まずは脳神経内科で診察してもらうのが順序のようである。そういえば、初めて総合病院を訪れた時、まずは内科にかかってください、との案内を受ける。怪我で血まみれ状態というなら明らかに外科の領分であろうが、外傷がはっきりしなければ、内科で診療方針が決められ、診療科が選別される。
では、外科と脳神経外科の違いとはなんであろう。脳腫瘍のような病は外科で、脳の神経系を対象とするのが脳神経外科ということになろうが、脳内で何が起こっているかなんて患者に分かりっこない。頭痛がするのも神経が何かを感知した状態であろうし、脳神経と無関係な脳の病ってあるんだろうか?自覚症状がないということもあるが、そもそも脳がいかれているかどうかを自分の脳で判断できるのだろうか?もし判断できるとすれば、それは極めて冷静な精神状態にあり、自分自身が正常だと思い込んでいる状態よりも、はるかに正常っぽい。
本書は、こうした状態の区別を明確に説明してくれるわけではないが、医学的な立場から重要なヒントを与えてくれる。それは、「症状」と「兆候」で区別していることである。
「症状」とは患者が訴えるものを言い、「兆候」とは医師が診察して見て取れるものを言うそうな。もっと言えば、症状は主観的で、兆候は客観的ということになり、症状は脳機能の枠組みで捉え直す必要がある。
「症候群」ってやつもよく耳にするが、これは医学用語というより社会学用語に近いイメージがある。本書は、症候群を問題の集合体として扱い、専門的な病名とは区別している。兆候よりも症状に近いニュアンスであろうか。例えば、「錯乱」というのは専門的には病名ではないそうな。
「錯乱というのは医学でも最も錯乱した症候群だ、という言い方は陳腐に聞こえるかもしれないが、事実である。」
そして、脳神経内科では症状から兆候に至るまでの過程を観察することになるが、貴重な情報源となるはずの脳が変性してしまっていては、根気強く試行錯誤を続けるしかない。身体をスキャンしたところで心は映らないのだから...
「医学を医学たらしめているのは、こういうことだ。患者はわれわれのところにやってくるけど、問題を医学用語で描写してくれるわけではない。ゆえにわれわれは、患者の言葉を医学的に利用できる形に組み替える。話に統一性を与えるのだ。」
1. ちゃんと聞いてますよぉ...
脳がやられれば、精神を患う。脳神経と精神は同期しているようである。そういえば、知的障害者はたいてい自閉症を患うと聞く。おいらの身近にも重度の知的障害者がいるが、自己主張ができなければ自分の殻に篭もるほかはない。ある種の防衛本能である。人間とは精神である... 精神とは自己である... とは、キェルケゴールの言葉。人間にとって、「自己存在」という認識ほど重く感じるものはないように思える。そして、終末期ケアとしてのホスピスの意義も見えてくる。
となると、脳神経内科医のまずもっての治療法となるのが、ちゃんと聞いてますよぉ... という態度で接すること、本当に聞いていなくても患者に自らの物語を語ってもらうこと... ということになろうか。まぁ、本当に聞いていないってことはないだろうけど、医師だって人間だし、愚痴りたいこともあろう。患者自身に病識がないのに、どうやって気づかせるかとなれば、もう心理学の領分。自己にとって自我ほど手に負えないものはない...
「医学の中でも一人の人間の総合的な知的努力ってやつが付加価値になる分野は、もう神経内科しか残っていないんだ。機械はものすごいのが揃っているけれど、本当の意味での検査はできない。きみたちはベッドの脇で問題を解かなければいけないのさ...」
2.ヒポクラテスの誓い
"Primum Non Nocere (まず害をなさぬこと)..." とは、ヒポクラテスの言葉として広く知られる。この格言は、医師にとって指針となる基本的な姿勢であるだけでなく、慎重になる際の正当化の理由にもなる。
しかしながら、現代医学においては解決不能のジレンマを生み出す場合があると警告している。例えば、アスピリンを飲んで寝てなさい!という以上のことをしない場合の言い訳として。
生命的な危機に直面すれば、何もやらないよりはまし... という信念が必要なこともあろう。手術するリスクと手術しないリスクを天秤にかければ、確率論に頼らざるをえない。しかも、その確率は医師の経験と腕に左右される。どんな専門分野であれ、難題に直面すれば専門家たちの意見は分かれる。だから、リスクなのである。終末期患者と対峙すれば、死神がほとんど勝利をものにする。患者だって、医師と会話するよりも、死神と会話する方が癒されるかもしれない。それでも醒めた意識を遠ざけ、患者を救うことができると信じてやるしかないとは...
医師は、科学に対する信仰を持ち続ける必要があるという。それは、科学が神秘的な力を持つという逆説的な信念である。
「リスクに身を置き、悪い結果が出たときの失望を抱えながらやっていけないのなら、この仕事は無理だ。」
3. 生きることと、死なないこと
生と死の判別、この基準がなければ医師は仕事ができまい。ただ、死にもいろいろな見方がある。心臓が停止した状態を言ったり、脳が機能を失った状態を言ったり、心を失えば、それを人間死と言う人もいる。「脳死」という用語一つとっても様々な定義があり、全脳死を死とする場合や脳の機能低下を条件に死とする場合など、法的な扱いも国によって違う。
脳死は死の兆候か、それとも死そのものか?脳神経科では「脳死」という用語を嫌い、「脳を基準とする死」という言い方をするそうな。脳だけが死んでいるとしたら、何が生きているというのか?臓器が生きているから移植医療が成り立つ。解剖学は、死体の下僕か?身体は死んでいるが、魂は生きているってか...
やはり、人は脳の中にいるように思う。とはいえ、脳を基準とする死の判断はなかなか微妙だ。本当に蘇生する可能性はないと断言できるのか?現代科学は、そこまで人間の脳のメカニズムを解明できているのか?脳を基準とする死が、生物学的な有機体の死と一致しないとすれば、このような物体をどう分類するというのか?心臓を基準とした死の方が分かりやすいとなれば、責任の基準もそこに持っていこうとする。そして、医師たちの愚痴が聞こえてくる...
「医学は、人を生かしておく... 永遠とまでは言わないが... ことについては、かなりの力を備えている。白血病患者に骨髄移植を 10 回行うこともできる。実験的な化学療法を試すこともできる。血小板輸血をし続けることもできる。ALS 患者に対しても、同じように極端な手段がいろいろとある。しかし、どれも病気を治すことはできない。そこで、このことが問題になってくる。医師が医学的にできることを一つも提供しないとしたら、それは自殺幇助にあたるのだろうか?」
4. 人工呼吸器の禅
ALS(筋萎縮性側索硬化症)とは、運動ニューロンが侵される神経変性疾患。体が重くなれば、心も重くなる。筋肉の小さな部分が震えることを「攣縮(線維束攣縮)」というそうで、たいていの攣縮は良性だとか。目や口、ふくらはぎや腕など、ちょっとした引きつけを起こすことは誰にでもあろう。運動をやりすぎたり、酒をやりすぎたりすると。
だが、運動ニューロン疾患では、放置すれば筋力が自然低下し、確実に死に至るという。ALS 患者が直面する究極の選択は、生きるべきか死ぬべきか。単純化して言うと、生き続けるためにできることをすべてやるか、それとも病に命を委ねるか。もっと露骨に言えば、気管切開して人工呼吸器をつけるチューブを挿入したいか?
人工呼吸器をつけると会話はできなくなるが、呼吸は続けられるし、脳と感覚系も冒されずに残る。感覚のほとんどを感じることができても、動かせる身体の部分がほとんどなくなり、最終的に、身体という殻の中に完全に閉じ込められてしまう。そのような状況を想像しながらも、ALS 患者の多くは、完全に冷静さを保っているという。意識過剰とまでは言わなくても。死ぬより辛そうな試練が、人の心を研ぎ澄まさせるのだろうか。人工呼吸器が奏でるシュー、シューという音は、サンバのリズミカルな音調とは対照的に冷たさを感じるものの、心にやすらぎを与える。意識がしっかりしていれば、子供の成長を黙って見守ることだってできる。
人工呼吸器をつけると会話はできなくなるが、呼吸は続けられるし、脳と感覚系も冒されずに残る。感覚のほとんどを感じることができても、動かせる身体の部分がほとんどなくなり、最終的に、身体という殻の中に完全に閉じ込められてしまう。そのような状況を想像しながらも、ALS 患者の多くは、完全に冷静さを保っているという。意識過剰とまでは言わなくても。死ぬより辛そうな試練が、人の心を研ぎ澄まさせるのだろうか。人工呼吸器が奏でるシュー、シューという音は、サンバのリズミカルな音調とは対照的に冷たさを感じるものの、心にやすらぎを与える。意識がしっかりしていれば、子供の成長を黙って見守ることだってできる。
とはいえ、人間は、どのくらいの不自由に耐えられるものなのか?どのくらい人の重荷になれるものなのか?生きる権利を訴えるのもいいが、死ぬ権利も考えずにはいられない。
その一方で、医師は、極限まで治療を続けるのは義務であろうか?実際、安楽死ビジネスなるものがあり、合法化されている国もある。おいらの親友も、難病のために尊厳死というものを受け入れて逝った。そして、友人という言葉も陳腐なものとなり、それ以外の友情は冷めて見えてくる。生あるものは、いずれ死ぬ。死ぬ時が来れば、ただ死んで行くだけ。絶望は冷めた心を覚醒させる。
やがて医師は、終末期の患者を通して死との交渉を余儀なくされる。すると、患者の方から目で訴える。そろそろ終わりにしましょう... と。
「呼吸器ケアの専門病院は、独特の世界だ。一種の煉獄とも言える。一日一日が意味もなく過ぎていく。快活に患者を励まして回る職員たちだけが、汗と排泄物と消毒薬の匂いに絶望感の混じった特有の空気を和らげようと、できることを懸命にこなしている...」
2018-05-27
"インテルスレッディング・ビルディング・ブロック" James Reinders 著
バッハのカンタータを BGM にフィーヌ・ブルゴーニュをやりながら、マイク・ガンカーズの本(前々記事)や、ブライアン・カーニハンとロブ・パイクの本(前記事)でコンピュータ哲学の郷愁に浸っていると、またもや本棚の奥底から考古学的な書物が出土された。オライリー君の本は、手っ取り早く手段を習得し、そしてそのまま... という群れが、納戸の一画を占拠してやがる。コレクションってやつは、集めるという行為の方が目的となって、知識を深めようという本来の目的を見失わせるところがある。
本書もその例に漏れず、満載されたコード事例を辞書代わりに用い、著者が力説する思いについては読み飛ばしたことだろう。仕事が忙しい!とは、威厳をまとった実に都合のよい言い訳である。こうして古書を漁ってノスタルジアに耽り、おまけに、これをネタにお喋りがかっぱえびせん状態になるのも、引退勧告を受け入れているようなものか...
さて、Intel Threading Building Blocks(TBB)とは、C++ の STL を拡張した並列処理用テンプレートライブラリであり、こいつがプログラマのための書であることは言うまでもない。
しかしながら、おいらはプログラマではない。むかーし五年間ほど、リアルタイム OS を書いていた時期があるものの、あくまでもハードウェア設計者であり、専門はプロセッサである。特定用途向けの CPU や DSP など。
とはいえ、効率的で合理的なシステムを構築する上で、ハードウェア側からの視点だけでは不十分である。それは、ソフトウェア設計者とて同じことだろう。
かつて、CPU パフォーマンスを最大限に引き出すためにアセンブラ言語で書き、また、高性能なコンパイラを求めた。今でこそ低水準な扱いを受ける C 言語だが、当時は高級言語として輝き、実装では物足りないほどであった。特にリアルタイム性の厳しい組込み系システムでは、ハードウェアとソフトウェアが協調してカスタマイズされる。命令セットやタスクの同期、あるいは割り込みといった機能を。
やがて、ムーアの法則に従い半導体の性能そのものが向上すると、汎用的なリアルタイム OS によって抽象化が進んだ。アプリケーション設計者は余計なことを考えずに済み、タスク設計に傾注できるようになったのである。
そして、プロセッサのマルチコア化が進むと、言語システムのレベルでマルチスレッド用ライブラリが整備されるとは、凄い時代だなぁ... などと思い本書を手に取ったのが、十年ぐらい前であろうか...
ところで、抽象化ってやつは、恐ろしい戦略である。おまじないを書いただけで、なんとなく動いてしまうし、それで理解した気分にもなれる。プログラミング言語には、おまじないめいた記述が実に多い。その代表といえば、"stdio.h" であろう。アセンブラ言語にも、ハードウェアを定義するためのおまじないがある。これらのおまじないは、時にはテーブルと呼ばれ、時にはやライブラリと呼ばれる。そして、STL を置き換えるように記述する TBB もまた、おまじないめいている。
ちなみに、ライブラリの中身を読むことが、プログラミング言語の習得における良い方法の一つと言えよう。なにしろ達人が書いたコードなのだから。ただ、書き方をパクるのではなく、考え方をパクりたい...
コンピューティングの並列思考そのものは古く、個人的にも三十年前には触れていた。メインフレームがそれだ。当時、TSS(Time Sharing System)という用語が流行った。メインフレーム設計者たちは、キャッシュのアルゴリズムだけが妙に詳しかったり、命令セットの効率性ばかりを追求したり、システムバスのアーキテクチャに執念を燃やしたりと専門技術が細分化され、全体構造となると意外と理解していなかった。
そして今日、パソコンや携帯端末のレベルでマルチコア化が進み、おまけに、マルチスレッド環境までも当たり前になると、もはや専門技術に執着している場合ではあるまい。
ただ、マルチタスクだから、マルチスレッドだからといって、必ずしもパフォーマンスが向上するわけではない。実際、シングルで処理した方が速いケースも少なくない。それは、開発プロジェクトのように、いくら技術者を増員しても日程が縮まらないばかりか、かえって無駄な管理作業を増やして混乱させる状況に似ている。それでも、人海戦術のお好きなお偉いさんをよく見かけるけど。
シングルタスクで十分な処理でも、マルチタスク OS 上で実行させることのメリットはある。例外処理やハードウェア割り込み、あるいは、システム暴走の抑制などの監視機能を、OS 側に任せることができるのだから。
例えば、ファクトリーオートメーションのような分野では、常に製造工程を監視する必要があり、マルチタスクの恩恵をかなり受けている。バックアップ電源が整備されているとはいえ、災害などで起こるイレギュラーなシャットダウンなども考慮される。シングルタスクの時代には、一つのプログラムがシステム全体をよくクラッシュさせていたのである。
そういえば、むかーし、ネイティブコードにこだわるお偉いさんがいた。スクリプト言語がまだ地位を獲得していない時代、技術雑誌に実行効率の側面から言語システムの比較が掲載されると、流行り用語に群がり、開発効率よりも優先させるから頭が痛い!信頼性までも向上すると思い込むようで、おいらはネイティブおじさんと呼んでいた。
そして今、ネイティブスレッドにこだわるお偉いさんがいる...
1. 並列思考
並列思考の基本的な戦略に、パイプライン時分割処理がある。まず、一つの流れ作業を分割してパイプライン化し、複数の流れ作業を時間単位で同時に処理できるようにする。このとき重要なのは、それぞれの作業に待ち時間が生じないように分割単位を一定時間でスライスすること。この一つの流れ作業がタスクであり、分割した単位がスレッドということになる。
そして、スレッドの単位をいかに効率的にマッピングできるかは、プロセッサとの相談ということになるが、アプリケーション設計者が、いちいちプロセッサのご機嫌伺いをしている場合ではない。
そこで、TBB は、そんなことを意識せずとも、自動的にスレッドマッピングをやってくれるというのだから、なんとも狐につままれたような... そんな気分になった記憶が蘇る。
マルチコア環境を与えられれば、それぞれのコアにタスクを割り当てて同時に処理しようと、誰でも考えるだろう。メモリ領域さえ互いに侵さなければ、大した問題にはならないはず。それでもリソースの競合は起こるけど。
さらに、一つのタスクをスレッドに分割して、これを並列で処理しようというのだから尋常ではない。当然ながら、メモリ競合やデッドロックの問題を深刻化させ、スレッドの前後関係などシーケンスの問題までも生じる。
ここで重要な概念は、タイムスライスとウィンドウ(時間幅)、そして、分割の正当性の検証ということになろう。実際、キャッシュの方がはるかに役立つ場面は少なくない。キャッシュで済むなら、わざわざマルチスレッドなんて高度な技を持ち出さなくとも。
ただ、キャッシュはキャッシュで、単純に未使用期間でデータを退避させているわけではなく、連想方式を組み合わせたりと様々な工夫がなされる。
TBB は、タスクとデータの不必要な移動を避けるようにキャッシュアクセスまでも考慮されているという。自動生成されたスレッドがキャッシュと相性がいいのは、なんとも心強い。
プロセッサ効率の最も良いケースは、演算処理が主体となるプログラムで、一つの物理スレッドに一つの論理スレッドがマッピングされているような状況である。
では、TBBってやつは、プロセッサのスレッド構造だけでなく、キャッシュ構造までも知っているというのか?
ただ、いくらハードウェア構造を知り尽くしているとしても、コンパイラが万能とは考えにくい。ロックを避ける価値は大いにあるが、デバックを困難にしかねない。TBB は、ロックの必要性を軽減してくれるが、ロックから解放してくれるわけではなさそうである。デッドロックと競合をいかに回避するかという問題はいつまでもつきまとうだろうし、メモリアロケートの問題もまた、最も悩ましい問題の一つとしてあり続けるだろう...
「プログラミングの真理の1つは、最良の直列アルゴリズムが最良の並列アルゴリズムであることはめったになく、その逆もまためったにない...」
2. スケジューリングと parallel_for
パイプラインの処理能力は、スライスしたトークンによって制限される。パイプラインが n 個のトークンで構成される場合、n より多くの操作を並列に実行することはできない。n値が低すぎると並列性が悪くなり、高すぎるとバッファなどのリソースを浪費する。
また、処理時間の最も遅い直列ステージに引っ張られる。それはプログラムだけでなく、システム I/O やネットワークポートなどのリソースである場合も多々ある。
最適なウィンドウサイズを模索するのは、実に骨が折れる。この面倒な作業を誰かが代替してくれるなら、並列処理は病みつきになりそう。スレッドではなく、タスクで考えるという安心感を与えてくれれれば...
本書は、その醍醐味を語るために、parallel_for テンプレートを中心的な話題にしている。タスク・スケジューラという高度な方法も提供されるが、まずは parallel_for を検討してみては... と勧めてくれる。
「なぜクィックソートのような再帰的なアルゴリズムが再帰テンプレートを使用する代わりに parallel_for テンプレートを使用すべきなのかを理解したとき、アプリケーションにスレッディング・ビルディング・ブロックを実装する方法を理解したことになる...」
ここで注目したいのは、「再帰連鎖反応」という概念である。スケジューラは、ツリー構造のタスクグラフで最も効率良く動作するという。それは、幅優先のスチールと深さ優先の作業という両面の戦略が最もうまく適用できるからであると。
例えば、マスタータスクが n 個の子を直接生成するには、O(n) ステップ必要だが、ツリー構造のフォークでは O(log n) ステップあればいい。ただ、ドメインがツリー構造でないことがよくある。それでもツリーマップは可能で、parallel_for は反復空間で動作し、バイナリーツリーに再帰的にマップするという。こうした並列思考の根底にアムダールの法則を匂わせ、直列ステージをなるべく減らしたいという動機を誘う。
ちなみに、コンピュータアーキテクトのジーン・アムダール氏はこう言ったそうな。
「ほぼ同じ大きさの直列処理の速度が改善されないのであれば、並列処理の速度を改善しようとする労力は無駄になる。」
本書もその例に漏れず、満載されたコード事例を辞書代わりに用い、著者が力説する思いについては読み飛ばしたことだろう。仕事が忙しい!とは、威厳をまとった実に都合のよい言い訳である。こうして古書を漁ってノスタルジアに耽り、おまけに、これをネタにお喋りがかっぱえびせん状態になるのも、引退勧告を受け入れているようなものか...
さて、Intel Threading Building Blocks(TBB)とは、C++ の STL を拡張した並列処理用テンプレートライブラリであり、こいつがプログラマのための書であることは言うまでもない。
しかしながら、おいらはプログラマではない。むかーし五年間ほど、リアルタイム OS を書いていた時期があるものの、あくまでもハードウェア設計者であり、専門はプロセッサである。特定用途向けの CPU や DSP など。
とはいえ、効率的で合理的なシステムを構築する上で、ハードウェア側からの視点だけでは不十分である。それは、ソフトウェア設計者とて同じことだろう。
かつて、CPU パフォーマンスを最大限に引き出すためにアセンブラ言語で書き、また、高性能なコンパイラを求めた。今でこそ低水準な扱いを受ける C 言語だが、当時は高級言語として輝き、実装では物足りないほどであった。特にリアルタイム性の厳しい組込み系システムでは、ハードウェアとソフトウェアが協調してカスタマイズされる。命令セットやタスクの同期、あるいは割り込みといった機能を。
やがて、ムーアの法則に従い半導体の性能そのものが向上すると、汎用的なリアルタイム OS によって抽象化が進んだ。アプリケーション設計者は余計なことを考えずに済み、タスク設計に傾注できるようになったのである。
そして、プロセッサのマルチコア化が進むと、言語システムのレベルでマルチスレッド用ライブラリが整備されるとは、凄い時代だなぁ... などと思い本書を手に取ったのが、十年ぐらい前であろうか...
ところで、抽象化ってやつは、恐ろしい戦略である。おまじないを書いただけで、なんとなく動いてしまうし、それで理解した気分にもなれる。プログラミング言語には、おまじないめいた記述が実に多い。その代表といえば、"stdio.h" であろう。アセンブラ言語にも、ハードウェアを定義するためのおまじないがある。これらのおまじないは、時にはテーブルと呼ばれ、時にはやライブラリと呼ばれる。そして、STL を置き換えるように記述する TBB もまた、おまじないめいている。
ちなみに、ライブラリの中身を読むことが、プログラミング言語の習得における良い方法の一つと言えよう。なにしろ達人が書いたコードなのだから。ただ、書き方をパクるのではなく、考え方をパクりたい...
コンピューティングの並列思考そのものは古く、個人的にも三十年前には触れていた。メインフレームがそれだ。当時、TSS(Time Sharing System)という用語が流行った。メインフレーム設計者たちは、キャッシュのアルゴリズムだけが妙に詳しかったり、命令セットの効率性ばかりを追求したり、システムバスのアーキテクチャに執念を燃やしたりと専門技術が細分化され、全体構造となると意外と理解していなかった。
そして今日、パソコンや携帯端末のレベルでマルチコア化が進み、おまけに、マルチスレッド環境までも当たり前になると、もはや専門技術に執着している場合ではあるまい。
ただ、マルチタスクだから、マルチスレッドだからといって、必ずしもパフォーマンスが向上するわけではない。実際、シングルで処理した方が速いケースも少なくない。それは、開発プロジェクトのように、いくら技術者を増員しても日程が縮まらないばかりか、かえって無駄な管理作業を増やして混乱させる状況に似ている。それでも、人海戦術のお好きなお偉いさんをよく見かけるけど。
シングルタスクで十分な処理でも、マルチタスク OS 上で実行させることのメリットはある。例外処理やハードウェア割り込み、あるいは、システム暴走の抑制などの監視機能を、OS 側に任せることができるのだから。
例えば、ファクトリーオートメーションのような分野では、常に製造工程を監視する必要があり、マルチタスクの恩恵をかなり受けている。バックアップ電源が整備されているとはいえ、災害などで起こるイレギュラーなシャットダウンなども考慮される。シングルタスクの時代には、一つのプログラムがシステム全体をよくクラッシュさせていたのである。
そういえば、むかーし、ネイティブコードにこだわるお偉いさんがいた。スクリプト言語がまだ地位を獲得していない時代、技術雑誌に実行効率の側面から言語システムの比較が掲載されると、流行り用語に群がり、開発効率よりも優先させるから頭が痛い!信頼性までも向上すると思い込むようで、おいらはネイティブおじさんと呼んでいた。
そして今、ネイティブスレッドにこだわるお偉いさんがいる...
1. 並列思考
並列思考の基本的な戦略に、パイプライン時分割処理がある。まず、一つの流れ作業を分割してパイプライン化し、複数の流れ作業を時間単位で同時に処理できるようにする。このとき重要なのは、それぞれの作業に待ち時間が生じないように分割単位を一定時間でスライスすること。この一つの流れ作業がタスクであり、分割した単位がスレッドということになる。
そして、スレッドの単位をいかに効率的にマッピングできるかは、プロセッサとの相談ということになるが、アプリケーション設計者が、いちいちプロセッサのご機嫌伺いをしている場合ではない。
そこで、TBB は、そんなことを意識せずとも、自動的にスレッドマッピングをやってくれるというのだから、なんとも狐につままれたような... そんな気分になった記憶が蘇る。
マルチコア環境を与えられれば、それぞれのコアにタスクを割り当てて同時に処理しようと、誰でも考えるだろう。メモリ領域さえ互いに侵さなければ、大した問題にはならないはず。それでもリソースの競合は起こるけど。
さらに、一つのタスクをスレッドに分割して、これを並列で処理しようというのだから尋常ではない。当然ながら、メモリ競合やデッドロックの問題を深刻化させ、スレッドの前後関係などシーケンスの問題までも生じる。
ここで重要な概念は、タイムスライスとウィンドウ(時間幅)、そして、分割の正当性の検証ということになろう。実際、キャッシュの方がはるかに役立つ場面は少なくない。キャッシュで済むなら、わざわざマルチスレッドなんて高度な技を持ち出さなくとも。
ただ、キャッシュはキャッシュで、単純に未使用期間でデータを退避させているわけではなく、連想方式を組み合わせたりと様々な工夫がなされる。
TBB は、タスクとデータの不必要な移動を避けるようにキャッシュアクセスまでも考慮されているという。自動生成されたスレッドがキャッシュと相性がいいのは、なんとも心強い。
プロセッサ効率の最も良いケースは、演算処理が主体となるプログラムで、一つの物理スレッドに一つの論理スレッドがマッピングされているような状況である。
では、TBBってやつは、プロセッサのスレッド構造だけでなく、キャッシュ構造までも知っているというのか?
ただ、いくらハードウェア構造を知り尽くしているとしても、コンパイラが万能とは考えにくい。ロックを避ける価値は大いにあるが、デバックを困難にしかねない。TBB は、ロックの必要性を軽減してくれるが、ロックから解放してくれるわけではなさそうである。デッドロックと競合をいかに回避するかという問題はいつまでもつきまとうだろうし、メモリアロケートの問題もまた、最も悩ましい問題の一つとしてあり続けるだろう...
「プログラミングの真理の1つは、最良の直列アルゴリズムが最良の並列アルゴリズムであることはめったになく、その逆もまためったにない...」
2. スケジューリングと parallel_for
パイプラインの処理能力は、スライスしたトークンによって制限される。パイプラインが n 個のトークンで構成される場合、n より多くの操作を並列に実行することはできない。n値が低すぎると並列性が悪くなり、高すぎるとバッファなどのリソースを浪費する。
また、処理時間の最も遅い直列ステージに引っ張られる。それはプログラムだけでなく、システム I/O やネットワークポートなどのリソースである場合も多々ある。
最適なウィンドウサイズを模索するのは、実に骨が折れる。この面倒な作業を誰かが代替してくれるなら、並列処理は病みつきになりそう。スレッドではなく、タスクで考えるという安心感を与えてくれれれば...
本書は、その醍醐味を語るために、parallel_for テンプレートを中心的な話題にしている。タスク・スケジューラという高度な方法も提供されるが、まずは parallel_for を検討してみては... と勧めてくれる。
「なぜクィックソートのような再帰的なアルゴリズムが再帰テンプレートを使用する代わりに parallel_for テンプレートを使用すべきなのかを理解したとき、アプリケーションにスレッディング・ビルディング・ブロックを実装する方法を理解したことになる...」
ここで注目したいのは、「再帰連鎖反応」という概念である。スケジューラは、ツリー構造のタスクグラフで最も効率良く動作するという。それは、幅優先のスチールと深さ優先の作業という両面の戦略が最もうまく適用できるからであると。
例えば、マスタータスクが n 個の子を直接生成するには、O(n) ステップ必要だが、ツリー構造のフォークでは O(log n) ステップあればいい。ただ、ドメインがツリー構造でないことがよくある。それでもツリーマップは可能で、parallel_for は反復空間で動作し、バイナリーツリーに再帰的にマップするという。こうした並列思考の根底にアムダールの法則を匂わせ、直列ステージをなるべく減らしたいという動機を誘う。
ちなみに、コンピュータアーキテクトのジーン・アムダール氏はこう言ったそうな。
「ほぼ同じ大きさの直列処理の速度が改善されないのであれば、並列処理の速度を改善しようとする労力は無駄になる。」
2018-05-20
"UNIX プログラミング環境" Brian W.Kernighan & Rob Pike 著
前記事でマイク・ガンカーズの UNIX 哲学に浸りながら本棚を眺めていると、なにやら懐かしい香りのする一冊に目が留まる。ライアン・カーニハンとロブ・パイクの本... 20年以上前に買ったやつだ。
これら二冊を要約すると... 一つのことを確実にすっきりやる!それらをうまく協調させる!そして、インターフェースの基本は標準入出力を介して!... これが、UNIX 哲学ということになろうか。エリック・レイモンドは、UNIX は口承文学!と書いた。ドナルド・クヌースは文芸的プログラミングを提唱した。技術分野とはいえ言語を語るからには、やはり文学的に味わえる余地を残したい...
本書の考古学的な発掘のおかげで、改めて気づかされることがある。それは、辞書的な扱いのために、じっくりと読んだ覚えのない専門書が幾多も埋れていることだ。ヘネパタ本をはじめお蔵入りした高価な書群が、数段に渡って本棚を占拠してやがる。面倒臭がり屋は、これらを横目にハウツー本へ飛びついてきた。なんてもったいないことを...
仕事が忙しい!などという台詞は、自分自身を納得をさせるのに実に都合のいい、威厳をまとった言い訳である。そのために、本質的な考え方を疎かにし、盲目であり続ける。その方が幸せなのかもしれんが...
哲学をやるなら、精神が本当の閑暇を知らねばならない。
しかし、だ。プログラミング環境は、まず慣れろ!というのがある。まず触ってみて、書いているうちにその思想を習得していく。そのために手っ取り早く使い方から学ぶ。実際、理屈をこねても何も始まらない。本書を手にしたのは、sed, grep, awk といったコマンド群の教科書としてである。これらのコマンドを押さえるだけでも、かなりのことができ、しかも、フィルタやパイプの機能を通してシェルの設計思想に触れることができる。標準入出力を基本インターフェースとする考え方は、自分でこしらえるプログラムもこの路線に乗せることで、シェルの有難味を実感できる。そのインターフェースを司るのが、C言語でいうところの put/get 系関数。ただ、あまりコンパクトにしようとすると、正規表現の暗号めいた記述のために悩まされることも多い。
他にも、低レベルの入出力を提供するシステムコールの仕組み、ファイルポインタや i ノードへアクセスできる機構、nohup という端末を off してもプロセスの実行を続けてくれるコマンドなど、重宝したものである。
「複数のフィルタを結合して、1本のパイプラインにすることは、問題を解決可能な小問題に分解するのに役立つ。このようなツールの利用法こそは UNIX プログラミング環境の核心であるといわれることが多い。この見方は一面的に過ぎるが、フィルタはシステムのあらゆるところで利用されており、なぜうまく動いているのかを調べておいて損はない。」
さて、何をもって UNIX と呼ぶか?となると、人それぞれ。コンパイラ、エディタ、コマンド群といった環境の一群を指す場合もあれば、X Window などのグラフィックス環境までを含む場合もあり、はたまた、文書作成ツールや統計解析ツールといったパッケージ群まで含む場合もある。その名が Multics から継承されているので、真髄がタイムシェアリングにあることは確かであろう。
本書は、UNIX の特徴に、まずファイルシステムを強調している。階層化された構造こそが... と。用語ではディレクトリとファイルで区別されるが、マッピングの中身は属性が違うだけ。最初は、現在の作業場としてカレントディレクトリという概念から触れることになるだろう。
そういえば、新入社員の時代、この単純化した仕組みを理解するために、パーティションやセクタで管理されるディスクの物理構造の書に飛びついたものである。低レベルの物理構造を知っておくと、ディスクをアクセスする関数の構造もイメージしやすい。
Windows でも同じ用語を使っていたが、いつ頃からか、フォルダという用語で抽象化された。ディレクトリという用語に不都合を感じないが、文具用語としては馴染みがないからか?あるいは、Mac のパクリか?コマンドプロンプトでは、dir コマンドのままだけど。
「UNIX システム上ではあらゆるものが1つのファイルである。ファイルシステムこそ、UNIX システムの成功と、使い勝手のよさをもたらした核心と言える。」
ところで、UNIX の ls というコマンド名は評判が悪いという話も聞くが、どうだろう。list と directory がいまいち合わないらしい。
ちなみに、おいらは、sl コマンド好きで、必ずインストールし、わざと間違えてタイプする。そう、あの蒸気機関車 SL が走るやつだ。
また、UNIX のプログラミングスタイルを四つ挙げている。
UNIXは、ギークな自由精神を体現する場として発展してきたところがある。その経緯はオープンソース的で、ボランティア的ですらあり、極めて民主主義的である。そのために、やりたければ自分でやれば!と冷たく突き放される。だから自由なのだ。才能なき酔いどれ天の邪鬼は自由が欲しいと大声で叫び、才能あふれる UNIX グルは静かに自由を謳歌する...
ところで、この手の書に触れると、お喋りが止まらなくなるのは悪い癖。歳のせいか... いや、そろそろ引退勧告か...
おいらが UNIX に出会ったのは、30年以上前。マシンが一人一台なんて環境は贅沢、ハードディスクなんて高嶺の花だった。メインフレームを利用するにしても、CPU の使用料を部署ごとに予算化しなければならず、なんで社内の機械を使うのにお金が請求されるのよ?と愚痴ったものである。
なので、朝、出勤と同時にワークステーションの端末に社員が群がる。SunOS か、HP-UX かでも人気度が違い、BSD系と System V系の派遣争いが色濃く残っていた時代で、まだ Solaris の名は聞かない。
当時の記憶として、やたらと TSS(Time Sharing System)という用語を使っていたような気がする。いくらパソコンが革命的に出現したとはいえ、まっとうなマルチタスクを実現できたのはメインフレーム以外には UNIX マシンだけ。しかも、TCP/IP を標準装備し、ネットワーク環境が当たり前のように整っているのが魅力だった。
その時代からの名残であろうか。おいらは、いまだに母艦マシンが手元にないと落ち着かないネアンデルタール人だ。15年前の独立時、Solaris マシンに設備投資したが、今では、Linux が母艦マシンを担っている。厳密に言えば、Linux は UNIX とは認められていないが、UNIX ライクであることに違いはない。タダだし、システム要件も緩い。ただ、タダほど高いものはないとも言う。実際、参考書やらで意外と投資額は大きいが、啓発的な浪費ならば慰めにもなる。
ずっと Fedora を愛用してきたが、周りには Ubuntu 愛好家が多く、変わり者と言われている。Fedora の魅力はパッケージ群が豊富なこと。とはいえ、システム関係をいじれば時々フリーズする。特に、グラフィック系で。それでも、ほとんどリモートで CUI 環境で操作するし、視覚的に覗きたい時はブラウザを経由するので、大した問題にはなっていない。
しかし、だ。UNIX の本分は、やはり安定感であろう。惚れっぽい酔いどれは暗示にかかりやすい。そして、CentOS に鞍替えするも、酔いどれ天の邪鬼ゆえか...
これら二冊を要約すると... 一つのことを確実にすっきりやる!それらをうまく協調させる!そして、インターフェースの基本は標準入出力を介して!... これが、UNIX 哲学ということになろうか。エリック・レイモンドは、UNIX は口承文学!と書いた。ドナルド・クヌースは文芸的プログラミングを提唱した。技術分野とはいえ言語を語るからには、やはり文学的に味わえる余地を残したい...
本書の考古学的な発掘のおかげで、改めて気づかされることがある。それは、辞書的な扱いのために、じっくりと読んだ覚えのない専門書が幾多も埋れていることだ。ヘネパタ本をはじめお蔵入りした高価な書群が、数段に渡って本棚を占拠してやがる。面倒臭がり屋は、これらを横目にハウツー本へ飛びついてきた。なんてもったいないことを...
仕事が忙しい!などという台詞は、自分自身を納得をさせるのに実に都合のいい、威厳をまとった言い訳である。そのために、本質的な考え方を疎かにし、盲目であり続ける。その方が幸せなのかもしれんが...
哲学をやるなら、精神が本当の閑暇を知らねばならない。
しかし、だ。プログラミング環境は、まず慣れろ!というのがある。まず触ってみて、書いているうちにその思想を習得していく。そのために手っ取り早く使い方から学ぶ。実際、理屈をこねても何も始まらない。本書を手にしたのは、sed, grep, awk といったコマンド群の教科書としてである。これらのコマンドを押さえるだけでも、かなりのことができ、しかも、フィルタやパイプの機能を通してシェルの設計思想に触れることができる。標準入出力を基本インターフェースとする考え方は、自分でこしらえるプログラムもこの路線に乗せることで、シェルの有難味を実感できる。そのインターフェースを司るのが、C言語でいうところの put/get 系関数。ただ、あまりコンパクトにしようとすると、正規表現の暗号めいた記述のために悩まされることも多い。
他にも、低レベルの入出力を提供するシステムコールの仕組み、ファイルポインタや i ノードへアクセスできる機構、nohup という端末を off してもプロセスの実行を続けてくれるコマンドなど、重宝したものである。
「複数のフィルタを結合して、1本のパイプラインにすることは、問題を解決可能な小問題に分解するのに役立つ。このようなツールの利用法こそは UNIX プログラミング環境の核心であるといわれることが多い。この見方は一面的に過ぎるが、フィルタはシステムのあらゆるところで利用されており、なぜうまく動いているのかを調べておいて損はない。」
さて、何をもって UNIX と呼ぶか?となると、人それぞれ。コンパイラ、エディタ、コマンド群といった環境の一群を指す場合もあれば、X Window などのグラフィックス環境までを含む場合もあり、はたまた、文書作成ツールや統計解析ツールといったパッケージ群まで含む場合もある。その名が Multics から継承されているので、真髄がタイムシェアリングにあることは確かであろう。
本書は、UNIX の特徴に、まずファイルシステムを強調している。階層化された構造こそが... と。用語ではディレクトリとファイルで区別されるが、マッピングの中身は属性が違うだけ。最初は、現在の作業場としてカレントディレクトリという概念から触れることになるだろう。
そういえば、新入社員の時代、この単純化した仕組みを理解するために、パーティションやセクタで管理されるディスクの物理構造の書に飛びついたものである。低レベルの物理構造を知っておくと、ディスクをアクセスする関数の構造もイメージしやすい。
Windows でも同じ用語を使っていたが、いつ頃からか、フォルダという用語で抽象化された。ディレクトリという用語に不都合を感じないが、文具用語としては馴染みがないからか?あるいは、Mac のパクリか?コマンドプロンプトでは、dir コマンドのままだけど。
「UNIX システム上ではあらゆるものが1つのファイルである。ファイルシステムこそ、UNIX システムの成功と、使い勝手のよさをもたらした核心と言える。」
ところで、UNIX の ls というコマンド名は評判が悪いという話も聞くが、どうだろう。list と directory がいまいち合わないらしい。
ちなみに、おいらは、sl コマンド好きで、必ずインストールし、わざと間違えてタイプする。そう、あの蒸気機関車 SL が走るやつだ。
また、UNIX のプログラミングスタイルを四つ挙げている。
- 第一の姿勢... 汚れ仕事はマシンにやらせよう!人間は思考すべきことに集中すること。
- 第二の姿勢... 仕事は他人にやらせよう!既存のプログラムを素材とし、それを結合し、シェルの思想、すなわちフィルタやパイプの機能に乗せること。
- 第三の姿勢... 仕事は順序を踏んで行おう!最も単純なものからこしらえ、その経験を軸に拡張していくこと。無闇にオプションを追加して多機能主義に陥らないこと。
- 第四の姿勢... ツールを作ろう!環境を自分だけのものにカスタマイズして自由を謳歌すること。UNIX システムは完全ではないので、修正の余地が多分にあるということを理解すること。
UNIXは、ギークな自由精神を体現する場として発展してきたところがある。その経緯はオープンソース的で、ボランティア的ですらあり、極めて民主主義的である。そのために、やりたければ自分でやれば!と冷たく突き放される。だから自由なのだ。才能なき酔いどれ天の邪鬼は自由が欲しいと大声で叫び、才能あふれる UNIX グルは静かに自由を謳歌する...
ところで、この手の書に触れると、お喋りが止まらなくなるのは悪い癖。歳のせいか... いや、そろそろ引退勧告か...
おいらが UNIX に出会ったのは、30年以上前。マシンが一人一台なんて環境は贅沢、ハードディスクなんて高嶺の花だった。メインフレームを利用するにしても、CPU の使用料を部署ごとに予算化しなければならず、なんで社内の機械を使うのにお金が請求されるのよ?と愚痴ったものである。
なので、朝、出勤と同時にワークステーションの端末に社員が群がる。SunOS か、HP-UX かでも人気度が違い、BSD系と System V系の派遣争いが色濃く残っていた時代で、まだ Solaris の名は聞かない。
当時の記憶として、やたらと TSS(Time Sharing System)という用語を使っていたような気がする。いくらパソコンが革命的に出現したとはいえ、まっとうなマルチタスクを実現できたのはメインフレーム以外には UNIX マシンだけ。しかも、TCP/IP を標準装備し、ネットワーク環境が当たり前のように整っているのが魅力だった。
その時代からの名残であろうか。おいらは、いまだに母艦マシンが手元にないと落ち着かないネアンデルタール人だ。15年前の独立時、Solaris マシンに設備投資したが、今では、Linux が母艦マシンを担っている。厳密に言えば、Linux は UNIX とは認められていないが、UNIX ライクであることに違いはない。タダだし、システム要件も緩い。ただ、タダほど高いものはないとも言う。実際、参考書やらで意外と投資額は大きいが、啓発的な浪費ならば慰めにもなる。
ずっと Fedora を愛用してきたが、周りには Ubuntu 愛好家が多く、変わり者と言われている。Fedora の魅力はパッケージ群が豊富なこと。とはいえ、システム関係をいじれば時々フリーズする。特に、グラフィック系で。それでも、ほとんどリモートで CUI 環境で操作するし、視覚的に覗きたい時はブラウザを経由するので、大した問題にはなっていない。
しかし、だ。UNIX の本分は、やはり安定感であろう。惚れっぽい酔いどれは暗示にかかりやすい。そして、CentOS に鞍替えするも、酔いどれ天の邪鬼ゆえか...
2018-05-13
"UNIX という考え方" Mike Gancarz 著
「オペレーティングシステムは生きている、息をしているソフトウェアの生命体だ。コンピュータシステムの魂であり、神経系であり、電子とシリコンを生き物に変える。オペレーティングシステムは、コンピュータシステムに生命を吹き込む。オペレーティングシステムは、その性質上、創造者の哲学を身にまとって現れる...」
原題には、"The UNIX Philosophy." とある...
OS の参考書というものは、たいてい大量のツールの使い方について解説されるもので、なぜ UNIX なのか?と素朴な疑問を投げかけるやつはあまり見かけない。OS の選択では、周りの影響を受けやすく、慣習とも強く結びつき、宗教的ですらある。宗教ってやつは、その根源にある思想を理解せずに、信じる者は救われるの原理に働きかける。現在では、ユーザに OS の存在を意識させるべきではない!という論調も強くあり、これも世の趨勢というものか...
スマホの世界ともなると、無意識に「愛の電話」教に入信していたり、知らず知らずに「人造人間」に仕立てられていたり。実際、OS と他のソフトウェアとの境界はますます曖昧になり、カーネル自体も巨大化し、どこまでをカーネルと呼ぶべきかも議論が分かれる。
それでも、だ。たとえ境界面が曖昧になっても、やはり区別しておいた方がいい。ノイマン型の思想哲学を体現する場として... それを語る場として... そしてなにより、文芸的に楽しめる場として...
ノイマン型コンピュータを現実世界にしたのはメインフレームということになろうが、思想哲学を植え付けたのは UNIX ということになろう。MS-DOS は文句なしにパソコンの革命児であったし、MacOS にしたって視覚に訴えるユーザインターフェースで魅了した。
しかし、その思想哲学となると UNIX に負うところが大きい。デスクトップ環境のシェアでは、これだけ Windows や Mac で占められながらも、UNIX 信者は根強く生き残っており、使い勝手の良し悪しや技術的な優位性だけでは説明のつかない、実に人間社会学的な多様性を示している。
おいらの周りにもメイン環境が UNIX となると少数派になるが、サブ環境で UNIX ライクな環境を確保していない人となると皆無。Xen, KVM, VMWare などで仮想マシンを構築したり、Cygwin のようなソフトウェアで Windows 上に仮想環境を構築したり。
エンジニアが、UNIXライクな環境を手放せない理由の一つに柔軟性があろう。柔軟性が高いということは、自由度が高いということ。自由度が高いということは、それだけ知識を要するということ。おいらのような面倒臭がり屋には、ちと高級過ぎる感もある。実は能力のない人間にとって、自由ほど不自由なものはないのである。
ユーザに分かりやすく、間違いをしたくないというなら、これしかできない!ってやればいい。対して、お好きなように!ってやるのが UNIX 流。自由への道は険しい。「UNIX グル」なんて呼び名には、他とは違う!という思いが込められている。ソフトウェア魔術に憑かれた人々はギークな香りを漂わせ、憧れもする。
そして、この領域に一度踏み込むと、待ち受ける学習曲線から降りられなくなる。まるで麻薬だ!酔いどれ天の邪鬼は、このジレンマにずっと悩まされつつも、コマンドライン環境を絶対に手放せないネアンデルタール人なのである...
ところで、MS教(= SM狂)の十字架バージョンの WUuu... (Windows Update の略)にこれだけ悩まされて来たというのに、いまだにデスクトップ環境のメインが、Windows とはどういうわけだ?本書は、その答えを一言で片付けやがる。群集心理!と...
実に頭の痛い御指摘。これだけシェアが高ければ、この選択で間違うはずがないという思いがどこかにある。しかも、人間ってやつは、自分だけが不幸になることは絶対に許せないもので、みんなで不幸になる分には安心できるという奇妙な意識を持っている。
いつの時代でも、良いものが勝つとは限らない。いや、やや劣るぐらいの方が勝つケースが多い。実際、苦労して整えた環境ほど親しみがわく。出来の悪い子ほど可愛いと言うが、出来が悪過ぎれば見放される。Windows とは、そういう人間心理をうまくついた絶妙な出来栄えということは言えるのやもしれん...
1. 軍隊方式
軍隊経験のある人ならば、世の中には、「正しいやり方」と「間違ったやり方」、そして「軍隊方式」があることを知っているという。正しいか間違っているかは互いに対極にあり、立ち位置も分かりやすい。だが、白とも黒ともつかないやり方では、うまくいくはずのものが、なぜか失敗したり、惨めに失敗するはずのものが、空前の成功を収めたり、まったくわけが分からん。この得体の知れない方式が、UNIX にどこか似ているというのである。
純粋主義者の言い分を信じれば、20年も前に消滅していなければならないが、評論家の厳しい非難を食べては肥え太り、寄生虫のごとく生き長らえている。滅亡しなかったからには、少なからず信者がいて、なんらかの理由があるだろう。
UNIX 方式には、「劣るほうが優れている」という逆説的な法則が染み付いているという。そして、コンピュータの設計で考慮される特性を四つ挙げている。単純さ、正しさ、一貫性、完全性の四つ。設計というものは、単純で、観察可能で、どこから見ても正しく、バグがなく、全体に一貫性があり、予想されるすべての場面に対応しているという意味で完全でなければならない。
だが、四つすべての特性を満足するのは、現実的ではなく、優先順位が重要となる。一般的に「適切な」と表現すれば、単純さを犠牲にしてでも完全性を追い求めるだろう。
しかし、UNIX 開発者は、なによりも単純さを優先するという。ここが、しばしば非難の的とされるところだ。結果的に単純さが完全性へ導くという信念であろうし、単純さを犠牲にすれば、やがて完全性も見失われていくという警鐘でもあろう...
2. UNIX 教のドグマ
UNIX 人を名乗るなら、守るべき九つの定理が提示される。
・Small is beautiful.
ヒトラーのような独裁者の思考回路は、融通のきかない巨大なオモチャがお好き。対して、自由人は小さなもので大きく動かそうとする。機動性と小回り、その積み重ねによって。これが柔軟性の根本原理と言えよう。
・一つのプログラムには一つのことをうまくやらせる。
余計な脂肪分を削り落とし、一つの仕事を確実にこなす。"Small is beautiful." とセットで考えたい。
・できるだけ早く試作。
最初から完成度の高い仕様書が書けるはずもなく、まずはプロトタイプで実験して、必要に応じて仕様をまとめていく。
・効率より移植性を優先。
スクリプト言語の持つ利点は、C言語よりも移植性が高いこと。最も効率の良い方法は、たいてい移植性に欠ける。
・数値データは ASCII フラットファイルで保存。
プログラムの移植性もさることながら、データの移植性も重要だ!いや、こちらの方を優先すべきかもしれない。データ構造で ASCII 形式を意識していれば、エディタで手軽に開ける。酔いどれネアンデルタール人にはエディタの存在しない環境なんて想像できない...
・ソフトウェアを挺子として使う。
梃子の原理... 支点をいかに自分に向けるか。これが UNIX が成功してきた理由の一つだという。優秀なプログラマが書くコードは黄金律となる。自分だけの技術だとして囲い込まず、惜しみなく披露する。オープンソース的な思想原理は、民主主義的な機構とすこぶる相性がよく、なによりも自由を重んじる。
・シェルスクリプトによって挺子の効果と移植性を高める。
スクリプト言語が流行る最大の理由は、やはりこれであろう。
・過度の対話的インターフェースを避ける。
拘束的なユーザインターフェースを避けよ!誘導尋問で導くような!拘束的なプログラムは、ユーザが人間であることを想定しているという。しかも、そこには多機能主義が忍び寄る。これだけ自動化が進めば、相手がコンピュータであることも想定すべきということ。
・すべてのプログラムをフィルタとして設計。
プログラムの本質はデータを生成することではなく、データを処理することだという。データを生成するのは人間の役割ってか。ただ、巷で騒がれる AI ともなれば、どうだろう。人間の役割を狭めているのは人間自身ということか。フィルタ機構によってパイプが機能し、標準入出力ライブラリによって、コマンドライン環境がより強力となる。
ただ、本書に登場する grep, sort, sed, awk といったコマンドは、古びた感を漂わせ、こうした機能はほとんどスクリプト言語で置き換えている。いや、ちょっとした時はいまだに使っているか。diff を重宝し、make は嫌いではないし、やはりネアンデルタール人...
これらの定理は、すべて失敗から導かれたものという見方はできるだろう。少なくともおいらは、これらを教訓にできるような失敗をすべて経験している。いや、経験させられた。組織に所属していれば、政治的な思惑で意思に反することを強いられることもしばしば。特に、モジュールの流用で痛い目に...
開発会議でまず強調されるのが、開発期間の短縮だ。思想に則っていないものを流用すれば、却ってスパゲッティ状態になる。お偉いさんの口癖は、日程を死守せよ!しかも、一旦遅れれば人海戦術を採用するのがお好きときた。そして、余計に日程をスパゲッティ状態にする。
したがって、ここに提示されるドグマは、なにも OS の開発に限ったことではないということを強調したい!
「覚えておいてほしい。ソフトウェアは、実は作るものではなく、成長していくものなのだ。成長したソフトウェアを新しいハードウェアにも移植できれば、そのソフトウェアの価値は上がる。新しいアーキテクチャは頻繁に現れる。移植性の高いソフトウェアは、すぐにその新しいアーキテクチャの長所を利用できる。そこで、試作では効率よりも移植性を優先させる。その結果、移植できるものは生き残る。」
原題には、"The UNIX Philosophy." とある...
OS の参考書というものは、たいてい大量のツールの使い方について解説されるもので、なぜ UNIX なのか?と素朴な疑問を投げかけるやつはあまり見かけない。OS の選択では、周りの影響を受けやすく、慣習とも強く結びつき、宗教的ですらある。宗教ってやつは、その根源にある思想を理解せずに、信じる者は救われるの原理に働きかける。現在では、ユーザに OS の存在を意識させるべきではない!という論調も強くあり、これも世の趨勢というものか...
スマホの世界ともなると、無意識に「愛の電話」教に入信していたり、知らず知らずに「人造人間」に仕立てられていたり。実際、OS と他のソフトウェアとの境界はますます曖昧になり、カーネル自体も巨大化し、どこまでをカーネルと呼ぶべきかも議論が分かれる。
それでも、だ。たとえ境界面が曖昧になっても、やはり区別しておいた方がいい。ノイマン型の思想哲学を体現する場として... それを語る場として... そしてなにより、文芸的に楽しめる場として...
ノイマン型コンピュータを現実世界にしたのはメインフレームということになろうが、思想哲学を植え付けたのは UNIX ということになろう。MS-DOS は文句なしにパソコンの革命児であったし、MacOS にしたって視覚に訴えるユーザインターフェースで魅了した。
しかし、その思想哲学となると UNIX に負うところが大きい。デスクトップ環境のシェアでは、これだけ Windows や Mac で占められながらも、UNIX 信者は根強く生き残っており、使い勝手の良し悪しや技術的な優位性だけでは説明のつかない、実に人間社会学的な多様性を示している。
おいらの周りにもメイン環境が UNIX となると少数派になるが、サブ環境で UNIX ライクな環境を確保していない人となると皆無。Xen, KVM, VMWare などで仮想マシンを構築したり、Cygwin のようなソフトウェアで Windows 上に仮想環境を構築したり。
エンジニアが、UNIXライクな環境を手放せない理由の一つに柔軟性があろう。柔軟性が高いということは、自由度が高いということ。自由度が高いということは、それだけ知識を要するということ。おいらのような面倒臭がり屋には、ちと高級過ぎる感もある。実は能力のない人間にとって、自由ほど不自由なものはないのである。
ユーザに分かりやすく、間違いをしたくないというなら、これしかできない!ってやればいい。対して、お好きなように!ってやるのが UNIX 流。自由への道は険しい。「UNIX グル」なんて呼び名には、他とは違う!という思いが込められている。ソフトウェア魔術に憑かれた人々はギークな香りを漂わせ、憧れもする。
そして、この領域に一度踏み込むと、待ち受ける学習曲線から降りられなくなる。まるで麻薬だ!酔いどれ天の邪鬼は、このジレンマにずっと悩まされつつも、コマンドライン環境を絶対に手放せないネアンデルタール人なのである...
ところで、MS教(= SM狂)の十字架バージョンの WUuu... (Windows Update の略)にこれだけ悩まされて来たというのに、いまだにデスクトップ環境のメインが、Windows とはどういうわけだ?本書は、その答えを一言で片付けやがる。群集心理!と...
実に頭の痛い御指摘。これだけシェアが高ければ、この選択で間違うはずがないという思いがどこかにある。しかも、人間ってやつは、自分だけが不幸になることは絶対に許せないもので、みんなで不幸になる分には安心できるという奇妙な意識を持っている。
いつの時代でも、良いものが勝つとは限らない。いや、やや劣るぐらいの方が勝つケースが多い。実際、苦労して整えた環境ほど親しみがわく。出来の悪い子ほど可愛いと言うが、出来が悪過ぎれば見放される。Windows とは、そういう人間心理をうまくついた絶妙な出来栄えということは言えるのやもしれん...
1. 軍隊方式
軍隊経験のある人ならば、世の中には、「正しいやり方」と「間違ったやり方」、そして「軍隊方式」があることを知っているという。正しいか間違っているかは互いに対極にあり、立ち位置も分かりやすい。だが、白とも黒ともつかないやり方では、うまくいくはずのものが、なぜか失敗したり、惨めに失敗するはずのものが、空前の成功を収めたり、まったくわけが分からん。この得体の知れない方式が、UNIX にどこか似ているというのである。
純粋主義者の言い分を信じれば、20年も前に消滅していなければならないが、評論家の厳しい非難を食べては肥え太り、寄生虫のごとく生き長らえている。滅亡しなかったからには、少なからず信者がいて、なんらかの理由があるだろう。
UNIX 方式には、「劣るほうが優れている」という逆説的な法則が染み付いているという。そして、コンピュータの設計で考慮される特性を四つ挙げている。単純さ、正しさ、一貫性、完全性の四つ。設計というものは、単純で、観察可能で、どこから見ても正しく、バグがなく、全体に一貫性があり、予想されるすべての場面に対応しているという意味で完全でなければならない。
だが、四つすべての特性を満足するのは、現実的ではなく、優先順位が重要となる。一般的に「適切な」と表現すれば、単純さを犠牲にしてでも完全性を追い求めるだろう。
しかし、UNIX 開発者は、なによりも単純さを優先するという。ここが、しばしば非難の的とされるところだ。結果的に単純さが完全性へ導くという信念であろうし、単純さを犠牲にすれば、やがて完全性も見失われていくという警鐘でもあろう...
2. UNIX 教のドグマ
UNIX 人を名乗るなら、守るべき九つの定理が提示される。
・Small is beautiful.
ヒトラーのような独裁者の思考回路は、融通のきかない巨大なオモチャがお好き。対して、自由人は小さなもので大きく動かそうとする。機動性と小回り、その積み重ねによって。これが柔軟性の根本原理と言えよう。
・一つのプログラムには一つのことをうまくやらせる。
余計な脂肪分を削り落とし、一つの仕事を確実にこなす。"Small is beautiful." とセットで考えたい。
・できるだけ早く試作。
最初から完成度の高い仕様書が書けるはずもなく、まずはプロトタイプで実験して、必要に応じて仕様をまとめていく。
・効率より移植性を優先。
スクリプト言語の持つ利点は、C言語よりも移植性が高いこと。最も効率の良い方法は、たいてい移植性に欠ける。
・数値データは ASCII フラットファイルで保存。
プログラムの移植性もさることながら、データの移植性も重要だ!いや、こちらの方を優先すべきかもしれない。データ構造で ASCII 形式を意識していれば、エディタで手軽に開ける。酔いどれネアンデルタール人にはエディタの存在しない環境なんて想像できない...
・ソフトウェアを挺子として使う。
梃子の原理... 支点をいかに自分に向けるか。これが UNIX が成功してきた理由の一つだという。優秀なプログラマが書くコードは黄金律となる。自分だけの技術だとして囲い込まず、惜しみなく披露する。オープンソース的な思想原理は、民主主義的な機構とすこぶる相性がよく、なによりも自由を重んじる。
・シェルスクリプトによって挺子の効果と移植性を高める。
スクリプト言語が流行る最大の理由は、やはりこれであろう。
・過度の対話的インターフェースを避ける。
拘束的なユーザインターフェースを避けよ!誘導尋問で導くような!拘束的なプログラムは、ユーザが人間であることを想定しているという。しかも、そこには多機能主義が忍び寄る。これだけ自動化が進めば、相手がコンピュータであることも想定すべきということ。
・すべてのプログラムをフィルタとして設計。
プログラムの本質はデータを生成することではなく、データを処理することだという。データを生成するのは人間の役割ってか。ただ、巷で騒がれる AI ともなれば、どうだろう。人間の役割を狭めているのは人間自身ということか。フィルタ機構によってパイプが機能し、標準入出力ライブラリによって、コマンドライン環境がより強力となる。
ただ、本書に登場する grep, sort, sed, awk といったコマンドは、古びた感を漂わせ、こうした機能はほとんどスクリプト言語で置き換えている。いや、ちょっとした時はいまだに使っているか。diff を重宝し、make は嫌いではないし、やはりネアンデルタール人...
これらの定理は、すべて失敗から導かれたものという見方はできるだろう。少なくともおいらは、これらを教訓にできるような失敗をすべて経験している。いや、経験させられた。組織に所属していれば、政治的な思惑で意思に反することを強いられることもしばしば。特に、モジュールの流用で痛い目に...
開発会議でまず強調されるのが、開発期間の短縮だ。思想に則っていないものを流用すれば、却ってスパゲッティ状態になる。お偉いさんの口癖は、日程を死守せよ!しかも、一旦遅れれば人海戦術を採用するのがお好きときた。そして、余計に日程をスパゲッティ状態にする。
したがって、ここに提示されるドグマは、なにも OS の開発に限ったことではないということを強調したい!
「覚えておいてほしい。ソフトウェアは、実は作るものではなく、成長していくものなのだ。成長したソフトウェアを新しいハードウェアにも移植できれば、そのソフトウェアの価値は上がる。新しいアーキテクチャは頻繁に現れる。移植性の高いソフトウェアは、すぐにその新しいアーキテクチャの長所を利用できる。そこで、試作では効率よりも移植性を優先させる。その結果、移植できるものは生き残る。」
2018-05-06
"世界の技術を支配するベル研究所の興亡" Jon Gertner 著
精神を完全に解放できれば、時間の概念がぶっとぶ。研究に没頭できれば、崇高な気分になれる。この喜びは、なにものにも代えがたい。その原動力は純粋な好奇心に発し、自由な風土が優れたアイデアを生み出す。そして、個々の喜びが使命感にまで高められた時、強力な産業研究所として成立する。まさにアイデア工場!
原題には、"THE IDEA FACTRY... Bell Labs and the Great Age of American Innovation." とあり、ジョン・ガートナーが、その熱き技術者魂を代弁してくれる。ここで紹介される選りすぐりの人材は、マグネトロンの開発で U ボート撃沈に貢献したジム・フィスク、接合型トランジスタの発明で伝説となったウィリアム・ショックレー、純粋な好奇心に邁進して情報理論の父となったクロード・シャノン、異分野の専門家たちの学際的な知の結集を図って組織論を確立したマービン・ケリー、天才シャノンと経営者ケリーの中間的な位置で技術を見抜き牽引する仕掛け人ジョン・ピアース、作家のごとく完璧な文法を操って聴衆を煙に巻く饒舌家ウィリアム・ベーカーといった奇人、変人、狂人の面々... 彼らが世界のイノベーションハブとしての存在感を示し、史上最強の部類に入るプロジェクトチームであったことは間違いない。ゲーテはカントを評して、こんなことを言った... たとえ君が彼の著書を読んだことがないにしても、彼は君にも影響を与えている... と。エレクトロニクスに携わる技術者ならば、ベル研究所からなんらかの影響を受けてきたはずである...
ベル研究所が発明した功績を挙げても、なかなか言い尽せるものではない。第二次大戦を制したレーダー、電子機器の米と言われる半導体を開花させたトランジスタ、蜂の巣型に無線局を張り巡らせて携帯電話の原型となった移動体通信網、GPS の先駆けとなった通信衛星...
ここではハードウェアばかりが注目され、ソフトウェアにはほとんど触れられないが、ケン・トンプソンが編み出した UNIX や、デニス・リッチーが開発した C 言語も付け加えたい。UNIX は基本的なソフトウェアアーキテクチャの生みの親的存在であり、C 言語は世界中のプログラマに愛されると同時に嫌われ者であり続け、その影響力は今日でも絶大なのだから。そして、なによりも見逃せないのは、これらの技術が今日のデジタル社会を根底から支えるシャノンの情報理論と結びついてきたこと。すなわち、2 を底とする対数の世界と完全にマッチすることである。
その名が、グラハム・ベルに由来するのかは定かではないが、電話交換機から派生してきたことは見て取れる。20世紀初頭、AT&T が掲げた「ユニバーサル・コネクティビティ」という壮大な構想は、今日のクラウド・コンピューティングに受け継がれている。
情報を制する者が世界を制す!と言われるが、それは古代から証明されてきたこと。人間の本能には、なんでもいいから繋がっていないと不安でしょうがいない性分があり、概してコミュニティやコネクティビティってやつに憑かれる。情報交換こそが繋がりをもたらし、それが友好を温めるものであったり、欺くものであったり。いくら名目上の実力社会を言い張っても、本性上のコネクション社会を免れない。世間では悪魔のように攻撃を受ける情報隠蔽体質にしたって、感情的で本性的なものだ。自分だけが知っているという事が自尊心をくすぐり、自意識を肥大化させる。おまけに、誰かに喋りたくてしょうがないという相い反する性分まで抱え込む。ベル研究所は、こうした人間の本能をくすぐる領域を制したことで、技術史上比類なき成功を収めたということは言えるだろう。
産業史上これほど大規模な独占企業を生み出したのは奇遇といえば、そうかもしれない。ただ、電信通信業界では「自然独占」という形態がよく指摘される。安定したサービスを隅々にまで行き届かせるためには、都市部の収益で地方を賄う必要があり、こうした業界体質に便乗して巨人化していった様子が見て取れる。それは鉄道業界や運送業界にも言えることだ。物流、郵便、情報の集中する場所が... あらゆる流れを支配する者が... そして、彼らが開花させたエレクトロニクス業界は、様々な種のネットワークを形成し、いまや知のハブとしての存在感を示そうとしている。
一方、現在のベル研究所はと言うと、皮肉なことに一大企業に属す一産業研究所という地位に甘んじている。どんなに優れたアイデアも、どんなに優れた技術も、やがて模倣され、改良され、庶民化し、凡庸化していく。生き残るには、この道しかなかったのやもしれん...
1. あぁ、産業研究所よ...
皮肉なことに戦争が発明の母となったことは否めない。人間なんてものは、必要に迫られなければなかなか実力を発揮できないもの。アルキメデスの時代から、最先端を突っ走ってきたあらゆる科学技術は、まず軍事の応用として現実味を帯びてきた。レーダーの開発者たちは、よくこう語り合ったとそうな。
「戦争に勝てたのはレーダーのおかげである。原子爆弾は単に戦争を終わらせただけだ...」
レーダーは、対象物から反射波をとらえるという科学的には単純な原理であっても、技術的にはなかなか手ごわい。微小信号につきまとう雑音と減衰という S/N 比の問題は、通信制御の基本中の基本。米国政府のレーダー開発への投資額は推定30億ドルに達し、原爆の20億ドルを大きく上回ったという。
戦争の最大の発明は、VT 信管だという意見もよく耳にする。だが、社会的なインパクトという意味では、原子爆弾ということになろうか。なにしろ悪魔の代名詞とされるのだから...
動機はなんであれ、光学、音響学、反響学、磁気学、有機化学、冶金学、気象学など、実に多くの科学的知識が結集した結果、エレクトロニクス時代の幕開けとなった。ベル研究所の社員は、人間のコミュニケーションにわずかでも関係のあることなら何でも研究するという。有線であろうが、無線であろうが、音声データであろうが、画像データであろうが。この時代にあって生理学や心理学までも研究対象にしていたとか。
彼らの哲学的動機には、なんとなく共感できるところが多い。おいらが、ある電機メーカで研究所と名のつく職場に十年ほど籍を置いていたこともあろうか。研究者という人種は、世間で無価値とされるものに価値を見出そうとする。それも執念めいたものによって。ただし、失敗を恐れない挑戦!と言えば聞こえはいいが、贅沢な資金を後ろ楯に失敗感覚が慢性化していくことにも留意したい...
2. あぁ、偉大なトランジスタよ...
近代技術の最大の発明は何か?と問えば、酔いどれ天の邪鬼は、即トランジスタ!と答えるだろう。仕事柄もあろうけど、トランジスタを語り始めると、かっぱえびせん状態になるのだ。
何が凄いかって?
まず、増幅作用を挙げよう...
電流が流れる固体物質といえば鉱物だが、こいつを経由すると電流が増幅するとは、まさに物質の偉大さを示している。電力源が貧弱でも中継器で増幅すれば、いくら遠距離でも電力を供給することが可能となる。そして近代科学は、電子の流れを研究するための専門分野、とりわけ、表面準位を研究する結晶学、バルク特性を研究する界面化学、金属素材を研究する冶金学といった学問を開花させてきた。いわば、基礎物理学の領域である。あの仮説を嫌ったニュートンも錬金術に執着したという説があるが、まだ妖術や占星術の域を脱していない。あるノーベル賞級の経済学者はこんなことを言った... 基礎物理学者には金融アナリスト並に報酬を払うべきだ... と。尤も真理を探求しようという者が、報酬にこだわりを持つことはあるまい。ちなみに、おいらが美少年と呼ばれていた頃、この増幅特性に感動したものである。物性学は赤点だったけど...
次に、スイッチング特性を挙げよう...
電流を流したり、遮断したりする制御が、外部から電圧を加えることで簡単にできる。それは、トランジスタの ON/OFF 制御がそのままデジタル値の 0 と 1 に対応し、シャノンの情報理論とすこぶる相性がいいことを示している。ブール代数が電子回路の基本原理となり、いまやトランジスタの構造を知らなくても回路設計ができるという寸法よ。
さらに、物理構造に目を向ければ、奇妙なことに気づく。抵抗などの回路素子が無いにもかかわらず、それだけで等価回路が実現できるのだ。天の邪鬼な美少年は、教科書に掲載されるトランジスタの等価回路にいつも懐疑的であった。物質をくっつけていくだけで多段回路が形成できるということは、いくらでも集積可能ということだ。そして、半導体業界は微細化との戦いを強いられてきた。そろそろムーアの法則も息切れ気味で、それを量子コンピュータが引き継ぐのかは知らんが...
また、半導体をくっつけるだけで得られる重要な特性に、整流作用がある。ダイオードってやつだ。電流を一方向にしか流さないという性質が、交流を直流に変換することを可能にする。遠隔地へ電力を供給するには交流が有利で、細かい電子制御には直流が有利なので、その住み分けが明確にできる。ダイオードを片トランジスタなんて表現すると差別用語と言われそうだけど、PN 接合という単純な構造こそがトランジスタの基本特性を引き出している。
ただ、天の邪鬼な美少年は、マクスウェルの悪魔くんがどこかに一人ぐらいいるのでは?と懐疑的であった。実際、逆電流がわずかながら流れるってこと、それを安定的に動作保証するのが技術者の使命だ。
こうして改めて眺めていると、トランジスタこそが物質に情報を結びつけた立役者であり、トランジスタこそがデジタル社会の牽引役であったと言うのは、ちと大袈裟であろうか...
原題には、"THE IDEA FACTRY... Bell Labs and the Great Age of American Innovation." とあり、ジョン・ガートナーが、その熱き技術者魂を代弁してくれる。ここで紹介される選りすぐりの人材は、マグネトロンの開発で U ボート撃沈に貢献したジム・フィスク、接合型トランジスタの発明で伝説となったウィリアム・ショックレー、純粋な好奇心に邁進して情報理論の父となったクロード・シャノン、異分野の専門家たちの学際的な知の結集を図って組織論を確立したマービン・ケリー、天才シャノンと経営者ケリーの中間的な位置で技術を見抜き牽引する仕掛け人ジョン・ピアース、作家のごとく完璧な文法を操って聴衆を煙に巻く饒舌家ウィリアム・ベーカーといった奇人、変人、狂人の面々... 彼らが世界のイノベーションハブとしての存在感を示し、史上最強の部類に入るプロジェクトチームであったことは間違いない。ゲーテはカントを評して、こんなことを言った... たとえ君が彼の著書を読んだことがないにしても、彼は君にも影響を与えている... と。エレクトロニクスに携わる技術者ならば、ベル研究所からなんらかの影響を受けてきたはずである...
ベル研究所が発明した功績を挙げても、なかなか言い尽せるものではない。第二次大戦を制したレーダー、電子機器の米と言われる半導体を開花させたトランジスタ、蜂の巣型に無線局を張り巡らせて携帯電話の原型となった移動体通信網、GPS の先駆けとなった通信衛星...
ここではハードウェアばかりが注目され、ソフトウェアにはほとんど触れられないが、ケン・トンプソンが編み出した UNIX や、デニス・リッチーが開発した C 言語も付け加えたい。UNIX は基本的なソフトウェアアーキテクチャの生みの親的存在であり、C 言語は世界中のプログラマに愛されると同時に嫌われ者であり続け、その影響力は今日でも絶大なのだから。そして、なによりも見逃せないのは、これらの技術が今日のデジタル社会を根底から支えるシャノンの情報理論と結びついてきたこと。すなわち、2 を底とする対数の世界と完全にマッチすることである。
その名が、グラハム・ベルに由来するのかは定かではないが、電話交換機から派生してきたことは見て取れる。20世紀初頭、AT&T が掲げた「ユニバーサル・コネクティビティ」という壮大な構想は、今日のクラウド・コンピューティングに受け継がれている。
情報を制する者が世界を制す!と言われるが、それは古代から証明されてきたこと。人間の本能には、なんでもいいから繋がっていないと不安でしょうがいない性分があり、概してコミュニティやコネクティビティってやつに憑かれる。情報交換こそが繋がりをもたらし、それが友好を温めるものであったり、欺くものであったり。いくら名目上の実力社会を言い張っても、本性上のコネクション社会を免れない。世間では悪魔のように攻撃を受ける情報隠蔽体質にしたって、感情的で本性的なものだ。自分だけが知っているという事が自尊心をくすぐり、自意識を肥大化させる。おまけに、誰かに喋りたくてしょうがないという相い反する性分まで抱え込む。ベル研究所は、こうした人間の本能をくすぐる領域を制したことで、技術史上比類なき成功を収めたということは言えるだろう。
産業史上これほど大規模な独占企業を生み出したのは奇遇といえば、そうかもしれない。ただ、電信通信業界では「自然独占」という形態がよく指摘される。安定したサービスを隅々にまで行き届かせるためには、都市部の収益で地方を賄う必要があり、こうした業界体質に便乗して巨人化していった様子が見て取れる。それは鉄道業界や運送業界にも言えることだ。物流、郵便、情報の集中する場所が... あらゆる流れを支配する者が... そして、彼らが開花させたエレクトロニクス業界は、様々な種のネットワークを形成し、いまや知のハブとしての存在感を示そうとしている。
一方、現在のベル研究所はと言うと、皮肉なことに一大企業に属す一産業研究所という地位に甘んじている。どんなに優れたアイデアも、どんなに優れた技術も、やがて模倣され、改良され、庶民化し、凡庸化していく。生き残るには、この道しかなかったのやもしれん...
1. あぁ、産業研究所よ...
皮肉なことに戦争が発明の母となったことは否めない。人間なんてものは、必要に迫られなければなかなか実力を発揮できないもの。アルキメデスの時代から、最先端を突っ走ってきたあらゆる科学技術は、まず軍事の応用として現実味を帯びてきた。レーダーの開発者たちは、よくこう語り合ったとそうな。
「戦争に勝てたのはレーダーのおかげである。原子爆弾は単に戦争を終わらせただけだ...」
レーダーは、対象物から反射波をとらえるという科学的には単純な原理であっても、技術的にはなかなか手ごわい。微小信号につきまとう雑音と減衰という S/N 比の問題は、通信制御の基本中の基本。米国政府のレーダー開発への投資額は推定30億ドルに達し、原爆の20億ドルを大きく上回ったという。
戦争の最大の発明は、VT 信管だという意見もよく耳にする。だが、社会的なインパクトという意味では、原子爆弾ということになろうか。なにしろ悪魔の代名詞とされるのだから...
動機はなんであれ、光学、音響学、反響学、磁気学、有機化学、冶金学、気象学など、実に多くの科学的知識が結集した結果、エレクトロニクス時代の幕開けとなった。ベル研究所の社員は、人間のコミュニケーションにわずかでも関係のあることなら何でも研究するという。有線であろうが、無線であろうが、音声データであろうが、画像データであろうが。この時代にあって生理学や心理学までも研究対象にしていたとか。
彼らの哲学的動機には、なんとなく共感できるところが多い。おいらが、ある電機メーカで研究所と名のつく職場に十年ほど籍を置いていたこともあろうか。研究者という人種は、世間で無価値とされるものに価値を見出そうとする。それも執念めいたものによって。ただし、失敗を恐れない挑戦!と言えば聞こえはいいが、贅沢な資金を後ろ楯に失敗感覚が慢性化していくことにも留意したい...
2. あぁ、偉大なトランジスタよ...
近代技術の最大の発明は何か?と問えば、酔いどれ天の邪鬼は、即トランジスタ!と答えるだろう。仕事柄もあろうけど、トランジスタを語り始めると、かっぱえびせん状態になるのだ。
何が凄いかって?
まず、増幅作用を挙げよう...
電流が流れる固体物質といえば鉱物だが、こいつを経由すると電流が増幅するとは、まさに物質の偉大さを示している。電力源が貧弱でも中継器で増幅すれば、いくら遠距離でも電力を供給することが可能となる。そして近代科学は、電子の流れを研究するための専門分野、とりわけ、表面準位を研究する結晶学、バルク特性を研究する界面化学、金属素材を研究する冶金学といった学問を開花させてきた。いわば、基礎物理学の領域である。あの仮説を嫌ったニュートンも錬金術に執着したという説があるが、まだ妖術や占星術の域を脱していない。あるノーベル賞級の経済学者はこんなことを言った... 基礎物理学者には金融アナリスト並に報酬を払うべきだ... と。尤も真理を探求しようという者が、報酬にこだわりを持つことはあるまい。ちなみに、おいらが美少年と呼ばれていた頃、この増幅特性に感動したものである。物性学は赤点だったけど...
次に、スイッチング特性を挙げよう...
電流を流したり、遮断したりする制御が、外部から電圧を加えることで簡単にできる。それは、トランジスタの ON/OFF 制御がそのままデジタル値の 0 と 1 に対応し、シャノンの情報理論とすこぶる相性がいいことを示している。ブール代数が電子回路の基本原理となり、いまやトランジスタの構造を知らなくても回路設計ができるという寸法よ。
さらに、物理構造に目を向ければ、奇妙なことに気づく。抵抗などの回路素子が無いにもかかわらず、それだけで等価回路が実現できるのだ。天の邪鬼な美少年は、教科書に掲載されるトランジスタの等価回路にいつも懐疑的であった。物質をくっつけていくだけで多段回路が形成できるということは、いくらでも集積可能ということだ。そして、半導体業界は微細化との戦いを強いられてきた。そろそろムーアの法則も息切れ気味で、それを量子コンピュータが引き継ぐのかは知らんが...
また、半導体をくっつけるだけで得られる重要な特性に、整流作用がある。ダイオードってやつだ。電流を一方向にしか流さないという性質が、交流を直流に変換することを可能にする。遠隔地へ電力を供給するには交流が有利で、細かい電子制御には直流が有利なので、その住み分けが明確にできる。ダイオードを片トランジスタなんて表現すると差別用語と言われそうだけど、PN 接合という単純な構造こそがトランジスタの基本特性を引き出している。
ただ、天の邪鬼な美少年は、マクスウェルの悪魔くんがどこかに一人ぐらいいるのでは?と懐疑的であった。実際、逆電流がわずかながら流れるってこと、それを安定的に動作保証するのが技術者の使命だ。
こうして改めて眺めていると、トランジスタこそが物質に情報を結びつけた立役者であり、トランジスタこそがデジタル社会の牽引役であったと言うのは、ちと大袈裟であろうか...
2018-04-29
デスクトップの魔物... 雨降って頭固まっちゃった!?
デスクトップには魔物が住むという...
なかなか仕事が手につかず、とりあえず周りの整理整頓をしていると、これが徹底的にやらないと気が済まなくなり、夜な夜な大掃除を始めてしまう始末。やらなければならない!という意識が強いほどマインドセットに逆らってしまう。条件反射的に。天の邪鬼な性癖がそうさせるのか...
デスクトップ環境をいじるのにも、これに似た心理が働く。カスタマイズ衝動が、かっぱえびせん状態へ誘うのだ。忙しい時にかぎって。そして、 雨計量器に嵌ってもうた...
1. Rainmeter(Stable Ver 4.1)... こいつの柔軟性にイチコロ!
Windows 系のデスクトップツールで遊ぶなら、こいつは最強かもしれない。なにしろ、ある種の言語システムもどきを具えているのだから。Documentation サイトも非常に参考になる。
スキン求めて、deviantArt あたりを散歩すると... スキン集というより、コードの宝庫!あまりの量に目移りし、どれをベースに改造しようか、惚れっぽい酔いどれは、はしごしまくり。柔軟性が高いということは自由度が高いことを意味し、自分でいじり倒すことができなければ、逆に不自由の呪縛にかかる。自由への道は険しい。ド M を覚醒させるにはうってつけの性向か...
中には完成度の低い作品もあり、自分の環境に合わせてカスタマイズを強いられる。やがて採用したスキンすべてに対して、なにかしらいじらないと落ち着かなくなる。自由というより、これはもう依存症だ!
2. マルチモニタ環境で... 病みつき!
スキン毎に「ドラック許可」や「クリックスルー」などの設定を組み合わせて、擬似的にドラッグ禁止領域を作ることができる。透明色で前面に配置しておけば、普段触りたくないリソースモニタ用アプリの保護領域を作ったり。
ちなみに、狼の黄色い目と青い目のあたりが、その領域...
とはいえ、あまり凝って、デスクトップツールに CPU を持っていかれれば本末転倒。リソースモニタ以外のアニメーションは、四つの地球儀と時計だけにし、CPU 使用率を 3% 未満に調整する。尚、CPU は、Intel Core i7-7700 3.6GHz...
右上画面には、三つの地球儀を重ね、大きくなるにつれて周期を遅くし、左下画面には、"Van Schagen Globe" という大航海時代風の地球儀スキンに "Steam Clock" という時計スキンの歯車を接地させて、ポンプで地球儀を回転させているように見せている。ちなみに、時計といえば、おいらは、SKAGEN を愛用している。Schagen と SKAGEN では綴りが違うけど日本語の発音は同じ。思わず夜の社交場でお馴染みの口癖を漏らす... 奇遇だねぇ!
尚、カレンダー、イベント、ToDo リストでは、姉妹ソフトの Rainlendar を採用している。Rainmeter に比べて柔軟性は劣るが、これらの要素では手軽さを優先したい。
Rainmeter の気がかりは、オーディオ制御系がちと不安定なところであろうか。ソースのスイッチングなど。使えないほどではないが、うちの環境といまいちマッチしない模様。お気に入りのイコライザや VU メータもあって惜しいのだけど。
てなわけで、WMP + XTHREE + FRUITY + DefaultAudioChanger を採用(画面右上)。実は、FRUITY にも嵌ってたりして...
3. 記述フォーマットに... なんとなくノスタルジア!
スキンファイルの拡張子は .ini で、基本フォーマットはこれ...
[Section]
Key=Value
Section には、こんなものがある。
オブジェクト名はなんでもいいようだが、とりあえず、このあたりの動作を抑えておきたい。
Shape オブジェクトには基本的な属性が揃っている。
Rectangle(長方形), Ellipse(楕円), Line(線), Arc(円弧), Curve(曲線), Path(パス)、あるいは、 図形の結合やグラデーションなど。
Image オブジェクトでは、画像データの位置やサイズの変更が自由にでき、色を混在させることもできる。
そして、軽く試すと、こんな感じ...
4. おまけ... 目玉!
新人時代に実習で書いたマウスカーソル追尾プログラム(C コード)を移植してみた。
目玉を二つにしたければ、インスタンスを二つにするだけ。具体的には、別々のフォルダにそれぞれ同じ ini ファイルを置く。
ところで、マウスカーソルを含めた画面キャプチャで、ちと悩んでしまった。
Windows 標準の「拡大鏡」なんてツールは一生使わない!と思っていたけど、こいつでわりと簡単! 拡大鏡ウィンドウをアクティブにした状態でマウスを移動させて、Alt + PSc で一発。へぇ~...
尚、ビューモードは固定。
さて、基本的な演算子はだいたい揃っているので、計測で困ることはあまりなさそう。
マウスの座標を取得するには、"MouseXY" という Plugin を見つけたので、どこぞからもってきた。
また、ビルトイン変数を知っているとなかなか便利。リソースのパスを暗黙に取得したり、モニタ変数を動的に取得したり。動的オブジェクトに対しては、現在の位置とサイズを取得するビルトイン変数が用意されている。
#CURRENTCONFIGX#
#CURRENTCONFIGY#
#CURRENTCONFIGWIDTH#
#CURRENTCONFIGHEIGHT#
尚、動的変数は、Measure と Meter だけに許されていて、おまじないを一つ書いておけばいい。
DynamicVariables=1
あれ?
Roundline オブジェクトの "StartAngle" というオプションが、0度を指定すると3時の方向?なので、頂点から開始するなら 270度を指定するってこと?目玉なんて、どこから始まってもええんだけど、とりあえず Documentation サイトの事例に従って...
StartAngle=(Rad(270))
RotationAngle は、360度フルに欲しいから...
RotationAngle=(Rad(360))
そして、コードはこんな感じ...
なかなか仕事が手につかず、とりあえず周りの整理整頓をしていると、これが徹底的にやらないと気が済まなくなり、夜な夜な大掃除を始めてしまう始末。やらなければならない!という意識が強いほどマインドセットに逆らってしまう。条件反射的に。天の邪鬼な性癖がそうさせるのか...
デスクトップ環境をいじるのにも、これに似た心理が働く。カスタマイズ衝動が、かっぱえびせん状態へ誘うのだ。忙しい時にかぎって。そして、 雨計量器に嵌ってもうた...
1. Rainmeter(Stable Ver 4.1)... こいつの柔軟性にイチコロ!
Windows 系のデスクトップツールで遊ぶなら、こいつは最強かもしれない。なにしろ、ある種の言語システムもどきを具えているのだから。Documentation サイトも非常に参考になる。
スキン求めて、deviantArt あたりを散歩すると... スキン集というより、コードの宝庫!あまりの量に目移りし、どれをベースに改造しようか、惚れっぽい酔いどれは、はしごしまくり。柔軟性が高いということは自由度が高いことを意味し、自分でいじり倒すことができなければ、逆に不自由の呪縛にかかる。自由への道は険しい。ド M を覚醒させるにはうってつけの性向か...
中には完成度の低い作品もあり、自分の環境に合わせてカスタマイズを強いられる。やがて採用したスキンすべてに対して、なにかしらいじらないと落ち着かなくなる。自由というより、これはもう依存症だ!
2. マルチモニタ環境で... 病みつき!
スキン毎に「ドラック許可」や「クリックスルー」などの設定を組み合わせて、擬似的にドラッグ禁止領域を作ることができる。透明色で前面に配置しておけば、普段触りたくないリソースモニタ用アプリの保護領域を作ったり。
ちなみに、狼の黄色い目と青い目のあたりが、その領域...
とはいえ、あまり凝って、デスクトップツールに CPU を持っていかれれば本末転倒。リソースモニタ以外のアニメーションは、四つの地球儀と時計だけにし、CPU 使用率を 3% 未満に調整する。尚、CPU は、Intel Core i7-7700 3.6GHz...
右上画面には、三つの地球儀を重ね、大きくなるにつれて周期を遅くし、左下画面には、"Van Schagen Globe" という大航海時代風の地球儀スキンに "Steam Clock" という時計スキンの歯車を接地させて、ポンプで地球儀を回転させているように見せている。ちなみに、時計といえば、おいらは、SKAGEN を愛用している。Schagen と SKAGEN では綴りが違うけど日本語の発音は同じ。思わず夜の社交場でお馴染みの口癖を漏らす... 奇遇だねぇ!
尚、カレンダー、イベント、ToDo リストでは、姉妹ソフトの Rainlendar を採用している。Rainmeter に比べて柔軟性は劣るが、これらの要素では手軽さを優先したい。
Rainmeter の気がかりは、オーディオ制御系がちと不安定なところであろうか。ソースのスイッチングなど。使えないほどではないが、うちの環境といまいちマッチしない模様。お気に入りのイコライザや VU メータもあって惜しいのだけど。
てなわけで、WMP + XTHREE + FRUITY + DefaultAudioChanger を採用(画面右上)。実は、FRUITY にも嵌ってたりして...
3. 記述フォーマットに... なんとなくノスタルジア!
スキンファイルの拡張子は .ini で、基本フォーマットはこれ...
[Section]
Key=Value
Section には、こんなものがある。
[Rainmeter] : 全体のオプション定義 [Variables] : 変数定義 Measures : CPU やメモリなどの計測オブジェクト(Measure=Option で指定) Meters : 視覚的なオブジェクト(Meter=Option で指定) MeterStyles : Meters のオプション定義。 [Metadata] : 動作に無関係な情報を記述
オブジェクト名はなんでもいいようだが、とりあえず、このあたりの動作を抑えておきたい。
Measure=Calc : 演算制御オブジェクトに指定 Meter=Shape : 形状制御オブジェクトに指定 Meter=Image : 画像制御オブジェクトに指定 Meter=Rotator : 回転制御オブジェクトに指定 Meter=Roundline : 円運動制御オブジェクトに指定 Meter=Button : マウス操作オブジェクトに指定
Shape オブジェクトには基本的な属性が揃っている。
Rectangle(長方形), Ellipse(楕円), Line(線), Arc(円弧), Curve(曲線), Path(パス)、あるいは、 図形の結合やグラデーションなど。
Image オブジェクトでは、画像データの位置やサイズの変更が自由にでき、色を混在させることもできる。
そして、軽く試すと、こんな感じ...
;; 横方向にグラデーション [Object1] Meter=image BackgroundMode=2 SolidColor=0,0,0,255 SolidColor2=0,0,0,0 X=0 Y=0 W=100 H=200 ;; 縦方向にグラデーション [Object3] Meter=Shape Shape=Rectangle 0,0,200,100 | Fill LinearGradient MyFillGradient | Stroke Color 0,0,0,0 MyFillGradient=90 | 0,0,0,0 ; 0.0 | 0,0,0,255 ; 1.0 ; MyFillGradient で角度を指定する。0度や180度にすれば横方向。 X=0 Y=250 ;; 枠付き長方形 [Object2] Meter=Shape Shape=Rectangle 0,0,200,100 | Fill Color 0,0,0 | StrokeWidth 4 | Stroke Color 0,0,255 X=0 Y=400
4. おまけ... 目玉!
新人時代に実習で書いたマウスカーソル追尾プログラム(C コード)を移植してみた。
目玉を二つにしたければ、インスタンスを二つにするだけ。具体的には、別々のフォルダにそれぞれ同じ ini ファイルを置く。
ところで、マウスカーソルを含めた画面キャプチャで、ちと悩んでしまった。
Windows 標準の「拡大鏡」なんてツールは一生使わない!と思っていたけど、こいつでわりと簡単! 拡大鏡ウィンドウをアクティブにした状態でマウスを移動させて、Alt + PSc で一発。へぇ~...
尚、ビューモードは固定。
さて、基本的な演算子はだいたい揃っているので、計測で困ることはあまりなさそう。
マウスの座標を取得するには、"MouseXY" という Plugin を見つけたので、どこぞからもってきた。
また、ビルトイン変数を知っているとなかなか便利。リソースのパスを暗黙に取得したり、モニタ変数を動的に取得したり。動的オブジェクトに対しては、現在の位置とサイズを取得するビルトイン変数が用意されている。
#CURRENTCONFIGX#
#CURRENTCONFIGY#
#CURRENTCONFIGWIDTH#
#CURRENTCONFIGHEIGHT#
尚、動的変数は、Measure と Meter だけに許されていて、おまじないを一つ書いておけばいい。
DynamicVariables=1
あれ?
Roundline オブジェクトの "StartAngle" というオプションが、0度を指定すると3時の方向?なので、頂点から開始するなら 270度を指定するってこと?目玉なんて、どこから始まってもええんだけど、とりあえず Documentation サイトの事例に従って...
StartAngle=(Rad(270))
RotationAngle は、360度フルに欲しいから...
RotationAngle=(Rad(360))
そして、コードはこんな感じ...
[Metadata] eye follow the cursor... Junk Edition. [Rainmeter] Update=20 [Variables] EyeColor=127,255,212 IrisColor=47,79,79 PupilColor=0,139,139 OutlineColor=47,79,79 EyeSize=180 IrisSize=80 PupilSize=30 OutlineSize=2 AdjustMaxLen=0.005 AdjustEyeDis=0.002 ; "AdjustMaxLen" は、[MaxLength]オブジェクトに対する瞳孔の移動係数。 ; "AdjustEyeDis" は、[EyeDistance]オブジェクトに対する瞳孔の移動係数。 ; 目のサイズを変更すると、これらを微調整しないと瞳孔が眼球からはみ出すかも... [PosX] Measure=Plugin Plugin=MouseXY Dimension=X [PosY] Measure=Plugin Plugin=MouseXY Dimension=Y [EyeArea] Meter=Roundline W=#EyeSize# H=#EyeSize# StartAngle=(Rad(270)) RotationAngle=(Rad(360)) LineLength=(0.5*#EyeSize#) LineColor=#EyeColor# Solid=1 AntiAlias=1 [EyeOutline] Meter=Roundline W=#EyeSize# H=#EyeSize# StartAngle=(Rad(270)) RotationAngle=(Rad(360)) LineLength=(0.5*#EyeSize#-#OutlineSize#) LineStart=(0.5*#EyeSize#) LineColor=#OutlineColor# Solid=1 AntiAlias=1 [EyeAngle] Measure=Calc DynamicVariables=1 Formula=(Atan2(([PosY]-0.5*#EyeSize#-#CURRENTCONFIGY#),([PosX]-0.5*#EyeSize#-#CURRENTCONFIGX#))) [EyeDistance] Measure=Calc DynamicVariables=1 Formula=(Sqrt(Abs(([PosX]-0.5*#EyeSize#-#CURRENTCONFIGX#)**2+([PosY]-0.5*#EyeSize#-#CURRENTCONFIGY#)**2))) [MaxLength] Measure=Calc DynamicVariables=1 Formula=(0.5*(#EyeSize#-#IrisSize#)-#OutlineSize#+1) [Iris] Meter=Roundline DynamicVariables=1 W=#IrisSize# H=#IrisSize# StartAngle=(Rad(270)) RotationAngle=(Rad(360)) LineLength=(0.5*#IrisSize#) LineColor=#IrisColor# Solid=1 X=(([EyeDistance] > [MaxLength] ? ([MaxLength]*Cos([EyeAngle])) : ([EyeDistance]*Cos([EyeAngle])))+0.5*(#EyeSize#-#IrisSize#)) Y=(([EyeDistance] > [MaxLength] ? ([MaxLength]*Sin([EyeAngle])) : ([EyeDistance]*Sin([EyeAngle])))+0.5*(#EyeSize#-#IrisSize#)) [Pupil] Meter=Roundline DynamicVariables=1 W=#PupilSize# H=#PupilSize# StartAngle=(Rad(270)) RotationAngle=(Rad(360)) LineLength=(0.5*#PupilSize#) LineColor=#PupilColor# Solid=1 X=([Iris:X]+0.5*(#IrisSize#-#PupilSize#)+([EyeDistance] > (2*[MaxLength]) ? (#AdjustMaxLen#*[MaxLength]) : (#AdjustEyeDis#*[EyeDistance]))*#IrisSize#*Cos([EyeAngle])) Y=([Iris:Y]+0.5*(#IrisSize#-#PupilSize#)+([EyeDistance] > (2*[MaxLength]) ? (#AdjustMaxLen#*[MaxLength]) : (#AdjustEyeDis#*[EyeDistance]))*#IrisSize#*Sin([EyeAngle]))
2018-04-22
"はじめての数論 原著第3版" Joseph H. Silverman 著
なにゆえ、このような書に向かわせるのか。童心に返りたいという潜在意識がそうさせるのか。いまさら感を覚えつつも、ジョセフ・シルヴァーマン先生が誘ってくる。小説や演劇を楽しむように数の理論を鑑賞してみては... と。
数学の定理が鑑賞に耐えうるかは、ひとえに美にかかっている。それは、ルーベンスの歴史画やモーツァルトの交響曲を探求したくなるような、衝動を駆り立てる誘惑の美だ。美とは、主観性から発する情念であって、そこにどんな美を感じるかは千差万別。何も感じることができなければ苛立ちを隠せず、作者はいったい何が言いたいのか?などと最低な感想をもらす。オイラーに触れて何も感じることができなければ、幸福の一部を放棄しているようなものか...
しかしながら、客観性を信条とする数学とは、相容れぬ特性である。五感のすべてをニュートラルな状態にし、その美を純粋に感じ取ることができるとすれば、もしかしたら主観性を客観性へ昇華させるのやもしれん...
「数学について公平に考えれば、それは真実性のみに位置づけられるものではなく、なかでも美... 冷たく厳しい美... それは骸骨のように我々自身の生来の弱さには何も訴えるものはなく、絵画や音楽のような着飾ったところもない。しかし、崇高なる純粋さ、そして厳格なる完全性を実現した唯一の芸術である。」
... バートランド・ラッセル
この本は、元々はブラウン大学のジェフ・ホフスタインによって創始された Math 42 クラスのための教科書だそうな。Math 42 とは、自然科学系以外の学生を引きつけようと構想されたクラスだとか。なるほど、高校の初等数学ぐらいの知識があれば読めそうである。基本的な読み方としてはコンピュータ不要論を唱え、安心感を与えてくれる。
「最大公約数を調べるために GCD[M,N] とタイプして答えを得てしまうことは、テレビをつけることで電子工学を学ぼうとするようなもの...」
とはいえ、完全不要論を唱えているわけではない。ここに紹介されるアルゴリズム群にはプログラミングの知識がちと欲しい。実際、数値演算言語 Octave あたりで遊べるし。良い例題に、ユークリッドの互除法、RSA 暗号、平方剰余の相互法則、平方数の和の形式、素数判定法、楕円曲線の有理点などを挙げてくれる。
数論とは、数の理論を問うもの。ここで主役を演じるのは自然数だ。負の数を意識せずに済めばあらゆる負債はチャラ、これぞプラス思考!なんと自然だろう。だが、人間は負債の先送りがお好き。人生という苦難を冷静に率直に受け入れれば、悲観的にならざるをえない。だから自然数に焦がれるのか。
数学だって想像上の数に縋っているではないか。虚数とは、人間が編み出した虚しい数。真理を覗くには、よほどの想像力を要するらしい。
そして、ガウス整数にまで議論が及ぶと、面白いことが次々と起こり、人間がニヒリズムに縋る姿も自然に見えてくる。
自然数の世界は、実に風変わりな生物相で溢れている。ピタゴラスの数がいたり、メルセンヌ神父の数がいたり、パスカルの三角形がいたり、フィボナッチの兔がいたり... ディオファントスな関係を迫れば、フェルマーの方程式がいて、ペルの方程式がいて、オイラーの関数がいて、楕円曲線までいやがる。ただ、平方数の素数はいないようだし、奇数の完全数がいるかは知らんよ...
物質の性質を探るプロセスに原子構造を辿るというやり方があるが、数の本質を探るのにも似たところがある。ここでは性質の側面から、素数や平方数といった数が、あるいは関係の側面から、互いに素、因数分解、既約といった概念が重要な役割を果たす。素数は、これ以上分解できないという視点から、平方数は必ず合成数になるので、成分を明るみにするという視点から、それぞれ意義を与えている。
それにしては、既約ピタゴラスの定理は素っ気ない。元々は素っ気ない関係が複雑に絡んだ状態こそ、人間社会というものか。その絡み具合といったら悪魔じみている。互いに素な関係を求めてすっきりさせようといのが哲学というものか。
プラトン風のイデアなる精神の原型を追い求めては、原始根は存在するか?と問い、存在の確実性を探る。完全数ってどうよ。友愛数ってどうよ。三角数って完全な三角関係ってか。完全数がどんなふうに完全かを考察すれば、創造者の完全性に思いを馳せ、友愛数がどんなふうに友愛かを考察すれば、宗教が唱える友愛に疑念を抱かずにはいられない。なるほど、哲学とは、悪魔の素因数分解であったか。
こうして酔いどれ天の邪鬼は、「数学は哲学である!」との持論を検証するのであった...
1. 割り切れない関係
本書が求める数の関係では、合同式が主役を演じている。つまり、演算法ではモジュロ演算が主役だ。こいつの抽象レベルときたら四則演算をコンパクトに凌駕し、数の本質を見抜くのに最適な道具となる。何を法とするかは、研究者がどんな戦略をとるかで決められ、この柔軟性が数と戯れる自由を知らしめている。おまけに、素数 p を法とする時に一段と輝きを放ち、モジュロ性が暗号技術への道を切り開く。要するに、人間が認識しうる演算という企ては、循環性の概念によってすべて説明がつくということである。
ん?ということは...
人間社会で四則演算の方がはるかに有用だということは、本質を見る必要がないということか。いや、あえて見るのを避けているのか。整除性という概念が、人間精神を平穏なものにしてくれる。だが、その定理が証明不可能となると、たちまちカルト化する。知らぬが仏というが、こと人間社会においては本当らしい。真理において、割った余りを考察するやり方が有効だというなら、人生において、割り切れない思いがつきまとうのは至極当然か...
2. 素数の中の異物
「2 は最高に奇な素数だ!」
素数の中には異物が混ざっている。素数は無限に存在すると告げているにもかかわらず、こいつだけが偶数ときた。偶数の世界には、なにか引き込まれるものがある。偶数どうしでは、和も、差も、積も、商も、偶数の世界に閉じられる。だが、奇数どうしで足すと、偶数になるとはこれいかに?奇数と偶数を掛けると必ず偶数に引き込まれるのはなぜ?数の世界では、対を求めるのが自然だというのか?
人間社会では、2 で割り切れる数が揉め事を回避する方向に働く。分け前や財産分与など。偶数に奇数が絡むと、なにかと揉めることが多く、離婚問題では三角関係がさらに複雑化させる。性行為によって誕生する種が、遺伝子の掛け算の結果か、足し算の結果かは知らんが、偶数になる確率を高めているのは確かなようだ。はたして偶数どうしの関係で、偶数の世界を超えられるだろうか?
偶数の世界に引き込まれるのが嫌なら、素数で割って、余った数を平等に扱ってみてはどうだろう。モジュロ性の真の意味が、平等性にあるのかは知らんが、2 を法としたモジュロ性では 0 と 1 にしか登場機会を与えない。この特性が情報理論の礎となり、デジタル社会の正体を明るみにしている。素数が法(=法律)として君臨すると、なにかと便利なことが起こるのは確かなようだ...
3. ディオファントス近似の摩訶不思議!
コンピュータには見過ごせない弱点がある。浮動小数点演算で答えが合わないと騒ぐ新人君を見かければ、IEEE 754 の意義を匂わせてやればいい。べき乗の壁を乗り越えられない限り、近似の概念に頼らざるを得ないということを。システムエラーの回避に欠かせない前提があることを。
しかしながら、近似の概念に頼っているのはコンピュータの世界だけではない。純粋物として崇められる素数の世界ですら、その存在のしかたを問う素数定理となると、近似が幅を利かせている。
人間社会で必要なのは、完全な真理ではなく、真理っぽく見えることだ。人間は真の存在を知りたいのではなく、存在感を噛み締めたいだけ。本当の自由なんて、この世にありはしない。そんなことは百も承知しつつも、自由意志の存在は信じている。耐えられないのは盲目ではなく、盲目感なのである。
おっと!話を戻そう...
簡単な近似法では、連分数の概念がなかなか実用的だ。どんな数でも、整数部分を引きはがして残りを分数にひっくり返すと、連分数を作ることができる。このような再帰的なやり方はプログラミングとすこぶる相性がいい。本書は、連分数展開を漸化式として見せてくれる。
ところで、ディオファントス方程式はなかなか手強い!ここでは、整数や有理数で考えることをやめて、素数 p を法とする解を見つけるという戦略を用いている。
そして、楕円曲線上の点の個数 Np に考察が及ぶと面白いことが起こる。すなわち、楕円曲線方程式の解の数において...
Np が p より小さいことは直感的に分かるが、p を追っていくと... なんと!なんと!
Np は、p に等しくなるというのである。
ap = p - Np
ap を「p 欠乏」と呼ぶそうで、実際は「フロベニウス写像」のトレースになるという。
さらに、フェルマーの最終定理を素数 p とモジュラ性の観点から物語ってくれる。
尚、フェルマーの最終定理は、ディオファントス方程式における n ≧ 3 のパターン。
An + Bn = Cn
n = pm の時、
(Am)p + (Bm)p = (Cm)p
なるほど、モジュラ性の抽象レベルには限りがないと見える。どうやら宇宙は循環性に支配されているらしい。そりゃ、夜の社交場に繰り返し通うのも自然であろう。これが自由意志の正体であったか...
数学の定理が鑑賞に耐えうるかは、ひとえに美にかかっている。それは、ルーベンスの歴史画やモーツァルトの交響曲を探求したくなるような、衝動を駆り立てる誘惑の美だ。美とは、主観性から発する情念であって、そこにどんな美を感じるかは千差万別。何も感じることができなければ苛立ちを隠せず、作者はいったい何が言いたいのか?などと最低な感想をもらす。オイラーに触れて何も感じることができなければ、幸福の一部を放棄しているようなものか...
しかしながら、客観性を信条とする数学とは、相容れぬ特性である。五感のすべてをニュートラルな状態にし、その美を純粋に感じ取ることができるとすれば、もしかしたら主観性を客観性へ昇華させるのやもしれん...
「数学について公平に考えれば、それは真実性のみに位置づけられるものではなく、なかでも美... 冷たく厳しい美... それは骸骨のように我々自身の生来の弱さには何も訴えるものはなく、絵画や音楽のような着飾ったところもない。しかし、崇高なる純粋さ、そして厳格なる完全性を実現した唯一の芸術である。」
... バートランド・ラッセル
この本は、元々はブラウン大学のジェフ・ホフスタインによって創始された Math 42 クラスのための教科書だそうな。Math 42 とは、自然科学系以外の学生を引きつけようと構想されたクラスだとか。なるほど、高校の初等数学ぐらいの知識があれば読めそうである。基本的な読み方としてはコンピュータ不要論を唱え、安心感を与えてくれる。
「最大公約数を調べるために GCD[M,N] とタイプして答えを得てしまうことは、テレビをつけることで電子工学を学ぼうとするようなもの...」
とはいえ、完全不要論を唱えているわけではない。ここに紹介されるアルゴリズム群にはプログラミングの知識がちと欲しい。実際、数値演算言語 Octave あたりで遊べるし。良い例題に、ユークリッドの互除法、RSA 暗号、平方剰余の相互法則、平方数の和の形式、素数判定法、楕円曲線の有理点などを挙げてくれる。
数論とは、数の理論を問うもの。ここで主役を演じるのは自然数だ。負の数を意識せずに済めばあらゆる負債はチャラ、これぞプラス思考!なんと自然だろう。だが、人間は負債の先送りがお好き。人生という苦難を冷静に率直に受け入れれば、悲観的にならざるをえない。だから自然数に焦がれるのか。
数学だって想像上の数に縋っているではないか。虚数とは、人間が編み出した虚しい数。真理を覗くには、よほどの想像力を要するらしい。
そして、ガウス整数にまで議論が及ぶと、面白いことが次々と起こり、人間がニヒリズムに縋る姿も自然に見えてくる。
自然数の世界は、実に風変わりな生物相で溢れている。ピタゴラスの数がいたり、メルセンヌ神父の数がいたり、パスカルの三角形がいたり、フィボナッチの兔がいたり... ディオファントスな関係を迫れば、フェルマーの方程式がいて、ペルの方程式がいて、オイラーの関数がいて、楕円曲線までいやがる。ただ、平方数の素数はいないようだし、奇数の完全数がいるかは知らんよ...
物質の性質を探るプロセスに原子構造を辿るというやり方があるが、数の本質を探るのにも似たところがある。ここでは性質の側面から、素数や平方数といった数が、あるいは関係の側面から、互いに素、因数分解、既約といった概念が重要な役割を果たす。素数は、これ以上分解できないという視点から、平方数は必ず合成数になるので、成分を明るみにするという視点から、それぞれ意義を与えている。
それにしては、既約ピタゴラスの定理は素っ気ない。元々は素っ気ない関係が複雑に絡んだ状態こそ、人間社会というものか。その絡み具合といったら悪魔じみている。互いに素な関係を求めてすっきりさせようといのが哲学というものか。
プラトン風のイデアなる精神の原型を追い求めては、原始根は存在するか?と問い、存在の確実性を探る。完全数ってどうよ。友愛数ってどうよ。三角数って完全な三角関係ってか。完全数がどんなふうに完全かを考察すれば、創造者の完全性に思いを馳せ、友愛数がどんなふうに友愛かを考察すれば、宗教が唱える友愛に疑念を抱かずにはいられない。なるほど、哲学とは、悪魔の素因数分解であったか。
こうして酔いどれ天の邪鬼は、「数学は哲学である!」との持論を検証するのであった...
1. 割り切れない関係
本書が求める数の関係では、合同式が主役を演じている。つまり、演算法ではモジュロ演算が主役だ。こいつの抽象レベルときたら四則演算をコンパクトに凌駕し、数の本質を見抜くのに最適な道具となる。何を法とするかは、研究者がどんな戦略をとるかで決められ、この柔軟性が数と戯れる自由を知らしめている。おまけに、素数 p を法とする時に一段と輝きを放ち、モジュロ性が暗号技術への道を切り開く。要するに、人間が認識しうる演算という企ては、循環性の概念によってすべて説明がつくということである。
ん?ということは...
人間社会で四則演算の方がはるかに有用だということは、本質を見る必要がないということか。いや、あえて見るのを避けているのか。整除性という概念が、人間精神を平穏なものにしてくれる。だが、その定理が証明不可能となると、たちまちカルト化する。知らぬが仏というが、こと人間社会においては本当らしい。真理において、割った余りを考察するやり方が有効だというなら、人生において、割り切れない思いがつきまとうのは至極当然か...
2. 素数の中の異物
「2 は最高に奇な素数だ!」
素数の中には異物が混ざっている。素数は無限に存在すると告げているにもかかわらず、こいつだけが偶数ときた。偶数の世界には、なにか引き込まれるものがある。偶数どうしでは、和も、差も、積も、商も、偶数の世界に閉じられる。だが、奇数どうしで足すと、偶数になるとはこれいかに?奇数と偶数を掛けると必ず偶数に引き込まれるのはなぜ?数の世界では、対を求めるのが自然だというのか?
人間社会では、2 で割り切れる数が揉め事を回避する方向に働く。分け前や財産分与など。偶数に奇数が絡むと、なにかと揉めることが多く、離婚問題では三角関係がさらに複雑化させる。性行為によって誕生する種が、遺伝子の掛け算の結果か、足し算の結果かは知らんが、偶数になる確率を高めているのは確かなようだ。はたして偶数どうしの関係で、偶数の世界を超えられるだろうか?
偶数の世界に引き込まれるのが嫌なら、素数で割って、余った数を平等に扱ってみてはどうだろう。モジュロ性の真の意味が、平等性にあるのかは知らんが、2 を法としたモジュロ性では 0 と 1 にしか登場機会を与えない。この特性が情報理論の礎となり、デジタル社会の正体を明るみにしている。素数が法(=法律)として君臨すると、なにかと便利なことが起こるのは確かなようだ...
3. ディオファントス近似の摩訶不思議!
コンピュータには見過ごせない弱点がある。浮動小数点演算で答えが合わないと騒ぐ新人君を見かければ、IEEE 754 の意義を匂わせてやればいい。べき乗の壁を乗り越えられない限り、近似の概念に頼らざるを得ないということを。システムエラーの回避に欠かせない前提があることを。
しかしながら、近似の概念に頼っているのはコンピュータの世界だけではない。純粋物として崇められる素数の世界ですら、その存在のしかたを問う素数定理となると、近似が幅を利かせている。
人間社会で必要なのは、完全な真理ではなく、真理っぽく見えることだ。人間は真の存在を知りたいのではなく、存在感を噛み締めたいだけ。本当の自由なんて、この世にありはしない。そんなことは百も承知しつつも、自由意志の存在は信じている。耐えられないのは盲目ではなく、盲目感なのである。
おっと!話を戻そう...
簡単な近似法では、連分数の概念がなかなか実用的だ。どんな数でも、整数部分を引きはがして残りを分数にひっくり返すと、連分数を作ることができる。このような再帰的なやり方はプログラミングとすこぶる相性がいい。本書は、連分数展開を漸化式として見せてくれる。
ところで、ディオファントス方程式はなかなか手強い!ここでは、整数や有理数で考えることをやめて、素数 p を法とする解を見つけるという戦略を用いている。
そして、楕円曲線上の点の個数 Np に考察が及ぶと面白いことが起こる。すなわち、楕円曲線方程式の解の数において...
Np が p より小さいことは直感的に分かるが、p を追っていくと... なんと!なんと!
Np は、p に等しくなるというのである。
ap = p - Np
ap を「p 欠乏」と呼ぶそうで、実際は「フロベニウス写像」のトレースになるという。
さらに、フェルマーの最終定理を素数 p とモジュラ性の観点から物語ってくれる。
尚、フェルマーの最終定理は、ディオファントス方程式における n ≧ 3 のパターン。
An + Bn = Cn
n = pm の時、
(Am)p + (Bm)p = (Cm)p
なるほど、モジュラ性の抽象レベルには限りがないと見える。どうやら宇宙は循環性に支配されているらしい。そりゃ、夜の社交場に繰り返し通うのも自然であろう。これが自由意志の正体であったか...
登録:
投稿 (Atom)


