哲学的にシミュレーションとは実際には何ですか?

Dec 23 2020

宇宙はシミュレーションかもしれないという考えを誰もが聞いたことがあるでしょう。これは、私たちの宇宙であるプログラムを実行している「ベース」宇宙にコンピューターがあることを意味すると理解しています。しかし、この「シミュレーション」の考え方には明確な根拠が欠けているように思われます。私たちは、椅子とは何かを理解するのと同じように、直感的な方法でのみ「シミュレーション」の意味を理解します。私たちは「それを見るとそれを知っています」。しかし、「シミュレーション」の正確で正式な定義がなければ、シミュレーションに関するアイデアは私には正当ではないように思われます。不明確な直感だけに頼っている場合、シミュレーションについて、1つに含まれる確率や、1つに存在する意識の可能性など、確実に何かを言うにはどうすればよいでしょうか。

大まかに言えば、「シミュレーション」を行うには、まず何らかの物理 コンピュータが必要です。その場合、シミュレーションは、物理コンピューターが実装する正式なシステムになります。この正式なシステムの「構造」は、何らかの形で物理コンピュータ内に存在する必要があります。物理コンピューターとシミュレートされている正式なシステムとの関係をどのように厳密に(数学的に)説明できますか?のタイプのようです付随性が、どのように我々はより具体的なことができますか?

回答

2 tkruse Dec 25 2020 at 08:43

一般的なシミュレーションと基盤となる「ハードウェア」との間に特別なマッピングは必要ありません。シミュレーション時間とリアルタイムの時間的相関関係も、シミュレートされた世界の一部とハードウェア処理ユニットの一部の間の相関関係もありません。

シミュレーションは単なる一連の計算であり、十分な時間があれば、人間が紙の上で実行できます(たとえば、コンピューター自体を構築する前に、まず紙の上でシミュレーションする必要がありました)。

特定のシミュレーションには、ハードウェアの一部とシミュレートされたモデルの一部の間にマッピングがある場合がありますが、これは必ずしも必要ではありません。典型的な(離散)シミュレーションは、シミュレートされたモデルがメモリに格納され、処理ユニットがメモリからシステムインスタンスをフェッチし、次の状態を計算し、その次の状態をメモリに格納して、市販のハードウェアで実行されます。シミュレーションの原子部分にはID番号が割り当てられており、質問で述べた2番目の問題を簡単に解決できます。

特別な種類のシミュレーションは、例として、コンピュータゲームや航空機のパイロットの訓練に使用される種類の「リアルタイムシミュレーション」です。哲学的には、これらは特に重要ではなく、ユーザーの娯楽のために高速で実行する必要があります。

そして、最も一般的に言えば、哲学の目的のために、シミュレーションとしての私たちの現実がコンピューターによって実行されるか、魔法によって実行されるかは重要ではありません。どちらの場合でも、私たちがシミュレーションの一部であることを検出し、ホストの現実を「調べる」ことができるかどうかという重要な問題は同じです。

オペレーター、デザイナー、オブザーバーについて:哲学的には、たとえ私たちの現実がシミュレートされたとしても、私たちの現実のデザイナー、オペレーター、オブザーバーを想定する必要はありません。ホストの現実では、専用のコンピューターを構築、開始、操作する必要なしに、自然に発生するシミュレーションが常に発生する可能性があります。私たち人間は特定の方法でシミュレーションを実行するため、ホストの現実は同様の方法でシミュレーションとして私たちの現実を実行する必要があると考えるのは哲学的に欠陥があります。

1 JD Jan 06 2021 at 14:31

簡潔な答え

大まかに言えば、「シミュレーション」を行うには、まず何らかの物理コンピュータを用意する必要があります...物理コンピュータとシミュレートされる正式なシステムとの関係を厳密に(数学的に)説明するにはどうすればよいでしょうか。

コンピューターでの正式なシミュレーションについて話している場合は、コンピューターシミュレーションについて話していることになります。コンピュータが実際にシミュレーションを適用する方法の優れた例は、他のソフトウェアおよびハードウェアマシンをエミュレートすることであり、仮想マシンとして知られています。コンピュータのハードウェアとソフトウェアの形式化は、形式言語やオートマトン、形式システム、計算可能性理論への対応などの主題で議論されているトピックです。フルタイムの学者が彼女の心を包み込むことができるよりも多くの形式主義があります。

長い答え

計算とデジタルコンピュータ

計算にはいくつかの定義があります。

計算の性質に関する情報哲学の質問を参照してください

ただし、フォンノイマンアーキテクチャやハーバードアーキテクチャに構築されたものや、チューリング等価の計算モデルに対応するものなど、デジタルコンピュータの最新の概念を呼び出す場合は、コンピュータモデルではなく、コンピュータシミュレーションを扱います。WPから:

コンピュータシミュレーションは、コンピュータ上で実行される数学的モデリングのプロセスであり、実世界または物理システムの動作または結果を予測するように設計されています。選択した数学的モデルの信頼性をチェックできるため、コンピューターシミュレーションは、物理学(計算物理学)、天体物理学、気候学、化学、生物学、製造における多くの自然システム、および人間のシステムの数学的モデリングに役立つツールになりました。経済学、心理学、社会科学、ヘルスケア、エンジニアリング。システムのシミュレーションは、システムのモデルの実行として表されます。これを使用して、新しいテクノロジーを探索して新しい洞察を得たり、分析ソリューションには複雑すぎるシステムのパフォーマンスを推定したりできます。1

すなわち、シミュレーションは、ソフトウェア、一般的に可能にするデータまたは状態および命令またはプロセスの組み合わせとして見られているコンピューティングプラットフォームを予測する物理システム哲学の信念を意味物理主義を。つまり、物理法則の証明理論的解釈を使用することが多い科学は、確立された科学理論をエンコードして、実験室での実践に適さない可能性のある自然現象についての実験を試みることによって行うことができます。これは、特にスタンフォード大学のFolding @ homeプロジェクトなどのタンパク質フォールディングの分散計算など、決定論的システムの順列を調べる場合に、多くの分野で非常に役立ちます。

CPUのコア

これらのシステムの形式的な性質に関して、理解する必要があるのは、CPUのコアにあるものであり、ソフトウェア命令の観点からはALUです。最終的に、ソフトウェアエンジニアの観点から(マイクロコードにアクセスできるコンピューターエンジニアとは対照的に)、すべてのプラットフォームは、最終的にオペコードで始まる一連のデータと命令のレイヤーで構成されます。

コンピューティングでは、オペコード1 ...は、実行する操作を指定する機械語命令の一部です。[原文のまま]オペコード自体に加えて、ほとんどの命令は、処理するデータもオペランドの形式で指定します。ハードウェアデバイスであるさまざまなCPUの命令セットアーキテクチャで使用されるオペコードに加えて、バイトコード仕様の一部として抽象コンピューティングマシンでも使用できます。

オペコードまたはマシン命令は、システムの処理プリミティブであり、主にCPU内のレジスタ内のデータに対して実行される算術演算および論理演算で構成されます。オペコードは、鈍いバイナリ形式では驚くほど小さな操作であるため、通常、アセンブリ言語以外のものを扱うプログラマはありません。しかし、多くの場合、コーダーはJavaやC#などの第4世代の言語と同じくらい洗練されたツールを作成します。

コンピュータと形式

フォンノイマンアーキテクチャは汎用コンピュータの一例であるため、形式的なものはありません。実際、シミュレーションとコンピューターの場合、めまいがするような形式の配列があります。ハードウェア設計の形式。OS設計の形式。プログラミング言語とコンパイラの形式。ソフトウェア設計の形式。論理および算術システムの形式。物理データを記述するための形式。

いくつか例を挙げると、コンピュータ言語は、人工的な言語仕様であるBNFによって抽象的に記述される場合があります。例えば:

<syntax>         ::= <rule> | <rule> <syntax>
<rule>           ::= <opt-whitespace> "<" <rule-name> ">" <opt-whitespace> "::=" <opt-whitespace> <expression> <line-end>
<opt-whitespace> ::= " " <opt-whitespace> | ""

次に、プログラミング言語の命令をオペコードに変換するコンパイラが構築されます。

しかし、おそらくプログラム自体はUMLで設計され、オブジェクト指向の設計原則に従ってJavaで記述されています。そして、それらの形式に加えて、数値解析、SQLストレージ、および物理エンジンを実装します。それらの一つ一つは、物理法則の形式主義を実行する最後のものを含めて、形式主義を含みます。それは多くの形式主義です。

計算機科学哲学

シミュレーションと計算に関して非常に重要な哲学的意味があり、おそらく最も重要なものの1つは、数学的形式と計算形式の間の同等性を示すカリーハワード対応です。

プログラミング言語理論と証明論では、カリー-ハワード対応(カリー-ハワード同形性または同等性、またはプログラムとしての証明と提案-またはタイプとしての式の解釈としても知られています)は、コンピュータープログラム間の直接的な関係です。と数学的な証明。

論理と計算:カリーハワード同形性に関する哲学的視点を参照してください。

シミュレーションのもう1つの重要な側面は、カルテシアンの二元論など、物理的オントロジーと精神的オントロジーの関係について提起する質問です。心の哲学で最も有名な哲学的問題の1つは、サールによる中国語の部屋の議論です。人間の知性はサールの中国の部屋とどう違うのかを見てください。

最後に、コンピューターは現在、分子や気象システムなどの物理システムをシミュレートするためだけでなく、認識論や志向性自体の側面をシミュレートするためにも使用されています。実際、多くの哲学者が他の認知科学者と協力して、意識の側面をシミュレートするコンピューターを構築しています。コンピューター、人工知能、認識論を参照してください

1 RodolfoAP Jan 06 2021 at 14:41

体系的な観点から、シミュレーションはモデルを使用して動作を再現する試みです。

それが役立つ場合、シミュレーションは、既知の物理コンポーネントが何らかのテクノロジーに置き換えられるエミュレーションとは異なります。したがって、コモドール64エミュレーターは、物理的な古典的なコンピューターをソフトウェアに置き換えるものです。それはすべての機能を備えています。ただし、フライトエミュレーターを作成することはできません。これは、気候条件(現時点では実行できません)、自然の動作、およびおそらく乗務員の動作をエミュレートすることを意味するためです。したがって、エミュレータではなく、フライトシミュレータが見つかります。シミュレーションは、モデルに基づく再現の試みです。エミュレーションは、既知のコンポーネントの置き換えです。

シミュレーションに戻ります。だから、あなたはあなたの子供の前で老人であることをシミュレートすることができます(それはいくつかの答えが述べているように単なる計算ではありません)、あなたは特定のモデルを使用して気候条件のシミュレーションを実行することができます、あなたはフライトシミュレーションゲームをすることができます、セスナの飛行など

あなたが言及する特定のケースは、人間の行動のシミュレーションです。映画「マトリックス」では、コンピューター(そのように名付けられた)がシミュレーションを実行することができました。つまり、制御された条件下で人間の行動をシミュレートし、シミュレーション結果を人々の脳に投影することができました。

この映画は確かな論理を持っており、多くの人に、彼らが実際には存在しておらず、同じようなコンピューター、つまりシミュレーションに住んでいないかどうかを尋ねられました。アイデアは新しいものではありません。多くの人々は、エイリアンが私たちが存在し、住んでいる場所にコンピューターを作成したと推測しています。70年代に戻ると、私自身、私と人形遣い-神だけが存在する生き物であり、残りの人々はそのような神によって支配されている人形であるという考えを持っていました。

いずれにせよ、その考えは単なる推測であり、自己達成的な予言です。憶測を証明することはできません、

  • まず、シミュレーションの外部と対話できないため(パックマンのようなものは幽霊としか対話できず、私とは対話できません)、
  • 第二に、憶測は複数の形をとることができるからです。コンピューターはシミュレーションを実行していますか、ソリッドステートハードドライブですか?はい、一部の人にとっては、いいえ、他の人にとっては。

それは自己達成的予言です。なぜなら、それは私たちの経験(検証できない)を超える事実に基づいて私たちの存在(この場合は有効な前提となる)を説明するからです。これは単なる誤謬であり、結果を肯定します。宗教のように。

したがって、私たちがシミュレーションに住んでいるという考えは、映画ファンや技術オタクに適していることを除いて、どの宗教にも相当します。