文字通り「人間的知性の模倣」を試みた第2世代人工知能。そのうち「一般に鳥は飛ぶが、ペンギンは飛ばない」といった知識の構造を探り当て様としたフレーム問題へのアプローチはオブジェクト志向概念の大源流の一つになったと考えられています。
オブジェクト指向(object-orientation) - Wikipedia
ソフトウェア工学構想の一つであり、ソフトウェア設計とプログラム記述の際に用いられる考え方あるいは概念(コンセプト)である。修飾語として用いられるobject-orientedは「オブジェクト指向の」という意味を持つ複合形容詞であり、修飾対象がオブジェクト指向に基づいていること、あるいはオブジェクト指向に関連することを意味する。またオブジェクト指向プログラミングオブジェクト指向に基づいたプログラミングスタイルをObject-Oriented Programmingの頭文字をとってOOPと略す事もある。
特にコンピュータプログラミング分野におけるオブジェクト指向のエッセンスおよびコンセプト自体は、もともと1962年に公開されたSimula Iと、その成功を受けて開発されたSimula 67で導入されたクラス機構を発端とする。のちにSimulaの影響を強く受けたビャーネ・ストロヴストルップのC++と、SimulaのほかにLISPの影響を強く受けたアラン・ケイのSmalltalkによってオブジェクト指向が再定義された。理想的なオブジェクト指向本来の形態を正しく表現しているのは後者のSmalltalk系統のほうだと評されていたが、20世紀後半当時の計算機資源(CPU処理能力やメモリ容量など)の問題や、理論より実務上の利便性を重視する開発現場の事情から、より簡便な設計および少ないリソース下でもオブジェクト指向プログラミングのための機能を「クラス機構」を活かして実現できるC++系統のほうが主流となった。
ビャーネ・ストロヴストルップが提唱したC++系統のオブジェクト指向
Simulaの理念を直接的に受け継いだ。以下はSimula由来のクラス機構を根幹とする主な三大要素となる。
- カプセル化 (encapsulation)…オブジェクトのデータと、データに関連する振る舞い(操作、関数あるいはメソッド)をひとまとめにすること、またそれらに対して外部からのアクセスを制御・限定すること。アクセス権限(可視性)の種別はプログラミング言語によって異なる。
- 継承 (inheritance)…派生元オブジェクトに任意のデータとメソッドを追加する形で派生先オブジェクトを作る方式(部品→全体)と、オブジェクトを複数の階層に分解して他オブジェクトと共有できる階層を派生元にする方式(全体→部品)の二通りの考え方がある。継承によりデータ構造およびコードの再利用と拡張を可能にする。クラスベースのオブジェクト指向では、派生元オブジェクトのデータ型はスーパークラスあるいは基底クラスなど、派生先オブジェクトのデータ型はサブクラスあるいは派生クラスなどと呼ばれる。派生クラスのインスタンスはまた基底クラスのインスタンスとしても扱えるようになる(リスコフの置換原則)。継承により、後述の多態性を実現することができるようになる。
- 多態性 (polymorphism) …任意のメソッドの呼び出し時に、メソッドが属する実際のオブジェクトの種類(クラス)によって呼び出し先の実装コードが選択され、処理内容が変化する性質。通例、実行時の型(動的な型)に応じて呼び出されるコードが決定される「動的な多態性」のことを指す。静的型付け言語において、メソッドの実引数として渡すオブジェクトの型に従って、呼び出されるメソッドが選択される多重定義(オーバーロード)や、ジェネリックプログラミングにおいて、型引数に応じて生成されるコードが変化するパラメータ多相なども多態性の一種と見なされる。これらは「静的な多態性」に分類され、実行時ではなくコンパイル時に動作が決まる。
なお、ビャーネ・ストロヴストルップ自身は、広義の「オブジェクト指向」として、以下に列挙する要素をプログラミング言語または技法が直接的にサポートすることを要件として提案している。これにはC++、Simula、Smalltalkなど多くの言語が含まれることになるが、C言語やFortran 4、Pascalといった古典的な言語は除外される。
- 抽象化 (abstraction)
- 継承 (inheritance)
- 実行時の多態性 (run-time polymorphism)
のちにクラスベースオブジェクト指向の欠点を克服するためにプロトタイプベースオブジェクト指向も考案されたが、基本的な方向性に大きな差異はない。
アラン・ケイが提唱したSmalltalk系統のオブジェクト指向
1970年代から研究開発が進められていたメッセージパッシング (message passing)
の仕組みを主体とするSmalltalkの構想は以下の6つのアイディアに体系化されている。
- すべてはオブジェクトである。
- オブジェクトはメッセージの送受信によって通信する。
- オブジェクトは自身の記憶領域 (memory) を持つ。
- すべてのオブジェクトはクラスのインスタンスである。
- クラスはそのインスタンス群のための共有された振る舞い (behavior) を持つ。
- プログラムリストを評価するために、制御は最初のオブジェクトに渡され、残りはそのメッセージとして扱われる(LISP風の普遍構文 (universal syntax) を暗示)。
こうしたオブジェクトを中心にしてシステムを組み立てていく考え方がSmalltalkのオブジェクト指向である。
- 従来のサブルーチンコールの形態を変えたものであり、基本はバイトデータの送受信でメソッド名とパラメータ値およびリターン値をやり取りするという仕組みだった。このバイトデータの羅列が「メッセージ」と呼ばれ、大抵は先頭の伝言名と後続の引数名&引数値の配列で構成された。
- オブジェクトのレシーバー関数が引数として渡されたメッセージを読み込み、オブジェクト内部でそれに準じた処理を行い、結果をリターンした。レシーバーの仕組みは結果的に「カプセル化」を実現できた。
- オブジェクト内部での自由自在な処理実装によるリターンはこれも結果的に「多態性」を実現できた。この多態性が示す多重ディスパッチないし動的ディスパッチを円滑に実装するために、クラス構造定義を自由に操作できる「リフレクション」の機能が備えられた。
なお、Smalltalk開発者の一人であり、オブジェクト指向開発環境のパイオニアと見なされているアラン・ケイは「オブジェクト指向という用語を作り出したのは自分だが、これは悪い選択だった。なぜならば、メッセージ送信のもっと重要なアイディアを十分強調していない。」というコメントを残している。
この様にSmalltalkが主体とするメッセージングは堅牢なカプセル化と高度に柔軟な多態性を自然に表現できる仕組みで、それに対しC++やJavaに見られる「クラス機構」と継承をベースにした同様の機能の実現はトリッキーと言えた。しかし、実際には「クラス機構」重視の、言わば亜流のほうがオブジェクト指向の主流となってしまう。アラン・ケイは「自分自身もSmalltalkの大ファンではない。とはいえ、今日のたいていのプログラミングシステムに比べれば好ましいものだが。」とも述べている。
“オブジェクト指向”の意味を本当に理解するには、この概念の始まりを振り返ることが必要です。最初のオブジェクト指向言語はSimulaという言語で、1960年代に登場しました。オブジェクト、クラス、継承とサブクラス、仮想メソッド、コルーチンやその他多くの概念を導入した言語です。おそらく最も重要なのは、データとロジックが完全に独立したものであるとする、当時では全く新しい考え方をもたらしたことでしょう。
Simula自体には馴染みがない方も多いかもしれませんが、Simulaからインスピレーションを得たとされるJavaやC++、C#、Smalltalkといった言語は皆さんよくご存知でしょう。さらにそこからインスピレーションを得たものとしてObjective-CやPython、Ruby、JavaScript、Scala、PHP、Perlなど様々な言語があり、Simulaは現在使用されているポピュラーな言語のほぼ全てに影響を与えたとも言える言語なのです。Simulaのもたらした新たな考え方はすっかり主力となり、いまやオブジェクト指向以外でコードを書いたことがないプログラマの方が多いほどです。
基準となる定義が存在しないので、議論にあたり私が1つ定義を提唱したいと思います。
オブジェクト指向システムは、コードとデータとしての構造プログラムではなく、”オブジェクト”という概念を用いてこの2つを統合します。オブジェクトは状態(データ)と振る舞い(コード)を持つ抽象データ型なのです。
初期の実装には継承とポリモーフィズムが備わっており、そこから派生した言語も事実上全てその機能を採用しているため、オブジェクト指向プログラミングを定義する際にはこれらの機能を持つことが必要条件とされるのが一般的です。
推論中の状況の推移において,変化しない事象,すなわち枠組み(フレーム)をどのように表現し,取り扱うかという問題。
人工知能の分野ではしばしば,ある状況を出発点とし,定められたルールに従って推論を進め,その結果を求めるという作業をコンピュータに行なわせる。一般に,不変な事象も含めたすべての状態を考慮して推論ルールを書く場合,ルールの記述は非常に複雑になる。一方,変化した事象だけをうまく管理して推論を進めようとした場合,推論の方式が複雑になる。フレーム問題では,この相反する二つの複雑さを,いかにフレームの表現を工夫して解消するかが争点になる
人間の記憶のなかでは,動物,機械などの特定の概念ごとに対応する枠組み(フレーム)が形づくられ,物事の理解を助けているとする理論。
1975年にマービン・ミンスキーが提唱。簡単な例をあげると,動物であれば,「自発的に動ける」「自分の種を増やせる」などの具体的な項目が,動物を記憶するフレームに関連づけられている。そこに,(1) 外部から「ネコは自分で動ける」という情報が入ってくると,(2) 記憶のなかにしまわれているフレーム群と照合を行ない,(3) 動物に関するフレームを取り出し,(4) ネコは動物であることが理解できるとするもの。
直訳的には「枠組み」「骨組み」といった意味で、文脈によってさまざまな内容を指し示す便利な言葉である。
近年、その重要性はますます増し、Javaの急激な普及によって、AWTやJavaBeansのような新しいフレームワークが広まりつつある。ユーザインターフェースや分散処理のような技術分野で、多くのフレームワークが商品化され、一方、特定のアプリケーションのためのフレームワークは、その大部分が各企業で非公開の財産として管理されている。
その定義
「抽象クラスの集合とそのインスタンス間の相互作用によって表現された、システム全体または一部の再利用可能な設計」。ここでいう抽象クラスとは、インスタンスが存在せず、スーパークラスとしてだけ使われるクラスである。
オブジェクト指向プログラミングとの関係性
これを用いる事で対象となるシステムの抽象的なモデル、直面する問題を解決するための設計、そしてその設計に基づく大部分の実装が再利用可能になる。 また、IT関連で使われる場合には、あるサービスの土台の部分を構成するソフトウェアシステムやアーキテクチャも含む。単体のソフトウェアが提供するものではなく、複数のソフトウェアシステムが複合して構成するようなある程度大規模なものの場合にそう呼ぶのが一般的である。
多くの企業では製品を出荷すまでの時間を短縮する目的でフレームワークを作成している。また、フレームワークを用いた開発を行っていると、フレームワークがもたらす統一性も費用、時間の削減とともに重要であることが解る。同じグラフィカルユーザインタフェース(GUI)のフレームワークを使ったアプリケーションは、見かけや操作がよく似たものになる。またネットワークインターフェースを再利用できれば、すべてのアプリケーションが同じプロトコルになる。さらに、アプリケーションの統一性によって、保守を行うプログラマが新しい学習をすることなく、あるアプリケーションから次のアプリケーションに移れることで、保守に必要な費用を削減できることになる。以上のことが主な目的として挙げられる。
- 経験豊富な開発者の解消…対象となる問題領域に関する分析、設計、実装を再利用することができる。つまり、経験豊富な開発者が持つ知識や技術を、複数の開発者の間で共有することができる。
- 経験の浅い開発者の支援…そのフレームワークで規定された手順にしたがって開発を進めることになる結果、経験の浅い開発者でも、効率よく開発が進められることが期待できる。
- 開発工数の削減…フレームワークを用いない場合と比べ、少なくとも開発の絶対量を減らすことができる。
ただし以下の様な課題も存在する。
Development Effort(開発能力)
複雑なソフトウェアを開発するのが難しいのと同様に、品質が高く、拡張性を持ち、再利用可能なフレームワークを開発することは非常に困難であり、開発努力を怠ってはいけない。
Learning Curve(学習曲線)
フレームワークを効率的に用いるためには、その利用法の習得に膨大な時間を費やさなければならないことがある。例えば、フレームワークの実践的な使用法を学ぶために、多くのトレーニングを受ける必要がある。そうした学習に費やした投資は、複数のプロジェクトをこなして初めて元がとれるものであり、場合によっては十分な効果が得られないケースも起こりうる。
Integratability(統合性)
複数のフレームワークを統合してアプリケーションを開発することが困難な場合がある。通常、アプリケーションを開発する際に、複数のフレームワークやクラス・ライブラリを用いることは珍しくない。しかし、フレームワークの中には、それ自体の拡張は可能なものの、他のフレームワークと連携に関しては全く考慮されないものがある。
Maintainability(保守性)
アプリケーションに対する要求は変化するものだが、それに合わせてフレームワークに対する変更要求が発生する場合がある。逆に、フレームワークの変更の合わせて、それを利用しているアプリケーション側でも変更を行わなくてはならない場合がある。
Efficiency(効率性)
フレームワークを用いることによってシステムの拡張性が得られるが、その代償として、処理を抽象化した中間層が導入されることが多い。これにより、使用メモリ・サイズやパフォーマンスに関する問題が引き起こされる可能性がある。
そう、現時点におけるオブジェクト指向プログラミング(OOP)におけるフレームワークや名前空間といった抽象層の管理は、イマヌエル・カント(Immanuel Kant、1724年〜1804年)が想定した「カテゴリー」概念の神妙な働きに全く届いていないのです。
人間の判断に客観性と真理性を与える条件を、カントはカテゴリーのうちに求めようとする。判断の働きを分析することで作られたカテゴリーは、まず人間のさまざまな判断を可能にする超越論的な役割をはたすとカントは考える。 https://t.co/riNz9CosVT
— armchair anthroposop (@longtonelongton) January 22, 2019
主語と述語の関係は、論理的なものとして、純粋でアプリオリなものである。誰もがこの文の形式で判断するからであり、これは経験的な命題よりも「前にある」からアプリオリなものであり、経験的な内容にかかわることがないために「純粋な」ものである。 https://t.co/P36vn3kYna
— armchair anthroposop (@longtonelongton) January 22, 2019
この純粋でアプリオリな概念は、経験に先立つものであり、いわば人間の認識を可能にするものである。 https://t.co/R4gVCrRg3b
— armchair anthroposop (@longtonelongton) January 22, 2019
これは思考と判断の構造そのものを作り出す超越論的な機能を果たしているのである。 https://t.co/4LCi5xHPuM
— armchair anthroposop (@longtonelongton) January 22, 2019
これがカテゴリーの第一の重要な役割である。 https://t.co/RgtJLqO0dL
— armchair anthroposop (@longtonelongton) January 22, 2019
カテゴリーの四大特徴「経験に依拠しないから純粋」「経験に先立つからアプリオリ」「思考や判断そのものを可能にするから超越論的」「人間の思考の客観性を確保するから経験判断的」。
カテゴリーにはこのように経験に依拠しないから純粋で、経験に先立つからアプリオリで、思考や判断そのものを可能にするから超越論的なものであるという重要な役割だけでなく、人間の思考の客観性を確保するという大切な役割をはたすとカントは考える。 https://t.co/xUgOjbuR2Y
— armchair anthroposop (@longtonelongton) January 22, 2019
この第二の重要な役割について、知覚判断と経験判断の違いから考えてみよう・・・
— armchair anthroposop (@longtonelongton) January 22, 2019
「人間の思考の客観性を確保する」というカテゴリーの第二の重要な役割。 https://t.co/68pPp1hE20
・・・「この部屋は暖かい」のような判断は、たしかに「部屋」とか「暖かさ」などの概念を使って、命題として示された判断であるが、これは主観的なままにとどまる判断に過ぎず、カントはこうした判断を「知覚判断」と呼ぶ。 https://t.co/cIR4l9y0Bb
— armchair anthroposop (@longtonelongton) January 23, 2019
これにたいして、人間の思考の構造そのものによって規定されているような判断、すなわち知性の純粋な概念が働いて客観的なものとなった判断を「経験判断」と呼ぶ。 https://t.co/fSOKmCVKaf
— armchair anthroposop (@longtonelongton) January 23, 2019
たんに他者が同意するかどうかは問題とされないのである。 https://t.co/pwdzxfTP29
— armchair anthroposop (@longtonelongton) January 23, 2019
・・・「太陽が石を照らすと、石は暖かくなる」というのは知覚判断である。・・・その場に居合わせたすべての他人がきっと同じ判断をするに違いない。しかしカントによるとこの他者の同意も、個別な知覚判断の集まりに過ぎず、普遍的なものではない。 https://t.co/F0S8VIHB66
— armchair anthroposop (@longtonelongton) January 23, 2019
それが普遍的なものとなるためには、そこに原因のカテゴリーが働く必要がある。そして因果関係を示すものとして、「太陽が石を暖めた」と表現すると、「この総合的な判断は、必然的で普遍妥当的なものとなり、したがって客観的になり、知覚から経験に変えられる」のである。 https://t.co/G02QXQk3IZ
— armchair anthroposop (@longtonelongton) January 23, 2019
・・・これは「総合」と呼ばれる営みであり、この働きをする能力は〈想像力〉と呼ばれる。・・・しかしここで多様な像に働きかける想像力は、「人間の魂(ゼーレ)の盲目的ではあるが不可欠な機能であって、この機能なしでは人間は認識することができない」ものである。 https://t.co/hB0ObXBWYA
— armchair anthroposop (@longtonelongton) January 23, 2019
この想像力は、直観した像を「総合」するという意味では感性にかかわり、それを認識にもたらす能動的な働きをするという意味では知性にかかわる奇妙な能力である。 https://t.co/R0vrBhMgkA
— armchair anthroposop (@longtonelongton) January 23, 2019
それだけではなく、今後さまざまな場所でこの想像力の問題が潜在的にも顕在的にも姿をみせることになる・・・
— armchair anthroposop (@longtonelongton) January 23, 2019
ぼくが石川文康訳で遭難したのは、このカント独特の〈想像力〉の問題だったように思う。ここでわからなくなった。この解説は助かります。 https://t.co/bY2tQkde8Y
・・・認識が生まれるために必要なのは「この多様なものを想像力が”総合する”ことである。しかしこれではまだ認識は生まれない」・・認識が生まれるためには、知性と概念が働く必要があるのである。 https://t.co/4A38he1o3Q
— armchair anthroposop (@longtonelongton) January 23, 2019
それでは「知性(Intelligence)」とは、「知識(knowledge)」とは何か?
『論理学』の第四の段階は、言語による認識であり、ここにすでに言語化された概念が働いているとみられるが、この問題は『純粋理性批判』では明示的には考察されない。 https://t.co/luKCqdhVMr
— armchair anthroposop (@longtonelongton) January 23, 2019
ここで考察されるのは、想像力によって総合されたものに統一を与える機能であり、これが知性である。 https://t.co/l3vFCSyzk3
— armchair anthroposop (@longtonelongton) January 23, 2019
トートロジー(tautology)はいつでも真の文
「今日は晴れているか,あるいは晴れていないかである」という文は、「今日は晴れている」と「今日は晴れていない」が「あるいは」という接続詞で結ばれ、「PあるいはPでない」という形をしている。この文は情報を何も伝えてくれないが、誤ってはいない。それどころかいつでも真である。いつでも真なるトートロジーには「PかつPでないことはない」や「Pならば、P」がある。
分析的(analytic)と総合的(synthetic)
「どんな独身者も結婚していない」という文はいつでも真である。だが、この文はトートロジーではないし、単なる同語反復でもない。しかし、独身と結婚していないことが同義であることを知っていれば、同じものを代入しても結果は同じという原則に従って、「どんな独身者も独身者である」というトートロジーが得られる。このような「広義の」トートロジーは「分析的(analytic)」と呼ばれ、分析的でない文は「総合的(synthetic)」な文と呼ばれる。
アプリオリな(a priori)知識とアポステリオリな(a posteriori)知識
トートロジーや分析的な文は私たちの経験に頼って真偽を決める必要がない。一方、総合的な文、例えば「日本の次の首相はAである」は普通の人には予め確信をもって真偽を言うことができない。そこで、分析的な文のように経験を必要とせずにその真偽がわかる文の内容を「アプリオリな(a priori)」知識、総合的な文のように経験を必要とする文の内容を「アポステリオリな(a posteriori)」知識と区別することになった。これは分析的,総合的が論理・言語レベルでの区別であるのに対し、私たちがどのように知識を獲得するかという認識レベルでの区別になっている。
必然的と偶然的
さらに、トートロジーや分析的な文はいつでも真で,その内容は必然性をもっているようにみえ、総合的な文の内容は偶然的で、世界の状況に応じて真偽が変わるようにみえる。そこから、文が指示する事態が必然的,偶然的と分けられることになる。いつでも必ず真である事態が「必然的」、そうでない事態が「偶然的」であり、これは存在レベルの区別である。
経験論と観念論
こうして、「分析的-総合的」、「アプリオリ-アポステリオリ」、「必然的-偶然的」という三種類の区別が手に入る。「分析的=アプリオリ=必然的」、「総合的=アポステリオリ=偶然的」という等式は独断のまどろみだと断じたのがカントだった。そして、カントは密接な対応関係はあるがそれらが微妙に一致しない点を自らの議論に巧みに利用した。
カントは経験論と観念論の対立を煽るのではなく、その両者の良いところを取り出して、それらを接続させることによって、観念論のもつ独断を避け、経験論が不可知論に陥らないように総合した。観念論はアプリオリな分析判断を重視し、経験論はアポステリオリな総合判断を重視する。
「アプリオリで総合的な判断」
ところが、判断の中にはアプリオリで、総合的な判断がある。例えば、5+7=12という数式。5、7、12という三つの数字には何ら必然的な繋がりがなく、従って、この式は総合的な判断、とカントは考える。一方、この式はアプリオリな真理を表しているとカントは考える。カントによれば、人間の認識の中には経験的でありながら、つまり、総合的な認識でありながら、アプリオリなものがある。そのアプリオリな性格が、人間の認識をヒュームの不可知論から救う切り札になると彼は考えたのである。
カントが「アプリオリな総合判断」に注目したのは、経験から得られる知識=総合的な知識の中に普遍的で必然的な真理があることを論証するためだった。それによって、因果関係についてのヒュームの結論を覆し、人間の経験的な知識は必然的な真理に達することができると主張しようとした。ヒュームはアプリオリな判断は分析的、アポステリオリな総合判断は偶然的と考えた。だが、カントは個別の経験の中にもアプリオリな判断があると考え、それをアプリオリな総合判断と呼んだ。
カント以前のアプリオリな知識は個別の経験を越えた知識のことで、数学命題もアプリオリな真理とされていた。数学命題がアプリオリなのは、演繹的に証明され、個別の経験とは無関係だからである。分析的な命題はすべて真だが、カントは総合的な命題にもアプリオリなものがあると考えた。人間の経験的認識の中には、外部世界から情報を得る経験的知識と、人間の生得的能力を使って情報を処理して得られる知識がある、とカントは考えた。アプリオリな総合判断の例として数学の命題を挙げる。例えば、「7に5を加えると12になる」という命題は「7を5に加えるべきであるということは、わたしはすでに7と5の和という概念において考えているが、この和が12であるということは、この概念のうちではまだ考えられていなかった」のであるから、この命題は分析的ではなく総合的だと述べる。こうして、カントは「算術の命題はすべて総合的である」と結論する。同じように「直線は、二つの点を結ぶ最短距離である」という命題も総合的な命題。なぜなら、「真っ直ぐなという概念には、量の概念はまったく含まれず、質の概念が含まれるだけだから」。直線の概念に最短距離と言う概念を結びつけるのは、総合的な判断だとカントは言う。
数学だけでなく、物理学も「アプリオリな総合判断を自らの原理として含んでいる」とカントは言い、質量保存の法則や作用・反作用の法則を例にする。このように、数学や物理学の領域にアプリオリな総合判断が指摘できれば、経験的な領域においてもアプリオリな総合判断があると指摘できる。カントはアプリオリな総合判断が人間の経験的な知識に普遍性と必然性をもたらす根拠になっていて、その結果、ヒュームの不可知論から解放されると考えた。こうして、数学がアプリオリで総合的な知識であり、その数学を使って表現される物理学もアプリオリで総合的な知識を含み、それが因果的世界の必然性を保証してくれ、不可知論に陥ることはなくなる。
ポパーの反証可能性論が「アプリオリで総合的な判断」にもたらす新たなる試練
しかしながらその後、幾何学世界には非ユークリッド幾何学や相対性理論が登場して「直線は、二つの点を結ぶ最短距離である」という命題が必ずしも真ではなくなり、因果的決定論も量子力学と結びつくと誤った予測を生み出すことがわかった。
ユークリッド幾何学は相対性理論と結びつくと、誤った予測をすることが発見された。因果的決定論も同様に、それが量子力学と結びつくと誤った予測を生み出すことがわかった。上の命題Hがここではユークリッド幾何学,あるいは因果的決定論である。命題Hが誤りを生み出す理由は経験的な相対性理論と量子力学の理論にある。実際、相対性理論では非ユークリッド幾何学が、また量子力学では非決定論がそれぞれ成立しているから、命題Hとは異なる内容を主張している。異なるだけでなく、ユークリッド幾何学と相対性理論、因果的決定論と量子力学は両立しない。相対性理論や量子力学を正しいとする限り、ユークリッド幾何学も決定論もアポステリオリに偽であることになる。
こうして私たちはまたヒュームに逆戻りとなるが、それを20世紀に声高に主張したのがポパーで、経験的理論についての「反証可能性」はアプリオリな総合命題の真っ向からの否定である。
実際の実証科学の世界は、平然と以下を許す事で「真理保守(Truth maintenance)」の要件を満たしてきたのです。
- 「ユークリッド幾何学(Euclidean geometry)」の目的を「平面や歪みのない空間の図形の性質の探求」と再定義する事による「(曲面や歪んだ空間の図形を探求する)非ユークリッド幾何学(non-Euclidean geometry)」の派生。
- 「ニュートン力学(Newtonian mechanics)」「巨視的なスケールで、かつ光速よりも十分遅い速さの運動を扱う際の、無矛盾・完結的な近似理論」と再定義する事による「相対性理論(物体の速さが光速よりも十分遅い・重力が十分に小さい(地球レベル)の条件下ではニュートン力学で十分近似される)」や「量子力学(対象物体の質量を大きくした極限では、ニュートン力学の運動方程式の解と一致)」の派生。
というより、それ以前の段階で人類は既に以下の様な「コペルニクス的展開」の原義そのものを経験済みだったのです。
欧州の科学実証主義はイタリア・ルネサンス晩期にパドヴァ大学やボローニャ大学の解剖学部で流行した新アリストテレス主義、すなわち「実践知識の累積は必ずといって良いほど認識領域のパラダイムシフトを引き起こすので、短期的には伝統的認識に立脚する信仰や道徳観と衝突を引き起こす。逆を言えば実践知識の累積が引き起こすパラダイムシフトも、長期的には伝統的な信仰や道徳の世界が有する適応能力に吸収されていく」に始まるとされています。まさにこれこそが伝統的価値観を覆す事を一切許さない全人格的権威主義の完全打倒を目指す「地動説の世界」。
ガリレオ・ガレリイが地動説の提唱を開始したのもまた、そうした空気の蔓延するパドヴァ大学においてでしたが、次第にイエズス会設立に象徴される教皇庁の魔の手が迫ってきます。そしてガリレオ・ガレリイが餌食にされるとトマス・ホッブスやデカルト撮った知人達も用心深くなり、そのせいで欧州における科学実証主義の歴史は(三十年戦争の泥沼化によって国王と教会の権威が再び地に落ちた)17世紀中旬まで足踏み状態が続く事になるのです。これぞまさに伝統的価値観を覆す事を一切許さない「天動説の世界」。
17世紀になって望遠鏡が発明され、天動説に不利な観測結果が次々ともたらされる。しかし当時は望遠鏡を錬金術師が使う非科学的な呪具であると考える者が多く、また依然として残る宗教的圧力によって天動説を捨てる学者はなかなか現れなかった。天動説の優位性は、太陽の周りを地球が公転するなら月は軌道を保てずに飛んで行ってしまうであろうという批判に対し、当時の地動説が反証できなかった点にあった。しかし、1610年にガリレオ・ガリレイが望遠鏡を用いて木星に衛星があることを発見した。 この発見により、天動説は木星の月が飛んでいってしまわない理由の説明に窮した。
さらに、ヨハネス・ケプラーが惑星の運動は楕円運動であること(ケプラーの法則)を発見する。ケプラーの説は天動説やそれ以前の地動説モデルよりも遥かにシンプルに天体運行を説明でき、しかもケプラーの法則に基づくルドルフ表(天文表)の正確さが誰の目にも明らかになり議論は収束に向かった。恒星の年周視差が未だ観測できないという地動説モデルの弱点は、この大発見の前には些事でしかなかった。
ニュートンは、ケプラーの法則を支持する慣性の概念を始めとした運動の法則、および万有引力の法則という普遍的な法則を導きだした。これらの法則は天動説をとるにせよ地動説をとるにせよ大きな謎であった天体運動の原動力及び月が飛ばされない理由に回答を与えた。さらに、惑星に限らず、石ころから恒星まで、宇宙のあらゆる物体の運動をほぼ完全に予測・説明できる手段となった。これらの圧倒的な功績によって、地球中心説としての天動説は完全に過去のものとなった。
この二つの画像のうち、左はわかりやすくて、単に同心円をそれぞれの惑星のスピードに合わせて描いているだけです。正確には惑星は同心円ではなく楕円軌道ですが、まあそれはそれ。右はどうなっているのでしょう?
太陽を中心にして描くとそれぞれの惑星について距離と角度がありますが、それを地球を中心にした座標系に変換するということをしています。実際に地球上にいた場合、距離の変化は概ね明るさとして、角度は黄道上の場所として体感できます。
地球の動きに対して外惑星はゆっくりと動きますから、地球上でみたときには見かけ上の逆行が生じていて、そのせいで右側は非常に複雑にみえるのですね。
このアニメーションの美しいのは、描いているのは同じ現象なのに、視点を変えるだけでこれだけ違って見えること、そしてそれは数学的には単に座標変換として表現できる点です。べつに、地球のまわりにすべてが回転していると言ってもいいのです。でも地球中心の座標系で惑星の移動を表現するのに比べて、太陽中心にしたほうがなんとすっきりすることか。
人類と「(常にそれまで認識に用いてきた世界観の外側を跋扈し続ける)絶対他者」の関係は、常に以下のサイクルを描き続けてきた。
- 完全に認識外なので如何なる特別な反応も引き起こされない段階(しばしば全く別の現象の一部として認識されており、そちらの分野でのパラダイムシフトを契機に表面化してきたりする)。
- 対象の認識が始まるが、まだまだ黙殺や拒絶によって既存価値観を維持しようとする動きの方が大きい段階(対象要素を悪として恐れ戦ったり、迫害したり、あるいは真逆に蔑んで笑い飛ばし娯楽として消費しようとするほど、黙殺による心の平穏が保てなくなっていく)。
- 既存価値観が動揺し、その本格的組み直しが試行錯誤される時代(むしろパラダイムシフトによって心の平穏を取り戻そうとする動きが優勢となるが、同時に「絶対他者の代理人」を自称し、怪しいオカルト理論を駆使する詐欺師めいた山師連中の動きもまた活発化)。
- 既存価値観がの組み直しがほぼ完了し、それに組み込み得ず切り捨てられた要素が再び黙殺や拒絶の対象へと戻っていく段階(明治維新が達成されると、尊王攘夷志士はただの犯罪者として処刑される様になった。黒人公民権運動の相応の勝利はブラックパンサーやネーション・オブ・イスラムの様な過激なテロリストの切り捨てにつながった。男女平等の相応の進行は、ウルトラフェミニズムを過去のものにした。同性婚の容認は「バイセクシャル乱婚派」の再切り捨てにつながった)。
19世紀フランスの革命家ルイ・オーギュスト・ブランキ(Louis Auguste Blanqui、1805年〜1881年)は「真の反体制派は一切の勝利と無縁である。何故なら既存体制の転覆は、常に新たな反体制派に対する弾圧の開始しか意味しないのだから」と指摘している。そう「(常にそれまで認識に用いてきた世界観の外側を跋扈し続ける)絶対他者」は、時々その一部を放棄する事はあっても、決して滅し尽くされる事だけはないのである。
こうした時代変遷に(史上一度も覆った事がない普遍的パラダイムが存在するとする)カント流の「道徳律の定義」は完全に置き去りにされてしまったとも?