脳を模倣する計算機アルゴリズムの研究は、古くからある。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 は、人間を哲学者にしようというのか。ブラックボックスの中身を理解できない限り、人間は永遠に人間というものを理解できそうにない...
Contents
- 2020-05-17 "グーグルに学ぶディープラーニング" 日経ビッグデータ 編
- 2020-05-10 "ハインリッヒ・ヘルツ" Michael Eckert 著
- 2020-05-03 "ペレス量子論の概念と手法" Asher Peres 著
- 2020-04-26 "Python によるデータ分析入門" Wes McKinney 著
- 2020-04-19 "DEBUG HACKS" 吉岡弘隆/大和一洋/大岩尚宏/安部東洋/吉田俊輔 著
- 2020-04-12 "リバースエンジニアリング" Justin Seitz 著
- 2020-04-05 "科學の言葉 = 數" Tobias Dantzig 著
- 2020-04-01 ジョークの言える日に、真面目にファルス論でも...
- 2020-03-22 "空間・時間・物質(上/下)" Hermann Weyl 著
- 2020-03-15 "シンメトリー" Hermann Weyl 著
2020-05-17
2020-05-10
"ハインリッヒ・ヘルツ" Michael Eckert 著
今日の情報社会において、馴染み深い物理量の単位といえば、空間の概念と結びつく bit や、時間の概念と結びつく Hz といったところであろう。物理層における通信プロトコルでは二進対数に重要な意味を与え、これらを単位とした帯域幅やスペクトル効率などが論じられる。
言うまでもなく、Hz はハインリッヒ・ヘルツに因む周波数の単位だが、その業績となるとあまり知られておらず、単位名だけが独り歩きをしている感がある。ヘルツは、電磁波の発見によって不滅の名を残し、電磁気学で大きな役割を果たした。しかしながら、この方面では、電磁誘導のファラデーや方程式の名をかざすマクスウェルの方がはるかに有名である。
物理法則は、理論と実験の両輪によって成り立つ。ファラデーやマクスウェルは理論家で、ヘルツは実験家。こと電磁波の研究では、実験そのものは電気的な火花をたどるという地味な作業の繰り返し。ヘルツが生きた19世紀は、まだ電気の正体すら分かっておらず、電子という物質的な概念もない。光電効果や火花放電といった現象は、謎のまた謎。19世紀が終わろうとする時、ようやく電気照明が街を灯し始めたという次第である。
エーテル説がくすぶる中、マクスウェルはエーテルの存在を証明しようとして、あの有名な四つの方程式を導いた。これを実験で検証し、今日のエレガントな形で伝えられるのも、ヘルツのおかげである。彼は、マクスウェル方程式を異なった形で表現し、「磁気力と電気力は相互に交換可能である」と主張する。そして、こんな言葉を残したという...
「マクスウェルの理論とは何かという問いに対して、マクスウェルの理論とはマクスウェル方程式の体系である、ということほど簡潔で的確な答えは知らない。」
しかしながら、ヘルツ亡き後、ドイツでは狂信的な国家社会主義が旺盛となり、先祖がユダヤ系であったために、Hz という単位名はヘルムホルツの略字とされ、その功績も抹殺にかかった。ヘルツの名は、「物理学の帝国宰相」と呼ばれたヘルマン・ヘルムホルツの優秀な門下生という位置づけで記憶されることに...
歴史とは皮肉である。名を石に刻み、金属に鋳造するなどして英雄視することは、素晴らしい業績に対する見方を狭め、神話化を助長することがある。歴史は人が作る... とも言うが、皮肉な意味も含まれよう。
本書では、物理学における真の英雄像の一場面を、ミヒャエル・エッケルトが掘り起こしてくれる。ヘルツは一匹狼の実験家だったそうで、その成功と失敗の過程を日記や記録からたどる。マクスウェル理論に取り憑かれた人生。実験の喜びは、何ものにも代え難い冒険心。
だが、エーテル存在説の矛盾から、やがて激しい自己批判に陥る。36歳の若さで亡くなったことも、モーツァルトよりわずか一年上回った人生から、「物理学のモーツァルト」と呼ぶ。人類の叡智とも言うべき真に業績を残した人というのは、孤独家で地味な人生を送るものなのかもしれん。英雄ってやつは、外野が作るものなのかもしれん。この評伝を通じて、ヘルツという名を物理量の単位から解放し、自然科学者として知ることに...
尚、重光司訳版(東京電機大学出版局)を手に取る。
言うまでもなく、Hz はハインリッヒ・ヘルツに因む周波数の単位だが、その業績となるとあまり知られておらず、単位名だけが独り歩きをしている感がある。ヘルツは、電磁波の発見によって不滅の名を残し、電磁気学で大きな役割を果たした。しかしながら、この方面では、電磁誘導のファラデーや方程式の名をかざすマクスウェルの方がはるかに有名である。
物理法則は、理論と実験の両輪によって成り立つ。ファラデーやマクスウェルは理論家で、ヘルツは実験家。こと電磁波の研究では、実験そのものは電気的な火花をたどるという地味な作業の繰り返し。ヘルツが生きた19世紀は、まだ電気の正体すら分かっておらず、電子という物質的な概念もない。光電効果や火花放電といった現象は、謎のまた謎。19世紀が終わろうとする時、ようやく電気照明が街を灯し始めたという次第である。
エーテル説がくすぶる中、マクスウェルはエーテルの存在を証明しようとして、あの有名な四つの方程式を導いた。これを実験で検証し、今日のエレガントな形で伝えられるのも、ヘルツのおかげである。彼は、マクスウェル方程式を異なった形で表現し、「磁気力と電気力は相互に交換可能である」と主張する。そして、こんな言葉を残したという...
「マクスウェルの理論とは何かという問いに対して、マクスウェルの理論とはマクスウェル方程式の体系である、ということほど簡潔で的確な答えは知らない。」
しかしながら、ヘルツ亡き後、ドイツでは狂信的な国家社会主義が旺盛となり、先祖がユダヤ系であったために、Hz という単位名はヘルムホルツの略字とされ、その功績も抹殺にかかった。ヘルツの名は、「物理学の帝国宰相」と呼ばれたヘルマン・ヘルムホルツの優秀な門下生という位置づけで記憶されることに...
歴史とは皮肉である。名を石に刻み、金属に鋳造するなどして英雄視することは、素晴らしい業績に対する見方を狭め、神話化を助長することがある。歴史は人が作る... とも言うが、皮肉な意味も含まれよう。
本書では、物理学における真の英雄像の一場面を、ミヒャエル・エッケルトが掘り起こしてくれる。ヘルツは一匹狼の実験家だったそうで、その成功と失敗の過程を日記や記録からたどる。マクスウェル理論に取り憑かれた人生。実験の喜びは、何ものにも代え難い冒険心。
だが、エーテル存在説の矛盾から、やがて激しい自己批判に陥る。36歳の若さで亡くなったことも、モーツァルトよりわずか一年上回った人生から、「物理学のモーツァルト」と呼ぶ。人類の叡智とも言うべき真に業績を残した人というのは、孤独家で地味な人生を送るものなのかもしれん。英雄ってやつは、外野が作るものなのかもしれん。この評伝を通じて、ヘルツという名を物理量の単位から解放し、自然科学者として知ることに...
尚、重光司訳版(東京電機大学出版局)を手に取る。
2020-05-03
"ペレス量子論の概念と手法" Asher Peres 著
ある大学の先生から、量子力学を勉強する下地に... と薦められた一冊。テクニオン - イスラエル工科大学のアッシャー・ペレス教授の書で、量子論の教科書的な存在だそうな...
この分野には実に多くの参考書が散乱し、エネルギー準位や遷移確率などの計算法を学ぶことができる。しかし、その存在論的な意味合いとなると、深刻な見解の相違が生じ、量子論的な認識論というものを意識せずにはいられない。認識論を数学という言語を用いて記述すると、どうなるだろう。本書には、そんな野心が見て取れる。あらゆる表現に数式が用いられるのも、客観的な記述の限界を試すかのようでもある。
本書は哲学の書ではない。著者もそう宣言している。ただ、おいらには、数学は哲学である... との信条があるので、これを哲学の書としてもまったく違和感はない。それにしても、これで大学院生レベルだというのだから...
本書は、「不確定性原理」のような明確に定義できない概念を避け、ベルの定理とコッヘン=シュペッカーの定理を中心に「隠れた変数決定論」というものが扱われる。光子系において、隠れた変数を導入することにより、古典的な決定論を回復させようという目論見か。この隠れた変数ってのが、例えば、超ひも理論あたりで議論される 10次元や Dブレーンのようなものを指すのかは知らん。要するに、概念的な話はおいといて、量子力学と古典力学が根本的に乖離するところを、ひたすら数学で記述しようというのだから尋常ではない。
注目したいのは、時空対称性や量子熱力学に情報理論を絡めた議論である。それは、エントロピーや不可逆性に至る議論で、技術屋にとってはなかなか興味深いものがある。演習問題を通して、光線どうしが重なり合っている部分を、光子という言葉でどのように記述したらよいだろうか?と挑戦的な疑問を投げかけたり... 個々の光子の偏光パラメータを測定する装置は存在しえないことを完全に納得するまで、諦めないでほしい!と励ましてくれたり... もはや、一つの光子の偏光状態はどうなっているか?などという質問に答えることはできないし、意味もない!と切り捨てたり... ちょっとした冒険心をくすぐる。
「偏光が光子からできており、そして光子は分割できない実体であるという考えを一度受け入れるなら、物理学はいままでと同じではありえない。乱雑性が基本的な要素になる。」
古典物理学では、物質の位置と運動量は同時に正確に測定できることが前提される。位置と運動量は客観的な性質で、観測者とは無関係な物理量と考える。だから、調和振動子の位相に対して一様分布や、気体の分子速度に対してマクスウェル分布を仮定したりできる。
一方、量子力学では、量子の位置と運動量は同時に正確に測定することは不可能とされる。観測環境では、対象となる物理系に観測系が関与するために、純粋な物理現象を得ることはできないというわけだ。運動量が不正確でも、位置を正確に知ることができれば、なんとなく存在は定義できそうである。逆に、位置が不正確でも、運動量を正確に知ることができれば、なんとなく存在は定義できそうである。
そして、量子の存在状態は確率論に持ち込まれる。それで、シュレーディンガーの猫が死んでいるか、生きているかまでは分からなくても、笑みを浮かべていそうなことぐらいは想像できる。不思議の国のチェシャ猫のように...
となると、人間の存在認識なんてものは、想像の産物ということになりはしないか。人体だって量子構造を持っているし、人間精神そのものが単なる量子の集合体から生じる現象かもしれないし...
我思う故に我あり... とは、あの大哲学者の言葉だが、実存とは、まさに自己認識に裏付けられた概念。つまりは、主観の領域にある。これを、数学で記述しようという野望は計り知れない。主観の正体を暴くための客観的方法とは。それが観測という行為に現れるが、観測環境は観測者の主観をも含んでいる。観測者の純粋客観なるものを夢みれば、カント風の主観論に引き戻され、自己矛盾を克服できそうにない。
では、観測をどう定義するか。観測の目的は、対象となる物理現象に客観的な視点を与えることにあるが、それは認識を与えることにほかならない。主観に頼らなければ認識すらできない知的生命体にとっては絶望的な状況にある。人類が編み出した最も客観的な記述法といえば、数学という言語を用いること。なるほど、量子力学とは、数学的記述法の限界を試す学問であったか...
この分野には実に多くの参考書が散乱し、エネルギー準位や遷移確率などの計算法を学ぶことができる。しかし、その存在論的な意味合いとなると、深刻な見解の相違が生じ、量子論的な認識論というものを意識せずにはいられない。認識論を数学という言語を用いて記述すると、どうなるだろう。本書には、そんな野心が見て取れる。あらゆる表現に数式が用いられるのも、客観的な記述の限界を試すかのようでもある。
本書は哲学の書ではない。著者もそう宣言している。ただ、おいらには、数学は哲学である... との信条があるので、これを哲学の書としてもまったく違和感はない。それにしても、これで大学院生レベルだというのだから...
本書は、「不確定性原理」のような明確に定義できない概念を避け、ベルの定理とコッヘン=シュペッカーの定理を中心に「隠れた変数決定論」というものが扱われる。光子系において、隠れた変数を導入することにより、古典的な決定論を回復させようという目論見か。この隠れた変数ってのが、例えば、超ひも理論あたりで議論される 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 は、これらのパッケージ群を眺めるだけでそそられる。
matplotlib は説明の必要がないほど、おいらの感覚に馴染めそう。ここでは、IPython との統合性が推奨される。
ちなみに、R の ggplot2 や trellis といったパッケージには見劣りするらしい。ますます、R に...
IPython は、いまや科学分野における Python のスタンダードになっているそうな。
ちなみに、著者のウェス・マッキニー氏は、pandas の開発者だけあって、ベストな開発環境を尋ねられたら、即「IPython + テキストエディタ」と答えるそうな...
近年、大人気と評判の 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 !
昨今、プログラミング言語そのものが注目されがちだが、本書は、言語とデバッグを表裏一体の方法論として捉えているのがいい。デバッグという分野は、なかなかハウツー本にはできない。ブレークポイントの設定、ステップ実行、バックトレース、はたまたスタックやレジスタの表示、変数の監視など、やる事は定式化できても、いかに効率的にやるかとなると経験がモノを言う。達人ともなれば、それだけ失敗の経験も豊富のようだ。その意味で、本書は失敗から学ぶ良い事例集と言えよう。失敗の効率化という日頃の意識が、デバッグの達人を育てるらしい...
デバッグの基本姿勢に、状態を見る!ということがある。まずは観ること!これは科学的思考の基本中の基本だ。しかしながら、自分自身を客観的に見ることほど辛いものはない。自分で仕掛けておきながら、自ら姑チェック!なんとも自虐的な世界。
そこには、自己矛盾が多分に含まれる。自分は天才かもしれない!って思うこともある。年に一度や二度は。一方で、つまらないミスで時間を浪費する自分に向かって、バカヤロー!って叫ぶのはほぼ毎日ときた。それでも、真に思い通りになった時の征服感ときたら... 出来の悪い子ほど可愛いと言うが、苦労に苦労を重ねて作り上げたコードほど愛着がわく。自己啓発とは、自己陶酔の類いか。そして、再々々々... 認識させられるのである。自分自身がいかにアホウであるかを。踊る阿呆に見る阿呆、同じ阿呆なら踊らにゃ損々... やはりプログラムを書くのは楽しい...
プログラムを書くのは実に愉快。しかしながら、デバッグ作業は辛い。動作が明らかにおかしな時は些細なミスであることが多く、バグも可愛いもの。だが、深刻な問題になりがちなのは微妙に動いている時で、数十時間に一度落ちたり、再現しなかったり、この手のバグの憎らしさときたら。
ちなみに、「バグ」の語源は定かではないが、リレー式計算機の中に紛れ込んだ蛾が誤動作の原因になった事例があるそうな。その蛾は、後に 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/
ちなみに、おいらは、プログラミング言語を学ぶならアセンブラ言語から始めるのがいいと考えるネアンデルタール人だが、そんな時代でもあるまい。スクリプト言語が活況な今日では、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
);
二十年以上前、組込系 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の冪乗数は偶数であり、奇数は奇っ怪な存在なのかは知らん。素数は、奇っ怪な存在か純粋な存在かも知らんが、暗号システムを根底から支え、ネット社会では絶対に欠かせない存在である。有理数と無理数の絡みでは、オイラーの等式にゾクゾク感を喰らう。超越数の代表格とされる自然対数の底と円周率が虚数を介して絡むと、整数になるというのだから...
eiπ = -1
自然美の対を心底感じさせるものといえば、なんといっても二本の脚線美。これに、おっ!πが絡むと、空虚な精神を平穏に整えてくれるのは確かだ。超越数ってやつは、そこに法則性を見い出したとしても、人間が編み出した概念なんぞでは説明の及ばない、もっと形而の上にある存在のように見えてくる。だから、超越した数なのである。
「神霊は、我々が負の単位 -1 の想像的平方根と呼ぶ解析のあの驚異のうちに、あの理想世界の前兆のうちに、存在と非存在との間のあの両棲類のうちに、その崇高なるはけ口を見出した。」
... ゴットフリート・ライプニッツ
2. 演繹法 vs. 帰納法
あらゆる体系を抽象化する思考アプローチに、二つの極性がある。演繹法と帰納法が、それだ。演繹法は、基本となる大前提から小前提に向かって法則性を導いていくアプローチで、三段論法がその代表。帰納法は、多くの事象から共通点を見出して法則性を導いていくアプローチ。数学の王道は、おそらく演繹法であろう。演繹法による帰結は反証の余地を与えないが、帰納法は一つの反証によって崩れる脆さがある。普遍的な言明と事例的な言明とでは、前者の方が圧倒的に説得力がある。そりゃ、現象をすべて演繹できるならそれに越したことはないが、現実世界は帰納法に頼らないと説明できない領域があまりに大きい。相対的な認識能力しか持ち合わせない知的生命体にとって、王道だけでは心許ない。
ダンツィクは、「数学は演繹的科学」としながらも、帰納法を「出直しによる推理」と位置づける。出直し... 大いに結構ではないか。あらゆる常識も一度は疑ってみて、再検証してみるのがええ。演繹的と表現するからには、完全演繹とはなるまい。四色問題やケプラー予想で用いられた戦略は、まさに帰納法的な思考であった。カオスの世界では、最も客観性を重んじる数学ですら確率的な厳密さを受け入れざるを得まい。
そして、厳密に対する準厳密、定理に対する準定理... といった位置付けも必要となろう。客観性を最高レベルで用いようとする数学であっても、やはり主観性からは逃れられそうにない。人間が思考するということは、そういうことだ。ガリレオの逆理をついたカントールは、論理の王国を直観の王国へ引き戻した。無限と戯れる才能豊かな連中にとって、厳密な世界は息が詰まると見える。王道は肩がこる。おいらは邪道を行きたい。王道とは、邪道があってこその王道なのだから...
「数学の本質はその自由にある。」... ゲオルク・カントール
初版、昭和二十年(1945年)... 改訂第二版、昭和三十二年(1957年)... とある。おいらは、まだ生を受けていない。ただ、暗示にはかかりやすい。むかーし教科書を赤線だらけにし、何が重要なのか分からないほどにしちまった記憶がかすかに蘇る...
本書は、「数える」という行為をめぐっての物語である。扉を開けると、「数学者でない教養ある人々のための批判的概観」と見出しされる。著者トビアス・ダンツィクは、学校の数学過程が文化的な内容を削って、技術の骨格ばかりを追いかけているために、多くの優秀な人材を遠ざけてしまった、と考えているようだ。そこで、数の進化を文化的に、いや、人間的に物語ろうというのである。
「数」という概念と「数える」という行為は、ともに抽象化の道を歩んできた。数える行為を合理化するために記号を発明すれば、記号の関係性を求めて関数を編み出す。やがて、同じ性質を持つ数の集まりをひと括りにし、性質そのものの関係を探るようになる。「数」という概念は記号で抽象化され、「数える」という行為は関係性を結びつけることに抽象化されてきたのである。
さらに、無限までも数えてやろう!という願望に及ぶと、数の大小という関係は、濃度という概念へ飛躍する。「数える」というからには整数論の領域にあるわけだが、まったく数に見えないのに整数とはこれいかに?有限界の知的生命体が無限界に口を出そうとすると、まったく悪魔じみてやがる。とはいえ、すべては「一対一の対応」という手続きの元で引き出された知識であったとさ...
尚、河野伊三郎訳版(岩波書店)を手に取る。
数の学問は、数を数えることに発する。原始の時代、人類は指を折って数え始め、数の概念はまずもって両手合わせて十本の指に乗っ取られた。人間社会が十進法に席巻されるのも、その名残りか。女性が妊って十ヶ月で出産するのは、単なる偶然かどうかは知らんよ。ある原始民族では、手足合わせて二十進法を用いたという説もあるらしい。
「数える」という意識は、人間の本能に植え付けらたもののようにも感じられる。精神病患者や知的障害者は、心が落ち着かない時に数を数え始めると聞く。ある種の儀式のように。サヴァン症候群のような突飛な能力の持ち主ともなると、数字が風景に見えるらしい。おいらも、デスクトップ上のスキャンカウンタをなんとなく見入ったりする。数には、なにやら心を落ち着かせるものがある。数えるという行為は、人間の進化論とも関係がありそうな...
ちなみに、おいらが美少年と呼ばれた小学校低学年の時代、さんすうが大の苦手であった。放課後、一人残されては計算をやらされる。数ってやつがまったくイメージできず、机の下に手を隠して指を折りながら数える。すると叱られるのだ。堂々とやれ!って。ごもっとも!当時の女の先生が鬼にも、天使にも見えたものである。やがて数の概念が理解空間と結びつきはじめると、いつの間にか、数の虜に。鶴亀算があまりにもすんなり数える概念と結びついて、こいつが方程式ってやつだと理解するのに大して手間はかからなかった。しかしながら、大学の初等教育で再び奈落の底へ突き落とされ、高校までの数学がいかに算数であったかを思い知らされる。抽象化の概念は、指では数えられんよ。数学の落ちこぼれは、こうして今に至るのだった...
しかし、だ。数の学問において、十進法ほど厄介な道具もあるまい。コンピュータは二進法とすこぶる相性がよく、計算機工学やソフトウェア工学などで、8進法や16進法が用いられる。つまり、2の冪乗数があらゆる計算において優れているということだ。ラプラスは、こんなことをつぶやいたとか...
「ライプニッツは二進法の算術に『創造』」の形象を見た... 『一』は神を表し、『零』は空を表す...」
なのに、人類が十本の関節を持つ指を授かったがために、十の数が崇められる。こんな自然法則に反するものを、誰が授けたかは知らんが... ただ人類はどんなことでも、いかようにも解釈できる性癖も授かった。その見返りかは知らんが、幸福の原理として...
ピュタゴラス学派は、当時の四元素「火、水、空気、土」を底辺にした三角数 (4 + 3 + 2 + 1 = 10) をテトラクテュスと呼んで崇めた。三角形の頂点には、神に通ずるものがあるらしい。ただ、数学者が概念でねじ伏せようとも、計算ではレジのおばさんの方が位取りで一枚上手ときた。
ちなみに、鏡の向こうから「十の時が流れる」という名を持つ野郎が、顔を赤らめてこちらを見つめてやがる。どうやら数に酔ったらしい。あヤツはテトラクテュスの申し子か?ダンツィクの言う「人間は万物の尺度である。」という言葉が、嫌みに聞こえてくる...
1. 心を乱す無理数 vs. 心を癒やす超越数
計算において、なにかと面倒なヤツがいる。無理数ってやつが、それだ。しかも、幾何学で最も純粋とされる図形に出現しやがる。正方形の対角線と、直径を 1 とする真円周の長さに...
有理数があれば、どんな微細な数でも記述できそうなものである。分母の桁をどんどん増やしてやればいいのだから。数直線上の連続性を保つために無理数の存在が欠かせないとは、これいかに?おかげで、数学は分裂症を患わずに済むのだけど、ヤツの存在を隠蔽しようとしたピュタゴラス教団の考えも分からなくはない。
無理数の存在が面倒であるように、有理数が無限と絡むとやはり面倒となる。コンピュータだって万能じゃない。実際、実数演算は近似法で誤魔化されている。もし浮動小数点演算で答えが合わないと騒ぐ新人君を見かければ、IEEE754 の意義を匂わせてやればいい。2の冪乗数は偶数であり、奇数は奇っ怪な存在なのかは知らん。素数は、奇っ怪な存在か純粋な存在かも知らんが、暗号システムを根底から支え、ネット社会では絶対に欠かせない存在である。有理数と無理数の絡みでは、オイラーの等式にゾクゾク感を喰らう。超越数の代表格とされる自然対数の底と円周率が虚数を介して絡むと、整数になるというのだから...
eiπ = -1
自然美の対を心底感じさせるものといえば、なんといっても二本の脚線美。これに、おっ!πが絡むと、空虚な精神を平穏に整えてくれるのは確かだ。超越数ってやつは、そこに法則性を見い出したとしても、人間が編み出した概念なんぞでは説明の及ばない、もっと形而の上にある存在のように見えてくる。だから、超越した数なのである。
「神霊は、我々が負の単位 -1 の想像的平方根と呼ぶ解析のあの驚異のうちに、あの理想世界の前兆のうちに、存在と非存在との間のあの両棲類のうちに、その崇高なるはけ口を見出した。」
... ゴットフリート・ライプニッツ
2. 演繹法 vs. 帰納法
あらゆる体系を抽象化する思考アプローチに、二つの極性がある。演繹法と帰納法が、それだ。演繹法は、基本となる大前提から小前提に向かって法則性を導いていくアプローチで、三段論法がその代表。帰納法は、多くの事象から共通点を見出して法則性を導いていくアプローチ。数学の王道は、おそらく演繹法であろう。演繹法による帰結は反証の余地を与えないが、帰納法は一つの反証によって崩れる脆さがある。普遍的な言明と事例的な言明とでは、前者の方が圧倒的に説得力がある。そりゃ、現象をすべて演繹できるならそれに越したことはないが、現実世界は帰納法に頼らないと説明できない領域があまりに大きい。相対的な認識能力しか持ち合わせない知的生命体にとって、王道だけでは心許ない。
ダンツィクは、「数学は演繹的科学」としながらも、帰納法を「出直しによる推理」と位置づける。出直し... 大いに結構ではないか。あらゆる常識も一度は疑ってみて、再検証してみるのがええ。演繹的と表現するからには、完全演繹とはなるまい。四色問題やケプラー予想で用いられた戦略は、まさに帰納法的な思考であった。カオスの世界では、最も客観性を重んじる数学ですら確率的な厳密さを受け入れざるを得まい。
そして、厳密に対する準厳密、定理に対する準定理... といった位置付けも必要となろう。客観性を最高レベルで用いようとする数学であっても、やはり主観性からは逃れられそうにない。人間が思考するということは、そういうことだ。ガリレオの逆理をついたカントールは、論理の王国を直観の王国へ引き戻した。無限と戯れる才能豊かな連中にとって、厳密な世界は息が詰まると見える。王道は肩がこる。おいらは邪道を行きたい。王道とは、邪道があってこその王道なのだから...
「数学の本質はその自由にある。」... ゲオルク・カントール
2020-04-01
ジョークの言える日に、真面目にファルス論でも...
「嘘というものがなければ、人間は絶望と退屈で死んでしまうであろう。」... アナトール・フランス
今日、四月一日は、堂々とジョークの言える日。巷では、そういうことになっている。
しかしながら、エイプリルフール禁止令をあちこちで見かける昨今。フェイクの拡散が日常茶飯事となれば、あえて、そんな日をつくる必要もないか。毎日がエイプリルフールなら、まったくおめでたい世の中。冗談の言える日ぐらい、真面目に語ろう!いや、エイプリルフール禁止令そのものがジョークということもある。
現代語辞典では、ジョークの定義も随分と変容したようだ。真面目に語って笑えるなら、それこそ真のジョークなのやもしれん...
「笑いとは、地球上で一番苦しんでいる動物が発明したものである。」... ニーチェ
世間では、笑いよりも涙の方が高尚とされる。だが、人間の情念は涙を誘うよりも笑いを誘う方がはるかに難しい。悲しみには人類の共通観念があり、死や命の儚さを匂わせればたいてい涙を誘う。
一方、笑いほど文化や慣習に影響されるものはない。笑いは否定をも肯定する。おまけに、涙をも乗り越える。故に、戯作をもって笑劇を演じることが、高尚な生き方ということになろうか。今日では、苦悩を笑い飛ばす能力が問われる。人間の滑稽を見て、これを笑い飛ばせるかどうか。これこそ真の道徳論なのやもしれん。少なくとも、理性をストレス解消のために用い、いつも憤慨する道徳論者よりはましか...
「人が死んでも、人生は依然として可笑しく、人が笑っても、人生は依然として深刻である。」... バーナード・ショー
笑いの世界にも、大衆の目には晒してはならない領域がある。大衆は臭い。どんなに良いことでも、同じことをする人が多すぎると、なにかと問題になるのが人間社会。どんなに良い人でも、集まりすぎると集団的悪魔に変貌する。俗人どもが、こぞって自己肯定に奔走しているのに対し、芸術家どもは自己を侮辱することによって自我の魔術性を露わにする。この自殺行為によって、芸術は芸術たりうる。芸術精神は自己の滑稽に発し、自己の風刺によって自らの悪魔性を炙り出す。自己否定に陥ってもなお愉快でいられるなら、真理の力は偉大となろう...
「ファルスとは、人間の全てを、全的に、一つ残さず肯定しようとするものである。凡そ人間の現実に関する限りは、空想であれ、夢であれ、死であれ、怒りであれ、矛盾であれ、トンチンカンであれ、ムニャムニャであれ、何から何まで肯定しようとするものである。」... 坂口安吾
パスカルが言ったように、人間は狂うものらしい。狂わなければ、まともな笑いにもありつけない。人の一生とは、狂言のようなもの。猿の仮面をかぶれば猿に、武士の仮面をかぶれば武士に、エリートの仮面をかぶればエリートに、サラリーマンの仮面をかぶればサラリーマンになりきる。あとは、幸運であれば素直に波に乗り、不運であれば生きる糧とし、いかに達者を演じきるか。人間なんてものは、物狂いを演じながら生きるぐらいの存在か。自己を見つめているだけで自然に笑みがこぼれる... そんな人生はいずこに...
「人生は近くで見れば悲劇だが、遠目に見れば喜劇である。」... チャールズ・チャップリン
今日、四月一日は、堂々とジョークの言える日。巷では、そういうことになっている。
しかしながら、エイプリルフール禁止令をあちこちで見かける昨今。フェイクの拡散が日常茶飯事となれば、あえて、そんな日をつくる必要もないか。毎日がエイプリルフールなら、まったくおめでたい世の中。冗談の言える日ぐらい、真面目に語ろう!いや、エイプリルフール禁止令そのものがジョークということもある。
現代語辞典では、ジョークの定義も随分と変容したようだ。真面目に語って笑えるなら、それこそ真のジョークなのやもしれん...
「笑いとは、地球上で一番苦しんでいる動物が発明したものである。」... ニーチェ
世間では、笑いよりも涙の方が高尚とされる。だが、人間の情念は涙を誘うよりも笑いを誘う方がはるかに難しい。悲しみには人類の共通観念があり、死や命の儚さを匂わせればたいてい涙を誘う。
一方、笑いほど文化や慣習に影響されるものはない。笑いは否定をも肯定する。おまけに、涙をも乗り越える。故に、戯作をもって笑劇を演じることが、高尚な生き方ということになろうか。今日では、苦悩を笑い飛ばす能力が問われる。人間の滑稽を見て、これを笑い飛ばせるかどうか。これこそ真の道徳論なのやもしれん。少なくとも、理性をストレス解消のために用い、いつも憤慨する道徳論者よりはましか...
「人が死んでも、人生は依然として可笑しく、人が笑っても、人生は依然として深刻である。」... バーナード・ショー
笑いの世界にも、大衆の目には晒してはならない領域がある。大衆は臭い。どんなに良いことでも、同じことをする人が多すぎると、なにかと問題になるのが人間社会。どんなに良い人でも、集まりすぎると集団的悪魔に変貌する。俗人どもが、こぞって自己肯定に奔走しているのに対し、芸術家どもは自己を侮辱することによって自我の魔術性を露わにする。この自殺行為によって、芸術は芸術たりうる。芸術精神は自己の滑稽に発し、自己の風刺によって自らの悪魔性を炙り出す。自己否定に陥ってもなお愉快でいられるなら、真理の力は偉大となろう...
「ファルスとは、人間の全てを、全的に、一つ残さず肯定しようとするものである。凡そ人間の現実に関する限りは、空想であれ、夢であれ、死であれ、怒りであれ、矛盾であれ、トンチンカンであれ、ムニャムニャであれ、何から何まで肯定しようとするものである。」... 坂口安吾
パスカルが言ったように、人間は狂うものらしい。狂わなければ、まともな笑いにもありつけない。人の一生とは、狂言のようなもの。猿の仮面をかぶれば猿に、武士の仮面をかぶれば武士に、エリートの仮面をかぶればエリートに、サラリーマンの仮面をかぶればサラリーマンになりきる。あとは、幸運であれば素直に波に乗り、不運であれば生きる糧とし、いかに達者を演じきるか。人間なんてものは、物狂いを演じながら生きるぐらいの存在か。自己を見つめているだけで自然に笑みがこぼれる... そんな人生はいずこに...
「人生は近くで見れば悲劇だが、遠目に見れば喜劇である。」... チャールズ・チャップリン
2020-03-22
"空間・時間・物質(上/下)" Hermann Weyl 著
ヘルマン・ワイルの著作「シンメトリー」(前記事)で詩的な数学に触れながら、厳密な理解を要請してくる、この大著を読破するのに一ヶ月を費やしたものの、消化不良感に満ち満ちてやがる。
しかしながら、難解な書に触れる喜びというものがある。なにもかも分かりやすさに流される現代社会にあって、この天の邪鬼な性癖ときたら難解なものにこそ癒やされる。我武者羅に噛み付いているうちに、なんとなく理解した気分になれることだってある。ページを捲っては立ち止まり、ページを戻ってはまた進む。三歩進んで二歩下がるの精神が、相対的な前進へと導いてくれる。いや、ワンツーパンチを喰らって、一歩進んで二歩下がるってか。おまけに、最終ページに辿り着いた時のクタクタ感がたまらん。M だし...
本書は、一般相対性理論の数学的解説書としての性格を帯びている。
原著 "Raum, Zeit, Materie" は、1917年の夏学期に国立チューリッヒ高等工業学校で行った講義を元に書かれたもので、1918年に刊行されたそうな。その動機は、偉大な相対性理論という課題をかりて、哲学的、数学的、物理学的思考が互いに浸透し合うことの一つの例を示したいという願望に誘われたとか。アインシュタインの論文から、わずか二年後に...
相対性理論の根幹には時間と空間を統合した時空の概念があり、この連続体の歪みをもって、ニュートン力学で言うところの力や質量を説明して魅せた。ワイルは、空間、時間、物質の関係を統合的に叙述し、理論の生みの親以上にその本質を描ききったと評されたという。彼はこんなことをつぶやいたとか...
「私は、真と美を統一するように仕事をしてきたが、真か美かどちらかを取れと言われたら、美をとるよ!」
尚、 内山龍雄訳版(ちくま学芸文庫)を手に取る。
相対性理論は科学理論には珍しく、一般大衆にも関心を引いた。それは、人間の認識能力そのものが相対的だからであろう。ニュートンは絶対空間や絶対時間なるものを論じた。ならば、絶対幾何学なるものを構築することは可能であろうか。ワイルは、そんな問い掛けをしながら、アフィン幾何学、リーマン幾何学、計量幾何学... と渡り歩き、n次元多様体に救いを求めるかのように彷徨う。
幾何学を構築するためには、その空間に存在する物質の状態を記述するための座標系を必要とする。ユークリッド幾何学では、直角という性質がその役割を演じ、人間の認識空間では、xyz 軸を基準とする。
直角を代数学的に抽象化したものが、直交という概念。直交性を利用した変換系といえば、周波数解析、データ圧縮、近似法などでお馴染みのフーリエ変換やウェーブレト変換を思い浮かべるが、ラプラス変換やアダマール変換などあらゆる変換系が直交性の恩恵を受けている。変換系を直交性に基づいた写像と定義するなら、直交性の見い出だせるところに、相対的な幾何学を構築することができそうか...
1. 直交と場の哲学
現実世界は、物質と呼ばれる材料からできており、あらゆる材料は空間によって実在し、時間によって認識される。つまり、空間は、物質の存在する場として解釈される。「存在」という哲学的な意味を数学的に定義するならば、一部の空間を占有し、一時的に時間軸に配置される、ということになろうか。相対的な幾何学では、空間、時間、物質という三つの概念が運動によって結び付けられる。すなわち、存在するとは、運動するということだ。物質に絶対静止なる状態が存在するかどうかは知らんが...
物質の運動が場を規定する一つの要因となっているのは確かであろう。量子力学的には、物質が空間を形づくるという見方があり、「物質が場を生み出し、またその状態を一意的に規定する。」としても違和感なし。物体の運動は力と慣性の間で実現され、慣性場は物質との間に相互作用を持つ実在であるからして...
では、重力の実在はどうであろう。本書は、力とは別物で、むしろ慣性に属すべきものとしている。こうした見方によって、相対性理論は重力を場の歪みで説明できるというわけである。
「慣性場に対する物質からの影響は重力の現象として現れる。これこそアインシュタインの重力理論の核心である。」
では、場は自己を認識した時に生じるのか、あるいは、自己は場の存在が前提されて認識できるものなのか、と問えば、鶏が先か卵が先か論争に巻き込まれた感がある。
ユークリッド幾何学にしても、非ユークリッド幾何学にしても、第五公準を境界面にした抽象レベルの違いに過ぎない、といえばその通りだろう。どの段階で自己を認識できるかは別にして、それぞれ渡り歩く幾何学空間に抽象レベルという境界面があるように、人間の精神空間にも認識レベルという境界面があるのだろう。
慣性力、電磁力、重力など物理量が存在するところに場が存在し、そこに時空対称性なるものを見つける。直交性もある種の対称性。場とは、対称性に看取られた認識空間を言うのであろうか... などと思考をめぐらせているうちに、直交と場の哲学に放り込まれていく。どんな専門分野にせよ、それを究めようとすれば哲学者になるものらしい。
おかげで、場末の我が家から、ぐるぐるマップ上に直交配列される夜の社交場へ直行せずにはいられない。そこには、ホットな女性の重力場が生じているに違いない。ただ、女性ってやつは、なぜか体重計の前で軽い存在を演じてやがる...
2. 時間と空間に分解、そして、長さ!?
ところで、おいらには、時間の記述には微分が、空間の記述には積分が相性がいい... という感覚がある。そして、時空を理解するためには、時間と空間を分解してみるのがええと...
本書は、ローレンツ変換において、時間的成分に相当するものがエネルギー保存則で、空間的成分に相当するものが運動量保存則、という見方を提示している。ここまではええ...
しかしながら、空間の形成ではガウスの定理に看取られ... 空間内の振る舞いではマクスウェル方程式に看取られ... いずれも、おいらを電磁気学で赤点に貶めた奴らときた。
おまけに、数学の道具では、テンソル、双線型形式、二次形式が重要な役割を演じてやがる。ワイルは、テンソル解析を意のままに使いこなせるよう練習せよ!と要求してくる。すべての運動する物体にテンソルが規定できると宣言し、一般相対性理論を理解するには、テンソルに看取られた空間認識が必要だというのである。そして、空間を理解するには「エネルギー・運動量テンソル」ってやつが鍵になりそうだ。
テンソル演算そのものはそう複雑でもなく、ベクトルの親分ぐらいの感覚でいる。だがこいつを、ある規定された幾何学と結びつけようとすると、なかなか手強い。共変と反変の違いにしても、アフィン幾何学から計量幾何学へ移行した途端に、単なる表現の違いというところに落ち着く...
「座標系に依存する数個の変数列の一次形式は、その変数列のうち、座標系の基礎ベクトルの変換に反傾に変換される変数列を任意の反変ベクトルの成分でおきかえ、また共傾に変換される変数列を任意の共変ベクトルの成分におきかえることによって、この一次形式が座標系の選びかたに無関係な一定の値をもつようになるときは、この変数列の一次形式は、実はひとつのテンソルである。」
ワイルは、計量の本質をこう言い放つ!
「質量はその本質をかえりみれば、一種の長さである。」
ん~...
「幾何学的な、また物理学的な量はすべて、スカラーか、ベクトルか、あるいはテンソルのいずれかである。このことこそ、これらの量を内包している空間の数学的性質を物語る。」
ん~...
すべての物理量を長さで規定できるような幾何学を想定することが可能ということか。時間も長さで規定できるといえばそうだけど、時間の意味するものはその瞬間の状態にある。座標系で言えば、位置情報に意味がある。少なくとも人間の認識空間では、そうだ。ワイルは、空間の構造に対して、群論的な連続体をイメージさせようと仕掛けてくる。ガリレオ = ニュートン群からローレンツ = アインシュタイン群といったイメージを...
さらに、「距離多様体」という概念を持ち出して、アフィン的に接続されたアフィン接続多様体なるものを提示している。
確かに、重力を空間の歪みで記述すれば、距離の概念が生じる。では、他の力はどうであろう。様々な物質が相互作用する空間とは、それぞれの力を距離で記述した多様体が並列的に、あるいは、階層的に接続されたような空間であろうか...
やはり、ん~...
「長さ」のことをゲージと言い、場の理論に「ゲージ理論」ってやつがあるが、どうやらこの書に由来するらしい。おいらの空間認識では、「長さ」という概念をどんなに抽象化したところで、やはり「長さ」なのである。そもそも「長さ」ってなんだ???数学の落ちこぼれは、ますます計量テンソルとの距離を感じるのであった...
しかしながら、難解な書に触れる喜びというものがある。なにもかも分かりやすさに流される現代社会にあって、この天の邪鬼な性癖ときたら難解なものにこそ癒やされる。我武者羅に噛み付いているうちに、なんとなく理解した気分になれることだってある。ページを捲っては立ち止まり、ページを戻ってはまた進む。三歩進んで二歩下がるの精神が、相対的な前進へと導いてくれる。いや、ワンツーパンチを喰らって、一歩進んで二歩下がるってか。おまけに、最終ページに辿り着いた時のクタクタ感がたまらん。M だし...
本書は、一般相対性理論の数学的解説書としての性格を帯びている。
原著 "Raum, Zeit, Materie" は、1917年の夏学期に国立チューリッヒ高等工業学校で行った講義を元に書かれたもので、1918年に刊行されたそうな。その動機は、偉大な相対性理論という課題をかりて、哲学的、数学的、物理学的思考が互いに浸透し合うことの一つの例を示したいという願望に誘われたとか。アインシュタインの論文から、わずか二年後に...
相対性理論の根幹には時間と空間を統合した時空の概念があり、この連続体の歪みをもって、ニュートン力学で言うところの力や質量を説明して魅せた。ワイルは、空間、時間、物質の関係を統合的に叙述し、理論の生みの親以上にその本質を描ききったと評されたという。彼はこんなことをつぶやいたとか...
「私は、真と美を統一するように仕事をしてきたが、真か美かどちらかを取れと言われたら、美をとるよ!」
尚、 内山龍雄訳版(ちくま学芸文庫)を手に取る。
相対性理論は科学理論には珍しく、一般大衆にも関心を引いた。それは、人間の認識能力そのものが相対的だからであろう。ニュートンは絶対空間や絶対時間なるものを論じた。ならば、絶対幾何学なるものを構築することは可能であろうか。ワイルは、そんな問い掛けをしながら、アフィン幾何学、リーマン幾何学、計量幾何学... と渡り歩き、n次元多様体に救いを求めるかのように彷徨う。
幾何学を構築するためには、その空間に存在する物質の状態を記述するための座標系を必要とする。ユークリッド幾何学では、直角という性質がその役割を演じ、人間の認識空間では、xyz 軸を基準とする。
直角を代数学的に抽象化したものが、直交という概念。直交性を利用した変換系といえば、周波数解析、データ圧縮、近似法などでお馴染みのフーリエ変換やウェーブレト変換を思い浮かべるが、ラプラス変換やアダマール変換などあらゆる変換系が直交性の恩恵を受けている。変換系を直交性に基づいた写像と定義するなら、直交性の見い出だせるところに、相対的な幾何学を構築することができそうか...
1. 直交と場の哲学
現実世界は、物質と呼ばれる材料からできており、あらゆる材料は空間によって実在し、時間によって認識される。つまり、空間は、物質の存在する場として解釈される。「存在」という哲学的な意味を数学的に定義するならば、一部の空間を占有し、一時的に時間軸に配置される、ということになろうか。相対的な幾何学では、空間、時間、物質という三つの概念が運動によって結び付けられる。すなわち、存在するとは、運動するということだ。物質に絶対静止なる状態が存在するかどうかは知らんが...
物質の運動が場を規定する一つの要因となっているのは確かであろう。量子力学的には、物質が空間を形づくるという見方があり、「物質が場を生み出し、またその状態を一意的に規定する。」としても違和感なし。物体の運動は力と慣性の間で実現され、慣性場は物質との間に相互作用を持つ実在であるからして...
では、重力の実在はどうであろう。本書は、力とは別物で、むしろ慣性に属すべきものとしている。こうした見方によって、相対性理論は重力を場の歪みで説明できるというわけである。
「慣性場に対する物質からの影響は重力の現象として現れる。これこそアインシュタインの重力理論の核心である。」
では、場は自己を認識した時に生じるのか、あるいは、自己は場の存在が前提されて認識できるものなのか、と問えば、鶏が先か卵が先か論争に巻き込まれた感がある。
ユークリッド幾何学にしても、非ユークリッド幾何学にしても、第五公準を境界面にした抽象レベルの違いに過ぎない、といえばその通りだろう。どの段階で自己を認識できるかは別にして、それぞれ渡り歩く幾何学空間に抽象レベルという境界面があるように、人間の精神空間にも認識レベルという境界面があるのだろう。
慣性力、電磁力、重力など物理量が存在するところに場が存在し、そこに時空対称性なるものを見つける。直交性もある種の対称性。場とは、対称性に看取られた認識空間を言うのであろうか... などと思考をめぐらせているうちに、直交と場の哲学に放り込まれていく。どんな専門分野にせよ、それを究めようとすれば哲学者になるものらしい。
おかげで、場末の我が家から、ぐるぐるマップ上に直交配列される夜の社交場へ直行せずにはいられない。そこには、ホットな女性の重力場が生じているに違いない。ただ、女性ってやつは、なぜか体重計の前で軽い存在を演じてやがる...
2. 時間と空間に分解、そして、長さ!?
ところで、おいらには、時間の記述には微分が、空間の記述には積分が相性がいい... という感覚がある。そして、時空を理解するためには、時間と空間を分解してみるのがええと...
本書は、ローレンツ変換において、時間的成分に相当するものがエネルギー保存則で、空間的成分に相当するものが運動量保存則、という見方を提示している。ここまではええ...
しかしながら、空間の形成ではガウスの定理に看取られ... 空間内の振る舞いではマクスウェル方程式に看取られ... いずれも、おいらを電磁気学で赤点に貶めた奴らときた。
おまけに、数学の道具では、テンソル、双線型形式、二次形式が重要な役割を演じてやがる。ワイルは、テンソル解析を意のままに使いこなせるよう練習せよ!と要求してくる。すべての運動する物体にテンソルが規定できると宣言し、一般相対性理論を理解するには、テンソルに看取られた空間認識が必要だというのである。そして、空間を理解するには「エネルギー・運動量テンソル」ってやつが鍵になりそうだ。
テンソル演算そのものはそう複雑でもなく、ベクトルの親分ぐらいの感覚でいる。だがこいつを、ある規定された幾何学と結びつけようとすると、なかなか手強い。共変と反変の違いにしても、アフィン幾何学から計量幾何学へ移行した途端に、単なる表現の違いというところに落ち着く...
「座標系に依存する数個の変数列の一次形式は、その変数列のうち、座標系の基礎ベクトルの変換に反傾に変換される変数列を任意の反変ベクトルの成分でおきかえ、また共傾に変換される変数列を任意の共変ベクトルの成分におきかえることによって、この一次形式が座標系の選びかたに無関係な一定の値をもつようになるときは、この変数列の一次形式は、実はひとつのテンソルである。」
ワイルは、計量の本質をこう言い放つ!
「質量はその本質をかえりみれば、一種の長さである。」
ん~...
「幾何学的な、また物理学的な量はすべて、スカラーか、ベクトルか、あるいはテンソルのいずれかである。このことこそ、これらの量を内包している空間の数学的性質を物語る。」
ん~...
すべての物理量を長さで規定できるような幾何学を想定することが可能ということか。時間も長さで規定できるといえばそうだけど、時間の意味するものはその瞬間の状態にある。座標系で言えば、位置情報に意味がある。少なくとも人間の認識空間では、そうだ。ワイルは、空間の構造に対して、群論的な連続体をイメージさせようと仕掛けてくる。ガリレオ = ニュートン群からローレンツ = アインシュタイン群といったイメージを...
さらに、「距離多様体」という概念を持ち出して、アフィン的に接続されたアフィン接続多様体なるものを提示している。
確かに、重力を空間の歪みで記述すれば、距離の概念が生じる。では、他の力はどうであろう。様々な物質が相互作用する空間とは、それぞれの力を距離で記述した多様体が並列的に、あるいは、階層的に接続されたような空間であろうか...
やはり、ん~...
「長さ」のことをゲージと言い、場の理論に「ゲージ理論」ってやつがあるが、どうやらこの書に由来するらしい。おいらの空間認識では、「長さ」という概念をどんなに抽象化したところで、やはり「長さ」なのである。そもそも「長さ」ってなんだ???数学の落ちこぼれは、ますます計量テンソルとの距離を感じるのであった...
2020-03-15
"シンメトリー" Hermann Weyl 著
小雨じめつく中、なんとも虚ろな気分で古本屋を散歩していると、数学を文学のように嗜める書に出会う。こいつぁ... 群論の入門書ではないか!いや、そこそこかじって余韻に浸る書であろうか。厳密な数学を空虚な気分で眺めると文学になるのか... ここに抽象化の真の意味が暗示されていそうな... なるほど、数学の詩人と謳われたヘルマン・ヴァイル。空虚な空間には、高度なシンメトリーが具わっているらしい...
しかしながら、よりずっと厳密に理解を要請する大著「空間・時間・物質」が、本書の横で手ぐすね引いて待ち構えてやがる...
尚、遠山啓訳版(紀伊国屋書店)を手に取る。
数学屋たちは、数と数字の違いにこだわる。数は概念を示す。だから、万物は数である... との信仰が輝く。数字はそれを表す記号。すなわち、ただの手段。この手段を文学作品のように記述できれば、概念化され、心に調和をもたらす。
シンメトリーとは、まさに人の心に調和をもたらす空間概念である。この空間において、芸術は左右対称を、論理学は二項対立を根本原理とし、数学はその双方を相手取る。哲学は、二律背反の原理に中庸を見い出そうとし、数学は、数の抽象化によって調和を発見しようとする。
数の抽象化で最高峰に位置づけられるのが、群論である。合言葉は... 自己同型の集まりは群をつくる!自己同型とは、代数的な性質を保ちながら写像すること。代数的な性質とは、例えば、四則演算の結果が同じ体にとどまるかを問うた時、自然数体であれば、負数や少数が生じて整数体や有理数体にはみ出てしまう。演算結果が同じ体にとどまるかどうかを探ることは、数の性質を知る上で重要な鍵となり、方程式の解が代数体にとどまるならば、その方程式には代数的な解が存在することを意味する。解の発見とは、自己同型群を観察しながら自己を見つめ直し、自我を再発見するってことか。そして本書の中に、数学は哲学である... との持論を再発見するのであった...
ニュートンは絶対空間や絶対時間なるものを論じたが、そんなものが存在するかどうかは知らんよ。ただ言えることは、相対的な認識能力しか持ち合わせない生命体には、到底及ばないってことだ。直接認識できないとすれば、概念によって認識できる気分にはなれそうか。何事にも気分は重要だ。特に、心の持ち主には...
左も右も、善も悪も、相対的な概念であって、人間社会によって都合よく決められた基準に過ぎない。はたまた対称性も非対称性も。美術史家ダゴベルト・フライは、こんなことを言ったとか...
「シンメトリーは静止と束縛をあらわし、非対称は、運動と弛緩をあらわす。前者は秩序と法則を、後者は不分明と偶然を、また、前者は、法則のもっている厳密性と強制を、後者は、生命と遊戯と自由とをあらわしている。」
シンメトリーとは比の調和によって支えられる、いわば主観の概念である。鏡映、平行移動、回転といった幾何学操作によって点集合を変換し、この同型を探る過程に数学美を見る。ここに絶対客観なるものは見当たらない。だから、客観性なのである。
客観性とは、自己同型群における不変性を問うことであろうか。普遍的な美を追求することであろうか。様々な変換によって、どこまで同型を保ちうるか、どこまで代数的性質を保ちうるか、そして、どこまで数学美を体現できるか、などと問えば、その先に、自己相似形を追いかけるフラクタル幾何学が見えてくる。フェリックス・クラインは言う、「幾何学は、変換群によって定義される。」と...
ただし、本書には「フラクタル」という用語は見当たらない。
ところで、おいらの物事を理解したかどうかの判定基準に、図形的なイメージが湧くかどうかという感覚がある。ユークリッド空間的な脳内マッピングとでも言おうか。子供の頃からそうなのだが、いくら記号や文字を操作しても、上っ面しか理解できていないような気がする。頭の中に浮かぶ自己鏡像との葛藤とでも言おうか。サヴァン症候群のダニエル・タメット氏は「数字が風景に見える」と共感覚能力について語ってくれたが、理解空間にもそのようなものがあるような気がする。
よく数学で用いられる連続体やら、よく物理学で用いられる空間やら、こうした用語は単なる概念、もっといえば、人間の想像の産物にすぎないのではなかろうか。あらゆる関連性も...
しかしながら、よりずっと厳密に理解を要請する大著「空間・時間・物質」が、本書の横で手ぐすね引いて待ち構えてやがる...
尚、遠山啓訳版(紀伊国屋書店)を手に取る。
数学屋たちは、数と数字の違いにこだわる。数は概念を示す。だから、万物は数である... との信仰が輝く。数字はそれを表す記号。すなわち、ただの手段。この手段を文学作品のように記述できれば、概念化され、心に調和をもたらす。
シンメトリーとは、まさに人の心に調和をもたらす空間概念である。この空間において、芸術は左右対称を、論理学は二項対立を根本原理とし、数学はその双方を相手取る。哲学は、二律背反の原理に中庸を見い出そうとし、数学は、数の抽象化によって調和を発見しようとする。
数の抽象化で最高峰に位置づけられるのが、群論である。合言葉は... 自己同型の集まりは群をつくる!自己同型とは、代数的な性質を保ちながら写像すること。代数的な性質とは、例えば、四則演算の結果が同じ体にとどまるかを問うた時、自然数体であれば、負数や少数が生じて整数体や有理数体にはみ出てしまう。演算結果が同じ体にとどまるかどうかを探ることは、数の性質を知る上で重要な鍵となり、方程式の解が代数体にとどまるならば、その方程式には代数的な解が存在することを意味する。解の発見とは、自己同型群を観察しながら自己を見つめ直し、自我を再発見するってことか。そして本書の中に、数学は哲学である... との持論を再発見するのであった...
ニュートンは絶対空間や絶対時間なるものを論じたが、そんなものが存在するかどうかは知らんよ。ただ言えることは、相対的な認識能力しか持ち合わせない生命体には、到底及ばないってことだ。直接認識できないとすれば、概念によって認識できる気分にはなれそうか。何事にも気分は重要だ。特に、心の持ち主には...
左も右も、善も悪も、相対的な概念であって、人間社会によって都合よく決められた基準に過ぎない。はたまた対称性も非対称性も。美術史家ダゴベルト・フライは、こんなことを言ったとか...
「シンメトリーは静止と束縛をあらわし、非対称は、運動と弛緩をあらわす。前者は秩序と法則を、後者は不分明と偶然を、また、前者は、法則のもっている厳密性と強制を、後者は、生命と遊戯と自由とをあらわしている。」
シンメトリーとは比の調和によって支えられる、いわば主観の概念である。鏡映、平行移動、回転といった幾何学操作によって点集合を変換し、この同型を探る過程に数学美を見る。ここに絶対客観なるものは見当たらない。だから、客観性なのである。
客観性とは、自己同型群における不変性を問うことであろうか。普遍的な美を追求することであろうか。様々な変換によって、どこまで同型を保ちうるか、どこまで代数的性質を保ちうるか、そして、どこまで数学美を体現できるか、などと問えば、その先に、自己相似形を追いかけるフラクタル幾何学が見えてくる。フェリックス・クラインは言う、「幾何学は、変換群によって定義される。」と...
ただし、本書には「フラクタル」という用語は見当たらない。
ところで、おいらの物事を理解したかどうかの判定基準に、図形的なイメージが湧くかどうかという感覚がある。ユークリッド空間的な脳内マッピングとでも言おうか。子供の頃からそうなのだが、いくら記号や文字を操作しても、上っ面しか理解できていないような気がする。頭の中に浮かぶ自己鏡像との葛藤とでも言おうか。サヴァン症候群のダニエル・タメット氏は「数字が風景に見える」と共感覚能力について語ってくれたが、理解空間にもそのようなものがあるような気がする。
よく数学で用いられる連続体やら、よく物理学で用いられる空間やら、こうした用語は単なる概念、もっといえば、人間の想像の産物にすぎないのではなかろうか。あらゆる関連性も...
登録:
投稿 (Atom)
