ゲーデルマシンは、問題を最適な方法で解決する仮想的な自己改善型コンピュータプログラムです。再帰的な自己改善プロトコルを使用し、新しいコードがより良い戦略を提供することを証明できる場合に自身のコードを書き換えます。[ 1 ] [ 2 ]このマシンはユルゲン・シュミットフーバーによって発明されました(最初に提案されたのは2003年[ 3 ] )が、数学理論に影響を与えたクルト・ゲーデルにちなんで名付けられました。[ 4 ]
ゲーデルマシンは、メタ学習、別名「学習の学習」の問題を扱う際によく議論される。応用例としては、人間の設計決定の自動化や、複数の関連タスク間の知識の移転などがあり、より堅牢で汎用的な学習アーキテクチャの設計につながる可能性がある。[ 5 ]理論的には可能だが、完全な実装はまだ作成されていない。[ 6 ]
ゲーデルマシンは、汎用人工知能の別の形式仕様であるマルクス・フッターのAIXIとよく比較される。シュミットフーバーは、ゲーデルマシンはAIXItlを初期サブプログラムとして実装することから始め、探索コードのための別のアルゴリズムの方が優れているという証明を見つけた後に自己修正できると指摘している。[ 7 ]
従来のコンピュータで解決される問題は、1つの入力のみを必要とし、何らかの出力を提供します。この種のコンピュータは、初期アルゴリズムがハードワイヤードされていました。[ 7 ]これは動的な自然環境を考慮していないため、ゲーデルマシンが克服すべき目標でした。
しかし、ゲーデルマシンにも限界がある。ゲーデルの第一不完全性定理によれば、算術を含む形式体系は、欠陥があるか、体系内で証明できない命題を許容するかのどちらかである。したがって、計算リソースが無制限のゲーデルマシンであっても、その有効性を証明できない自己改善を無視しなければならない。[ 3 ]
ゲーデルマシンの実行時間において特に有用な変数が3つあります。[ 3 ]
任意の時点で、 どこ目標は将来の成功または効用を最大化することです。典型的な効用関数は次のパターンに従います。:
どこは実数値の報酬入力(エンコードされた)です)その時点で、は、おそらく未知の分布に関する条件付き期待値演算子を表す。 セットから可能な分布の (環境の可能性のある確率的反応について知られていることを反映する)、そして上述の状態の関数であるこれは現在のサイクルを一意に識別します。[ 3 ]適切な対策によって期待寿命を延ばす可能性も考慮に入れています。[ 3 ]
以下の6つの証明変更指示の性質上、証明に誤った定理を挿入することは不可能であり、したがって証明検証は容易になる。[ 3 ]
n番目の公理を定理として現在の定理列に追加します。以下は初期公理体系です。
推論規則(例えば、Modus tollens、Modus ponens )のインデックスkを受け取り、それを既に証明済みの2つの定理mとnに適用しようと試みます。そして、得られた定理を証明に追加します。
現在の証明において、インデックスmに格納されている定理を削除します。これにより、冗長で不要な定理によって生じる記憶容量の制約を軽減できます。削除された定理は、上記のapply-rule関数から参照できなくなります。
switchprog S p m:nを置き換えます。ただし、 S pの空でない部分文字列である場合に限ります。
証明探索の目標が達成されたかどうかを検証します。目標定理は、現在の公理化された効用関数u (項目 1f) が与えられた場合、 pから現在の switchprog への切り替えの効用が、pの実行を継続する効用(代替の switchprog を探し続ける) よりも高くなることを述べています。[ 3 ]
2つの引数mとnを受け取り、 S m:nの内容を定理に変換しようと試みます。
ゲーデルマシンへの初期入力は、さまざまな長さのエッジでリンクされた多数のノードを持つ連結グラフの表現です。与えられた時間T内に、すべてのノードを接続する循環パスを見つける必要があります。唯一の実数値報酬は時間Tで発生します。これは、これまでに見つかった最良のパスの長さで 1 を割った値に等しくなります (見つからなかった場合は 0)。他の入力はありません。期待報酬を最大化する副産物は、初期バイアスが与えられた場合に、限られた時間内に見つけることができる最短パスを見つけることです。[ 3 ]
2より大きいすべての偶数は2つの素数の和である(ゴールドバッハ予想)ことを、できるだけ早く証明または反証してください。報酬は1/ tで、tは最初の証明を作成して検証するのに必要な時間です。[ 7 ]
1時間あたり少なくとも1リットルのガソリンを必要とする認知ロボットは、部分的に未知の環境と相互作用し、隠された限られたガソリン貯蔵所を見つけて時折タンクに燃料を補給しようとします。ロボットは寿命に比例して報酬を受け取り、最大100年後、またはタンクが空になったり崖から落ちたりするとすぐに死にます。確率的な環境反応は最初は不明ですが、計算が困難な環境反応は起こりにくいという公理化されたスピード事前分布からサンプリングされると想定されています。これにより、ほぼ最適な予測を行うための計算可能な戦略が可能になります。期待報酬を最大化することの副産物の1つは、期待寿命を最大化することです。[ 3 ]