本文へ移動

G検定(ジェネラリスト検定)

ふれーむもんだい

フレーム問題

Frame Problem

フレーム問題は、1969年にマッカーシー(McCarthy)とヘイズ(Hayes)がAIの論理的な記述の中で指摘した問題です。ある行動をしたときに「変わらないこと」まで一つずつ書き下そうとすると、書くべき記述の数が爆発してしまいます。のちにデネット(Dennett)は、この語をもっと広い意味で使いました。膨大な知識の中から、いまの行動に関係することだけを効率よく見つけ出す難しさを指す意味です。

詳しい説明

何の問題か

フレーム問題とは、AIが行動の結果を推論するときに、その行動で何が変わり、何が変わらないのかを効率よく扱えないという問題です。人間にとっては当たり前すぎて意識しないことも、AIに推論させるには何らかの形で記述しなければなりません。ところが、変わらないことを一つずつ書いていくと、記述の数が行動と性質の組み合わせの数だけ増えていきます。

この語には、使う人によって二つの広さがあります。一つは、提唱者であるジョン・マッカーシー(John McCarthy)とパトリック・ヘイズ(Patrick J. Hayes)が論理による記述の中で見つけた、狭い技術的な問題です。もう一つは、哲学者のダニエル・デネット(Daniel C. Dennett)が広げた意味で、膨大な知識の中から「いま関係すること」だけを選び出す難しさ全般を指します。

提起した人と文脈

この問題を名づけたのは、マッカーシーとヘイズです。1969年の論文「Some Philosophical Problems from the Standpoint of Artificial Intelligence」の中で論じました。

二人がこの論文で扱ったのは、状況計算(situation calculus)と呼ばれる枠組みです。状況計算は、世界の状態の移り変わりを論理で記述するための方法で、次の三つの考え方を使います。

  • 状況(situation): ある時点における世界の状態です。世界の完全な記述はできないので、状況について分かっている一部の事実を使って推論します。実際に起きた状況だけでなく、仮定の状況も扱います。
  • 流動変数(fluent): 状況によって真偽が変わりうる性質や関係です。たとえば「電話機を持っている」は流動変数の一つです。
  • 行動(action): ある状況から別の状況を生み出す、人やエージェントの行為です。

なぜ記述の数が爆発するのか

複数の行動を順番に実行する計画を論理で記述すると、それぞれの行動で「変わるもの」だけでなく、「変わらないもの」も明示しなければ推論が進みません。

論文が挙げる例は、電話帳で相手の電話番号を調べる場面です。電話番号を調べても、手元の電話機がなくなるわけではありません。人間には言うまでもないことですが、論理で推論するシステムは、書かれていない事実を勝手に前提にできません。そのため「電話番号を調べるという行動は、電話機を持っているという事実を変えない」と書いておく必要があります。

行動がn種類、流動変数がm個あるとします。素朴に書くと、「この行動はこの流動変数を変えない」という記述を、組み合わせごとに、およそm×n個用意しなければなりません。行動や性質が少し増えるだけで、書くべき記述は掛け算で増えていきます。これがもともとの意味でのフレーム問題です。

マッカーシーとヘイズは、この問題への一つの対処も示しました。複数の流動変数を「フレーム」としてまとめて宣言します。そのうえで、行動の効果としては変化する流動変数だけを書き、書かれていないものはすべて変わらないとみなします。プログラミング言語の代入文では、代入された変数以外の値は変わりません。この性質を利用して、変わらないことを一つずつ書き下す手間を避けようとしたのです。

デネットの三台のロボット

哲学者のデネットは、1984年の論文「Cognitive Wheels: The Frame Problem of AI」の冒頭で、三台のロボットの寓話を使って、この問題がどれほど根深いかを示しました。

一台目のR1は、自分の予備のバッテリーが時限爆弾と一緒に部屋に閉じ込められていると知らされます。バッテリーはワゴンに載っているので、R1はワゴンを部屋から引き出す計画を立てて実行し、バッテリーを外へ出すことに成功します。ところが、爆弾も同じワゴンに載っていました。バッテリーと一緒に爆弾も部屋の外へ出てしまい、爆発します。R1は「ワゴンを引き出せばバッテリーが出る」という狙いどおりの結果は推論できました。しかし「ワゴンを引き出せば爆弾も一緒に出る」という副次的な結果は推論できなかったのです。

二台目のR1D1は、この失敗を踏まえて、行動の意図した結果だけでなく、その行動から論理的に導かれる結果をすべて推論するように作られました。しかしR1D1は、ワゴンを引き出す前に「ワゴンを引き出しても部屋の壁の色は変わらない」ことや、車輪が何回転するかといった、目的と無関係な結果を次々に証明し続けます。そのあいだに爆弾が爆発します。

三台目のR2D1は、関係のある結果と無関係な結果を区別し、無関係なものは無視するように作られました。しかしR2D1は、部屋の外に座ったまま、何千もの結果を一つずつ「無関係だ」と判定しては無視する作業を続けます。無関係だと判定すること自体に終わりがなく、そのあいだに爆弾が爆発します。

三台の失敗は、それぞれ違う形をしています。R1は必要な結果を見落としました。R1D1は不要な結果まで考えてしまいました。R2D1は、不要な結果を切り捨てる判定そのものに時間を使い果たしました。デネットは、三台とも同じフレーム問題に苦しんでいると述べています。

デネットが広げた意味

デネットは、マッカーシーとヘイズが名づけた語はもともと、特定の狭い表現方法の中で起きる問題を指していたと認めています。そのうえで、リアルタイムで行動を計画するシステムが抱える、もっと広い問題を指すために、あえてこの語を使うと宣言しました。

デネットによれば、フレーム問題はロボット工学の技術的な厄介事ではありません。AIの研究によって初めて明るみに出た、新しく深い認識論の問題です。認識論とは、知識とは何か、どのように知識を得て使うのかを考える哲学の分野です。デネットは、この問題を哲学者たちが何世代にもわたって見落としてきたと論じています。

真夜中のスナックの例

デネットは、夜中に冷蔵庫の残り物で夜食を作る場面も例に挙げています。ターキーとマヨネーズとパンでサンドイッチを作り、ビールを飲むという単純な行為です。

この行為ですら、当たり前すぎて意識にのぼらない知識を大量に使っています。たとえば、次のような知識です。

  • ビールをグラスに注げば、そのビールはもう瓶の中には無い。
  • マヨネーズの瓶を左手で持っているあいだは、左手でマヨネーズを塗ることはできない。
  • あるものが一つの場所にあれば、同時に別の場所には無い。

人間はこうした知識を苦もなく使い、必要なときに必要なものだけを思い出します。しかしAIに同じことをさせようとすると、二つの問いに答えなければなりません。どんな知識を持たせるのかという問いと、それをどう格納し、どう取り出せるようにするのかという問いです。デネットはこれを据え付け問題(installation problem)と呼び、前者を意味論的な問題、後者を構文上の問題として分けています。

現在の扱いについて

このページが根拠にした資料は、1969年のマッカーシーとヘイズの論文と、1984年のデネットの論文の前半です。その後に状況計算がどう発展したのか、ほかの推論方法とどう関係づけられてきたのかは、これらの資料の範囲を超えるため、このページでは扱っていません。

学習の段階では、次の二点を押さえておくと理解しやすくなります。一つは、フレーム問題には狭い意味と広い意味があることです。狭い意味は、論理で記述するときに変わらないことを書き下す手間が爆発する問題です。広い意味は、関係のあることだけを選び出す難しさの問題です。もう一つは、デネットのロボットの寓話が、関係のあることを見落とす失敗と、関係のないことにとらわれる失敗の両方を示していることです。

試験で問われること

G検定

  • フレーム問題は、1969年にマッカーシー(John McCarthy)とヘイズ(Patrick J. Hayes)が論文で指摘した問題です。状況計算という、世界の状態の移り変わりを論理で記述する枠組みの中で論じられました。提唱者と年代は、サールの中国語の部屋(1980年)やデネットの論文(1984年)と取り違えないよう整理しておきます。
  • もとの意味は、行動によって変わらないことを一つずつ記述しなければならず、行動と性質の組み合わせの数だけ記述が増えてしまうという問題です。デネットはこれを広げ、膨大な知識の中から、いまの行動に関係することだけを効率よく選び出す難しさを指す語として使いました。
  • デネットのロボットの寓話では、三台とも爆弾の爆発に間に合いません。R1は副次的な結果を見落とします。R1D1は無関係な結果まで推論し続けます。R2D1は無関係だと判定する作業そのものが終わりません。どのロボットがどの失敗をしたのかを対応づけられるようにしておくとよいでしょう。

最終更新日: 2026/09/23