2020-05-31

"美術という見世物 - 油絵茶屋の時代" 木下直之 著

現代感覚から外れ、価値観体系からも外れ、世間から置き去りにされつつも、今尚ここに存在し、何事かとつぶやき続ける人たちがいる。文壇にも、ネット社会にも、オワコンと揶揄される域に...
古典の中にも、何千年も生き長らえるコンテンツが数多ある。どこにいてもコメントの嵐が吹き荒れる社会にあっては、こうした物静かに語ってくれるものに癒やされる。もはや、どちらが揶揄されているのやら...

木下直之氏は「近代」という用語に苦言をもらす。意味もよう分からん!と。この美術史家の攻撃対象は、近代美術館である。「近代」を名乗って一番大きな顔をしているのが、文学館でも音楽館でもなく、美術館であると...
そういえば、「近代美術館」と称する施設をあちこちに見かける。「近代」という用語がもてはやされたのは明治維新から間もない頃、急速な工業化とともに庶民も西洋かぶれしていく。漱石の「坊っちゃん」に登場する赤シャツも、その象徴のような存在。いわば、近代化が西洋化の代名詞とされた時代である。
その近代化の波に乗った庶民文化の一つに、油絵茶屋というものがあったそうな。西洋風のお茶をしながら、美術品を嗜む見世物小屋である。見世物というからには、それを大袈裟に演出するナレーション付き。芝居絵や浮世絵などを西洋伝来の油絵で描き、芸達者な口上とともにコーヒーや紅茶をやるのが、近代的なお洒落というわけである。無声映画の時代には、活動弁士という職業があったと聞くが、その類いであろうか。
やがて、けたたましい口上は姿を消し、静粛な空間の中に作品が閉じ込められていく。政治的な制度化にともない、「近代美術」という篩にかけられ、選ばれし作品だけが美術館の中で生き残っていく...
「それはまた、美術という言葉でくくるために、美術と呼んでもよかったかもしれないものを切り捨ててきた歴史でもある。」

アカデミズムな評価ってやつは、杓子定規なところがあって、趣向を凝らした技術を埋もれさせることがある。権威的であるが故に、遊び心を見落とすばかりか、見下しがち。基準から外れたアウトローたちは、その時点で消される運命にある。いつの時代も...
芸術は自由精神によって支えられ、遊び心のない自由ほど味気ないものはない。見世物小屋で技を競い合った連中は、実に多彩だったようである。油画師や彫刻師のほかに、曲芸師、軽業師、足芸師がいて、籠細工師、貝細工師、紙細工師、瀬戸物細工師、ギヤマン細工師、生人形師までも勢揃い。技を競うということは、自由を謳歌するということか。
本書は、こうした文化史の中に埋もれてしまった技を、美術の観点から再発掘してくれる。そのために、人間の本性を曝け出してしまう。見事なほど滑稽に。芸術とは、もともと滑稽に発するのやもしれん。社会への反抗心や体制への批判を、間接的にやんわり表現しようとすれば、皮肉っぽくもなろう。芸術と皮肉は、すこぶる相性がよいと見える。これが批判哲学の心得というものか...

油絵茶屋の時代というのは、近代化の波が大衆性や娯楽性と相俟って愛国主義を旺盛にさせていき、やがて訪れる国粋主義の時代を予感させる。それは、美術家たちがリアリズムやパノラマへ心酔していく様子に見て取れる。リアリズムを追求すれば、歴史を正確に描きだせそうなものだが、本書は、それは逆であろうと苦言をもらす。リアリズムに徹するほど、現実がたくさんの小さな事実に分裂してしまい、歴史の全体像はかえって崩れてしまう、と。特に戦争を描く時は、リアリズムを抑えなければならない、と。小さな事実を集めて大きな嘘をつくのでは、本末転倒。
「文字通りに観客を画中に入れてしまおうというパノラマの工夫は、リアリズムを愚直に追求していったひとつの到達点であった。大袈裟にいってしまえば、想像力の放棄はリアリズムの宿命である。」

大衆は、分かりやすいもの、見たまんまのもの、身近に感じられるものに群がり、テンポのいい口上に引き込まれやすい。それは、ある種のプレゼンテーション技術である。これらが集団性と結びついて熱狂的に受け入れられた時、奇妙な愛国主義を旺盛にさせることは、ゲッペルス文学博士が見事なほどに実践して見せた。
こうした傾向は、現在の高度化した情報社会とて同じこと。いや、より旺盛にさせているやもしれん。大衆は、より刺激を欲し、迫力ある映像を求める。真実よりも、分かりやすく真実っぽいものを求める。長文や難解な文章は昔から敬遠されてきたし、カントの三大批判書のようなものが大衆化することは永遠にあるまい。
そして、見えなかったものが見えるようになった分、見えていたものが見えなくなる。視界が相殺されれば、同じこと。大衆は、自分で思考することがよほど面倒くさいと見える。そして、この文面が現代社会への苦言にも映る...
「私は先に、床の間に掛けた山水画の効能についてふれた。それは縦に切り取られた小さな風景のはずだが、静かにそれを眺めるだけで画中に遊べるのだとしたら、そこでは、何よりもまず観客の想像力が要求される。もちろん無意識のうちにである。ところが、パノラマは逆に、想像力の放棄、一種の判断停止を観客に強いるはずだ。視野を限定しない画面は、観客の視覚を麻痺させてしまうからだ。それは、日常生活において、睡眠以外の時間はいつも目を開けたままなのに、ほとんど何も見ていないことに似ている。見るためには自覚が必要で、そのためには額縁のような枠が必要なのである。」

ところで、「生人形」に関する言及が、妙に目につく。こいつの読みは「いきにんぎょう」とするのが一般的なようだが、あえて「なまにんぎょう」としている。この方が、なまなましさが伝わるってか。確かに、インパクト大!奇妙なリアリズムをさらけ出し、まさに滑稽なほどに。松本喜三郎の「貴族男子像」あたりを見せられた日にゃ...

2020-05-24

"解析入門30講" 志賀浩二 著

数学の落ちこぼれを癒やしてくれる数学の書とは、こういうものをいうのであろうか。「数学30講シリーズ」は、群論に続いて二冊目。群論という巨大な要塞も三十にも分解しちまうと、軽やかな調べのように流れていく...

ここでは、微分と積分にまつわる物語。この二本を柱とする解析学の世界に一歩足を踏み入れると、底しれぬ数学の深海へ引き摺り込まれる。測度論、直交関数論、ポテンシャル論、変分法、調和解析... 等々解析学という名で包括される分野は計り知れず、集合論、確率論、整数論、幾何学などの研究にも解析的な方法が用いられる。この学問分野をどのように捉え、どのように接するかは、その広大さからして十人十色。おいらの目には、近似法の具体的な手段を提供してくれるツール群に映る。電子工学や通信工学では、多項式や微分方程式の類いによく遭遇するが、その解決策として...
フーリエ変換にしても、テイラー展開にしても、マクローリン展開にしても... コンピュータの物理構造は、冪級数と三角関数に看取られているようで、その背後にオイラーの影を感じずにはいられない。
ちなみに、おいらには、数学は哲学である... との信条がある。なぁーに、落ちこぼれの遠吠えよ...

さて、本書で注目したいのは、斉次多項式と C- 級関数の存在感を示してくれることである。前者では、解の全体がベクトル空間を形成することで群論に通ずるものを匂わせ、後者では、何回でも繰り返し微分することで循環性の威力を魅せつける。
ここで鍵となる数学の性質は、「連続性」ってやつだ。数直線上を埋め尽くすには有理数だけでは不十分だが、人間社会に登場する無理数は有理数で限りなく近似できる。近似では、循環小数という有理数の性質も非常に役立つし、ピュタゴラス教団が無理数の存在を隠蔽したのも分からなくはない。だが、彼らが崇める図形、すなわち、正方形の対角線や真円の弧に出現すれば隠しおおせるものではない。無理数は連続性を補完する存在なのか、それとも、有理数が特異な存在なのか...

そんなことはさておき、関数が連続とはどういうことであろう。その定義では、あの忌々しいε-δ論法風の記法が示されるが、なんの抵抗感もなく、すんなり頭に入ってくる。

「f(x) が a で連続
⇔ どんな正数 ε をとっても、ある正数 δ で、
  |x - a| < δ ⇒ |f(x) - f(a)| < ε
を成り立たせるものが存在する。」

それは、微分可能か?積分可能か?最大値と最小値の存在は?といった問いに対する一つの答え。最大値と最小値の存在保証が叶えば、平均値の定理が輝きを放つ。
しかしながら、連続関数であっても微分不可能な奴らがいる。株価のランダムウォークを思わせるワイエルシュトラス関数、直角にくねるペアノ曲線やヒルベルト曲線、あるいは、フラクタルな世界にも病的な奴らが多くいやがる。この酔いどれ天の邪鬼には、連続性には程度というものがあるように見えてならない。無限という概念に、濃度(アレフ)という格付けめいたものがあるように...

そして、微分可能と積分可能とでは、必ずしも一致した見解ではなくなる。何事も現象を客観的に観察しようとすれば、より近づいて観る眼と、ちょいと遠くから眺める眼の両方が要請される。微分は、対象となる点に限りなく近づく視点。積分は、その点から距離を置く大域的な視点。
本書は、微分の視点に「一様収束」、積分の視点に「一様連続性」という用語を使い、それは妥協を模索した表現にも映る。
区間を指定するリーマン積分は、連続性が前提される。最初に定式化した人物の名に因んでいるだけで、最も馴染みのある形式である。
一方、抽象化の一歩進んだルベーグ積分は、非連続性を内包している。では、非連続性はどの程度まで許容できるのか。非連続部を加法的に連結すれば、いくらでも積分範囲を広げられるし、これを近似しようと思えば、いくらでも矩形で細分化すればいい。アルキメデス風の取り尽くし的な発想だ。
微分の場合は、より厳密性が要求されるが、積分の場合は、大雑把な傾向を観察するだけでもかなりの情報が得られ、大胆な加法が用いられる。それで用途に耐えうるかどうかは、当事者の眼に委ねられる。実際に物理現象を分析する際、微分における初期値の決定と積分における範囲の決定は、いつも悩ましい。そして、最終的な解決法は... 数学屋さんへボトルの差し入れよ。

そもそも、物理現象と微積分との相性の良さは、ニュートン力学の基本法則が微分方程式で記述されることにある。

 ma = m   d2x

 dt2 
 = f

それは、時間 t に幽閉された世界。とはいえ、時には、時間が不連続であることが心を癒やしてくれる。時には、記憶の曖昧さが幸せにしてくれる。しかも、時間や記憶の連続性は、アルコール濃度に比例して分解できるときた。
コーシー・アダマールの定理で収束半径を厳密に求めるのもいいが、境界線は少しばかりガウス関数でぼかした方がいい。不定積分を求めるにしても、有理数を部分分数に分解しておけば、なにかといいことがありそうな。
なにごとも近似で誤魔化す酔いどれ人生!なるほど、解析学とは、人生を測量するツールであったか...

2020-05-17

"グーグルに学ぶディープラーニング" 日経ビッグデータ 編

脳を模倣する計算機アルゴリズムの研究は、古くからある。1950年頃には、サイバネティックスという概念を提唱したノーバート・ウィーナーが「人間機械論」を書し、ノイマン型と呼ばれるコンピュータの基本原理を考案したフォン・ノイマンは「自己増殖オートマトンの理論」を提示した。「人工知能」や「ニューラルネットワーク」という用語も登場して久しい。そういえば、おいらの学生時代、ゼミの研究テーマに人工知能言語として Prolog を選択する学生がいた。もう三十年以上前かぁ...
ウィーナーやノイマンの後に訪れた AI ブームが第一次だとすれば、おいらの学生時代が第二次ブームで、「ディープラーニング」という用語が巷を騒がせている今が、第三次ブームということになろうか...
人間をこしらえたのが神かどうかは知らん。が、人間が人間を模倣するという夢は捨てきれないと見える。それは、人間が人間自身の正体を未だ知らないということであろう。その都度、挫折感に屈っしながらも、新たな概念が登場してはブームの火付け役となる。
そして再び、新たな用語の入門の入門書を手に取るのであった...

さて、ディープラーニングってなんだ?
こいつの仕組みをまともに説明できる人は、あまり見当たらない。日本語では「深層学習」と訳され、「機械学習」よりも賢そうか。おまけに、ブラックボックスとして振る舞い、結果に至る過程を一切見せてくれない。人間が見ても理解できんよ!と言わんばかりに...
与える餌は、入力データと出力結果という組み合わせだけ。この対パターンを大量に喰わせることによって、思考プロセスを勝手に組み立てる。なので、初期段階では、呆れるほど馬鹿な結果を示すが、喰えば喰うほど賢くなっていく。人間が思考プロセスを与えないということは、人間を超えた思考プロセスを形成する可能性があるってことか。ディープラーニングは、データハングリーな怪物か。
実際、囲碁や将棋などで人間を超えた思考能力を見せつける。過去の棋譜データを大量に喰わせ、勝敗の結果だけ教えてやれば、あとは未来志向でより有効なパターンを自動的に編みだす。この学習モデルは、教師あり、教師なし、といった状況を使い分ける人間の学び方に似ている。ただ、人間の方は、経験や知識に対して忘れっぽい上に、都合よく歪めて解釈する傾向にある。AI に解釈という概念はあるのだろうか... 解釈とは、自己存在を意識した時に発する心情であろうか... 主観と客観の境界面は、自己存在という意識との関係から生じるのであろうか...

では、ブラックボックスの中身はどうなってんだ?
本書は、人工知能、機械学習、ニューラルネットワークというキーワードから、ディープラーニングの像をおぼろげに映し出す。「人工知能」を知識の求められる処理をするコンピュータと定義するなら、「機械学習」の位置付けは、人間がプログラムするのではなく、コンピュータが自動的に判断する基準を作り上げていく学習モデルといったところ。
そして、「ディープラーニング」とは、機械学習の一つの手法で、ニューラルネットワークを多層に積み重ねた処理モデルのことを言うらしい。判断の数、すなわち、分岐点の数だけ人工的なニューロンを配置し、ブラックボックスの外から入力データと出力データのパターンを与えれば、あとは最適なニューロンの伝達経路を自動で探りにかかる。
例えば将棋であれば、ニューロンの数は勝敗が決まる手数以上は必要となろう。実際は最善手よりも悪手の方がはるかに多いので、手数の何百倍にも、何千倍にもなりそうだが、経験データの蓄積によって最適な経路を効率的に見つけ出すという寸法よ。また、入力データと出力結果の組み合わせを作りやすい分野に金融業界があり、ポートフォリオ戦略などで最適化モデルが実戦投入されていると聞く。

ところで、個々のニューロンの構造は、単純である。シナプスのような一方向の神経伝達系が、ニューロンとニューロンを結びつけるといったモデル。仮想的な分岐点であるニューロンを判断に必要なだけ多段に配置すれば、人工的な判断力モデルが形成できる。要するに判断とは、複雑な条件の積み重ねというわけである。人間が書くプログラムの原理にしても、条件付き分岐命令の羅列と多重化したデータ構造の組み合わせでだいたい説明がつく。ブラックボックスは、ニューロンの数を多く配置するほど賢くなる可能性があるというわけか。いや、ニューロンの数を自ら増殖させることだってできそうだ。それは、コンピュータの性能とリソースの豊富さにかかっている。
そして、あのテレビドラマのフレーズが頭をよぎる。
「人生は分岐点の連続である。」... 素敵な選TAXI
ドラマと違って過去には戻れそうにない...

本書は、タイトルで表明しているように、G さんの取り組みを紹介してくれる。会話をしながら人間をサポートする Google Assistant や、合成音声やピアノの曲も作成できる DeepMind の WaveNet など。
個人的には、G さん翻訳をよく利用していて、近年、そこそこ使えるようになってきたと感じている。ちなみに、Let it go! を翻訳機にかけると、現時点では「手放す!」という答えが返ってくるが、「アナと雪の女王」の主題歌 "Let it go!" の邦題が「ありのままに」と訳したデータが大量に出回れば、そうした柔らかい翻訳もできるようになるという。
また、ディープラーニングの成果を手軽に使える機械学習の API やライブラリも紹介してくれる。しかも、Python で書けば簡単に利用できるとか...

  Cloud Vision API: 画像認識や画像分析
  Cloud Speech API: 音声からテキストへ変換
  Natural Language API: 自然言語処理
  Translate API: 数千の言語ペアを動的に翻訳

しかしながら、ディープラーニングは万能ではない。得意な領域もあれば、不得手な領域もある。データが少なかったり単純なデータばかりだと、素直に丸覚えするだけ。見たことのないデータに出会えば不自然な結果を導く。
ツールの使い方ってやつは、人間がツールに合わせるか、ツールを人間に合わせるか、という問題がいつもつきまとう。いかに、概念的なものや構造的なものを理解した上で活用できるか... 元来、道具とはそうしたものだ。
例えば、AI の活況な実験現場として、自動運転システムがある。近年、トヨタが実証都市「Woven City」を立ち上げたことが話題になった。富士山の麓に、自動車社会の近未来都市を作るというものだが、閉じた社会ならば、住民の意識も浸透しやすく、成果はそれなりに期待できるだろう。しかし、このモデルをすべての都市に適応できるかは疑問である。都市の多様性は、想像以上に手ごわい。それは住民の意識格差として現れるだろう。近未来社会とは、ツールが人間どもを奴隷にする社会を言うのかもしれん...
ちなみに、自動運転技術では、Google から分社化した Waymo の実証実験もよく話題になる。Google ストリートビューの発明者が主導する会社だ。
いずれにせよ、AI の活用による人的犠牲は計り知れない。いや、人間がやっても同じことか。いやいや、同じ失敗を繰り返すかどうかの違いは大きい。完成までには、多少の失敗にも目をつぶる。少なくとも、完成までの期間は人間よりもはるかに上だし、統計的な犠牲者は、期間と相殺させるかもしれない。こうした分野では、失敗データの蓄積がものを言いそうである...

ん... 個々のニューロンの構造が単純でも、複雑な多重階層モデルとなると、やはり得体の知れない存在となる。ただ、得体が知れないから、惹かれるということがある。得体が知れないから、過剰な期待をかけるということがある。そして、分かった気分になれれば、幸せになれる。これも人間の性癖というものか...
人間は、人間を奴隷にするのが得意な動物である。いや、自ら望んで奴隷になる場合すらある。おいらは M だし。アリストテレスが唱えた生まれつき奴隷説もうなづける。
そして、AI によって人間を模倣し、AI を奴隷にしようったって、そうは問屋が卸さない。人間が奴隷制度に目くじらを立てる理由の一つに、人間の奴隷になることへの拒否反応がある。同じ種の奴隷になることへの。ならば、みんなで人間ではない存在の奴隷になるというのはどうであろう。これぞ実現可能な平等社会!ビッグデータの活用法で悩んでいる人間どもを尻目に、AI が自由気ままに人間どもを活用して問題を解決してくれる社会。AI に雇用をもっていかれて、なんの不都合があろう...

では、人間は何をする存在になるのだろう。過程を放棄した人間とは、いったいどんな存在なのだろう。人間は、退屈病を恐れる。入力情報から結果が得られる便利なブラックボックスを手に入れたがために、逆に、結果よりも過程の方に意義を求めるようになる。人生は結果ではない。生きている現実の連続である。人間を模倣しようとしたがために、ますます人間というものを考えさせられる。AI は、人間を哲学者にしようというのか。ブラックボックスの中身を理解できない限り、人間は永遠に人間というものを理解できそうにない...

2020-05-10

"ハインリッヒ・ヘルツ" Michael Eckert 著

今日の情報社会において、馴染み深い物理量の単位といえば、空間の概念と結びつく bit や、時間の概念と結びつく Hz といったところであろう。物理層における通信プロトコルでは二進対数に重要な意味を与え、これらを単位とした帯域幅やスペクトル効率などが論じられる。
言うまでもなく、Hz はハインリッヒ・ヘルツに因む周波数の単位だが、その業績となるとあまり知られておらず、単位名だけが独り歩きをしている感がある。ヘルツは、電磁波の発見によって不滅の名を残し、電磁気学で大きな役割を果たした。しかしながら、この方面では、電磁誘導のファラデーや方程式の名をかざすマクスウェルの方がはるかに有名である。

物理法則は、理論と実験の両輪によって成り立つ。ファラデーやマクスウェルは理論家で、ヘルツは実験家。こと電磁波の研究では、実験そのものは電気的な火花をたどるという地味な作業の繰り返し。ヘルツが生きた19世紀は、まだ電気の正体すら分かっておらず、電子という物質的な概念もない。光電効果や火花放電といった現象は、謎のまた謎。19世紀が終わろうとする時、ようやく電気照明が街を灯し始めたという次第である。
エーテル説がくすぶる中、マクスウェルはエーテルの存在を証明しようとして、あの有名な四つの方程式を導いた。これを実験で検証し、今日のエレガントな形で伝えられるのも、ヘルツのおかげである。彼は、マクスウェル方程式を異なった形で表現し、「磁気力と電気力は相互に交換可能である」と主張する。そして、こんな言葉を残したという...
「マクスウェルの理論とは何かという問いに対して、マクスウェルの理論とはマクスウェル方程式の体系である、ということほど簡潔で的確な答えは知らない。」

しかしながら、ヘルツ亡き後、ドイツでは狂信的な国家社会主義が旺盛となり、先祖がユダヤ系であったために、Hz という単位名はヘルムホルツの略字とされ、その功績も抹殺にかかった。ヘルツの名は、「物理学の帝国宰相」と呼ばれたヘルマン・ヘルムホルツの優秀な門下生という位置づけで記憶されることに...
歴史とは皮肉である。名を石に刻み、金属に鋳造するなどして英雄視することは、素晴らしい業績に対する見方を狭め、神話化を助長することがある。歴史は人が作る... とも言うが、皮肉な意味も含まれよう。
本書では、物理学における真の英雄像の一場面を、ミヒャエル・エッケルトが掘り起こしてくれる。ヘルツは一匹狼の実験家だったそうで、その成功と失敗の過程を日記や記録からたどる。マクスウェル理論に取り憑かれた人生。実験の喜びは、何ものにも代え難い冒険心。
だが、エーテル存在説の矛盾から、やがて激しい自己批判に陥る。36歳の若さで亡くなったことも、モーツァルトよりわずか一年上回った人生から、「物理学のモーツァルト」と呼ぶ。人類の叡智とも言うべき真に業績を残した人というのは、孤独家で地味な人生を送るものなのかもしれん。英雄ってやつは、外野が作るものなのかもしれん。この評伝を通じて、ヘルツという名を物理量の単位から解放し、自然科学者として知ることに...
尚、重光司訳版(東京電機大学出版局)を手に取る。

2020-05-03

"ペレス量子論の概念と手法" Asher Peres 著

ある大学の先生から、量子力学を勉強する下地に... と薦められた一冊。テクニオン - イスラエル工科大学のアッシャー・ペレス教授の書で、量子論の教科書的な存在だそうな...
この分野には実に多くの参考書が散乱し、エネルギー準位や遷移確率などの計算法を学ぶことができる。しかし、その存在論的な意味合いとなると、深刻な見解の相違が生じ、量子論的な認識論というものを意識せずにはいられない。認識論を数学という言語を用いて記述すると、どうなるだろう。本書には、そんな野心が見て取れる。あらゆる表現に数式が用いられるのも、客観的な記述の限界を試すかのようでもある。
本書は哲学の書ではない。著者もそう宣言している。ただ、おいらには、数学は哲学である... との信条があるので、これを哲学の書としてもまったく違和感はない。それにしても、これで大学院生レベルだというのだから...

本書は、「不確定性原理」のような明確に定義できない概念を避け、ベルの定理とコッヘン=シュペッカーの定理を中心に「隠れた変数決定論」というものが扱われる。光子系において、隠れた変数を導入することにより、古典的な決定論を回復させようという目論見か。この隠れた変数ってのが、例えば、超ひも理論あたりで議論される 10次元や Dブレーンのようなものを指すのかは知らん。要するに、概念的な話はおいといて、量子力学と古典力学が根本的に乖離するところを、ひたすら数学で記述しようというのだから尋常ではない。
注目したいのは、時空対称性や量子熱力学に情報理論を絡めた議論である。それは、エントロピーや不可逆性に至る議論で、技術屋にとってはなかなか興味深いものがある。演習問題を通して、光線どうしが重なり合っている部分を、光子という言葉でどのように記述したらよいだろうか?と挑戦的な疑問を投げかけたり... 個々の光子の偏光パラメータを測定する装置は存在しえないことを完全に納得するまで、諦めないでほしい!と励ましてくれたり... もはや、一つの光子の偏光状態はどうなっているか?などという質問に答えることはできないし、意味もない!と切り捨てたり... ちょっとした冒険心をくすぐる。
「偏光が光子からできており、そして光子は分割できない実体であるという考えを一度受け入れるなら、物理学はいままでと同じではありえない。乱雑性が基本的な要素になる。」

古典物理学では、物質の位置と運動量は同時に正確に測定できることが前提される。位置と運動量は客観的な性質で、観測者とは無関係な物理量と考える。だから、調和振動子の位相に対して一様分布や、気体の分子速度に対してマクスウェル分布を仮定したりできる。
一方、量子力学では、量子の位置と運動量は同時に正確に測定することは不可能とされる。観測環境では、対象となる物理系に観測系が関与するために、純粋な物理現象を得ることはできないというわけだ。運動量が不正確でも、位置を正確に知ることができれば、なんとなく存在は定義できそうである。逆に、位置が不正確でも、運動量を正確に知ることができれば、なんとなく存在は定義できそうである。
そして、量子の存在状態は確率論に持ち込まれる。それで、シュレーディンガーの猫が死んでいるか、生きているかまでは分からなくても、笑みを浮かべていそうなことぐらいは想像できる。不思議の国のチェシャ猫のように...

となると、人間の存在認識なんてものは、想像の産物ということになりはしないか。人体だって量子構造を持っているし、人間精神そのものが単なる量子の集合体から生じる現象かもしれないし...
我思う故に我あり... とは、あの大哲学者の言葉だが、実存とは、まさに自己認識に裏付けられた概念。つまりは、主観の領域にある。これを、数学で記述しようという野望は計り知れない。主観の正体を暴くための客観的方法とは。それが観測という行為に現れるが、観測環境は観測者の主観をも含んでいる。観測者の純粋客観なるものを夢みれば、カント風の主観論に引き戻され、自己矛盾を克服できそうにない。
では、観測をどう定義するか。観測の目的は、対象となる物理現象に客観的な視点を与えることにあるが、それは認識を与えることにほかならない。主観に頼らなければ認識すらできない知的生命体にとっては絶望的な状況にある。人類が編み出した最も客観的な記述法といえば、数学という言語を用いること。なるほど、量子力学とは、数学的記述法の限界を試す学問であったか...

2020-04-26

"Python によるデータ分析入門" Wes McKinney 著

この酔いどれ天の邪鬼は、Ruby 信奉者である。いや、だった。それも仕事場ではなかなか受け入れてくれない。Ruby はもう死んだのか?やら、Rubyはまだ死んでいない!やらといった記事も見かけるけど...
近年、大人気と評判の Python なら受け入れられるようになったので使うようになったが、あくまでもスクリプト言語としての位置付けであって、まだまだ、Ruby の思考回路から抜けられないでいる。
しかしながら、Python 関連の書籍を漁っているうちに、こいつの本当の魅力は C 言語系との相性の良さではあるまいか、と感じ始めた。Cython プロジェクトなるものも耳にすれば、Visual Studio にも Python ツールを見かけるし...

実際、数値計算ライブラリや画像処理ライブラリには、C言語系の API が溢れている。OpenCV しかり、Dlib しかり、むかーしから愛用してきた LibTIFF しかり... 処理性能を求めれば、低水準言語で扱う場面が増え、ここにスクリプト言語との壁が生じる。その壁も随分と低くなってきてはいるが...
おいらの昔からの考えに、言語依存を避けるため、データの受け渡しにはテキスト形式で I/F するというのがある。テキスト形式であれば、エディタで直接編集できるし、痒いところにも手が届く。
そして、データ解析モデルや演算モデルに GNU Octave(数値演算言語)や Lisp、あるいは C++ を、これらの可視化ツールに gnuplot を、プロセッサや DSP の設計・検証に HDL(ハードウェア記述言語)を、そして、統合環境にスクリプト言語を用いるのが定番となっている。
ただ、受け渡しのための中間ファイルが巨大化する傾向があり、ずっと悩まされてきた。その都度圧縮したりと。ハードディスクも SSD に置き換わって高速化し、搭載メモリも大容量化してきたので、それほど目障ではなくなってきたものの、開発環境を一つの言語システムで完結できれば、それに越したことはない。こんなことは、三十年来、思い描いてきたことではあるけれど、人類の編みだす言語システムに完全で万能なものなんてありえないであろうし、用途によって、場面によって... 適した言語を、気に入った言語を... その都度選択するしかあるまい、というのが現実解だと考えている。否、儚い夢だからこそ追いかけていたい。
ここでは、そんな心を見透かすかのように、Python 上の統合環境を提案してくれる。やはり、蛇の道は蛇か...

本書は、科学計算パッケージ NumPy(Numerical Python)とデータ解析用ライブラリ pandas を話題の中心に据え、NumPy を基盤にした科学計算ライブラリ SciPy や、これらを可視化する描画ライブラリ matplotlib、さらには、これらを統合するシェル環境 IPython を紹介してくれる。

NumPy で注目したいのは、多次元配列オブジェクト ndarray である。モノは二次元配列だが、インデックスによる階層構造によって、見かけの次元を増やすことができる。配列上の操作関数も豊富で、線形代数演算、フーリエ変換、乱数の生成なども提供される。

pandas は、NumPy の高性能の配列計算機能と、表計算ソフトやリレーショナルデータベースの柔軟なデータ操作能力を併せ持つという。SQL との相性の良さも強調される。
当初は、金融分析用に設計されたツールだそうで、洗練されたインデックス付け機能を備え、データの再形成やスライス、ダイシング、集約、部分集合の選択が容易だという。
主要なオブジェクトは、二次元の表形式で、列指向のデータ構造をもつ DataFrame ってやつ。統計解析で知られる R 言語の data.frame オブジェクトに似たものらしいが、機能性は上回ると宣伝している。おいらは R 言語を見かける程度しか触れたことはないが、おかげで、R にも興味を持つ今日このごろであった。
データの受け渡しでは、JOSN や CSV のようなテキスト形式だけでなく、HTML や Web API を用いた読み書き、HDF5 形式を扱う HDFStore クラス、SQL データベースへの Import/Export の事例も紹介される。おいらが忌み嫌う ExcelFile クラスまでも..

SciPy は、これらのパッケージ群を眺めるだけでそそられる。

  • scipy.integrate: 数値積分ルーチンや微分方程式ソルバ
  • scipy.linalg: 線形代数ルーチンや、numpy.linalg で提供される機能を拡張した行列の分解機能
  • scipy.optimize: 線形計画法などの最適化アルゴリズムや、求根アルゴリズム
  • scipy.signal: 信号処理ツール
  • scipy.sparse: 疎(スペース)なデータを持つ行列や線形システムの解法
  • scipy.special: ガンマ関数のような一般的な数学の関数を実装した Fortran のライブラリ SPECFUN を使うためのラッパー
  • scipy.stats: 標準的な連続分布や離散分布(密度関数、サンプラー、連続分布関数)、様々な統計検定、その他の記述統計
  • scipy.weave: 配列計算の加速のために用いるインラインでの C++ コードを利用するためのツール

matplotlib は説明の必要がないほど、おいらの感覚に馴染めそう。ここでは、IPython との統合性が推奨される。
ちなみに、R の ggplot2 や trellis といったパッケージには見劣りするらしい。ますます、R に...

IPython は、いまや科学分野における Python のスタンダードになっているそうな。
ちなみに、著者のウェス・マッキニー氏は、pandas の開発者だけあって、ベストな開発環境を尋ねられたら、即「IPython + テキストエディタ」と答えるそうな...

2020-04-19

"DEBUG HACKS" 吉岡弘隆/大和一洋/大岩尚宏/安部東洋/吉田俊輔 著

コンピュータ業界の格言に「プログラムは思った通りではなく、書いた通りに動く。」というのがある。そして、「思った通り = 書いた通り」を定式化するのは自分自身!何事も思い通りになった時の快感ときたら... これが忘れられなくて、今日もプログラムを書く。まるで麻薬!プログラムを書くのは楽しい。おいらはプログラマではない。でも楽しい...

デバッグの基本姿勢に、状態を見る!ということがある。まずは観ること!これは科学的思考の基本中の基本だ。しかしながら、自分自身を客観的に見ることほど辛いものはない。自分で仕掛けておきながら、自ら姑チェック!なんとも自虐的な世界。
そこには、自己矛盾が多分に含まれる。自分は天才かもしれない!って思うこともある。年に一度や二度は。一方で、つまらないミスで時間を浪費する自分に向かって、バカヤロー!って叫ぶのはほぼ毎日ときた。それでも、真に思い通りになった時の征服感ときたら... 出来の悪い子ほど可愛いと言うが、苦労に苦労を重ねて作り上げたコードほど愛着がわく。自己啓発とは、自己陶酔の類いか。そして、再々々々... 認識させられるのである。自分自身がいかにアホウであるかを。踊る阿呆に見る阿呆、同じ阿呆なら踊らにゃ損々... やはりプログラムを書くのは楽しい...

プログラムを書くのは実に愉快。しかしながら、デバッグ作業は辛い。動作が明らかにおかしな時は些細なミスであることが多く、バグも可愛いもの。だが、深刻な問題になりがちなのは微妙に動いている時で、数十時間に一度落ちたり、再現しなかったり、この手のバグの憎らしさときたら。
ちなみに、「バグ」の語源は定かではないが、リレー式計算機の中に紛れ込んだ蛾が誤動作の原因になった事例があるそうな。その蛾は、後に COBOL の開発者となるグレース・ポッパー女史の日記に記念として貼り付けられたと聞く。そういえば、むかーし、おいらが所属していた研究所にネズミホイホイが置いてあった。社内伝説によると、ネズミが電線をかじってシステムダウンし、大騒ぎになった事例があったとか...
バグってやつは、思わぬところに潜んでやがる、実に多種多様な生物。実際、設計作業より検証作業の方がコストは高い。テスト駆動開発(TDD)という考え方もよく耳にするが、そんな小難しい用語は別にして、上流工程からテスト方法を具体的に考慮することが習慣になっている。それだけ痛い目に遭ってきたということか。プログラムの書き方はコーディングルールで規定することができても、バグの在り方を規定することはできない。こいつに対処する最善の方法は、自分で編みだすしかあるまい。常に改善の意識を怠らず...
「デバッグという作業はプログラマが 10 人いれば 10 通りのデバッグ方法があるかのような極めて属人的な作業です。そして、デバッグの達人もいれば、そうでない人もいる。軽やかに、それこそ鼻歌まじりに魔法のようにバグを見つけ出し、直すハッカーもいます。」

本書は、主に C/C++ の使い手や Linux カーネル開発者を対象とし、Linux 上で動くアプリケーションや、Linux カーネルそのものを話題にしている。おいらがカーネルを書くことはないだろう、おそらくこれからも... ただ覗くのは大好き。低水準のデバッグでは、x86/x64 アーキテクチャやアセンブラ言語の基礎知識も要請してくる。お馴染みの GDB も登場。おいらはハードウェア設計者だが、低水準のデバッグは必要不可欠なので、うってつけの教材かもしれない。
多くのツールを紹介してくれるのもありがたい。達人ともなると、使う道具からして違うようだ。気の利いたところでは、システムコールをトレースする strace、動的解析ツール Valgrind、カーネル情報を取得する kprobes/jprobes など。
興味深いところでは、Linux 環境では定番の oprofile によるプログラムの性能調査。あるいは、KAHO(Kernel Aided Hexadecimal code Operator)というやつを使って、コンパイラによって Optimaized out された変数の値を取得する事例が紹介される。要するに、関数単位で動的に置き換えることができるもので、デバッグ用関数を埋め込む仕掛けを伝授してくれる。最初から関数にデバッグモードを埋め込むというやり方もあるが、リアルタイムシステムでは悩ましいところ。
また、Linux には、システムのメモリ・スワップを使い尽くすと、メモリを確保する最終手段として、プロセスにシグナルを送信し、強制終了させる機能が装備されている。OOM Killer(Out of Memory Killer)が、それだ。これに関する proc ファイルシステムを解説してくれるが、"/proc/meminfo" や "/proc//mem" を覗くだけでも、かなりの情報が得られるだろう。もちろん、Linux カーネルのオプションとして提供されるフォルトインジェクションも見逃せない。

ちなみに、おいらは、プログラミング言語を学ぶならアセンブラ言語から始めるのがいいと考えるネアンデルタール人だが、そんな時代でもあるまい。スクリプト言語が活況な今日では、C言語系をいじるのも億劫だが、関数とマクロの物理構造がイメージできるかどうかは大きな違いがある。
コアダンプの景色も直接関わらなければ、なかなかの眺め!痕跡をセピア色に彩り、デスクトップの背景に貼り付けるのも一献。
今となっては、malloc() の呪いも妙に懐かしい。
Linux も随分と行儀よくなったもので、あの忌まわしいメッセージもとんと見かけなくなった。そこで、わざと発生させてみるのも一献... Kernel Panic !
昨今、プログラミング言語そのものが注目されがちだが、本書は、言語とデバッグを表裏一体の方法論として捉えているのがいい。デバッグという分野は、なかなかハウツー本にはできない。ブレークポイントの設定、ステップ実行、バックトレース、はたまたスタックやレジスタの表示、変数の監視など、やる事は定式化できても、いかに効率的にやるかとなると経験がモノを言う。達人ともなれば、それだけ失敗の経験も豊富のようだ。その意味で、本書は失敗から学ぶ良い事例集と言えよう。失敗の効率化という日頃の意識が、デバッグの達人を育てるらしい...

2020-04-12

"リバースエンジニアリング" Justin Seitz 著

プログラムを書くのは楽しい。プログラマ35歳定年説が囁かれる中、いくつになっても楽しい。おいらはプログラマではない。でも楽しい...
二十年以上前、組込系 OS を五年間ほど書いていた時期もあるにはあるが、あくまでもハードウェア設計者。当時、リアルタイム処理ではアセンブラ言語が主流だった。C コンパイラの性能がいまいちで、移行にはまだまだ感の残る時代である。とはいえ、CPU の方言を強要される日常を思えば、抽象度の高い高水準言語は憧れであり、コンパイラの癖を探りながら効率的な記述の仕方を試行錯誤したものである。
ちなみに、今では超ロングセラーとなった定番書も、「はじめての C」がいいのよ!... なんて理系女子にささやかれると、純真な好青年で通っていたおいらは赤面したのだった。
その高水準の地位も、コンパイル作業不要のスクリプト言語にもっていかれ、いまや低水準に格下げ。だからといって死滅することはあるまい。プロセッサや DSP の設計者にとって、痒い所に手が届く言語はありがたい存在。それに、人間が編み出した言語システムが、完全で万能ってことはないだろう。用途に適した言語を、好きな言語を、興味のある言語を、場面々々で選べばいいだけのこと。一つの言語に固執するということは、一つの文化に幽閉されているようなものだから...

ところで、システムの開発・設計には、デバッグ環境が欠かせない。おいらの感覚では、プロセッサや DSP の設計・検証に HDL(ハードウェア記述言語)を、数値演算モデルやデータ解析モデルに GNU Octave や Lisp、あるいは C++ を、これらの統合環境にスクリプト言語を用いるのが、一つのパターンとなっている。
そして、スクリプト言語に何を使うかが、いつも悩ましいところで、一昔前は、コマンド系に Unix シェルを、ログ管理に Perl を用いるのが定番であった。未だに、sed や awk を重宝してたりして。
ちなみに、おいらは、Ruby 信奉者だが、いや、だったのだが、仕事場ではなかなか受け入れてくれない。Ruby はもう死んだのか?といった記事も見かけるけど...
近年、Python なら受け入れられるようになったので、納品物に Python を、小物に Ruby をというのがパターン化している。できれば、C++ も避けたいところだけど...
尚、データ群を Excel ファイルで!と要求してくる人種は避けている。CSV や JSON のような形式ではダメらしい。ドキュメントを XML で!という要求もちょくちょく見かけるが、こういうのは頷ける。pdf じゃダメというところも見かけるけど。
いずれにせよ、SM 教の高価なツールを買わせようとするのは、零細業者には御勘弁を!おっと!この手の愚痴がはじまると、かっぱえびせん状態に...

さて、本書の副題に、「Python によるバイナリ解析技法」とある。実は、この題目に惹かれて手にとった。まさにデバッグの視点からスクリプト言語を語ってくれるのだから...
特殊な逆アセンブラを構築するにせよ、独自のデバッガを開発するにせよ、Python が最善の選択肢になるというのである。Python と言えば、大人気と評判のスクリプト言語。スクリプト言語がバイナリ領域にまで入り込んできたら、赤面する機会も失いそうで、ちと寂しい。おいらは、プロセッサの設計者なら、アセンブラレベルから学ぶべきだと考えるネアンデルタール人だが、そんな時代でもなさそうだ。
それにしても、Python の構文って、バージョンが 2.x と3.x で、なんでこうも違うの。おいらは、3.x から始めたので、ほとんど問題にならないが、本書は 2.5 で書かれており、いきなり Print "Hello world!" でこけた。システムを構築する上で、過去のしがらみをどこまで引きずるかは悩ましい。SM 教のような引きずり方をするぐらいなら、あっさり捨てる方がましかも。ということで、Python は最新版を使いましょう...

ここでは、まず、Python と C 言語の構造体や共用体との相性の良さを紹介しながら、ヒープ領域やスタック、あるいはレジスタへのアクセス事例を挙げている。
注目したいのは、二つのデバッガを紹介してくれることだ。デバッグのために実動作と違ったルーチンを通るのは、なるべく避けたい。特にリアルタイムシステムでは。となれば、ハードウェアが介在する領域でプログラムを書く必要がある。デバッグでお馴染みの作業といえば、レジスタやメモリの捕捉、スレッドの列挙、デバッグ用イベントハンドラの実装、ブレークポイントの設置といったところであろうか。そんな要求にも応えてくれそうな。
一つは、PyDbg というピュアなデバッガ。プアなおいらは、これだけでも満腹!こいつには、「プロセススナップショット」というクールな機能が搭載されるという。
二つは、Immunity Debugger というなかなか手強いヤツ。脆弱性の検出やマルウェア解析にも利用できる強力な Python ライブラリを提供しているという。エクスプロイトなコードも書けそうな。
おいらの場合、ソースの存在しないレベルでデバッグする場面はほとんどないが、ソースを見なければ書き手の思惑にも惑わされず、純粋な視点で検証できるかもしれない、と、そんなことも感じさせてくれる。痒いところに手が届くという意味では、スクリプト言語がここまでやれる時代になったのかと忸怩たる思い...

本書は、Windows プログラムを題材にしているところが、ちと抵抗のあるところ。おいらが、Windows プログラムを書くことはほとんどないが、それでも、なかなか興味深い話題を提供してくれる。Win 95 時代に猛勉強した記憶がかすかにあるが、まさかこんなところで Windows プログラムに触れることになろうとは。人生行き当たりばったり... やはり、プログラムを書くのは楽しい...
例えば、 DEP(Data Execution Prevention) を回避する事例に、ちとハマってしまった。DEP は、ヒープやスタックなどメモリ領域でのコードの実行を防止するための Windows に実装されるセキュリティ機能。他にも、善意にも悪意にも利用される DLL インジェクションに、油断のならないコードインジェクション。これらの技法を使えば、実行中のプロセスにコードを挿入することができ、その先にトロイの木馬が見えてくる。
また、プロセスを監視するためのフックを仕掛ける方法も紹介してくれる。そして、この二つの関数の構造体にアクセスするだけでも結構遊べる。
一つは、プロセスを生成するための関数 CreateProcessA()。この関数のフラグをうまく設定することによってデバッグ用プロセスモニタに仕立てるというわけである。

BOOL WINAPI CreateProcessA(
  LPCTSTR lpApplicationName,
  LPTSTR lpCommandLine,
  LPSECURITY_ATTRIBUTES lpProcessAttributes,
  LPSECURITY_ATTRIBUTES lpThreadAttributes,
  BOOL bInheritHandles,
  DWORD dwCreationFlags,
  LPVOID lpEnvironment,
  LPCTSTR lpCurrentDirectory,
  LPSTARTUPINFO lpStartupInfo,
  LPPROCESS_INFORMATION lpProcessInformation
);

二つは、Kernel32.dll からエクスポートされる関数 CreateRemoteThread()。スレッドのセキュリティ属性へのポインタにアクセスできそうな仕組みが見て取れる。

HANDLE WINAPI CreateRemoteThread(
  HANDLE hProcess,
  LPSECURITY_ATTRIBUTES lpThreadAttributes,
  SIZE_T dwStackSize,
  LPTHREAD_START_ROUTINE lpStartAddress,
  LPVOID lpParameter,
  DWORD dwCreationFlags,
  LPDWORD lpThreadId
);

2020-04-05

"科學の言葉 = 數" Tobias Dantzig 著

雨降りしきる中、しとしとぴっちゃん気分で古本屋を散歩していると、なにやらノスタルジックな奴に出会った。琥珀色に染まった紙面が風格を漂わせ、そればかりか、書き込みがあちこちにあって元持ち主の情熱までも伝わってきそうな...
初版、昭和二十年(1945年)... 改訂第二版、昭和三十二年(1957年)... とある。おいらは、まだ生を受けていない。ただ、暗示にはかかりやすい。むかーし教科書を赤線だらけにし、何が重要なのか分からないほどにしちまった記憶がかすかに蘇る...

本書は、「数える」という行為をめぐっての物語である。扉を開けると、「数学者でない教養ある人々のための批判的概観」と見出しされる。著者トビアス・ダンツィクは、学校の数学過程が文化的な内容を削って、技術の骨格ばかりを追いかけているために、多くの優秀な人材を遠ざけてしまった、と考えているようだ。そこで、数の進化を文化的に、いや、人間的に物語ろうというのである。
「数」という概念と「数える」という行為は、ともに抽象化の道を歩んできた。数える行為を合理化するために記号を発明すれば、記号の関係性を求めて関数を編み出す。やがて、同じ性質を持つ数の集まりをひと括りにし、性質そのものの関係を探るようになる。「数」という概念は記号で抽象化され、「数える」という行為は関係性を結びつけることに抽象化されてきたのである。
さらに、無限までも数えてやろう!という願望に及ぶと、数の大小という関係は、濃度という概念へ飛躍する。「数える」というからには整数論の領域にあるわけだが、まったく数に見えないのに整数とはこれいかに?有限界の知的生命体が無限界に口を出そうとすると、まったく悪魔じみてやがる。とはいえ、すべては「一対一の対応」という手続きの元で引き出された知識であったとさ...
尚、河野伊三郎訳版(岩波書店)を手に取る。

数の学問は、数を数えることに発する。原始の時代、人類は指を折って数え始め、数の概念はまずもって両手合わせて十本の指に乗っ取られた。人間社会が十進法に席巻されるのも、その名残りか。女性が妊って十ヶ月で出産するのは、単なる偶然かどうかは知らんよ。ある原始民族では、手足合わせて二十進法を用いたという説もあるらしい。
「数える」という意識は、人間の本能に植え付けらたもののようにも感じられる。精神病患者や知的障害者は、心が落ち着かない時に数を数え始めると聞く。ある種の儀式のように。サヴァン症候群のような突飛な能力の持ち主ともなると、数字が風景に見えるらしい。おいらも、デスクトップ上のスキャンカウンタをなんとなく見入ったりする。数には、なにやら心を落ち着かせるものがある。数えるという行為は、人間の進化論とも関係がありそうな...
ちなみに、おいらが美少年と呼ばれた小学校低学年の時代、さんすうが大の苦手であった。放課後、一人残されては計算をやらされる。数ってやつがまったくイメージできず、机の下に手を隠して指を折りながら数える。すると叱られるのだ。堂々とやれ!って。ごもっとも!当時の女の先生が鬼にも、天使にも見えたものである。やがて数の概念が理解空間と結びつきはじめると、いつの間にか、数の虜に。鶴亀算があまりにもすんなり数える概念と結びついて、こいつが方程式ってやつだと理解するのに大して手間はかからなかった。しかしながら、大学の初等教育で再び奈落の底へ突き落とされ、高校までの数学がいかに算数であったかを思い知らされる。抽象化の概念は、指では数えられんよ。数学の落ちこぼれは、こうして今に至るのだった...

しかし、だ。数の学問において、十進法ほど厄介な道具もあるまい。コンピュータは二進法とすこぶる相性がよく、計算機工学やソフトウェア工学などで、8進法や16進法が用いられる。つまり、2の冪乗数があらゆる計算において優れているということだ。ラプラスは、こんなことをつぶやいたとか...
「ライプニッツは二進法の算術に『創造』」の形象を見た... 『一』は神を表し、『零』は空を表す...」
なのに、人類が十本の関節を持つ指を授かったがために、十の数が崇められる。こんな自然法則に反するものを、誰が授けたかは知らんが... ただ人類はどんなことでも、いかようにも解釈できる性癖も授かった。その見返りかは知らんが、幸福の原理として...
ピュタゴラス学派は、当時の四元素「火、水、空気、土」を底辺にした三角数 (4 + 3 + 2 + 1 = 10) をテトラクテュスと呼んで崇めた。三角形の頂点には、神に通ずるものがあるらしい。ただ、数学者が概念でねじ伏せようとも、計算ではレジのおばさんの方が位取りで一枚上手ときた。
ちなみに、鏡の向こうから「十の時が流れる」という名を持つ野郎が、顔を赤らめてこちらを見つめてやがる。どうやら数に酔ったらしい。あヤツはテトラクテュスの申し子か?ダンツィクの言う「人間は万物の尺度である。」という言葉が、嫌みに聞こえてくる...

1. 心を乱す無理数 vs. 心を癒やす超越数
計算において、なにかと面倒なヤツがいる。無理数ってやつが、それだ。しかも、幾何学で最も純粋とされる図形に出現しやがる。正方形の対角線と、直径を 1 とする真円周の長さに...
有理数があれば、どんな微細な数でも記述できそうなものである。分母の桁をどんどん増やしてやればいいのだから。数直線上の連続性を保つために無理数の存在が欠かせないとは、これいかに?おかげで、数学は分裂症を患わずに済むのだけど、ヤツの存在を隠蔽しようとしたピュタゴラス教団の考えも分からなくはない。
無理数の存在が面倒であるように、有理数が無限と絡むとやはり面倒となる。コンピュータだって万能じゃない。実際、実数演算は近似法で誤魔化されている。もし浮動小数点演算で答えが合わないと騒ぐ新人君を見かければ、IEEE754 の意義を匂わせてやればいい。2の冪乗数は偶数であり、奇数は奇っ怪な存在なのかは知らん。素数は、奇っ怪な存在か純粋な存在かも知らんが、暗号システムを根底から支え、ネット社会では絶対に欠かせない存在である。有理数と無理数の絡みでは、オイラーの等式にゾクゾク感を喰らう。超越数の代表格とされる自然対数の底と円周率が虚数を介して絡むと、整数になるというのだから...

  e = -1

自然美の対を心底感じさせるものといえば、なんといっても二本の脚線美。これに、おっ!πが絡むと、空虚な精神を平穏に整えてくれるのは確かだ。超越数ってやつは、そこに法則性を見い出したとしても、人間が編み出した概念なんぞでは説明の及ばない、もっと形而の上にある存在のように見えてくる。だから、超越した数なのである。

「神霊は、我々が負の単位 -1 の想像的平方根と呼ぶ解析のあの驚異のうちに、あの理想世界の前兆のうちに、存在と非存在との間のあの両棲類のうちに、その崇高なるはけ口を見出した。」
... ゴットフリート・ライプニッツ

2. 演繹法 vs. 帰納法
あらゆる体系を抽象化する思考アプローチに、二つの極性がある。演繹法と帰納法が、それだ。演繹法は、基本となる大前提から小前提に向かって法則性を導いていくアプローチで、三段論法がその代表。帰納法は、多くの事象から共通点を見出して法則性を導いていくアプローチ。数学の王道は、おそらく演繹法であろう。演繹法による帰結は反証の余地を与えないが、帰納法は一つの反証によって崩れる脆さがある。普遍的な言明と事例的な言明とでは、前者の方が圧倒的に説得力がある。そりゃ、現象をすべて演繹できるならそれに越したことはないが、現実世界は帰納法に頼らないと説明できない領域があまりに大きい。相対的な認識能力しか持ち合わせない知的生命体にとって、王道だけでは心許ない。
ダンツィクは、「数学は演繹的科学」としながらも、帰納法を「出直しによる推理」と位置づける。出直し... 大いに結構ではないか。あらゆる常識も一度は疑ってみて、再検証してみるのがええ。演繹的と表現するからには、完全演繹とはなるまい。四色問題やケプラー予想で用いられた戦略は、まさに帰納法的な思考であった。カオスの世界では、最も客観性を重んじる数学ですら確率的な厳密さを受け入れざるを得まい。
そして、厳密に対する準厳密、定理に対する準定理... といった位置付けも必要となろう。客観性を最高レベルで用いようとする数学であっても、やはり主観性からは逃れられそうにない。人間が思考するということは、そういうことだ。ガリレオの逆理をついたカントールは、論理の王国を直観の王国へ引き戻した。無限と戯れる才能豊かな連中にとって、厳密な世界は息が詰まると見える。王道は肩がこる。おいらは邪道を行きたい。王道とは、邪道があってこその王道なのだから...

「数学の本質はその自由にある。」... ゲオルク・カントール

2020-04-01

ジョークの言える日に、真面目にファルス論でも...

「嘘というものがなければ、人間は絶望と退屈で死んでしまうであろう。」... アナトール・フランス

今日、四月一日は、堂々とジョークの言える日。巷では、そういうことになっている。
しかしながら、エイプリルフール禁止令をあちこちで見かける昨今。フェイクの拡散が日常茶飯事となれば、あえて、そんな日をつくる必要もないか。毎日がエイプリルフールなら、まったくおめでたい世の中。冗談の言える日ぐらい、真面目に語ろう!いや、エイプリルフール禁止令そのものがジョークということもある。
現代語辞典では、ジョークの定義も随分と変容したようだ。真面目に語って笑えるなら、それこそ真のジョークなのやもしれん...

「笑いとは、地球上で一番苦しんでいる動物が発明したものである。」... ニーチェ

世間では、笑いよりも涙の方が高尚とされる。だが、人間の情念は涙を誘うよりも笑いを誘う方がはるかに難しい。悲しみには人類の共通観念があり、死や命の儚さを匂わせればたいてい涙を誘う。
一方、笑いほど文化や慣習に影響されるものはない。笑いは否定をも肯定する。おまけに、涙をも乗り越える。故に、戯作をもって笑劇を演じることが、高尚な生き方ということになろうか。今日では、苦悩を笑い飛ばす能力が問われる。人間の滑稽を見て、これを笑い飛ばせるかどうか。これこそ真の道徳論なのやもしれん。少なくとも、理性をストレス解消のために用い、いつも憤慨する道徳論者よりはましか...

「人が死んでも、人生は依然として可笑しく、人が笑っても、人生は依然として深刻である。」... バーナード・ショー

笑いの世界にも、大衆の目には晒してはならない領域がある。大衆は臭い。どんなに良いことでも、同じことをする人が多すぎると、なにかと問題になるのが人間社会。どんなに良い人でも、集まりすぎると集団的悪魔に変貌する。俗人どもが、こぞって自己肯定に奔走しているのに対し、芸術家どもは自己を侮辱することによって自我の魔術性を露わにする。この自殺行為によって、芸術は芸術たりうる。芸術精神は自己の滑稽に発し、自己の風刺によって自らの悪魔性を炙り出す。自己否定に陥ってもなお愉快でいられるなら、真理の力は偉大となろう...

「ファルスとは、人間の全てを、全的に、一つ残さず肯定しようとするものである。凡そ人間の現実に関する限りは、空想であれ、夢であれ、死であれ、怒りであれ、矛盾であれ、トンチンカンであれ、ムニャムニャであれ、何から何まで肯定しようとするものである。」... 坂口安吾

パスカルが言ったように、人間は狂うものらしい。狂わなければ、まともな笑いにもありつけない。人の一生とは、狂言のようなもの。猿の仮面をかぶれば猿に、武士の仮面をかぶれば武士に、エリートの仮面をかぶればエリートに、サラリーマンの仮面をかぶればサラリーマンになりきる。あとは、幸運であれば素直に波に乗り、不運であれば生きる糧とし、いかに達者を演じきるか。人間なんてものは、物狂いを演じながら生きるぐらいの存在か。自己を見つめているだけで自然に笑みがこぼれる... そんな人生はいずこに...

「人生は近くで見れば悲劇だが、遠目に見れば喜劇である。」... チャールズ・チャップリン