2009-11-08

"帝国主義論" レーニン 著

前記事の「菊と刀」が読みやすかったので、その訳者である角田安正氏に惹かれて本書も手に取ってみた。ましてや、ボリシェヴィキに惹かれたわけでも、共産主義に惹かれたわけでもない。
ちなみに、酔っ払いが解釈する共産主義とは、すべて平等で、すべての国民を幸せにしてくれる思想といったところだろうか。ひらたく言えば、「みんなの社会にする」ということである。そのためには、あらゆる私有財産を没収する。私的所有の概念をすべて取っ払う。つまり、欲望という人間の持つ本質までも拒絶する。下手すると、個性をも否定しかねない。この体制の矛盾は、欲望を捨てきれない脂ぎった人間が支配することである。最高の理性の持ち主と自負する輩が権力の中枢に居座り、巨大官僚体制の下で堂々と搾取が行われる。平和主義者が理想を崇め過ぎて戦争を招きいれるように、現実を直視しなければ悲劇となる。まだしも、人間の持つ本質を認めた資本主義の方が現実的と言えよう。そもそも、マルクス主義者たちはテキストの解釈権を党が独占したという経緯がある。それをマルクス自身が意図したかどうかは知らん。どこぞの教会のように、恣意的に解釈されることを拒むような思想がまともとは思えん。マルクスは、まさしくマルクス主義者たちによって悪者に仕立てられたと言ってもいいだろう。優れた思想にありがちな展開だ。創始者がどんなに天才であっても、自称継承者は凡人である。マルクス・レーニン主義と呼ばれることがあるが、マルクスとレーニンが同じことを主張していたのかも疑わしい。アル中ハイマーが解釈する共産主義とは、所詮この程度のものである。

本書は、「資本主義の最高の段階としての帝国主義」という論文からきているらしい。レーニンは、帝国主義を資本主義の最高段階として位置付け、その体制を猛烈に批判する。その思想の根底にはマルクス主義があるのは言うまでもない。だが、その解釈には昔から疑問がある。マルクスの言った「疎外」を解釈したければ、その著書「資本論」を読むのが一番だろうが、あまりにも大作でなかなか手の出せる領域にない。ただ、本書によって、マルクス自身の意図とは別にしても、マルクス主義者たちがどのように解釈していたかを垣間見ることはできそうだ。また、資本主義の弱点を指摘している点から、資本主義の理解にも役立つ。ただ、本書がここまで資本主義あるいは近代経済の欠点を暴露しながら、なぜボリシェヴィキのような思想に陥るのか?なぜ暴力的な社会主義革命運動を煽るのか?という疑問が残る。この疑問を探るには、時代背景を考察しないわけにはいかない。その根底には、ブルジョアジーとプロレタリアートの対立があり、そこにイデオロギー闘争へと発展した構図がある。本書は、資本主義批判書であるが、資本主義固有の問題ではなく、人間社会が抱える普遍的な問題を内包しているように思える。

本書とは少々ずれるが、ちょいとレーニン時代までの経済史を紐解いてみよう。
資本主義思想の根底には、宗教や伝統主義から脱皮した自由な経済活動がある。つまり、労働者の自立である。この自立をうながしたのが、キリスト教の予定説であるといった議論は、社会学者ヴェーバーをはじめ多くの専門家が支持している通りである。中世ヨーロッパの時代に、ローマ教会の堕落が宗教改革やルネサンスを呼び起したのは事実であろう。ただ、プロテスタンティズムが資本主義傾向を加速させたと解釈することに異論はないが、資本主義がキリスト教世界のみに生まれた独自の思想という行き過ぎた解釈があるのには抵抗がある。
ここでいう労働者は、商工業であって、農業だけが置き去りにされる。一般的に先進国では、農業組織の発展が遅れてきた経緯がある。食料は人間が生きる上での根本であり、農奴といった政治による支配的伝統が農民の自立を妨げてきたとも推察できよう。当初の商工業は資本を持った経営者と、そこで雇われる労働者によって構成される。当然、資本家側の権力が強い。したがって、経済活動は資本家階級相互間の自由競争によって活性化される。自由競争が激化すると、勝者と敗者に分かれ、勝者は敗者を吸収していく。巨大化した企業は、資本効率が高まり、ますます優位性を保つ。となると、一部の資本家階級が社会を仕切るようになり、労働者の奴隷化が進むことになる。優位に立った資本家階級は、政治と癒着して、その地位をますます強固なものにする。つまり、企業による独占や寡占といった状態が、政治への寄生や腐敗となっていく。巨大化企業体の中で労働者は「疎外」を感じざるを得ない。いや、資本家階級ですら巨大化し過ぎた組織の実体すら把握できなくなり、もはや何を所有しているのかも分からなくなる。これが、マルクスの言う「疎外」の正体なのかは知らん!
そもそも企業体には、資源資本と労働資本によって生産して、製品を売るという仕組みがある。その決済は銀行を介して行われる。そもそも銀行の役割は決済の仲介業務であったはず。やがて、資本の流通に目をつけた銀行は、金融資本と化し間接的に企業体を支配することになる。株式資本という形をとって、その保有率を増しながら巨大化した企業に役員を送り込む。持ち株会社によって独占や寡占という形態が現れるが、これは一般企業のみにとどまらず銀行自身にも及ぶ。レーニンが生きた第一次大戦前後では、資本家階級の中でも金融資本が台頭した時代であり、ロックフェラーやロスチャイルドといった金融組織が勢力を拡大し、欧米政府を震撼させた。その名残で、いまだにユダヤ系の金融支配という陰謀説の噂は絶えない。欧米列強国では、莫大な富を得た金利生活者を蔓延らせる。しかし、誰かが生産しなければ生活は豊かにならない。そこで、隷属国で生産された商品を先進国に流通させることによって富を得る海外政策が展開される。つまり、独占と寡占によって巨大化した企業体が政府と癒着して植民地政策へ乗り出した結果、帝国主義という形態が生まれた。植民地支配は原料争奪戦である。列強国が競って新たな土地を求めれば、やがて植民地が枯渇し、植民地の奪い合いとなる。そこには、一部の列強国による世界分割という構図がある。
第一次大戦の発端に目を向ければ、バルカン半島をめぐった陰謀が渦巻く。古くからバルカン危機は、セルビア、ブルガリア、ルーマニア、ギリシャといった民族問題を抱えていた。ハプスブルク家の謀略は、セルビアをオーストリア=ハンガリー帝国に従属させようとする。もはや、資本主義で培われた自由競争原理は、まったく正反対の独占の概念へと変貌した。そこで、労働者階級は自らの権力を復活させるために立ち上がらなければならないと叫ぶ。大方の流れはこんなところだろう。
そこで、レーニンが「バーゼル宣言」で弱い立場にある労働者の結束を呼びかけたのは意義深い。とはいっても、インターナショナルという組織は平和主義を唱えながら暴力革命を煽るのだが。あらゆる平等を謳った団体の結成当初のスローガンは美しい。しかし、平等を崇め過ぎて宗教的な洗脳力を発揮して政治団体と化す。そして、結果的に、弱者を利用して毟り取る権力者を育ててしまう。これが社会のタブーとなり聖域化すると、もはや手に追えない。

本書は資本主義の暴走による独占権益が官僚体質と結びつき寄生と腐敗を発生させたと指摘している。だが、社会主義の暴走が寄生と腐敗で巨大官僚体制を築き、共産主義国を崩壊させたことは見逃せない。これはどんな体制や組織においても起こり得る現象で、ヴェーバーが指摘した官僚化の法則とも言うべき理論が的を得ている。いずれにせよ、イデオロギーの暴走は社会に害をなすことの証であろう。どんな社会システムであれ、常に検証され続けなければ健全な状態を保つことは難しい。
第二次大戦後、植民地解放運動が広まり、資本主義国は帝国主義を捨てた。これも、ソ連という巨大な社会主義国が経済的に成功するかに思えたからであろう。ソ連の計画経済は、1960年代までは福祉向上に貢献しているように見えた。西側で左翼政党が一定の勢力を保てたのも、ソ連の存在が大きい。資本主義の暴走を抑止するという意味では、ごく少数派で共産党が存在するのも意味があるかもしれない。となると、ソ連崩壊とともに抑止力を失ったと見ることもできるわけだが、現在ではその暴走が市場原理主義という形で現れているのだろうか?当時と似通った状況に映るのは、巨大な金融資本が蔓延るところである。資本主義が健全に機能するためには、本当の意味での投資が定着する必要がある。だが、実際は投機が煽られる。帝国主義熱は、現在の投機屋による金融資本熱にも通ずるものがある。経済システムが特定の金融組織に依存度を高めるということは、事実上、金融植民地化を意味する。資本主義国を代表するアメリカは、総収入90%以上を20%の富裕層が独占すると言われる。これが健全な資本主義の姿だとは到底思えない。対して、日本は一般的に資本主義と言われるが、高度成長期からの日本型社会主義といった側面がある。それは、「一億総中流」という言葉からもうかがえる。現在では、小さな政府が唱えられ、なんでも民営化の方向へと進む。この流れが間違っているとも言えない。少なくとも現在の政府は大き過ぎる。いや、政府は機能せず、官僚が巨大化し過ぎたと言った方がいい。日本が資本主義と信じていても、むしろ旧ソ連体制に似ていると疑っている人も少なくないだろう。

なんとなく、植民地の資本の流動が現在の途上国の資本の流動と重なって映るのは気のせいか?例えば、先進国よりも途上国の方が、賃金が安く労働資本は効率的に運用できる。大企業が生産拠点を途上国に移すのも理解できるが、やがて途上国も労働者の生活水準は上がる。そして、新たな途上国を求めることを繰り返せば、いずれ地球上の労働資本は限界点に達するだろう。これは急激な人口増加を無視して議論することはできない。つまり、地球資源の枯渇と似た状況にある。経済発展がこのままムーアの法則で加速するとしたら、資本の枯渇もそう遠い未来ではなさそうだ。となると、資本主義は拡張経済から分配経済へと移行するだろう。20世紀までは、国家間や企業間の格差が、資本の流れを円滑にしてきた。だからといって、わざわざ格差を拡大する政策をとれば暴動が起こるだろう。先進国では付加価値の高い製品が輸出され、後進国では資源資本や労働資本を供給するという関係は、後進国が豊かになれば資本の流れが均等化するだろう。では、最終的に資源資本を持った国が優位になるのか?いや、技術革新は資源や資本の概念をも変えるだろう。化石燃料に頼らないエネルギー政策を取ることが優位性を保つ鍵となるかもしれない。20世紀までは世界経済を自由の概念によって牽引してきたが、21世紀は平等の概念に少し重きを変えるのかもしれない。いずれにせよ資本主義の改良版が求められるだろう。極端に理想論へ移行するのは実践的ではない。人類には、皮肉にも理想を追いかけることによって、逆に社会を暴走させてきた歴史がある。本書は、資本主義の本質には私有財産の神聖化があるという。その通りであろう。しかし、社会主義が強すぎて国家が私有財産を取り上げれば、巨大官僚支配となる。この点では、資本主義よりもむしろ共産主義の方が質が悪い。もし、完璧な政治体制があるとすれば、それは神による独裁であろう。ただ、政治指導者たちが神になろうとするから困ったものだ。人間社会とはおもしろいもので、支配階級が自らの道徳観が最も優れていると自負した時に、最も醜い政治体制が完成する。

1. カウツキー主義批判
レーニンのドイツ社会民主党の理論家カール・カウツキーに対する攻撃は尋常ではない。その性癖はスターリンさながらである。ボリシェヴィキとは、そうした性癖をもった連中ばかりなのか?本書は、ほとんどカウツキー主義の批判書と言ってもいい。そして、第二インターナショナルを堕落と腐敗の産物と蔑む。第二インターナショナルとは、第一インターナショナル(国際労働者協会)の後継組織で、ヨーロッパ各国の労働組合と社会主義政党が結成した労働団体である。この団体は、マルクス主義に基づくプロレタリアートの組織として発展した。そして、指導者エンゲルスが亡くなると日和見主義者が指導者になったという。ちなみに、第三インターナショナルは、別名、共産主義インターナショナルなのだそうな。カウツキーは資本主義の崩壊を唱えている点でマルクス主義的であるが、プロレタリアートを軽視した点で、マルクス主義の理論的誤謬を犯していると批難している。そして、言葉の上では社会主義を唱えながら実は社会主義的排外主義であって、彼らが唱える社会平和主義や世界民主主義は欺瞞であるという。ここには、真のマルクス主義こそが共産主義であり、ボリシェヴィキだと主張しているところに、レーニンの傲慢さがうかがえる。実際に、ドイツではビスマルク首相の時代に社会保障政策を唱えている。こうした流れが、ドイツの労働者を資本主義の改良主義へ導いたとも言えよう。だが、帝国主義を目の当たりにすれば、資本主義の暴走に歯止めがかけられないと考えて、革命を煽るのも分からなくはない。そして、ボリシェヴィキが活躍したのが資本主義の後進国ロシアであったのも、まだロシアなら救済できると信じたからかもしれない。

2. 帝国主義批判
第一次大戦当時、帝国主義によって狂気の沙汰となった軍拡熱が高まり、物価の高騰を招いた。そして、列強国の国民は互いに反目しあうようになる。本書は、鉄道建設、石炭産業、鉄鋼業といった資本主義を牽引した工業を、ブルジョア民主主義文明の象徴と蔑む。そこには、カルテル、シンジケート、トラストといった資本家による独占形態が現れ、国内市場を分割して占有した様子が語られる。そして、必然的に独占団体同士が世界的に結びつき、国際カルテルを結成する事態になったという。更に、資本主義では農業は育たないと主張している。確かに、工業が資本主義を牽引してきた。だが、ボリシェヴィキの指導下で農業組織が進化したとも思えない。植民地支配もまた、資本主義が生み出した産物だと主張している。まさに、鉄道建設は資本主義的奴隷制によって支えられながら、私的所有と結びついてきた。しかし、強制労働という意味では、共産主義も負けていない。資本主義でなくても、支配階層の欲望に寄生と腐敗が結びつくのは人間の本性であろう。領土の奪い合いで見られる世界分割、植民地争奪戦、経済的勢力圏を求める闘争、これが資本主義の最終段階であるという。帝国主義は資本主義の振り子が極端に振れた結果とも言えよう。では、社会主義が極端に振れた結果が共産主義で、その最たるものがスターリンというわけか。ボリシェヴィキによってスターリンが登場したわけだが、レーニンがこの人物の危険性に気づいていたことは明白である。スターリンの失脚を企てて失敗したが、こうした行動はレーニンが社会主義の暴走にも危険性を感じていたからかもしれない。

3. 帝国主義における銀行の役割
いつの時代でも、銀行の役割が議論される。社会で最も道徳的な立場が要求される業種の一つでもあるが、伝統的に暴走する性格を持っているようだ。人間はお金が絡むと目の色を変える。それも、お金には実体がないという意識から不安に駆られるのだろう。だから、大金を持ち過ぎても欲望に憑かれる。現在では、銀行に依存しない経済システムの構築が囁かれるのも皮肉である。銀行は、決済の仲介業務から離れると常に批判の対象となる。まったく生産性のない業種が、資本主義の中枢を握るという経済構造があり続ける。本書は、銀行の独占化が帝国主義を強化したと指摘している。そこには、銀行は投資の仲介ではなく、投機を煽る巨大組織となった様子が語られる。旧来の資本主義では、銀行は自由競争の調整機関である証券取引所として機能していたという。証券取引所の役割は、企業価値や貨幣価値といった物質的評価を正常に安定させることにある。この仕掛けは、人間のできない価値評価を自然原理に委ねたと言ってもいいだろう。ところが、銀行が優位性を保つために巨大な資本を集めた結果、資金流入を独占し、資金を頼みにする企業を事実上傘下に置くことになる。株式保有率を高めれば、そこに役員を送り込み、そこに政府高官が癒着する。ドイツでは、巨大銀行の取締役に、国会議員や市会議員を見かけるのは珍しくなかったという。また、経営能力を超えた資本の流入によって、経営者がギャンブル的な事業に乗り出す光景がある。そこには、貸借対照表に現れない一般投資家を欺いた工作行為がある。おまけに、新規事業に失敗しても、機を逸することなく株式を売り抜ける。当時、貸借対照表の実態を読みにくくする手法が横行したという。本来、銀行は産業界の裏方のはずだが、資本主義では金融資本の強化が事実上国家を支配したと指摘している。「株式所有の民主化」と言ってしまえば聞こえはいいが、資本の民主化は金融寡占制の威力を増幅する便法になっているという。経済危機で、政府が救済するのは破産に追い込まれた富裕層であることは、いつの時代も同じようだ。

2009-11-01

"菊と刀" Ruth Benedict 著

アル中ハイマーの購入予定リストには、ずーっと前から亡霊のように居座る奴らがいる。本書もその中の一つ、これがどういう経緯でリストに挙がったかは記憶にない。

「菊と刀」は、いろんな訳版があるようだ。本書は訳者角田安正氏による光文社版である。第二次大戦中、文化人類学者ルース・ベネディクトは、アメリカ情報局の依頼を受け日本人の気質を研究した。そこには、戦時中でもあり、研究者として現地調査ができないことを悔しく思っている旨が語られる。参考としたのは、在米日系人と日本文学や歴史文献などだという。こうした制限の中で、これだけの分析がなされるのには感服せざるを得ない。本書は、あくまでもアメリカ人向けに記されたアメリカ人による日本人文化論である。
当時、日本に住んだことのある欧米人が書き残したものは、一般的に貧弱かつ皮相的だったという。したがって、欧米人の文献を参考にすると、むしろ誤った知識を展開すると警戒している。本書の分析は、時折ドイツ人やフランス人やロシア人との比較を交えながら、主にアメリカ人との対比の中で展開される。こうした比較分析の難しいところは、観察者が観察される側を見下ろしていると誤解されるところであろう。相対的な関係からは、文化の優劣が強調される感がある。こうしたわけで、ベネディクトへの批判が少なからずあるのも理解できる。鋭い指摘も多いが、事実誤認という欠点も見られるのは仕方があるまい。C・ダグラス・スミスによると、アメリカ人が大人であるのに対して、日本人は子供で成長過程にあると解釈しているという。日本の評論家にも似たような発言をする人がいるが、それは少々浅はかであろう。本書には、アメリカ人の自国民中心主義と、それを他国に押し付ける有難迷惑な態度を批判する様子もうかがえる。日本を命令によって自由で民主主義的に創造することは、アメリカの手には余ると述べている。そして、フランスのド・トクヴィルの言葉を紹介している。
「アメリカはさまざまな長所があるにもかかわらず、真の風格を欠いている。」
トクヴィルによると、アメリカ人よりも日本人の価値観の方が納得できるかもしれないと語っているそうな。法の力を借りたところで慣習として根付かなければ意味をなさない。ベネディクトはそれを理解しているように思える。人間が自らを客観的に評価することは難しい。身近過ぎて見えないものも多くある。日本文化に見られる行動様式を外国人の目で見た考察は、重要な手掛かりを与えてくれるだろう。そして、比較の中で相対的に語ることの難しさを改めて感じさせてくれる。なるほど、日米両国でロングセラーを続けているのもうなずけるわけだ。ちなみに、アメリカでは、ベネディクトの主著は「文化の型」と見なされているらしい。

ところで、「菊と刀」というタイトルに込められる意味とは何か?当初、菊の花に自然の美を求める心と、刀には好戦的な性格を表している印象を持っていた。時折、欧米人が口にする日本人の二重人格性である。だが、読み続けていくと、そう簡単には片付けられないように思えてくる。「菊」の美しさには、名誉や恥や自制心が象徴され、「刀」には、輝きを放つ武士の義務を全うする強い意志が現れる。本書は、日本人の自己責任の解釈は徹底的で、アメリカ人には遠く及ばないと語っている。したがって、「菊」と「刀」を対立関係として見るのではなく、なんら矛盾しない関係に映る。また、日本人の文化的倫理観は、アメリカよりもヨーロッパに類似したところがあるように思えてくる。本書も、日本人の価値観をドイツ人の名誉やスペイン人の勇気、あるいはナポレオン軍の誇りと重ねて論じている。ただ、最も性格の反するアメリカによって占領政策がなされたのも、歴史の皮肉というものか。確かに、本書には欠点も目立つ。だが、戦争相手の研究という意味では、アメリカは最低限の情報収集に取り組んだとも言えよう。対して当時の日本政府が、戦争相手の文化をどこまで研究していたのかは疑問である。日本には情報を疎かにする伝統がある。既に情報戦で負けていた証とも言えよう。
日本では、太平洋戦争を軍部の暴走と解釈する人が多いだろう。だが、そう簡単には片付けられないような気がする。軍部を含めた政治家たちが、アメリカの工業力に勝てると真面目に考えていたのか?当時の政治家はそれほど馬鹿だったのか?ポーツマス条約や海軍軍縮条約といった不公平条約への不満も見逃せない。敗戦を覚悟して国の威信を賭けたとも言えよう。また、国民感情が教育を含めて扇動されたのも事実であろう。平和論を唱えようものなら国賊と罵られる時代である。明治維新から急激な近代化にともない、天皇を中心とした神の国というスローガンの元に絶対に戦争に負けないと洗脳された。となれば、徹底的な敗北を喫するまで戦争を続ける運命を背負わされたのかもしれない、などと発言すると批難もされようが、酔っ払いにはそう思えてならない。そもそも、自国を神の国と崇める時点で、他国を蔑んでいる。現代風に言えば、アメリカが自らの理念の崇高さに酔いしれて強大な軍事力を後ろ盾に世界の警察官を自認し、国連を無視するといったところだろうか。しかも、その軍事行動は世論操作によって扇動され、おまけに、それを無条件で支持する無責任な国が取り巻く。こうしてみると政治手法は、現在も昔も大して変わっていないように映る。

欧米人は、イデオロギーの鞍替えや思想の転換を見ると、その人の人格の変化を再評価するという。まさしく、日本は太平洋戦争の敵国に対して、占領下では友好的な態度に変貌した。民族滅亡に瀕するまで戦い抜くという意志は、天皇の終戦宣言であっさりと方向転換してしまう。そこには西洋式レジスタンスのような態度は現れない。これにはアメリカも驚いたであろう。本書は、こうした一変した態度のできる国民の文化的倫理観を考察する上で、宗教的考察はもちろん、子育ての方法といった慣習にまで踏み込む。表面的には仏教国だが、その中身は仏教的でも儒教的でもない。煩悩を遠ざける一方で、五感の愉悦を楽しむ享楽の解放がある。極東に位置する日本は、あらゆる宗教を最も冷静な目で眺めることができると解釈することもできよう。無宗教と批難されることもあるが、これはむしろ良いことではないだろうか。無宗教でも信仰がないわけではない。一定の信仰に凝り固まらず、柔軟に思考が変えられる特長がある。悪く言えば優柔不断でもある。政治家の言葉はころころと変わり、もはや威厳も保てないでいる。
日本人は子育ての段階から、周囲の目を意識するように教育される。そこには、泣き虫がよその子と比較されて説教されるといった恥じらいの様子が再現される。そして、世間体を意識する風潮が、嘲笑われたり仲間外れにされることを極端に嫌うと分析している。こうした土壌は陰湿ないじめを助長するのかもしれない。
その一方で、日本には武士道精神に代表される義理、恩、礼節、誇りといった倫理観がある。これは武士階級に限ったことではなく、全ての階級に渡って恩返しのできない人間は非人格者と見なされ、社会から軽蔑される風習がある。世界的に見ても「義理」ほど稀な道徳観はないという。日本人は秩序と階層的な上下関係に信頼を置くが、アメリカ人は自由と平等に信頼を置く。自己犠牲を強いてまで組織の維持あるいは一員になろうと努力する姿は、自由を信奉するアメリカ人にとっては理解に苦しむだろう。
戦後の日本の方針転換は、なにも人格が変わったわけではない。その国民気質は、良く言えばバランス感覚、悪く言えば多重人格性のようにも映るだろう。そもそも、人間を雁字搦めにする宗教的な規律を必要としない。本書は、日本の強みは失敗した事実を一蹴して方針転換できる気質にあると語る。そして、世界の尊敬を得ようとする国民性があり、感情を押し殺し、欲求を戒め、不文律の求める自己規律を受け入れる能力があるという。また、義理と人情、忠と孝、義理と義務の板挟み、日本人はこの徳目と徳目の板挟みの中で生きていると指摘している。こうした性格は、良きにも悪しきにも受け継がれているのだろう。まさしく、現在の官僚政治がこの呪縛に嵌る。仕事仲間の義理を貫き、国民への正義を犠牲にする。賛同しない者を不誠実と蔑み、自らの斡旋を中立独立と叫ぶ。正義にかられて偽証できない者に自重しろと圧力をかけ、明らかに一般社会とは違った価値観の中で議論が繰り返される。彼らの論理は、日本人の慣習の悪しき解釈だけを大事に継承しているかのように映る。

本書は、日本の家庭が家族を社会から守る砦になっていないと指摘している。それだけに、競争の原理が働くと日本人は無防備に曝されるという。日本では、競争の原理が合理性となる可能性が低いだろうと。自由を崇めると自由競争が激化する。アメリカ社会は、まさしくその自由競争主義によって支配される。その結果、何が生じたか?未曾有の金融危機は何を意味するのか?本当の意味での合理性とは何か?一部の階級層に国民の資産が集中する社会が合理性に基づいているとは到底思えない。自由とはやっかいなもので、自己管理や自制のきかない社会では合理性を発揮できない。国民の慣習の違いによっても合理的手段が違ってくるだろう。経済危機に陥っても、他国の実施する政策の意味を理解せずに、真似するだけでは効果は望めない。日本には、皆がやることに追従していないと不安にかられる風潮があり、組織依存度も異常に高い。自己責任と叫びながら、組織の指示を仰がないと動けない。こうした気質は、あらゆる組織において官僚体質を強固にする。そうした反省を踏まえて、本書は現在にこそ存在意義があるように思える。

1. 民族分析としての社会学
多くの東洋人と違って日本人は文章を綴って自らを曝け出す衝動があるという。その文章も、恐るべき率直であると評している。伝統的に日本文学は欧米でも評価が高いようだ。社会学で民族を分析する時、重要なことは一定の冷徹さと寛容さが必要だという。つまり、善意の人々からの批難を浴びるような冷徹さと、同じ人間であるという寛容さの両面である。人間には、固有の理念と共通の理念が共存する。ただ、イデオロギーってやつは、振り子がどちらかに思いっきり振れないと気がすまないようだ。日本人やアメリカ人といった枠組みだけで、画一的な世界を想像することは無理であろう。よく日本人の意識が欧米意識と違っていると慌てふためく評論家を見かけるが、欧米意識だって一つであるはずがない。社会学者や心理学者は意見と行動を統計的に捉える傾向があり、経済学者はもっぱら分布図に気を取られる。アンケートや世論調査には、ある程度の傾向が現れるだろうが、それが絶対ではない。微妙な質問の仕方によっては方向性も変わるだろう。政治手法はもっぱらプロパガンダ手法に頼る。国民性を分析すれば有効な宣伝文句も発明できる。そして、歴史の解釈も巧みに国家間の政治戦略として使われる。人間社会とはおもしろいもので、「民族の誇り」を掲げた独裁者が異民族を迫害する一方で、「世界は一つ」と提唱する平和主義者が固有の民族意識を無視して平均化した価値観を押し付ける。

2. 占領政策と天皇
占領政策において天皇の処分をどうするかは、頭を悩ませたであろう。憲法上、天皇が直接支配していたわけではない。だが、統帥権が微妙な位置付けにある。外務省に交渉権があるといっても、はるかに軍部の権限の方が強い。天皇と政府の二重構造は、その源泉を鎌倉時代から南北朝時代あたりの中世日本に遡って考察がなされる。それも当然であるが、この二重構造体制をまともに説明できる人は少ないだろう。天皇に対する尊敬の念は、ヒトラーへの崇拝と同列にはできない。ドイツ人がヒトラーを戦争責任者として扱うのに対して、当時の日本人にとっては天皇と戦争は別次元にある。天皇を神と崇めたところでキリスト教的な神とは意味合いがまったく違う。だから、天皇の人間宣言をあっさりと承諾できたのだろう。当時、天皇が戦争を続行しろと命令すれば、民族が亡びるまで抵抗を続けたかもしれない。だが、天皇が敗戦を受け入れれば、国民があっさりと受け入れる脆さもある。となれば、アメリカの軍事戦略は天皇が戦争を止めると発言するように仕向ければいいはず。ただ、それではアメリカの世論が納得しないだろう。アメリカが、天皇に戦争責任を追及しなかったのは、日本文化を研究していた成果とも言えよう。結局、総合的な戦略研究や分析がなされた国や組織が、最終的に競争に勝利するということであろうか。
徳川幕府末期、世界の列強国に対抗するために国家の団結が迫られていた。幕府の攘夷派も倒幕派も、この点では一致している。宗教で団結できない日本は何か拠り所にする象徴が必要となる。天皇制の下での国家体制を築いた明治維新当時の政治家たちの眼力は鋭い。大日本帝国憲法が天皇の神聖不可侵を定めている点は注目すべきであろう。
中世日本において、律令制が天命思想を前提としているのに対して、日本では独特の解釈がなされた。天皇は律令制の皇帝としての役割と神聖な王としての役割がある。中国との交易を継続するために、象徴的な天皇家を絶やすことができなかったと考える歴史家もいる。中国の制度を取り入れて失敗したものに、後醍醐天皇の「建武の新政」がある。中国式の官僚制は日本の封建社会には馴染まなかった。ところで、現在では、日本古来の封建制から受け継がれた世襲制に加えて、古代中国式官僚制が蔓延り、それが欧州風議会政治の元で運営されるところに訳の分からんシステムがある。日本人は、何もかもミックスして新しい風潮を生み出す性質があると言われるが、それで硬直化してしまっては頭が痛い。これも世界で類を見ない日本独特の政治体制というわけか。

3. 戦時中の慣習
一般的に死傷者と投降者の比率には一定の規則があると言われる。これが当時の日本人に当てはまらないことは想像に易い。学業優秀な若者達が、自らの思考を放棄して宗教的に洗脳されたわけではない。民衆を含めた集団自決などは軍の強制も多少は影響しただろうが、もともと集団意識に個人犠牲という国民性がある。こうした行動を欧米人には理解できないだろう。どの国も戦争を正当化する。どこの国にも言い分があるから戦争状態となる。日本が、侵略国に倫理観を押し付けたのも確かであろう。愛国心とは実に微妙な位置にある。自己愛が強すぎると他人を認めないことにもなる。「大東亜共栄圏」という言葉を用いなければ、果たして日本の世論を動かせただろうか?欧米では、日本人の過度の精神主義は、貧しさからくる言い訳、あるいは、欺かれた感情の幼稚さと解釈する風潮があったという。古くから日本には質素で勤勉を美徳とする文化があり、これに精神論が加われば煽りやすくもなろう。
また、病気に対する心情にも文化的違いが現れるという。アメリカ人ほど医者に頼る習慣があるのも珍しいのだそうな。アメリカでは、病人に対する思いやりが、恵まれない人に対する救済措置よりも優先されるという。こうした傾向は元ブッシュ政権に代表されるだろう。日本兵の中に異常な精神主義が蔓延っていたのは否定しない。負傷者が手榴弾などで自決する姿も現れる。これを同胞に対する残虐行為と解釈する欧米人も少なくないが、これには抵抗を感じる。足手まといになりたくないという責任の表れでもあるから。日本兵には降伏の恥があった。その立場は家族にも及び、面目を失うと社会的な負い目がある。したがって、アメリカ人捕虜を恥知らずと軽蔑する。ところが、その慣習も徐々に崩れていったという。アメリカ人に対する疑念を忘れ、日本人捕虜の中には誠意ある者も現れ情報収集が円滑になったという。このような豹変振りは、欧米人には理解しがたいものがあるようだ。軍部に騙されていたという意識があったのかもしれない。人間は、信じていたことと逆のことが真実だと知ると簡単に意識改革できるということか。

4. 汚名をそそぐ
日本が日露戦争で勝利した時の写真を見ても、どちらが戦勝国なのか区別がつかないという。ロシア軍人は武器を剥奪されていない。乃木将軍とステッセル将軍は握手して、ともに勇敢さを称えたと伝えられる。そうした武士道とも言える礼儀を持ちながら、日露戦争から太平洋戦争までに日本人は豹変したと言われる。しかし、これは何も矛盾したことではないと指摘している。太平洋戦争では「鬼畜米英」と叫んで猛烈な反米思想を唱えた。こうした例は日露戦争や日中戦争には現れないという。これは、ポーツマス条約と海軍軍縮条約に果たしたアメリカの役割に恨みをもったことからきていると分析している。日本人の倫理観には、汚名をそそぐという概念が根強くあったのかもしれない。その例を「忠臣蔵」を持ち出して、お家断絶の不名誉を被った復讐と公儀への抵抗で分析している。討ち入りを眺めれば、奇襲攻撃と重ねることもできよう。だが、アメリカ人には卑劣な行為としか見えない。そして、普段礼儀正しい日本人が、一旦不名誉を被った相手には、手段を選ばす攻撃的になる性格があると指摘している。仇討ちを成し遂げた武士が華やかに切腹した一方で、影では家族や親戚は辛い運命を背負わされる。名誉のためならば家族の犠牲も惜しまないという習慣は伝統的にあったのかもしれない。借りを返すといった意識は日本人は強いということか?こうした倫理観を真珠湾攻撃と結び付けている。

5. 応分の場
日独伊三国同盟の前文には、次のような一節があるという。
「日独伊三国の政府は、政界各国に応分の場が与えられることこそ恒久平和の前提条件であると考える。」
また、真珠湾攻撃に際しても、ハル国務長官宛ての文書には、次のような一節があるという。
「各国が世界の中で応分の場を得られるように取り計らうことは、日本政府の不変の方針である。」
ここには「応分の場」を与えられなかった日本人の憤慨する性格が現れていると分析している。ただ、それは欧米と同等の権利を要求しただけのことで、現代ではアメリカ人の持つアメリカ中心主義の方が強烈である。また、階級制を基盤とした民主主義が日本流であって、欧米流のイデオロギーを基盤とした解釈は通用しないと指摘している。階級制と言っても、あからさまに階級差別があるわけではない。それは「応分の場」という概念であって、身の程をわきまえるといった感覚だという。日本人には敬語や謙譲語を相手によって使い分ける習慣がある。性別や世代、家族や組織の上下関係に道徳律がある。これを階級制と表現するところに少々違和感がある。また、大東亜共栄圏の、日本は兄で他国は弟であるとした思想を、長子相続制度と重ねている。

6. 戦後の政策
戦後、明らかにドイツやイタリアと違った政策をとった。それも日本の官僚機構を活用している。占領政策では、日本流の民主主義を土台にした方が、国民の自由を拡大しながら福祉を確立するのに都合がよいということだろうか。現在では、戦後政策が官僚体制を強固にしたと批判する評論家も少なくない。日本社会では、階層的秩序によって高い地位を占めた人間が傲慢な態度を顕にして、自らの恣意で権力を行使することはないという。最高責任者が実権をふるうのではなく、顧問団や黒幕が舞台裏で暗躍するというのだ。なるほど、一昔前まで総理大臣は黒幕に操られていた。各国代表は黒幕と直接交渉する動きがあった。今もか?その一方で、権力を行使する黒幕が明るみになると、世論から厳しい目が向けられる。私利私欲の追及に走る高利貸しや成金といった利益主義は顰蹙を買う。また、詐取や不公正に対して厳しい反応を示す。だが、そうした場合でも決して革命家と化すことはないという。西洋の論者は、日本人の大衆にイデオロギー的な大衆運動を期待したという。戦時中は日本の地下組織を過大評価して、降伏時に主導権が移るのを期待し、終戦後の選挙で急進的な勢力が勝利するだろうと予言したという。しかし、「応分の場」をわきまえた国民からは西洋的な革命運動は起こらないと指摘している。なるほど、社会保険庁の問題などは暴動が起こっても不思議ではない。日本人の感覚も西洋化が進んだので、今後、暴動が起こる可能性は否定できないだろう。ただ、高齢化が進むと性格が温和になって、意識は相殺されるかもしれないが。

7. 自己鍛錬
文化における自己鍛錬の方法は民族の特徴を表すもので、外国人にはとかく愚行に思えるものである。昔の日本は、自己鍛錬の場が日常生活に浸透していた。精神修行の根底には自制心や克己心がある。これは大和魂といったところだろうか。伝統的に個人的欲求を犠牲にすることに美徳を求めるところがある。ただ、アメリカ人には自虐に映るだけだろう。妻は夫のために人生を犠牲にし、夫は一家のために自由を捨てる。本人はそれを犠牲とは思わない。アメリカ人にだって、子供に対する愛情は無条件にあり、家庭の幸せを願うはず。ただ、日本の倫理観は、その枠組みが大きな組織にまで広がる。雑念を取り払い、ひたすら物事の本質を見極めるために鍛錬する。現在においても、仕事で努力するのはその能力を伸ばそうとするだけではなく、人生の本質を見極めるためと考える人も少なくないだろう。柔道を学ぶのは、強くなりたいという願望だけではない。柔道から人間の本質を学ぼうとする。達人や匠の世界には、そうした別次元に達する何かがあるように思える。こうした意識は、キリスト教でいう予定説にも通ずるものを感じる。与えられた職業は神によって運命付けられ、それを全うしようとする。人間に神の定めたものを知る術はない。したがって、ひたすら勤勉に励むしかない。神の信仰から悟りのような境地を求めるといった感性にも似ているような。

2009-10-25

"思考の整理学" 外山滋比古 著

ちょっと古い本だが、なぜか目立つように陳列される。宣伝文句には「1986年発売以来の超ロングセラー!」とある。完全に立ち読みしてしまったが、本書は是非我が家の本棚に並べておきたい。ほとんど共感できるからである。酔っ払いは、寂しさを感じながら同調者を求めているのだろうか?文章の流れには文学的な雰囲気さえ漂わせ、なんとなく癒される。いずれ再読するのは間違いないだろう。

知識の整理と思考の整理は違う。思考の整理の方がはるかに難しいように思われる。知識の整理はある程度の体系化が可能であろう。知識は、分類や階層化によって構造的にまとめることができる。現在ではコンピュータを利用すれば検索も容易にできる。だが、思考の整理となると事情は一変する。その有効手段を見つけるのは難しい。どちらも、抽象化の概念は必要であろう。伝統的な学校教育では、知識を教えても思考方法を教えることはない。にもかかわらず、人間はなぜか独自の思考方法を身に付ける。それは試行錯誤の中から会得するのであろう。人間は、幼児期に原始的思考というものを形つくる。思考の論理や法則性には、個人の経験則によって癖のようなものがある。人間の理念は十人十色で、合理性は別人からは不合理性と見なされる。したがって、思考の方法論が個人によって違ってくるのは自然である。思考を整理するのに文章を書いてみるのも有効であろう。書き出してみると、意外と理解していないことに気づかされる。一つの手段として図式化するのも有効であろう。おいらは言葉の関連図を書く癖がある。独自のマインドマップとでも言おうか。独自といっても、なんら難しい法則があるわけではなく、誰でも直感的に伝わるような表現を心掛け、その法則も気まぐれに従う。また、自分の思考を他人に説明しようとすると、いつのまにか自分の思考を整理していることに気づかされる。思考の整理に、プレゼンテーションの重要性を意識している人も多いだろう。
いずれにせよ、思考の整理方法で体系化できる黄金手法など存在しないだろう。そして、思考を洗練するには、ひたすら検証を繰り返すことだと思っている。本書は、こうした感覚を持った人間には惹かれるものがある。タイトルに「思考の整理学」と銘打っているが、そこに例題として用いられている手段はあるにせよ、体系的な技術や方法を伝授しようというものではない。思考の本質に迫ろうとすれば、抽象的にならざるを得ないし、哲学的思考が現れるのも自然であろう。本書は、物事を考えるとはどういうことか?思うことと知ることは違うのか?そうした素朴な疑問をあらためて考えさせられる。アル中ハイマーは、本書がしめくくる、このフレーズにいちころでなのだ。
「人間らしく生きて行くことは、人間にしかできない、という点で、すぐれて創造的、独創的である。コンピュータがあらわれて、これからの人間はどう変化して行くだろうか。それを洞察するのは人間でなくてはならない。これこそまさに創造的思考である。」

さて、今宵も酔っ払いの精神の動きに任せて、能書きを垂れてみるかぁ。

1. グライダー型と飛行機型
世間には、実に多くのハウツウものが氾濫する。その中で参考にできるのは失敗例であって、成功例には偶然性が潜むことを意識しておく必要がある。何々学校というものが大盛況なのも、新たに知識を得るために教師のような存在に頼るのが手っ取り早いからであろう。そして、無条件で教材が提示されれば、教材選びという面倒な作業から解放される。だが、あらかじめ教材が用意されるのと、自分にあった教材を最初から探し出すのとでは、意味が違う。教材の探索には、思考の試行錯誤が繰り返される。おいらは、新たな学問をしたければ、独学が一番心地良いと思う。独学は必然的に読書する。そして、散歩するかのように試行錯誤の中を漂いながら、具体的な手段を模索する。なによりも、誰にも指図されないのがいい。知識は獲得するまでの過程にこそ意義がある。つまり、最初から教材が与えられるということは、学問の醍醐味を省略していることになる。知識に到達するまでの思考を省いては、人生も味気ないものとなろう。そう言いながら、かつて英会話学校へ通ったことがあるのだが...よくセミナーにも参加するし...
いい歳をした大人が、なんでも手軽に教えてもらえると考えるのは、学校教育の弊害と言えよう。学校教育では知識を記憶することに没頭する。しかし、記憶は歳とともに薄れる。あらかじめ教材が用意され、情報探しで思考することを放棄させる。おまけに、重要なポイントが最初から示され、何が重要なのかを思考する過程をも奪う。何が重要なのか個人によっても観点が違うはずだが、学校教育の観点は試験のみである。問題はすべて学校側で用意される。だが、社会では問題は突然わいて出て、おまけに解答を知っている者は誰もいない。この答えの見つからない問題と対峙しながら、妥協という解決が求められる。
国語では解答が一つしかなく、文学作品の作者の意図も一方向に誘導される。歴史では、教師の解釈が強制される。数学では、有効な解法を一つ提示すれば、それに皆が群がる。そして、すべてが暗記科目となる。こうした傾向は社会現象にも見られる。世論は一方向に扇動され、違った解釈を持つものは不安に駆られる。こうした流れは、一時的にエントロピー増大の法則に逆らっているように映る。しかし、事象に対する後の社会的評価や歴史的評価は、時代の経過とともに変化する。社会を生きる上で、紋切り型の知識はあまり役に立たないことは、ほとんどの人が経験によって認識しているだろう。だからといって、知識を蔑むものではない。知識がなければ思考することも難しい。こうした視点を、本書ではグライダー型人間と飛行機型人間の対比で語られる。グライダーも飛行機も空を飛ぶ姿は似たようなものである。むしろグライダーの方が音も静かで優雅である。しかし、グライダーはエンジンが無いので、自ら舞い上がることができない。そして、学校はグライダー型人間の養成所であると皮肉る。グライダー練習上にエンジンのついた飛行機が混じっていては、騒音もうるさく迷惑するというわけだ。勝手な奴は規律違反をし、優等生はグライダーとして優秀となる。従順さの尊重こそ学校というわけか。おまけに、指導する教師もグライダー型である。面倒見が良さそうで親切そうな教師ほど、具体的な参考文献や問題の解釈などを提示してくれる。だが、それは意識の誘導でもある。こうした教師ほど評価される。これは学問にとって良い傾向なのだろうか?個人的には、好きなようにやればいいと助言してくれる方がありがたい。一見冷たく見えるがそうではない。こちらが考えをまとめて、議論に訪れれば話題も盛り上がる。逆に、こちらの思考が浅ければ冷たくあしらわれるだけのこと。人間社会はグライダー人間によって支配される構造的問題を創出しているのかもしれない。

2. 独創性
本書は、知識と思考を独創性や個性といった観点から議論される。ところで、独創性とは何か?独創性とは、どうやって磨くのか?その出発点をどこに求めるかは難しい。子供の行動は、大人の行動を真似ることから始まる。こうした素朴な行動には、独創性の本質が隠されているような気がする。作家ポール・ヴァレリーは、他の作品を養分にすること以上に、独創的なものはないと語った。ヴァレリーによると、偉大な芸術は模倣されることを自然に受け入れるという。優れた作品は、模倣しても、模倣されても、ゆるぎない芸術性を保つというわけだ。日本の小説家で誰だったかは思い出せないが、似たようなことを語っていた。それは、独創性を磨くには、いかに多くの気に入ったフレーズに出会えるかにかかっているといったことである。個性を磨くにしても、いかに個性的な人間に出会えるかにかかっているのかもしれない。ただ、最も重要なことは、自らの精神を解放することであろう。いくら、優れた思考に出会ったところで、それを感じ取る力がなければ意味がない。芸術家は、日常生活の些細な出来事ですら、そこに芸術性や独創性を感じるのだろう。科学の独創性にも、先人たちの苦悩の積み重ねの上に成り立っている。そもそも、最初から独創性を意識したところで、独創的な思考は生まれないだろう。人間の理念が十人十色であれば、おのずと物事の解釈にも個人差が生じるはず。
「デマは見方によれば、自由な解釈にもとづく伝達の花だということにもなる。われわれは、だれでもデマの担い手となる資格をもっている。」
なるほど、ウィキペディアにも間違った情報が紛れ込む。おいらのブログも時々読み返して修正しているが、どれだけ間違いが紛れているかは計り知れない。酔っ払いには知識の整理だけでも難しいのに、思考の整理となると、独創性が絡み限りなく不可能となりそうだ。

3. 思考と閃き
思考していると、思わぬ閃きが突然やってくることがある。アル中ハイマーには、風呂の中か睡眠中に訪れる。アイデアや難題の解決方法が、思考をリセットした時に訪れることはよくある。ただ、困ったことに、こうした場面では即座にメモることができない。こうした現象は、緊張感から解放された時に起こるのだろうか?本書でも、REM睡眠と思考の関係を論じている。
通勤途中の電車に揺られている時にアイデアが浮かぶことある。電車の振動は思考のリズムをつくるのかもしれない。一日中解決できない技術的な問題を、徹夜して取り組むが、一晩寝るとあっさり解決されることもある。そして、昨日の苦労はなんだったんだ!とにやける。将棋の棋士が考慮中に真っ白な空白をつくることを心掛けているといった話を聞いたことがある。思考が枯渇した時、そうしたリフレッシュが大切なのは、経験的に感じる。これが気分転換というやつか。おいらは、よく煙草を吸いに海に出かける。波の動きを眺めたり、波の音を聞いていると、それだけで癒され、思考がなんとなくリフレッシュされるように気がする。そもそも、集中しようと思って意のままになることはない。ある程度の精神誘導は必要だが、焦らず自然に集中することを待つのが肝心!そして、突然フロー状態が現れる。本人は気づかず、心地良い宇宙へと自然に導かれる。無我の境地とでも言おうか。自我は、自由意志によってコントロールできそうで、できない。ただ、神は自我のコントロールが自在にできると信じ込ませるから、やっかいである。「自由」を実践することは難しい。好きなように実行することほど難しいものはない。自我とは、得体の知れないものである。自由意志の存在すら疑わしい。そこがおもしろいのだが。やりたいことを、続けていると、いつのまにかテーマが自然発生する。人間の精神は気まぐれに支配されると考えるしかあるまい。したがって、集中力は向こうからやってくる。それを、美味い酒でも飲みながら待つとしよう。

4. 夜型人間から朝型人間へ
エンジニアの世界には夜型人間が多いようだ。昔から勉強は夜間にやるという習慣があるのだろうか?おいらも、サラリーマン時代に夜型人間だった。そこで、フレックスタイム制はありがたい。しかし、会社を転々としているうちに、いつのまにか朝型人間になっている。ベンチャーと称する企業で働いていた時は、毎日メールを200通から300通処理しなければならなかった。これをやっているだけで一日が終わってしまう。そこで、メール処理のために朝を利用する。そうしないと、自分の仕事をする時間が確保できないからである。すると、朝6時から9時ぐらいに頭の回転が速いことに気づく。今では、朝4時から5時には自然と目が覚める。目覚まし時計が壊れていることにも気づかない。朝からステーキハウスに出かけることも珍しくない。他に客もいないので貸し切りにできるのが気分いい。ちなみに、一番多く食べるのが朝飯で、夕飯が一番軽い。その分、酒が入るが。いつのまにか朝型になっているのを、歳のせいだと言う人がいる。失敬な!そして、昼の3時ともなると飲みたくなる。この時間にバーが開いていないのが残念!個人事業主になると朝4時に散歩する習慣ができた。度々警察官から職務質問を受ける。今では、「ご苦労様です!お気をつけて!」とパトカーから声をかえられる。ちなみに、就寝時間は0時から1時。よって、連続睡眠時間は3時間から4時間ということになる。昔から、睡眠時間は短い方だが、その分、昼寝を1時間するとスッキリする。それも、昼間に眠くなれば自然と寝るだけのことで、無理に寝ようとはしない。仕事のパートナーに、「お前はいつ寝てんだ?」とよく聞かれる。おいらは、眠い時に寝る!腹が減ったら喰う!そこに酒があるから飲む!というのを実践している。すると、自然に規則正しい生活リズムが完成してしまった。動物は、生物学的に規則的に生きるようにできているのかもしれない。

5. 読書の中の思考
読書では、一つ一つの言葉は静止しているのに思考はうごめく。プログラムを書いていても、一つ一つの記述は静止しているのに、全体として振る舞いを持つ。音楽は、一つ一つ音波として存在するが、そこにメロディーが生じる。しかも、そのメロディーを感じることができる人と、感じることができない人がいる。一つ一つの科学現象をスナップショットすると、そこには自然法則を感じる。離散的現象を眺めていると、そこに連続性が現れる。人間の目が持つ残像効果も、こうした現象の一つであろうか。
一つの難解な文章に出会うと、その前後の文章から解釈するという思考が働く。言葉の非連続性から、思考によって連続性を構築する。人間の想像力とは大したものだ。難解な命題を理解するために、喩え話を登場させたりと、人間の感性は、総合的観点から物事を解釈しようとする。中には、部分的にしか解釈できなくて、揚げ足ばかりとる人もいる。これを突っ込みと言う。したがって、突っ込みの感覚には、嫌味となるか優れたジョークになるかの判断ができる微妙な感性が要求される。
おいらは、難解な文章に出会うと、よく後ろから読んでみたり、まん中から読んでみたりする。文章の構成を思考によって立体的に組み換えることによって、ある解釈が生まれることがある。もともと理解力の低い酔っ払いは、読み方も右往左往する。思考も千鳥足というわけだ。だから、一冊を読む時間も長い。それだけ長く楽しめるのがいい。速読なんて手法は、酔っ払いには必要ない。酒を多く飲むことが目的ではない。美味い酒をじっくりと味わうのが目的なのだ。

2009-10-18

"幾何学基礎論" David Hilbert 著

昨日飲んだ熟成純米酒に誘われたのか?いつのまにか純粋数学の古典を手に取っている。空間感覚の破壊された酔っ払いには、頭の体操にもってこい!なのだ。

幾何学は、ユークリッド以来、ひたすら公理から展開されてきた。ところが、19世紀になると集合論によるパラドックスの発見によって、その基礎は危機に曝される。そこで、ヒルベルトは公理主義を強調して数学の体系化を推進した。有名な「ヒルベルトの23の問題」が、現代数学の方向性を示したのは間違いないだろう。ヒルベルトは公理論的思惟にこだわった形式主義の立場をとることによって、数学を純粋領域で確立しようと試みた。だが、ゲーデルの「不完全性定理」の登場によって挫折することになる。言い換えれば、人間が証明できる純粋な学問は、人間の不完全性によって挫折したと言っていいだろう。人間が全ての宇宙現象を公理によって証明できるとしたら、人間の地位を神に押し上げるようなものだから。ヒルベルトの努力が、結果的に数学を再び哲学の領域へと引き戻してしまった感がある。だからといって、その貢献を蔑むことにはならない。人間の限界である完全性と不完全性の境界線を探求することに、学問の意義があるだろう。境界線に近づこうとする努力は、全てが完全であると信じるところから始まる。最初から不完全だと諦めていては、その境界線に近づくことすらできないだろう。現在においても、プラトン哲学が継承されているところがある。それは、どんな複雑な現象も、その背後には単純な自然法則が潜んでいるに違いないと信じてきた科学者の執念である。ヒルベルトもこの執念に憑かれたと言えるだろう。

本書は、カントの言葉から始まる。
「斯くの如く人間のあらゆる認識は直観をもって始まり、概念にすすみ、理念をもって終結する。」
ヒルベルトは、カントールの無限濃度アレフの存在を証明しようと試みても失敗することを認めている。つまり、本書には、有限個で完結した世界においてのみ純粋数学がありうるのであって、公理に基づいた数学を確固たる地位で安定させたかったという願いが込められる。彼は、数学をなんとしてもユークリッド幾何学に留めておきたかったのだろう。本書には、集合論の無限性を拒絶した反応があちこちに漂っている。
幾何学には、古くから議論される作図問題がある。結合公理、順序公理、合同公理、平行公理の4つの公理に基づいた幾何学においては、定規と定長尺を用いて作図することが可能である。だが、連続公理が加わった途端にその範疇から飛び出す。図を描くと自然に見えてくる定理が、ひたすら論理的な公理だけで解析を続けると、摩訶不思議な幾何学が登場してしまう。おまけに、複素数系に放り込めば、人間には手に負えない世界が広がる。そこには、幾何学と代数の融合が現れる。近代数学は、証明の可能性を示す方向から、不可能性を示す方向へと方針転換しているかのように映る。アーベルは、5次方程式の代数的解を求めることが不可能であること証明した。平行線公理の証明不可能性、あるいは、ネイピア数と円周率を代数的方法で作ることの不可能性やリンデマンの定理といった例が支配的となる。形式的公理による論理の組立てでは、人間の想像もつかない世界を構築する。こうした流れを、本書はパスカルの定理とデザルグの定理の展開から匂わせる。ちなみに、パスカルの定理とデザルクの定理は、射影幾何学の基本定理である。本書の考察は、実際に微分を用いて解析されるわけではないが、思考的には微分学の匂いがする。そして、ついに非ユークリッド空間を無視した幾何学の構築に限界が見えてくる。

数学の歴史は、抽象化の歴史と言えよう。代数の世界は、自然数に始まり、数の概念を整数、有理数、実数、複素数へと拡張させてきた。それは、自然数で引き算や割り算を行うと、答えが自然数の世界からはみ出すように、一つの系が算術によって世界が閉じられないからである。本書は、これを生成的方法と名付けている。
一方で、幾何学は、点、直線、平面の存在を仮定して公理的に展開される。結合、順序、合同と考察される中で、無矛盾性と完全性に従った公理が構築される。本書は、これを公理的方法と名付けている。そして、公理的方法の方が合理的であって、知識を完全に記述し、完全に論理的に保証する上で優れていると主張する。これは代数学への批判か?
ヒルベルトは、民族や国家の繁栄のために協和と秩序が確立されるように、学問同士の協和と数学界の秩序が重要であると訴えている。そして、幾何学では、平面方程式の一次性の定理と点座標の直交変換から、ユークリッド幾何学を完全に保証できると述べながら、あらゆる学問が公理的展開を見せると熱く語る。数論の構成には計算法則と整数法則があれば十分で、力学にはラグランジュの運動の微分方程式があり、電磁気学にはマクスウェルの微分方程式に電子と電荷の性質を加えたものが公理的な役割を演じるという。そして、熱力学では、エネルギー関数の概念と、そのエントロピーと体積を変数とした偏微分方程式で温度と圧力を定義することによって完全に構築でき、初等輻射論では輻射と吸収との関係を支配するキルヒホフの定理が中心となり、確率論ではガウスの誤差法則が、気体論ではエントロピーの定理が、曲面論では孤の長さを二次微分形式で表すことが、素数論ではリーマンのゼータ関数が、それぞれ基本定理になるという。これらの基本定理は、それぞれの分野における公理と見なすこともできよう。
本書は、高名な数学者であるクロネッカーやポアンカレのような、数学から純粋性を奪おうと企む連中が豊かな数学を脅かすと批難する。ヒルベルトは、交点定理であるデザルグの定理やパスカルの定理を仮定すれば、それを有限回繰り返すことによって、幾何学の公理を決定づけられると信じた。しかし、連続公理の無限性に現れる矛盾性がその道を妨げる結果となってしまった。デカルト座標において、幾何学的公理から矛盾が導かれれば、それは実数系の算術も矛盾として認識されなければなるまい。つまり、幾何学的公理の無矛盾性の問題は、実数の公理系の無矛盾性の問題に転嫁させる。そして、無矛盾性の問題は依然として残されたままである。

1. 5つの公理群
幾何学の構成元素といえば、点、直線、平面の3つに集約できよう。本書は、この基本元素を結合、順序、合同、平行、連続の5つを基本公理として展開する。結合公理では、2点間における直線との結合関係、3点間における平面との結合関係、あるいは平面における立体的な結合関係を示す。順序公理では、直線上、平面上、あるいは空間における点の位置関係を示す。合同公理では、線分と角から三角形の合同関係を示し、すべての直角は合同であることを導く。そして、空間移動における運動の概念を示す。平行公理では、線分と交わる角度の関係から平行の条件を導く。連続公理では、直線上の有限個の点を極限操作によって無限に拡張できることを示す。連続性については、アルキメデスの公理と完全性の公理とに分かれるという。ヒルベルトが公理の完全性を求める上で、連続性はやっかいな存在だったことだろう。無限の概念を避けては通れないからである。本書は、公理として無限性を含まないという意味で完全性公理を仮定しないと述べ、デカルト幾何学との同一性を宣言している。

2. 無矛盾性と独立性
本書は、5つの公理群の無矛盾性と独立性を証明しようとする。独立性とは、各々の公理から他の公理を演繹できないということである。平行公理の独立性には、非ユークリッド幾何学への拡張を思わせる世界をルジャンドルの定理によって紹介される。
ルジャンドルの第一定理:
「三角形の内角の和はニ直角よりも小なるか、あるいはこれに等しい」
ルジャンドルの第二定理:
「いずれか一つの三角形において内角の和がニ直角ならば、あらゆる三角形の内角の和がニ直角に等しい」

本書は、合同公理の独立性から非アルキメデス幾何学の存在を認め、連続公理の独立性から非ルジャンドル幾何学の存在をも認め、ルジャンドルの定理の拡張が述べられる。
「三角形の内角の和がニ直角よりも大か、等しいか、小になる。」
ついに、非ユークリッド幾何学の存在を認め、トポロジーの世界を匂わせる。

3. 分解等積と補充等積
三角形の合同と相似の関係を見出すのは容易である。本書は、多角形における面積理論を展開する上で、分解等積と補充等積を議論している。分解等積とは、二つの多角形をそれぞれ有限個の三角形で分割し、しかも細分した三角形が互いに合同で対応できれば、二つの多角形は合同ということである。補充等積とは、二つの多角形が互いに分解等積である場合、分解等積で得られる三角形の組み合わせで合成してできる多角形のことで、三角形の組み合わせ方で様々な多角形を形成することができる。そして、二つの同底、同高の平行四辺形は互いに補充等積となることが導かれ、二つの平行四辺形の面積は等しくなることが導かれる。
「二つの補充等積な三角形が底辺を共有すれば、その高さも等しくなる」
ここには、面積理論の基礎が構築されている。

4. デザルグの定理とパスカルの定理
デザルグの定理:
「同一平面上にある二つの三角形において、対応辺がそれぞれ平行ならば、対応頂点の連結直線は一点を通るかあるいは互いに平行である。また逆に、同一平面上にある二つの三角形の対応頂点の連結直線が一点に会するか、あるいは互いに平行であり、かつ三角形の二双の対応辺がそれぞれ平行ならば、両三角形の第三辺もまた互いに平行である。」

この定理は、結合公理、順序公理、平行公理によって証明される。しかし、直線公理および平面公理が成立しても、デザルグの定理が成立しない平面幾何学が存在する。立体公理を加えると、合同公理なしではデザルグの定理の証明は不可能という結論を導いている。本書は、デザルグの定理には、平面幾何学から立体幾何学へ拡張するための意義があるという。そして、あらゆる空間公理に代わるものになると示唆している。
パスカルの定理とは、円錐曲線論における定理である。
「点A, B, C、および点a,b,cをそれぞれ3点ずつ相交わる2直線上にあり、かつその交点と一致せざる点とせよ。しかるとき線分CbがBcに平行かつCaがAcに平行ならば、BaがまたAbに平行である。」

デザルグの定理とパスカルの定理はともに平面幾何学の条件であり、パスカルの定理もまた立体公理を加えることで合同公理なしでは証明できないという。ただ、デザルグの定理は、合同公理と連続公理を用いることなく、パスカルの定理から証明できるという。ちなみに、パスカルの定理には、比例の理論と相似関係の基本定理が内包されている。

2009-10-15

"初めてのRuby" Yugui 著

タイトル通りRuby入門書である。ただ、オブジェクト指向を少しぐらいかじっていないと読むのも辛かろう。前記事の「プログラミング言語 Ruby」と重複するところも多いが、よりコンパクトで、具体例はこちらの方が多い。頭の鈍い酔っ払いには、二冊セットで読むとちょうどよい。本書は、リファレンスを読むための手引書のような位置付けにある。ちなみに、著者のYuguiさんとは、園田祐貴さんのことでRuby1.9系統のリリースマネージャと紹介される。自らMtF-TS(Male to Female Transsexual)と告白されるように、その勇気には頭が下がる。こういう方にこそ研ぎ澄まされた感性や才能が宿りやすいのかもしれない。

人間は物事を考える時、自分で使いこなせる言語で思考するところがある。ただ、精神は言語を飛び越えた領域で思考するところもあって、言語学者は対象言語の外側から物事を眺めているのだろう。ちなみに、アル中ハイマーの精神は、しばしば自らのボキャブラリ障壁を越えられなくてイライラする。日常使われる言語には、民族の持つ文化や慣習といったものまで背負い込む。プログラムを書く時も同様に、プログラマは自然とプログラミング言語に沿って思考するところがある。そして、プログラミング言語の持つ文化や慣習といったものが思考の中に入り込む。したがって、システム構築にはプログラミング言語の選択も重要となろう。
ポール・グレアム氏は、著書「ハッカーと画家」の中で、「ハッカーというのは、言論の自由に対してものすごく執着するものなんだ。」と語った。仕事の要求が高ければ、より優れた言語を使うことで効率を上げたいと考えるだろう。だが、実際にはそれほど要求の高くない仕事がゴロゴロしている。よって、慣れ親しんだ言語を使ったり、流行を追いかけるのも悪い選択ではないだろう。言語は過去の資産や組織の政治力によって強要されることもあれば、言語には宗教のようなところがあって洗脳されるケースもあって、純粋に言語選択といっても難しいものがある。多くの言語に触れなければ的確な選択判断が難しいと同時に、一つの言語を深く使いこなさないと本質を理解できないというジレンマがある。したがって、酔っ払いには噂に流されることぐらいしかできない。
Rubyは、純度の高いオブジェクト指向言語として名高い。また、SmalltalkやLispの影響を受けた言語で、複雑なシステムを最小コストで構築する能力があると言われる。Rubyの古い謳い文句に「驚き最小の法則」というものがあるという。なるほど、その思想はシンプルである。数値や文字列、正規表現、入出力などすべてがオブジェクトで構成され、すべてのオブジェクトはメソッドを通して統一的に操作できる。
歴史的には、「より良いPerl」として受け入れられたそうな。Perlといえば、その自由さによって暗号文っぽくなりがちで、自分で書いたコードですら後で見るのが嫌になる。そんな酔っ払いが、Rubyを使えばスパゲッティコードから解放されるとは言い切れないだろうが。
また、「動く擬似コード」と評されることもあるらしい。ほとんどのプログラミング言語は、コンパイルのためのおまじないといった余分なコードが含まれる。その点、Rubyは本質的なコードのみを書くので解読しやすいという。そういえば、最近、数学書やアルゴリズム解説書で、Rubyで書かれたサンプルコードが付録されるのをよく見かける。これも、余計なおまじないがなく要所を押さえたコードということだろうか。
本書は、Rubyらしく考えることを主眼に置いている。言語を理解する上で、単なる文法法則だけを紹介されてもつまらない。言語の流儀や文化を知ることに意義がある。

ところで、オブジェクトとは何か?なんとなく目的を持って振舞う塊のようなもの。そして、多くの塊が協調しながら一つのシステムを形成する。こうした構造は、人間精神のメタファを感じる。精神には、一つの目的を持った意識のようなものが形成され、人間は多くの目的意識を見出しながら生きている。では、それぞれの意識は、何によって制御されたり操作されたりするのだろうか?そこには意志というメッセージが飛び込んでくる。これがメソッドだ。意志とは、石のような頑固な塊であって、それぞれが協調しながら妥協の中で目的を果たそうとする。その目的を持った意志が失われた時、精神は死んだり、精神病を患ったりする。目的を持った意志とは、欲望と解釈することができる。オブジェクトがデータ構造の管理を怠れば、メモリリークも起こす。そして、精神もパニックを起こし、犯罪を犯すことだってある。それが衝動ってやつか?こうした致命的なバグを言語仕様によって防ぐことができればありがたい。では、精神の衝動を抑える合理的な手立てはあるのだろうか?それが理性ってやつか?プログラミング言語の思想にも、危険な操作をすべてプログラマの良識に任せるか、すべて抑制するかという論争がある。ちなみに、Rubyの文化は前者のようだ。これも大人の世界ということだろうか。したがって、オブジェクトの構築には理性構築に通ずるものを感じる、のは気のせいか?

1. バージョン体系
MRI(Matz' Ruby Implementation)のバージョン体系は、"MAJOR.MINOR.TEENY"となっていて、MINORが偶数のバージョンが安定版で、奇数が開発版なのだそうな。ただし、1.9系統は変則で、TEENYが1以上のものが安定版で、0が開発版なのだそうだ。また、1.9系統は2.0系統の踏み台を意図しているという。なんとなく2.0に期待するのであった。

2. データ構造
Rubyは、だいたいにおいて定義が緩やかである。しかし、型変換では厳密な面を見せる。Perlのように、外部からの値を必要に応じて数値や文字列と勝手に判断して型変換をする言語は、あまり好まないのだが、Rubyの型定義の緩やかさの按配は酔っ払いの肌に合う。Rubyは、to_i, to_f, to_sなどの型変換メソッドを用意している。ちなみに、定数も変数でありオブジェクトである。ただし、定数を変更すると警告を発してくれる。
「Rubyは、すべてがオブジェクト構造をとるため、オブジェクトへの参照を別のオブジェクトへの参照へと対応付けるデータ構造をとる。」
といった表現がやたらとちりばめられる。なるほど、変数への代入は正確にはオブジェクトへの参照を代入していることになる。これは注目すべき性質であろう。例えば、以下のように動作する。
------------------
cattle = "yahoo"
animalx = cattle
animaly = cattle.dup # 複製メソッドで明示すれば分かりやすい
cattle[2] = ?p
p cattle # "yapoo"と表示
p animalx # "yapoo"と表示
p animaly # "yahoo"と表示
------------------
酔っ払いは、いかにもオブジェクト指向らしいこの性質に惹かれる。というのも、イテレータで書くと何をやっているかを明示できて、文章っぽくなるのがいい。
ところで、配列などでデータの範囲外にアクセスすると、他の言語では例外を起こすだろう。Rubyは、概して範囲外添字に対して寛容で、nilを返すだけである。この思想が良いか悪いかは、好みの分かれるところだろう。ちなみに、厳格に例外を発生させるfetchメソッドも用意されてる。
オブジェクトの占有するメモリは処理系が管理して解放するので、プログラマが管理に悩まされることはないという。ガベージコレクションが自動でメモリを解放するからである。だからといって、メモリリークが絶対に起こらないというわけでもないだろう。やたらと寿命の長い参照を作るコードが危険であるのは同じである。

3. 数値演算
多倍長整数をサポートしているので、桁あふれを心配せずに大きな数を扱うことができるという。Rubyの数値計算が遅いところは、少々気になるところである。それも1.9では大幅に改善されているそうな。言語によっては、32bitや64bit長という制限があるが、Rubyの整数型には制限がない。整数オブジェクトは、IntegerのサブクラスであるFixnumクラスとBignumクラスで実装される。Fixnumは固定長で実装される整数で、Bignumは多倍長で実装される整数で、これらのクラスを自動的に使い分ける。言うまでもなくFloatオブジェクトの実装はIEEE754に従っていて、その精度はシステムに依存する。IntegerクラスとFloatクラスの親クラスはNumericクラスである。
ちなみに、左辺が右辺よりも小さければ負の数を、等しければゼロを、大きければ正の数を返す比較演算子 <=> を、宇宙船演算子と呼ぶらしい。おいらには宇宙船の形には見えないが。
他に、数値演算に欠かせない複素数クラスや有理数クラスが提供されるのはありがたい。

4. 文字列
この手の言語で、正規表現などのunix流のテキスト処理は必須であろう。Rubyは、PerlやAwkといったシェルスクリプトを受け継ぐ。また、文字列操作のメソッドやイテレータが豊富なのも特徴である。1.9では、マルチバイト文字に対応した多言語テキスト処理をサポートする。マジックコメントは、emacsやvimにファイルのエンコーディングを知らせる方法を流用している。
Rubyには、文字クラスなるものが存在せず、マルチバイトのエンコーディングも含めて、すべてStringクラスで対応している。Rubyのライブラリ設計には、「大クラス主義」というものがあるらしい。むやみにクラスを増やしたり余計な階層化をしないという思想である。
正規表現は、1.8ではGNU regexを改造した独自のエンジンを利用していたが、1.9では「鬼車」というライブラリを採用して機能を強化しているという。
ところで、文字列とは別にシンボル(Symbol)という似通った概念がある。シンボルの特徴は、その唯一性と軽量性にあるという。文字列同士は内容が同じでも同一のオブジェクトとは限らない。対して、シンボルは内容が同値であれば同一のオブジェクトになるという。へー!オブジェクトが同一であるかを調べる場合、文字列よりもシンボルの方が高速に動作するという。シンボルは内容に対する唯一性を維持するので、文字列とは異なり変更不能(immutable)となる。このような性質はハッシュのキーなどに適していそうだ。

5. 入出力
しばしば、Rubyのクラスはunix文化に基づいていて、posixやシステムコールやC言語ライブラリ関数をオブジェクト指向でラップした形になっているという。IOクラスもその典型と言えよう。ファイルをオープンすると、ブロック付きメソッドによって自動的に閉じてくれる。こうしたライブラリがリソースを管理してくれるのはRubyの利点の一つである。リソースを手動で管理することもできるが、その時はcloseメソッドが必須となる。標準入出力やFILEやARGF以外にもIOオブジェクトがある。StringIOは、文字列に対してIOオブジェクトであるかのように振舞うラッパークラスである。1.9では、入出力も文字列と同様にエンコーディングを扱うことができるらしい。

6. 変数と式
Rubyの慣習で、変数名にcamelCaseやPascalStyleのような、大文字小文字で単語を区切るべきではなく、pascal_styleのようにアンダースコアで区切るべきだという。尚、クラス名のみは例外で、PascalStyleといった大文字小文字で名前を付けるらしい。
そういえば、Rubyには、インクリメント、デクリメント演算子がない。導入するかどうかという議論もあるらしいが、強力なイテレータがあるので不便を感じないということらしい。例えば、以下のようにやればいい。
0.upto(9){|i| puts i}
str = "Diogenes"; str.each_byte{|byte| puts byte}
多重代入で、a, b = b, a とやれば、値が交換できるのは便利。論理演算子は短絡評価にも使える。a || b は、aの値が真ならば、bの値を評価せずにaを返す。aの値が偽ならば、bの値を評価する。同様に、a && b は、aの値が偽ならば、bの値を評価しない。
ifやwhileなどの制御文は、Rubyでは値を返す式なので制御式と呼ぶそうな。ちなみに、ループ系の制御式は、loop, times, uptoなどのイテレータを使うとコンパクトに書ける。

7. メソッド
あらゆるオブジェクトにselfが存在する。C++やJavaのthisのようなものである。デフォルトのレシーバがselfなので、クラス内では省略できる。配列では、sortやuniqなどのメソッドが提供される。uniqは重複する要素を排除するメソッドで、元の配列を破壊しない新たな配列を生成する。対して、uniq!は破壊的メソッドとなり、元の配列から重複要素を削除する。一般的に破壊的メソッドは、末尾に!を付ける慣習があるようだ。
非オブジェクト指向的なメソッドに関数メソッドがある。厳密に言えば、どこかのオブジェクトに属するので、Rubyには純粋な意味での関数は存在しないようだ。つまり、トップレベルのメソッドである。
値を返す時は、returnを用いることができるが、省略すれば、メソッドの末尾の式の値が返される。ただし、多値を返すにはreturnが必須。ちなみに、void関数のような値を返さないメソッドは存在しない。神経質なプログラマは、意味のない値を返すよりも、意図されないようにnilを返すように書くらしい。
メソッドによっては、ブロック付きで動作させたい場合がある。ブロック付きメソッドを定義する時は、yieldを利用する。

8. クラスとモジュール
クラス名は大文字で始まる識別子でなければならないという。これはクラス名が定数名でもあるからだそうな。クラス定義の変更を禁止したい時は、freezeメソッドを使用すればいい。ちなみに、組み込みクラスを含む重要なクラスでも、初期状態ではfreezeされていないという。プログラマの良識に委ねているということか。
モジュールはクラスと似ているが、「インスタンス化できないクラス」のようなものだという。ClassはModuleのサブクラスである。モジュールの特徴はMix-inと名前空間にあるという。Mix-inは、制限された多重継承で、そのイメージはトッピングのような意味あいだろうか。ArrayやHashクラスには、EnumerableモジュールがMix-inされるので、その関係のイテレータが自由に利用できる。クラスにComparableモジュールをMix-inすれば、比較機能を自由に利用できる。

9. その他
gdb風のデバッガが標準に装備される。
$ ruby -rdebug hello.rb
pという信じられない短いメソッドがある。これはデバッグに用いられるメソッドでirbと共に重宝されるが、デバッグや学習、コードゴルフ以外に用いるのは行儀が悪いという。おいらは、このメソッドに病み付きだ。
RubyGemsはパッケージ管理システムで、インストール可能なパッケージの一覧などを参照できる。RubyGemsには、Ruby/GD2などの画像ライブラリやネットワークライブラリもある。
wxrubyは、クラスプラットフォームなGUIツールキットwxWidgetsをRubyから利用するためのライブラリである。

2009-10-11

"プログラミング言語 Ruby" David Flanagan & まつもとゆきひろ 著

ここ数年、遊びで書くコードはほとんどRubyである。毎日遊んでいるようなもんだが。というのも仕事では認可してくれない。管理ができないからという理由らしい。では、C++ならば管理ができるのか?正確にはC++コンパイラさえ通ればいいようだ。
ところで、遊びとはいえ使う言語の解説書を一冊も持たないことがよくある。試してみてから気に入ったら、その解説書を買うといったところだろうか。これも、安易に誤魔化すことができるネット社会の恩恵であり、惚れっぽい酔っ払いにはありがたい。ということで、Rubyの解説書を手にするのは初体験である。初体験という言葉はなんとなくドキドキさせる。これも若さというものか。

Rubyは、全般的に型の定義が緩やかである。いわゆる、動的言語で見られる「ダックタイピング」という特徴がある。ちなみに、この言葉は「あひるのように歩き、あひるのようにクワっと鳴けば、それはあひるに違いない。」という諺からきているそうな。個人的には型チェックの曖昧さを好まないのだが、あまり厳格過ぎるのも鬱陶しい。そこで、Rubyは、数値リテラルなど厳格に型チェックされる場合もあるので、その按配が肌に合うようだ。
Rubyは純度の高いオブジェクト指向言語として世界でも評判が高い。その普及を後押ししたのがRuby on Railsだと言われている。日本人が開発した言語が世界を席巻するというのもなんとなく嬉しい。文法的にもLisp, Smalltalk, Perlの影響を受けつつも、CやJavaのプログラマでも親しみやすいという特徴がある。特に、procやlambdaといったメソッド思想によって関数プログラミング風に書けるのがいい。ちなみに、lambdaは数理論理学などで見られるラムダ計算にちなんだ名前。
ところで、関数プログラミングといえば、Lispを思い浮かべる。ポール・グレアム氏は著書「ハッカーと画家」で、Lispを学べば実際にLispプログラムを作ることがなくても良いプログラマになれると熱く語っていた。現代のプログラム構造は、動作部からデータ構造へと注目点が移ってきた。Lispにはデータ構造の本質を覗かせてくれる何かがあるのだろうか?と、なんとなく興味を持っているが、いまだに手が出せないでいる。Rubyのおかげで、ずーっと避けていたLispにも手を出す日が近づいた予感がする。来年の目標はschemeあたりか?Lispは古い言語で、時代を前後した奇妙な順を追っているようでもあるが、そこは酔っ払いらしく千鳥足で言語選びの旅に出かけるのも悪くない。

本書は、改めてRubyの持つ思想や慣習といったもの味あわせてくれる。そして、かなり慣習を無視した書き方をしていることに気づかされる。やはり言語の勉強はいい加減にできるものではない。おいらの勉強は、いつも勘で始まって勘違いへと変化する。まったく学習能力がなく、いつも同じ轍を踏むわけだが、なぜか?気持ちええ。アル中ハイマー病とはそうした病である。
本書は言語リファレンスではない。それでも重要なクラスやモジュールを押さえている。Rubyの特徴は、豊かなAPIを備えていることであろう。特に、String, Array, Hash, Enumerable, IOといった主要クラスは押さえておきたい。また、数値と数学関係のNumericメソッドやMathモジュールも紹介してくれる。
Rubyのコレクションクラスには、ArrayやHashやSet(集合)があるが、いずれもEnumerableモジュールがミックスインされる。ちなみに、Enumerableオブジェクトは対象のオブジェクトを数えたり列挙したりできる。
ネットワーク機能も豊富だ。インターネットのクライアント側にはTCPSocketクラスが、サーバ側にはTCPServerクラスが、UDPデータグラムにはUDPSocketクラスが提供される。ソケットライブラリは、http, smtp, pop, imapといったプロトコルに対応している。Kernel.openは、File.openと同じような動作をするが、URLをファイルのように扱える柔軟性がある。仕事でWebアプリを作ることはないが、これを機会にRailsで遊んでみるのもいいかもしれない。
マルチスレッドも書きやすそうだ。ただ、プラットフォームに依存するのは仕方が無いか。スレッドの優先順位はOSによってまちまちである。だが、Linux上のRuby1.9はネイティブスレッドを実装していて、スレッドの優先順位の設定もRuby側で設定できるという。スレッドが一定の条件で自動で切り替わるのは多くの場合でありがたい。スレッドはキューで管理できる。

コンピュータ構造が、人間の思考方法や社会構造からヒントを得ることが往々にある。オブジェクトは、プラトンのイデア論に通ずるものを感じる。クラスという雛形からインスタンスを生成するあたりは、いわば実存認識といったところだろうか。そして、スーパークラスという基底なるものが理想イデアであって、それを継承しながら様々なクラスがイデアとして現れる。継承が複雑化して手に負えなくなると、遺伝子コピーの不完全性も現れる。ところで、オブジェクト指向という言葉が流行ったのは20年ぐらい前であろうか。Smalltalkのセミナーにも参加した記憶が蘇る。当時マイコン開発をしていた。いわゆる組込み系のプログラム設計である。そして、データ隠蔽の思想を好み、ローカルルールで実践していた。システムの規模は小さく、CPUで言うと8bitが主流で、まだ4bitも多く、稀に16bitを使うといった具合である。プログラムサイズで言うと、16KBから32KB程度でリアルタイムモニタといったところだろうか。今でこそリアルタイムOSが盛んであるが、当時は高価で手が出せかった。小規模なシステムでは助長したプログラムは実装できないので、OSもどきのカスタムプログラムを作る必要があった。使用する言語はCライクのものも登場していたが、コンパイラの性能から依然アセンブラが勢力を保っていた。小規模なシステムでは、あまり高級言語の恩恵が受けられないので、独自ルールで工夫することになる。アセンブラ言語のデータ構造はほとんど制約がないので、あらゆるアクセスを想定しなければならない。そこで、グローバルデータを思想から排除し、すべてメソッド経由でしかアクセスを認めないなどの規定をマクロ機能を駆使しながら実装する。データアクセスで必要なメソッドは、基本的にset/get系のみで集約できるはず。当時は、カプセル化の概念といった学術的な意義を知らなかったが、自然と実践していたような気がする。また、組込み系システムでは、コンピュータ上で動作する一般のアプリケーションと比べてソフトウェアの構成がハードウェアと対応付けしやすいというメリットがある。これは、ソフトウェア仕様を製品の取扱説明書と結び付けやすく、ソフトウェア部品であるオブジェクトは製品の部品のようなイメージで捉えられ、分かりやすいプログラム構造を実現できる。ちなみに、おいらはソフト屋ではない。どちらかといえばハード屋か?はたしてその実体は...雑用係なのだ。したがって、アル中ハイマーは、ソフトなピロートークを武器にハードボイルドに生きるのであった。

1. オブジェクト
Rubyの値は全てオブジェクトで、他の言語のような原始型なるものがないという。単純な数値やリテラルも普通にオブジェクトであり、それぞれのメソッドが実行できる。ちなみに、true, false, nilもオブジェクトで、Booleanクラスなるものがない。
Rubyは不要になったオブジェクトをガベージコレクションで自動的に解放するので、明示的な解放を必要とする言語に比べて、メモリリークを起こしにくいという。だからといって、メモリリークが絶対に起こらないというわけでもないだろう。やたらと寿命の長い参照を作るコードが危険であるのは同じである。
Rubyは、オブジェクトに対するテストや調査する機能が豊富である。インスタンスがどのクラスに属するかを問い合わせる機能や、クラスの親子関係を調査するのに比較演算子や等値演算子がオブジェクト間でも使える。オブジェクトの初期化ではコンストラクタを使うのがお馴染みであるが、Rubyではinitializeメソッドを使う。クローンやコピーを作らせないために、Singletonを定義することができる。ちなみに、シングルトンとは、インスタンスを一つしかもたないクラス。

2. メソッド
Rubyの構文の基本は式であり、制御文も式として評価できる。これがコンパクトに書ける理由でもある。演算子の多くはメソッドとして実装されており、クラスはメソッドを自由に定義できる。コアライブラリであってもメソッドを追加できる。ちなみに、どのクラスでもオブジェクトを文字列で表現するto_sインスタンスメソッドを定義しておいた方がよいという。デバッグ時に役立つからである。set/getメソッドを実装するのに、attr, attr_accessor, attr_reader, attr_writer(あまり使われん)によって抽象化できるのは便利である。C++のようにpublic, protected, privateを定義できるが、Rubyでの対象はメソッドのみとなる。インスタンス変数やクラス変数は、カプセル化されるからである。initializeメソッドは暗黙でprivateであるが、その他は明示しない限りpublicである。ただし、メタプログラミング機能を使えば、protected, privateメソッドも起動できるようだ。ここが、オープンな言語仕様ということなのだろう。一見矛盾した思想にも思えるが、デバッグ機能として活用できそうだ。

3. リフレクションとメタプログラミング
Rubyは、リフレクションのためのAPIを豊富に揃えている。リフレクションとは、プログラムが自分の状態や構造を解析することである。そして、その状態や構造を書き換えることさえできるという。こうした動的な性質が柔軟性をもたらし、メタプログラミングを可能にする。リフレクションAPIには、オブジェクトの型を判定するメソッドがある。文字列やブロックの評価、変数の取得、設定、テストが容易にできる。また、メソッドのリストアップと有無テストや、言語仕様の中でトレース機能を持つ。

4. セキュリティ
Webアプリでは、SQLインジェクション攻撃などのセキュリティ問題が発生するが、Rubyはこうしたリスクを追跡する手段を提供している。また、信頼されないデータやコードを区別するためのメカニズムが提供され、オブジェクトをフリーズさせたり、オブジェクトの汚染状態を明示することができる。

5. ファイバ
Fiberオブジェクトは、他の環境では一種の軽量スレッドを表すために使われるらしいが、Rubyではコルーチンと呼んだ方がいいという。これは、数値演算で数列のジェネレータなどに使えそうだ。わざわざ裏処理させる必要もないかもしれないが。ファイバは、少々分かりにくい制御構造である。スレッドのように即実行するものではなく、resumeメソッドを呼び出すことによって実行開始する。Fiber.yieldメソッドで呼び出し元へ戻したりと、スレッドを裏で実行させたい時だけ実行させるといったことができる。

6. Ruby1.8とRuby1.9の違い
細かく挙げると切りが無いので、気になったところだけを列挙しよう。
(1) スーパークラスは、1.8ではObject、1.9ではBasciObject。
(2) 1.9からパッケージ管理システムのRubyGemsが標準ライブラリ。
(3) procは、1.8ではlambdaと同じ意味であるが、1.9ではProc.newと同義語だという。1.8では曖昧さがあるのでprocを使うべきではないという。
(4) 1.9ではマルチバイト文字がシームレスに扱える。例えば、文字配列のポインタがバイト単位ではなく文字単位となる。このマルチバイト文字への対応がRuby1,8とRuby1.9の大きな違いのようだ。おいらは、jcodeライブラリあたりを意識するのが嫌いなので、もともとマルチバイトを避ける習慣がある。とはいっても、書籍購入予定リストなど日本語テキストをフィルタリングすると、マルチバイトを避けるわけにはいかない。したがって、エンコーディングクラスが提供されるのはありがたい。
そういえば、6月頃だろうか、Ruby1.8系の1.8.6-p368以前と、1.8.7-p160以前のバージョンで、DoS攻撃を受ける脆弱性があると発表された。BigDecimalオブジェクトからfloatへの変換の時、巨大な数値を扱うと、segmentation faultsを引き起こされる可能性があるといった話である。尚、1.9系は問題はないらしい。

7. 対話的Ruby
irb(Interactive Ruby)は、Rubyのシェル。
$ irb --simple-prompt # Rubyプロンプトを起動する
$ ri "keyword" # ドキュメント表示

2009-10-04

"アナログCMOS集積回路の設計" Behzad Razavi 著

ほど酔い気分で本棚を眺めていると、なにやら懐かしい香りがする。おいらがエンジニアになった頃、アナログ技術が盛んであった。20年以上前かぁ。新人研修では、テレビ受信回路や映像制御回路などが題材とされ、まともなコンピュータ研修の無かった時代である。おいらは、アナログ技術が全く理解できず、トランジスタの等価回路なんて物理的にイメージできないでいた。アナログ技術は物理数学の世界で、デジタル技術は論理学の世界である。言い換えれば、前者は職人の世界で、後者は屁理屈の世界とも言えよう。アナログ技術は、技術習得に時間がかかり、おいらのような飽きっぽい人間には難しい。とっくに数学で挫折していたので、ラプラス変換と聞いただけで蕁麻疹が出たものだ。ちょうどその頃、ワンチップマイコンやプログラマブルデバイスが登場して、デジタル技術が流行り始めた。おいらは時代に救われた。だからといって、デジタル技術が簡単なわけではない。高集積化が進めば複雑なアルゴリズムが要求され、数学からは逃れられない。結局、落ちこぼれる運命は変えられない。当時、アナログ回路は無くなるといった意見も多かった。アナログ設計者は、デジタル設計者へ転職を考えるといった社会現象もあったぐらいだ。ところが、近年システムLSIの登場により、アナログ技術者は引く手あまたである。高速化や高密度化が進むと、すべてをデジタル化することは難しい。高速化の要求はアナログ乗算器を登場させる。そして、省電力化が進み、やっかいなデジタル信号の高周波ノイズでEMC問題の対策も盛んになる。高速な半導体メモリやプロセッサは、高速デジタル設計であっても、ほとんどアナログ設計と言われる。こうした時代の流れで、アナログ技術のセミナーは大盛況で、5年ほど前にいくつか受講した。本書はその頃、再勉強しようとして購入したものである。ちなみに、アナログ回路は、おいらにとってデジタルシステムを検証するための補助的な位置付けにしかない。実験室でちょっいと試すぐらいなもの。それでも、安価な安定化電源や確実に動作するリセット回路ぐらいは必要である。最近はソフトウェア的な仕事しかしないので、実験室とは10年以上ご無沙汰している。

最近、新人君と付き合う機会が多い。教育係を依頼されるからである。ちなみに、人に教えることほど嫌いなものはない。教えるものなんて何もないから、自分の馬鹿さ加減を暴露するようなものである。なるほど、暗に引退せよ!と仄めかされているのかぁ。こんなフレッシュな酔っ払いを年寄り扱いするとは。世の中が不景気だと、若い連中を遊ばせるわけにもいかず、教育が盛んになる傾向がある。そこで、本書を読み返す羽目になる。そもそも、技術教育なんて必要なのかも疑問である。技術は盗み取るものであり、学問は知識を得るまでの過程にこそ価値がある。
ところで、新人君たちは想像もつかない勘違いをする。だが、アル中ハイマーの武勇伝には敵わないだろう。ということで、新人時代の失敗を暴露するとしよう。もはや精神の泥酔者には羞恥心の欠片もない。なにしろ、電解コンデンサにプラスとマイナスがあることも知らずに使っていたのだ。では、スモーキーなモルトに誘われて、焦げ臭いところを紹介しよう。あるシステムでアナログ部とデジタル部の電源を分離させて、双方のGNDを解放して独立に制御していた。しばらくは正常っぽく動作していたが、ある日突然高価なチップが燃えだした。いや!溶け出した。先輩から「実験室が焦げ臭いぞ!」と指摘されて「ハッ!」となる。ラッチアップを起こしたのだ。他にも、部分的なモジュールではそれらしい動作をするのに、全体を組み上げると燃えたことがある。問題は、半導体の仕組みを物理的に理解していないことだ。トランジスタとは奇妙なもので、抵抗などの素子が無いにもかかわらず、それだけで等価回路が実現できる。ということは、半導体素子を多段につなぐと、回路全体で想像もつかない機能を持つ可能性がある。一つの素子に想定外の信号が入力されると、周りの電子部品と干渉してとんでもない動作をするわけだ。アナログ回路は、物性物理学を体で覚える世界だといことを実感したものだ。
また、CMOSデバイスで回路を組んでいると、繋がなくても微妙に動作することには驚いた。バイポーラと違って、CMOSデバイスは接続されていなくてもオンすることがある。TTLが常に電流が流れるのに対して、CMOSはスイッチングの瞬間にしか電力を消費しない。言い換えれば、バタバタする信号は瞬間ノイズでうるさいわけだ。信号線にプローブをあてると完全に眠るのだが、放すと微妙に動作する。ノイズが原因だと思ったが、実は配線されていなかったというオチだ。それを解明するだけで一日無駄にするという馬鹿さ加減!導通テストは馬鹿にはできないことを実感したものだ。ちなみに、テスターで導通を確かめるのに「ピッ!」と鳴る機能は怪しい。微小抵抗でも反応するからである。もともとCMOSは遅いという弱点を持っていたが、当時は速度の問題も解消されつつあり、ほとんどCMOSを使っていたような気がする。
それにしても、半導体とは奇妙な物質である。半分だけ導体とは、これいかに?
「導体のようで導体でない、でんでん!絶縁体のようで絶縁体でない、でんでん!」
外部から熱や光あるいは磁場や電圧といった刺激を与えることによって、電気特性が得られる物質である。バンドギャップが狭いからキャリア効果も現れる。P型とN型を接合することによってその効果も上がる。電源など駆動するための仕掛けが必要であるにせよ、増幅効果があるのは電子の流れを活発にするからである。バンドギャップ内はフェルミ準位近辺になり、電子が移動できるかどうかも確率論に持ち込まれる。こうした物理現象を眺めるだけでも、LSIの歩留まりが不安定なことは容易に想像できる。
つまり、半導体とは、泥酔状態が不安定で、酔ってんだか、酔ってないんだか、自覚できない物質というわけだ。いずにせよ共通した性質は、夜の社交場でホットな女性からちょいと視線ビームを浴びせられると、電流が走って痺れる。そして、精神のエネルギー順位が高まると「君に酔ってんだよ!」と囁きはじめ、その醜態はどんどん増幅される。ただし、女性の愛情障壁は固く、強力な電子ビームをもってしても簡単には突き抜けられないので、逆電流は流れにくい。一旦、逆電流が流れはじめると、一気に燃え上がるわけだ。

本書は、基本編と応用編の二冊に分かれるが、区別することもないだろう。むしろ上下巻とした方が適切だ。本書の目的は、最終的にデバイス動作を定式化して回路モデルを作るための知識を学ぶことである。そして、MOSFETの物理から始まってプロセス技術まで網羅される。MOSFETをスイッチとして使うならば、ゲートをオンするとソースとドレインが導通するという単純な構造である。しかし、ゲート電圧は?ソースとドレイン間の抵抗は?その抵抗は線形なのか?と悩み出すと頭が痛い。回路特性が線形性を保つならば、なにも悩まないだろう。おまけに、素子間のミスマッチが製造技術とレイアウトを悩ませる。高密度化が進めば、素子そのものの遅延よりも配線遅延の方が厄介になり、クロストークといった問題も発生する。
本書は、実験室で重宝した概念をいくつか紹介してくれる。高速性や微小信号を扱う場合、差動などの対称性を利用した概念がしばしば登場する。差動回路は、耐ノイズ性に優れているのはなんとなく感覚で分かるだろう。双方でスイングすれば、微小信号でも伝送系で効果がありそうに感じる。その重要な特性は外因に対する同相の除去効果である。
また、重要な概念にフィードバックがある。負帰還では高精度の信号処理ができたり、正帰還では発振器を作ることができる。信号の平均化という意味ではフィルタ効果もある。本書では、フィードバック回路の特性で、利得の鈍感化、端子インピーダンスの変更、帯域幅の拡大、非線形性の低減といった例が考察される。ただ、回路にループがあれば予期せぬ発振はつきもの。ループゲインが大きければ発振する可能性も高い。
更に、線形帰還システムの安定性と周波数補償を議論している。これはオペアンプの応用である。オペアンプはもともと差動増幅なので、そのままでも使えるし、その名称からアナログ演算にも使える。昔は、コンパレータやマルチバイブレータといったものに利用したのを覚えている。飽和領域で動作するMOSトランジスタは電流源としても使える。ゲートとソース間の電圧が定められても、ドレイン電流が定められなければ、電流源をバイアスする方法も必要となろう。そこで、電流源は既に定まっているものと仮定して、カレントミラーによって電流をコピーするといったことを考えたりする。デジタルシステムが専門とはいえ、振幅や周波数やデューティ比を自在に制御できる発振回路や、モノマルチといった簡単な信号発生器があると、実験に重宝したものだ。こういう状況を思い出していると、現在ではFPGAやCPUが搭載されたキッドが売られているから便利である。しかも、雑誌にも付属される。これは恵まれた環境とも言えようが、回路を燃やすような体験は難しいだろう。昔は、火を入れる瞬間もドキドキした。まさしく勉強に燃えていたのだ!

1. 雑音
アナログ技術者は絶えず雑音と葛藤している。アナログ回路設計とは、自ら創出する雑音と、周りから影響を受ける雑音の双方との戦いである。ちなみに、デジタル回路は雑音を発する側なので気軽だと思っていたが、雑音の悪魔と呼ばれ、いつも謝っていたような気がする。だから、酔うと謝り上戸になるのかもしれない。
雑音は、消費電力、動作速度、線形性とトレードオフの関係にあり、その特徴はランダム性にある。したがって、長期間の観察から統計論的モデルとして扱うことになる。雑音スペクトラムとして捉えれば、フィルタによって除去できるというわけだ。雑音には、熱雑音、ショット雑音など、その要因を上げれば切りが無い。本書は、MOSFETのゲート酸化膜とシリコン基板の界面で生じるフリッカ雑音を考察している。

2. 発振器
電子制御で発振器は不可欠である。それはプロセッサのクロックから携帯電話のキャリアにまで及ぶ。本書は、VCO(電圧制御発振器)の数学的モデルを検討し、周波数変調器として動作する様子を考察している。簡単なものではLC発振器が思いつくが、分かりやすいリング発振器にも触れている。昔は、インバータの多段によって、実験用に簡単な発振器を組んだものだ。そして、同期させるためにPLL(位相同期ループ)を使った。

3. デバイスモデル
デバイスのモデリングは困難で、シミュレーション値と測定値が違うことは珍しくない。本書は、ショートチャネル効果を理解するために、SPICEモデルを考察している。そして、MOSの理想的なスケーリング則とは何か?といった問題を扱う。半導体デバイスでCMOSが主流となる理由は、静的な消費電流がゼロであることと、MOSFETのスケーリングが容易であることであろう。スケーリングされたチャンネル容量が容易に見積もれなければ、製造工程に影響を与える。チャネル内で電圧低下といった現象があると安定した動作が望めない。熱雑音による電圧電流特性において、ダイナミックレンジが一定でないのは厄介である。また、しきい値電圧は、チャネル長によって変動する。よって、製造プロセスにおいてチャネル長の正確な制御が必要となる。ゲート電圧が上昇すると、ソース側のポテンシャルを上昇させたり、ドレイン電圧も表面ポテンシャルを上昇させる要因となる。これが、電荷の流れに障害を与えて、しきい値電圧を低下させ、ドレインとソース間の電圧による出力インピーダンスが低下する。縦方向の電界による移動度の劣化や、横方向の電界による原子運動によるホットキャリア効果の影響といった物理物性の世界は、最も苦手とするところだ。こんなものが理解できるレイアウト屋さんは尊敬してしまう。

4. プロセス
本書は、概念的な製造工程を想像させてくれる。基礎となるp型基板ウェーハの上に、nウェル、ソース - ドレイン領域、ゲート絶縁膜、ポリシリコン、nウェルと基板の電極、メタル配線が形成される。その工程はだいたい以下の手順となろう。
(1) ウェーハプロセス
(2) フォトリソグラフィ(回路のレイアウト情報をウェーハに転写する最初の段階)
(3) 酸化
(4) イオン注入
(5) 成膜とエッチング
(6) デバイスの製造(能動素子、受動素子など)
エッチング中、メタル領域では、イオンを収集し電位を上昇させるアンテナ効果が現れるという。そのため、製造工程中に、MOSデバイスのゲート電圧はゲート酸化膜を回復できないまでにブレークダウンする可能性があるわけだ。ゲート酸化膜にダメージが起こる可能性を最小限にするために、総面積を制限するのが一般的だという。大面積が避けられない場合は、エッチング中に大面積が直接ゲートにつながらないように切れ目を入れたりするわけだ。

2009-09-27

"対称性から見た物質・素粒子・宇宙" 広瀬立成 著

ブルーバックス信者を返上したはずなのに、いつのまにか買っている。もはや泥酔した精神は、衝動には勝てないのか?本書を眺めていると、なんとなく「対称性」を語りたくなる。酔っ払いにとって、自我の対称性を映し出す小道具といえば鏡である。その証拠に、鏡の向こうの赤い顔をした住人が、延々と話しかけてくる。ちょっとうるさいが、その付き合いの良さには感服する。なにしろ、いつも一緒に酒を酌み交わし、いつも一緒に酔い潰れるのだから。

人間の住む宇宙には、実に多くの対称性を見出すことができる。天体の姿には球形といった点対称があり、人類の住む地球も丸い。自転しているのでわずかに遠心力によって外側に膨れてはいるが、軸対称性を保っている。地球にも太陽系にも銀河系にも中心がある。そうなると、宇宙にも中心がありそうな予感がする。量子論者は、物質の誕生には無理やり反物質を登場させてエネルギー保存則になんら矛盾することなく宇宙の起源を説明してしまう。ここにも、物質に対する反物質という対称性が現れる。古代、惑星の運動が円軌道を描くと想像したのも、そこに自然法則の美しさがあると信じたからであろう。
生物に目を向ければ、人体にも左右対称性がある。DNAの二重螺旋構造の美しさには神秘を感じざるを得ない。生と死という対称性を感じるのも、永遠に避けられない現実である。対称性とは、生命の進化の過程で安定性を保つために現れた性質なのだろうか?ポーは、著書「ユリイカ」で、物体の本質は引力と斥力の二つの対称性のみで成り立つと直観的に語った。
数式に現れる左辺と右辺の対称性にも、数学者を虜にする何かがある。実数と虚数、実空間と仮想空間、有限と無限など、対称性を語る用語には限りがない。
科学現象に対称性が現れると、普遍的原理が内包されている可能性を想像する。電荷にはプラスとマイナスがあり、電磁波は電場と磁場が直交する。あらゆる自然現象には、波動や振動が現れ、分解と統合を繰り返す。しかも、波には永遠に直進する性質がある。こうした対称性の美しさに人間の精神が反応するのは、そこに真理があるからかもしれない。
また、人工物の中にも建造物や芸術作品に局部対称性が現れる。芸術家の精神には、対称性の美を求める衝動があるのだろう。合理性と非合理性の葛藤、欲望と抑制の葛藤、感情と理性の葛藤などなど。人間の精神は、主観性には客観性で均衡を保とうとする衝動が働く。あらゆる論争やイデオロギーにも対称性が現れる。政治屋は自らの意見をそれらしく見せるために対抗意見を無理やりでっちあげ、報道屋はあらゆる関係を対立構図で煽る。人間の集団によって引き起こされる社会現象にも、振動を続ける対称性が現れる。保守性と革新性の対立や、自由と平等の綱引きは永遠に続く。哲学的論争も、実存するかしないか、意味があるかないか、いまだに答えが見つからない。
人間の精神は対称性に調和を求め、そこに精神の安住を求めているかのようだ。幸福と不幸の相殺、夫と妻、やはり対になると精神は安らぐということか?ちなみに、アル中ハイマーの精神は、一夫多妻、いやハーレムの方がはるかに安らぐ。

宇宙原理が、創造と破壊を永遠に繰り返すことだとすれば、対称性は安定する力と解釈できる。だとすると、安定を破壊する力も、これまた対称性で説明できるはず。そして、自己言及の罠に嵌り、矛盾の概念を避けることができなくなる。まさしく不完全性定理だ。
人間の住む宇宙には、これまた多くの非対称性を見出すことができる。人体が左右対称とはいえ内臓に目を向ければ、その配置は、機能を無理やり押し込んだようにも見える。心臓は真ん中にはない。右脳と左脳でも働きが違い、左利きや右利きといった現象がある。右脳と左脳の大きさにも違いがあると言われるが、他の動物に比べれば論理的思考が強いのだろう。あらゆる機能が生存競争の過程で合理的に形成される。生物の自己複製能力は、まさしく驚異である。だが、遺伝子システムは、ごく僅かな確率で遺伝子コピーに失敗して障害者を誕生させる。
宇宙は、もともと対称性の高い単純な姿をしていたに違いない。それが対称性を破りながら複雑系へと変化してきた。これがエントロピー増大の法則なのか?宇宙の真理の背後には、ランダム性が潜んでいるように映る。素粒子のように物質の基本をなすものが球形をしているのに、様々な物体はごつごつした岩のような複雑な形状をしている。だが、トポロジーの世界では、これらを同相で抽象化してしまう。もしかしたら、単に人間の目が複雑に見えているだけのことかもしれない。いや!人間の認識が複雑化しているだけで、実はすべての現象は単純のままなのかもしれない。
だが、人間は複雑系を確率論に持ち込んで説明しようとする。量子論では、エネルギー準位によって粒子の存在確率を議論する。コンピュータには、周辺の磁気装置や記憶素子の性質に合わせて誤り訂正機構が組み込まれる。コンピュータは完璧な装置ではなく、確率論に持ち込んで実用レベルに押し上げているに過ぎない。インターネットの検索でも、完璧な検索結果を時間をかけて得られるよりも、だいたい正しいだろうとする結果を高速で得られた方が有用性が高い。
人間社会も複雑系に支配され、その分析は人間の手に負えなくなった。社会で発生する犯罪や事故も確率で議論され、意思決定にも多数決原理が働く。ネット社会を「大衆の叡智」と崇めるウィキペディア崇拝者も少なくない。人間は、真理よりも多数決に身を委ねる方が、幸せなのかもしれない。宗教的精神とは、思考することを放棄して、信じることに身を委ねる。知らぬが仏というわけだ。だが、知った時の反動は、憎悪となって倍増するからおもしろい。
ところで、人間社会は本当に自然法則に従っているのだろうか?対称性が宇宙原理だとすれば、神の存在に対して悪魔を登場させなければならない。となると、人間が悪魔である可能性はないのか?自然法則に従って創造される生命体は、その進化が絶頂となった時に怪物になる可能性はないのか?それが集団化すれば、リヴァイアサンになっても不思議ではない。そして、創造と破滅を繰り返しながら悪魔へと進化した時、仕方なく神が姿を現すのかもしれない。

対称性の美は、非対称性の存在によって意義を持つ。全てが対称性に支配されれば、対称性そのものの議論はなくなるだろう。対称性と非対称性の存在を意識できるのは、その上位から眺めていることになる。すると、これまた上位の対称性に支配され、対称性の階層構造が永遠に見てとれそうだ。対称性を振動と捉えれば、その階層構造も永遠に続いても不思議ではない。対称性を保った美しい状態は対称性を破る方向へと向い、対称性が破れた複雑系の状態は対称性を取り戻そうとする。バネを引っ張れば、もとに戻ろうとするかのように。
ところで、対称性の美しさを本当に理解できるのは、その真中で冷静に眺められる立場にある人たちであろう。量子の世界では、プラスとマイナスを介在しない中性子の存在がある。実は反中性子なんてのもあるらしいが。人間社会には、男女の性の間に挟まった中性が存在する。中性が最も美的感覚に優れているのかもしれない。なるほど、偉大な芸術家にホモセクシュアルと噂される人が多いわけか。

1. 鏡
レオナルド・ダ・ビンチは「絵画論」で、「鏡を君の指導者となすべきである」と語ったという。ダ・ビンチには、鏡を使った光の反射という科学的な視点で絵画を観察する力があったようだ。鏡に映される姿は、真実であるのは間違いないだろう。だから、人は自らの姿を鏡で熱心に観察する。女性は自らの体型を誤魔化すことなく眺めることができる。ただし、平面鏡に限る。なるほど、デパートの試着コーナーに凹レンズを設置すれば、売れ行きも違うわけか。鏡の中にはナルシシズムが現れる。ギリシャ神話に、水鏡に映った自分の美しい姿に見入って水仙の花になったという話がある。自己陶酔に陥るナルキッソスの話だ。これがナルシシズム(自己愛)の語源だという。なるほど、水仙をナルシスと言うなぁ。白雪姫にも「鏡よ鏡、世界で一番美しいのはだーれ?」というのがある。鏡はおもしろいもので、三次元空間を二次元空間に投射しながら、その姿を眺めることができる。つまり、次元の投射である。その性質では、左右が逆になるのに、なぜ上下は逆にならないのか?と、よく話題にされる。本書は、心理学者のおもしろい解釈を紹介してくれる。人間の目は左右の運動に慣れていて、上下運動に慣れていないとか、人体が左右対称となっているだけで、上下対称になっていないからとか、そこには重力的な要素が絡む心理的錯覚がある。いずれにせよ、科学的に説明するのは簡単である。光の進み方は、あらゆる方向に平等というだけのこと。

2. 量子世界の対称性
波は減衰することなく、いつまでも運動を続ける。電磁波の直進性は永続的である。この定常性を失うと永続的な運動はありえない。電子のようなフェルミ粒子は永遠にスピンする。ただ、量子の世界では、粒子性と同時に回折のような波動性も示す。一つの電子を観察するのに、光を当てるという行為では、電子の運動状態が変わるので正確な観測ができない。量子の世界では、もはや素粒子の運動状態において、位置と速度を精度よく決定することができない。複雑系の世界では、エネルギーの総和として観察できても、内部エネルギーは確率論でしか観察できない。ここに不確定性原理の登場を見る。となれば、人間社会のような複雑系では、個々の物体が人間であっても、集団になれば波動性を示して、波動関数が適応されても不思議ではない。マクスウェル方程式は、磁荷が単独では存在しないという前提から構成されるという。となると、モノポールは存在しないのだろうか?量子論では、プラスとマイナスに介在しない第三者の立場が登場する。電子のような粒子が存在すれば、陽電子のような反粒子が存在し、そして、中性子が存在する。ただ、反中性子も存在するようだが、電荷がゼロなのでその区別はつかないという。

3. 重力力学の限界とプランクスケールへの挑戦
電子の電荷は、真の電荷ではないという。1個の電子を真空中に置くと、そのまわりでは光子の放出と吸収が繰り返され、光子から電子と陽電子が対になって発生する。陽電子は中心の電子に引き寄せられ、逆に電子は反発する。中心の電子を囲む真空では、一様な分布からずれた仮想的な電子と陽電子が存在し、その結果、真空の分極が起こるらしい。実験で観測する電荷とは、真の電荷と真空分極の効果が重なったものだという。ここで注意することは、不確定性原理によれば、ある現象の時間が極端に短くなるとエネルギーが増加するということだ。電子と陽電子の生成や消滅は、極めて短い時間に繰り返されると、それらはエネルギー保存則に制約されることなく、非常に大きなエネルギーを持つことができるという。つまり、無限に多くの仮想電子と陽電子の対が存在し、真空分極の効果が無限大になってしまうというのだ。これは、量子力学で必然的に現れる場のゆらぎであって、「紫外発散」というものらしい。「くり込み理論」とは、こうした無限大の手におえない量を互いに引き算して、意味のある有効な量を導き出すという発想から生まれたという。一見無責任な演算にも見えるが。重力を量子論に適応すると、極端に短いプランク距離では、不確定性原理からゆらぎが生じる。二つの電子の間で生じるエネルギーも、逆エネルギーが生じてゆらぎ、エネルギーや質量を確定することができない。エネルギーのゆらぎは、常に同一方向で無限大となり、紫外発散を引き起こす。これは、時空が連続であるかぎり、局所的対称性の理論では避けられない障害だという。統一理論から大統一理論へと邁進した物理学は、くり込み理論とゲージ理論によって邁進してきたが、ここで壁にぶつかる。そこで、素粒子理論に「超ひも」が登場し、プランクスケールへの挑戦が始まる。

4. 超ひも理論の10次元
超ひもが持つ驚くべき性質は、高い次元を持つことである。時間1次元と空間9次元の10次元で構成される。本書では言葉が登場しないが、これがDブレーンというやつか。人類の住む3次元空間は、宇宙原理の限られた次元であることは、なんとなく理解できる。生命体が感じられない次元は、生きる上で認識の必要がないとも言える。いずれ、地球は消滅するだろう。生命が更に長生きを望むならば、突然変異によって、いままで感じられなかった次元を認識する能力を身に付けるかもしれない。科学の発展とは、生命体が生存し続けるための欲望なのかもしれない。あらゆる説明のできない複雑系の現象は、別の次元を加えることによって、エネルギー保存則、運動量保存則といった「不変」あるいは「対称性」の原理に帰着するという。とすると、あらゆる次元が解明された時、結局、ニュートンやユークリッドに帰着する可能性はないのだろうか?偉大な数学者が、若き日に哲学を蔑み、結局哲学へ帰依するかのように。ところで、対称性の概念からすると、存在するということは、存在しないことを意味しないのか?自由意志とは、コントロールできそうで手に負えない。神は人間を自由意志の存在を認識させながら、気まぐれによって支配している。いや!別の次元を登場させることによって、反自由意志なるものが存在するのかもしれない。人間が感じることができるのは重力である。しかし、時折、霊感的なものを感じる。これも別次元から発せられる重力波なのかもしれない。

2009-09-20

"高校数学でわかるボルツマンの原理" 竹内淳 著

ブルーバックスの「高校数学でわかる...」シリーズは、なんとなく買ってしまう。大学時代に数学で挫折した人間は、このフレーズにいちころだ。おまけに、ボルツマンというと、電子工学を専攻して、物性や半導体工学の単位を取るのに苦労した記憶が蘇る。当時は、意味も分からず丸暗記で誤魔化したものだ。というより、教授のお情けで卒業できたのであった。その教授が作成する試験問題は10問ぐらいあって、1問目の答えを利用して2問目、2問目の答えを利用して3問目...という具合にカスケード構成となっていた。つまり、1問目を間違うと全滅する仕掛けだ。前期の試験で失敗すると後期で挽回することが難しい。うちの学部では、卒業までの最大関門とされていた。この教授は、おいらの名前が珍しいものだから講義中にいつも指しやがる。おかげで、ますます性格が捻くれるのであった。本書は、学生時代のいやーな記憶を思い出させてくれる。

ところで、電子回路では、昔から持ちつづけている素朴な疑問がある。半導体ってなんだ?半分だけ導体?これは導体でもなければ絶縁体でもない。外部から熱や光あるいは磁場や電圧といった刺激を与えることによって、電気特性が得られる物質であるが、バンドギャップが狭いからキャリア効果も現れる。しかも、p型とn型をうまいこと接合することによって、この現象も起こりやすくなる。電源など駆動するための仕掛けが必要であるにせよ、電流が金属物質の組み合わせによって増幅できるとはどういうわけか?電流が増幅されるということは、電子の流れを活性化できるということである。バンドギャップ内はフェルミ準位近辺になるというから、電子が移動できるかどうかも確率論に持ち込まれることになる。
また、LSIの歩留まりに目を向ければ、90%でも通常の製造ラインの感覚からすると信じられないほど低い数字である。最新プロセスともなると50%なんてざらで、最高周波数ともなると目も当てられない。ほとんどの生活用品が電子制御される中、こんな不安定な物質が電子回路の素子として主流になっているのも不思議でならない。こうした疑問を抱えながら電子回路の仕事を続けているのも奇妙な話である。人生をいかに誤魔化しながら生きているかという象徴でもあろう。プロでありながら理解度となると、まるで素人並なのだ。そして、工学とは試行錯誤でなんとなく結果が得られればOKという世界である、と言い訳する。この程度の意識しか持たないアル中ハイマーな技術者は、とっとと引退するのが業界のためなのだろう。おまけに、酔っ払いは自由電子の存在を自由意志と重ねつつ、自我の存在を疑う。自我の存在確率は、スコッチのアルコール度数近辺で40%ってところか。

本書のテーマは熱力学と統計力学である。そして、熱力学の延長上に統計力学を位置付けている。熱力学は、熱伝導で代表されるように人間の感覚で捉えやすい世界である。熱力学の第一法則をエネルギー保存則と重ねれば理解もしやすい。熱力学の第二法則では、熱は高い方から低い方へ移動して、やがて平衡状態になると考えれば、なんとなく感覚で理解できる。ただ、本書は、熱力学の第二法則は、様々な表現があって二十面相だという。ここに、エントロピーという言葉の解釈を混乱させる要因があるのだろう。熱力学の段階では、一つ一つの分子の衝突は、まだニュートン力学で説明できる範疇にある。しかし、統計力学の段階になると、人間の感覚では手に負えない世界に踏み込む。量子の世界では、それが粒子でありながら、想像もできない現象を見せやがる。電子で代表されるフェルミ粒子や光子で代表されるボース粒子などは、不確定性に支配された行動をする。あらゆる物体は、固体性と波動性の二重性を持っているのかもしれない。人間が個々で活動する分にはまだ手に負えるが、集団社会となると、波が押し寄せるかのように個人の意志ではどうにもならない。どんなに規制しようが、隙間から干渉現象のようにうまいこと回り込む犯罪者や、都合のよい解釈によって法律の障壁すら摺り抜ける政治家が蔓延る。もはや、人間の理性観念ですら確率論で語るしかできないのか?粒子性と波動性は、複雑系の持つ本質なのかもしれない。これが、エントロピー増大の法則の本性なのか?熱力学にせよ統計力学にせよ、扱う現象は、ほぼエントロピー増大の法則に従う。もし、エネルギー効率100%の理想の熱機関が存在するならば、発生する熱量を全てフィードバックさせて、エントロピーの変化をもたらさないであろう。だが、エントロピーは、断熱系において不可逆変化が起こるところでは必ず増大する。
ところで、サイクリック宇宙論において、宇宙構造は限りなく理想の熱機関に近いという可能性はないのだろうか?だとすると、宇宙は断熱系なのだろうか?宇宙の境界線はどんな空間と接しているのだろうか?という疑問がわく。高温であった宇宙の誕生から膨張を続け、だんだん冷えて、やがて絶対零度に達すると収縮を始め、これを永遠に繰り返す熱機関にも見えてくる。しかし、サイクリック宇宙論は、エントロピーの蓄積から現在の宇宙の平坦性を説明する。となると、宇宙は断熱系で、不可逆変化ということになりそうだ。いや!実は断熱系ではなく、宇宙の外にあるなんらかの次元空間とエネルギーのやりとりをしている可能性はないのだろうか?

1. 動力の発明
人類が初めて人工的な動力を手に入れたのがワットの蒸気機関と言われる。蒸気機関の原型は1712年にイギリスのニューコメンが開発したもので、炭鉱の排水用として使われたという。炭鉱内の事故といえば、落盤やガスによる酸欠、あるいは炭塵による爆発などがあるが、中でも地下水による浸水が大きな問題であったという。ただ、ニューコメンの蒸気機関は、掘り出した石炭の3分の1を動力として消費したので非常に効率が悪い。これを改良したのがワットである。蒸気機関は、石炭を燃やした時に発生する熱エネルギーを水蒸気の分子の運動エネルギーに変換し、これをピストン運動に使う。ワットの蒸気機関の効率は、わずか3%ぐらいだったと言われるらしい。ちなみに、ニューコメンにいたってはわずか1%だったという。当時、熱によって分子運動が生じることが知られていなかった時代である。熱量とエネルギーの関係に取り組んだのがジュールである。ジュールは醸造業の家に生まれたという。なるほど、美味い酒でカーッ!となるところから、熱エネルギーという発想が生まれたわけか。電線に電気を流すと熱が発生する。これがジュール熱である。ジュールはエネルギーと熱量を同等なものと考えた。こうした発想がエネルギー保存則へ導くことになる。

2. カルノーサイクル
カルノーサイクルは可逆過程であって理想の熱機関である。このサイクルでは等温過程と断熱過程がある。等温過程とは、気体の温度を変えない熱過程である。温度が変わらないということは、内部エネルギーを消費しないことを意味する。したがって、等温過程で膨張した場合、気体は外部から熱を吸収することになる。断熱過程とは、外部との熱のやりとりを遮断することである。したがって、断熱膨張では気体の持つ内部エネルギーを消費することになる。カルノーサイクルでは、二つの等温過程と二つの断熱過程を利用して1サイクルを形成する。
(1) 等温過程で、外部から高熱を吸収して膨張する
(2) 断熱過程で、気体の温度が上昇し内部エネルギーによって膨張する
(3) 等温過程で、外部から冷却して収縮する
(4) 断熱過程で、気体の温度が下降し内部エネルギーによって収縮する
カルノーサイクルの特徴は、サイクルを逆回転することができることである。つまり、可逆過程。熱機関で可逆であるかどうかを判断するポイントの一つに摩擦がある。摩擦は運動エネルギーを熱エネルギーへと変える。本書は「摩擦が不可逆過程である」というのが熱力学の第二法則だという。ちなみに、F1では、ブレーキング中に失われるエネルギーを保存して、オーバーテイクなどの必要時に馬力に変換するKERSが話題になっている。
エネルギー効率を高めることが工学の役割であるが、ガソリンエンジンでも効率は20%ぐらいだという。つまり、動力よりも暖房機として優れていると言えよう。ディーゼルエンジンは少し効率がよく40%に達するものもあるという。本書は、最も効率の良い熱機関でも50%に達するものを知らないと語る。ちなみに、動物の生命活動の効率は25%ぐらいなのだそうな。少し運動して汗が出るのも、捨てられる熱エネルギーが大きいということである。そういえば、肥満な人ほど汗をかいているような、汗かきほどエネルギー効率が悪いというわけか。

3. エントロピー
クラウジウスは、カルノーサイクルの(1)と(3)の等温過程で、熱量を絶対温度で割った量(Q/T)は、得るものと失うものとで打ち消し合うことに気づいたという。(2)と(4)の断熱過程で外部との熱量のやりとりはない。したがって、カルノーサイクルの熱量の総和はゼロということになる。これは可逆過程のみで成り立つ。ここでdQ/Tがエントロピーである。理想の熱機関では必ずしもエントロピーが増大するわけではない。クラウジウスは、エントロピー増大の法則が成り立つ条件として、断熱系と不可逆過程が同時に成り立つ場合としている。これは、熱が不可逆性に支配されることへの帰結ということだろうか。となれば、熱機関では必然的にエントロピーが増大することになる。

4. 気体分子運動
気体を分子の集まりと考えて分子運動に力学を適応し、気体の圧力を最初に導いたのがベルヌーイである。その後、気体分子運動を発展させたのが、マクスウェルとボルツマンである。とはいっても、個々の分子の振る舞いを語ることは不可能である。よって、気体のエネルギーは分子運動の総和として計算される。ただ、固体となると、分子運動が完全に自由というわけにはいかないので事情が異なる。気体と違って原子の回転運動も起らない。それでも、固体の中の原子は微小な振動をする。温度が高いほど、その振動も激しくなる。気体分子運動を唱えたところで、まだ分子の存在が証明されていない時代である。その論争に、マッハは攻撃し、ボルツマンは防戦するといった構図があったという。電子の存在を明らかにしたのは、トムソンやミリカンの実験である。更に、ラザフォードによって原子核が発見される。アインシュタインは、ブラウン運動を分子のランダム運動による衝突によって起こる現象だと考えたという。アインシュタインの論文には、「光電効果の理論」と「特殊相対性理論」の陰に隠れがちな「ブラウン運動の理論」があるという。

5. 統計力学
気体の分子が持つエネルギーは、全てが同じではない。個々の分子にはそれぞれ大小のエネルギーがある。よって、高いエネルギーを持った分子の集まる部分とか、低いエネルギーを持った分子が集まる部分といった現象がある。このエネルギー分布は統計力学によって求められる。気体分子のエネルギーを表すのが、マクスウェル・ボルツマン分布で、ニュートン力学から導かれる粒子を元に計算される。そして、その総和(ベクトル和)が統計力学として求められるわけだ。とはいっても、全てのベクトル方向を予測できるものではない。どうしても確率論に持ち込まざるを得ない。よって、最も起りやすいエネルギー分布として議論することになる。そこで、登場するのが、「ラグランジュの未定乗数法」である。
しかし、電子の運動は、マクスウェル・ボルツマン分布ではなく、フェルミ・ディラック分布に従う。他にもマクスウェル・ボルツマン分布に従わない粒子が存在する。ニュートン力学では扱えない粒子である。電子などフェルミ・ディラック統計に従うのがフェルミ粒子。光子などボース・アインシュタイン統計に従うのがボース粒子。電子の特徴は電荷を持っていることであり、外部からの電磁場でかなり自由に操れる。一方、光子は電磁場による直接的な影響を受けないので遠くへ飛ばしやすい。したがって、現在の通信手段で最も大きな容量をささえているのが、光ファイバーということになる。通常の粒子は二つあれば、その区別がつく。しかし、フェルミ粒子やボース粒子は、その区別がつかないという奇妙な性質がある。おまけに、フェルミ粒子は「パウリの排他原理」の制約に従う。

6. フェルミ・ディラック分布とボース・アインシュタイン分布
フェルミ粒子は、絶対零度でフェルミ・エネルギーの大小関係で存在確率が0%か100%のどちらかになるという。だが、室温では、フェルミ・エネルギーで存在確率が1/2になるという。その中間的な位置は、お湯を沸かした例で説明がなされるのは分かりやすい。分子が水として存在するものと、水蒸気として存在するものに分かれ、水面がフェルミ・エネルギーというわけだ。あらゆる原子は、原子核と電子でできているので、電子の分布が観測できれば、物質自体の分布を観察することができる。フェルミ・ディラック分布は、電子の分布を論じたものであり、固体物理学や半導体工学で重要な役割を果たしている。
では、ボース粒子はどうなるのか?アインシュタインは、分子間に相互作用のない理想気体を冷却すると、ある温度以下では最もエネルギーの低い状態に多数の粒子が集まることを理論的に導いたという。例えば、液体ヘリウムの超流動現象である。液体には水のように粘性があるが、ボース粒子は冷却していくとその粘性がなくなるという。そして、超流動状態になると、分子1個しか通れないほどの隙間を抜けたり、容器の壁をよじ登って外にあふれたりといった面白い現象が起こるという。まさしく量子の世界は何が起っても不思議ではない。量子の世界では、エネルギー障壁を越えるトンネル効果という現象もある。

7. ボルツマンの原理
ボルツマンの原理は、エントロピーの統計力学的な表現であるという。
「ある系が、場合の数の多い状態に向かって変化していく。」
エントロピーというと、一般的には「乱雑さ」と表現される。なるほど、乱雑さを「系の場合の数」と考えればいいようだ。「系の場合の数」は、「存在確率の最も高い分布の場合の数」へと近似される。そして、安定な分布の場合の数となり、この数が増える方向へ分布するという。より安定状態に変化するというのが、エントロピー増大の法則というわけか。

2009-09-13

"Beautiful Code" Brian Kernighan, Jon Bentley, まつもとゆきひろ 他著

冒頭には、竹内郁雄氏の「推薦のことば」が記される。
「...プログラムコードには、およそ人が「書く」もののエッセンスのほとんどが詰まっている。よい問題解決に始まり、設計、製造、検査、保守改良に至るソフトウェアのライフサイクルをきちんと制御する能力の大半は、実は文章の力であり、文章の力はよいコードを書く力とほぼ等価である。つまり、「美しいコード」を書けるということは、たとえ、コードを書くチャンスがなくても「美しいソフトウェア」を開発できるということなのだ。...」
アル中ハイマーは、このフレーズにいちころなのだ。本書には、33ものプログラマによるエッセンスが熱く語られる。そこには、一流と言われる技術者たちの哲学や美学が現れる。そして、プログラムを書くということは、単に記号を打ち込むというものを超越した世界があることを教えてくれる。
ところで、プログラムを書くことと文章を書くことが等価であるならば、ごちゃごちゃな文章を書くアル中ハイマーは、いつもスパゲティコードを書いていることになる。ちょっと落ち込むなぁ!それにもめげず、今宵も酔っ払った文章を綴るとしよう。ちなみに、おいらはソフト屋ではない。電子回路に実装するためのアルゴリズムやアーキテクチャを設計するハード屋である。それでも、検証モデルを構築するためにプログラムを書く。また、回路設計ではハードウェア記述言語を用いるので、本書がまるっきし別世界というわけではない。むかーし、組込み系のソフトを作っていた時代もある。リアルタイムOSとまではいかないが、リアルタイムモニタ程度の規模でOSもどきを作っていた。はたしてその実体はハード屋か?ソフト屋か?いや、雑用係だ!したがって、アル中ハイマーは、ハードボイルドをモットーに、ソフトなピロートークを持ち味に生きるのであった。

コンピュータの分野が客観の領域にあるのに対して、「美しさ」という感性は主観の領域にある。プログラムは正確に動作しないと全く意味をなさない。正しいか間違っているかは客観の領域にある。ここに、ソフトウェアの本質は主観と客観の双方の領域をまたぐことになる。ポール・グレアム氏の著書「ハッカーと画家」では、プログラマの芸術的感覚に迫っていた。客観に固執したところで所詮は人間のやることであり、主観を無視することもできまい。いや、むしろ主観の領域にこそ、技術者の哲学や美学が顕になる。こうした感覚は経験則から培われるところが大きい。自らの失敗を振り返り、より効率性を求めた結果、技術者の細かいこだわりが現れ、それが「美しさ」への探求へと進化する。こうした過程は、技術者の生き方を物語っていると言ってもいいだろう。
プログラムに求める美しさには、外観の美しさ、インターフェースの美しさ、構造上の美しさ、数学的単純さ、アルゴリズムのエレガントさなどがあり、その視点は多様である。ただ、共通して言えることは、ある機能をソフトウェアで実現するということである。つまり、実現性を前提とした芸術性の探求である。
プログラムに現れる効率性や移植性や柔軟性といったものには、芸術家を思わせるものがある。すべての要素が調和した時にのみ、信頼性と美が融合した時にのみ、コード作成者に対して芸術家に対するのと同様の敬意が表される。それがシンプルで長期間に渡って恩恵を与えているものであれば尚更。しばしば、入門書に登場する決まり文句も、発案者への敬意として使われる。単純な数学的考察であっても、ユークリッドは永遠に崇められるであろう。
美しいプログラムを書きたければ、美しいプログラムを見ることだとは、よく言われる。確かに、優れたプログラマのコードを眺めるだけでも勉強になる。優雅さと経済性を見せ付けられれば、そこには美しいコードとなる要素があるはず。科学の美的感覚は単純さを求めるが、プログラムにも同様の感覚がある。ただ、コンパクト過ぎると逆に読み辛い場合もあれば、難しいテクニックで記述を短縮して理解し辛い場合もある。コードが処理速度に制約を受けることもあり、自由に書けるとは限らない。プログラマの腕の見せ所は、コンパクト性とメンテナンス性のバランスの按配であろう。

データ構造の抽象化によって一般化する様式は、美的感覚を共有することができる。非連続性のデータ構造に対して強力なイテレータが登場すれば、一般化したコードが書きやすくなる。これも外見の美しさである。美しさを感じないが、どうしても避けられない機構もある。例えば、正規表現は文字列操作には欠かせない。これは非常に便利な機構であるが、方言があるのも事実だ。正規表現でしばしばイライラさせられるのは、そこに暗号めいた記法があるからである。それでも、酔っ払いには決まったいくつかの正規表現だけで、ほとんど事足りる。
また、美しさというよりも、むしろ一貫性と捉えるべきものがある。unix的な慣習で見られるようなドライバモデルには、その外見に一貫性が見られる。システムコールが提供するopen/read/write/closeパラダイムは、入出力装置の性能を最適化してバッファリング効果を助ける。そして、アプリケーション側でタイミングを制御するflush操作が実装される。
プログラミング言語の選択も、作業効率を求める手段となろう。連想記憶といった機構を使いたければ、それを実装した言語を使いたい。RubyやPythonのような動的な言語には、連想記憶を定義する構文が用意されている。テキストの行に、正規表現を当てはめたり構文を当てはめたりする思想は、awkのような言語から受け継がれる。ネットワークのプログラムでは、CレベルのAPIを使うところに鬱陶しさがある。また、しばしばOS間での互換性の問題も発生する。それでも、フレームワークや言語仕様などで、低レベルのAPIをカプセル化し、使いやすくはなっているのだろう。最近のことはよく知らんが。
こうしたものをすべて「美しい」という言葉で括れるのかどうかは、判断の難しいところである。ただ、技術者に思想や哲学の方向性を示してくれるのは、共通認識を与える効果がある。

経験上、一度やった仕事は、もう一度やればもっとスマートにやれると、必ず反省する。だが、同じような仕事を繰り返すことは滅多にない。反省も再利用と移植性に富んだものにしたいものだ。おいらの場合、仕事の美しさを上流工程に求めるところがある。上流工程の重要性は、かつて所属した企業で伝統的に先輩から叩き込まれたような気がする。おかげで、早い段階から仕様の疑問に飛びつく癖がある。システム構成の変更は、後の日程に大きな影響を与えるからである。事前検討がしっかりなされた仕様は、なによりも日程を正確に見積もれる。日程で一番厳しい状況にあるのは検証期間であろう。検証効率を上げるためにも上流工程は重要である。
また、プロジェクトには、哲学的意識をメンバーで共有するのも重要であろう。哲学的意識はプログラムの書き方にも影響を与える。手段であるプログラミング言語の選択も難しい問題である。より効果的な言語が存在するはずだが、スキルによって制限される。ちなみに、最近遊びで書くコードはRubyばかり。酔っ払いには、動的な記憶領域の管理などランタイム機構に任せるのが身のためである。そこで、スクリプト言語を多用することになる。とはいっても、だんだん保守的になって手段もワンパターン化してきた。新しいことも遊びでしか試さない。そんな時、「もう歳だねぇ!」と声をかけられると過剰に反応するので、周りはおもしろがる。もともとはデータの型が明確でない言語を嫌う傾向にあったが、だんがん面倒になってきた。Ruby開発者のまつもとゆきひろ氏によると、型も大切だが言語の本質ではないと語ってくれるのは心強い。

本書は、いろいろな専門分野における主観的観点が覗けるのがおもしろい。それほど美しいと感じないものもあり、感覚の違いが体感できる。また、プログラムに対する謙虚さの大切さを教えてくれる。クヌース先生は、2分探索が公表されてからバグのないコードが公表されるのに12年以上経っていると指摘したという。もっと驚くべきは、何千回も実装され作り変えられてきたベントリーの公式の証明済みアルゴリズムでさえ、配列が大きくアルゴリズムが固定小数点演算を使用した言語で実装されているときに出現する問題があるという。ちょっとおもしろいエピソードでは、スティーブン・レビーの歴史古典「ハッカーズ」にビル・ゴスパーの「データはバカバカしい種類のプログラムである」というのがあるらしい。逆に言うと、「コードはスマートな種類のデータである。」というのが導かれるわけだが、このことから、チャールズ・ペゾルド氏は、次のように語る。
「プログラムとは、CPUが何か役立ったり面白いことをする引き金となるようなデータというわけです。」

さて、あまりにも多くの中から、ちょっと興味を持ったものを摘んでおこう。

1. クィックソート
「私が書いたことのある、一番美しいコード」として紹介されるのがクィックソートである。ソート処理で重要なのは、いかに比較の回数を減らすかであろう。そこで注目すべきは、選択される比較の対象をランダムで選ぶところである。ネット検索など、ランダム性を利用したアルゴリズムで処理の効率化を図るシステムは多い。完璧な検索結果を時間をかけて得るよりも、だいたい正しいだろうとする結果を高速で得られる方が有用な場面では、確率論に持ち込むアルゴリズムが有効となる。
本書は、その実行時間の分析を、ソートプログラムを使って計測しているのは分かりやすい。ゲーテの言葉「建築は凍りついた音楽だ」をもじって、ジョン・ベントリー氏は、「データ構造は凍りついたアルゴリズムだ」と語っている。そして、クィックソートのアルゴリズムが凍りついたら、そのデータ構造は2分木になると。なるほど、クィックソートのデータは、2分探索木のような構造になる。クヌース先生も、2分木構造の処理時間はクィックソートと類似した漸化式になると言ったという。

2. BioPerl
BioPerlは、生物情報学向けのラピッド開発ツールキットだという。これはDNAとタンパク質の解析、系統木の建築と解析、遺伝子データの解釈、ゲノム配列の解析などのモジュールを提供するのだそうな。本書は、Bio::Graphicsの例を使って、そこで使われるオブジェクトクラスを紹介している。ただ、これがPerlで書かれていることに驚いた。暗号っぽい言語は、遺伝子暗号を解読できる道具となっているというわけか。簡単にカスタマイズや拡張される様子を眺めていると、つい読みいってしまう。Perlは、あまり好きな言語ではないのだが、時々要求されるので仕方なく使う。

3. 遺伝子ソータ
遺伝子ソータはCGIスクリプトで、web上でユーザとの対話管理で使われるという。CGIスクリプトは提供する側のマシンで動く言語ならなんでもいいわけだが、これはC言語で書かれているらしい。少々大きめのプログラムで構造上の美しさを語っているが、要するにオブジェクト指向設計になっている。

4. ガウス消去法(LU分解)
コンピュータの技術革新で、アーキテクチャの変化に応じて、アルゴリズムも変化する場合がある。その例として、連立一次方程式を解くためのガウス消去法を紹介している。これは線形代数では欠かせない行列に対する操作アルゴリズムである。LU分解は、数値演算言語で実装されている関数なので、おいらは無条件に利用している。線形代数のカーネルであるBLASやLAPACKは、気まぐれで中身を覗くこともあるが、何も知らずに使う方が幸せである。
ベクトルマシンが登場すれば、行列アルゴリズムをベクトル化することに、一層の意味があるだろう。マルチコア化が進めば、並列アルゴリズムが有効となる。マルチスレッドによってブロック分割アルゴリズムを、ベクトルや行列レベルの演算で高度にチューニングすることもできる。

5. MapReduce
MapReduceは自動的に並列実行されるもので、gさんが開発した。実行時にシステムが入力データの分割を担い、一群のプログラム実行をスケジュールし、マシン間の通信を管理する。つまり、並列分散システムの経験がない技術者でも、大規模な分散システムの資源を容易に利用できるというわけだ。これは、並列処理の抽象化とでも言おうか。MapとReduceに分離して並列処理する仕掛けは、Mapでレコード毎の処理を定義し、Reduceで繰り返し処理を定義し、それぞれMapとReduceのドライバが管理するといった具合。この分離というか抽象化をうまいことやれば、かなり精度のよい並列処理が実行できるようだ。これはなんとなく凄い!

6. Schemeのsyntax-case
コードとデータは、通常はっきりと区別される。ただ、コンパイラから見れば、コードも単なるデータである。合理的に眺めれば、コードとデータはバイト列に過ぎない。こうした感覚は、lispの哲学が内包されているように思える。プログラムとデータが同じ形式というか、プログラムにはそもそも構文らしきものがないというか。lispには、そうしたなんとなく謎めいたものを感じるからである。構文の抽象化という意味で、Lispには昔から興味を持っているのだが、いまだに手を出せないでいる。

7. Emacspeak
emacsがただのエディタではないことは分かる。メールを読んだり、webを閲覧したり、シェルコマンドを実行したり、多様な用途のプラットフォームもどきになっている。周りには、マウスに頼った操作が嫌いな人で、emacsを愛用する人も多い。emacs-lispを実行できるところに、即テストできるという馴染みもある。
本書は、音声デスクトップ環境としての、Emacspeakを紹介している。完全な音声のみのデスクトップ環境というところに、emacsの可能性を垣間見る思いである。そこには、障害者向けの環境構築といった可能性がある。