見出し画像

【第31回】AIは行動の計画を立てられる?STRIPSとは

ロボットが目的地にたどり着くには、何をどんな順番で行えばよいのでしょうか?
前回の「プランニング」を具体化し、AIが行動のルールを理解するためのテンプレート、それが「STRIPS(ストリップス)」です。
この記事では、AIがいかにして計画の「書き方」を決めているのか、その仕組みをやさしく解説します。


1. 読み方

STRIPS (ストリップス)
※Stanford Research Institute Problem Solver の略称です。


2. 意味(定義)

STRIPSとは、AIがプランニング(計画作成)を行う際に、「アクション(行動)」の内容を、コンピュータが理解しやすい形式で記述するための言語(ルール)のことです。

「この行動をするには、これが必要だ(前提条件)」と「この行動をすると、世界がこう変わる(結果)」という情報を、決まったフォーマットで書き込みます。

AIが計画を立てるときは、まず以下の要素を整理します。

  • 初期状態 (Initial State): 今、目の前にある状況。(例:生卵がある)

  • 目標状態 (Goal State): 最終的に達成したい状況。(例:卵焼きができている)

  • アクション (Action): 行うべき動作。

そして、この「アクション」の中身を、コンピュータが迷わず手順書を作れるように、以下の3つのセットでルール化するのがSTRIPSの特徴です。

  • 前提条件 (Precondition): その動作をするために、あらかじめ満たされていなければならない条件。(例:生卵がある、フライパンがある、火がついている)

  • 削除リスト (Delete list): その動作をした結果、失われてしまう状態。(例:「生卵」という状態がなくなる)

  • 追加リスト (Add list): その動作をした結果、新しく発生する状態。(例:「卵焼き」が完成した!)

💡 料理のレシピで例えると

「卵を焼く」というアクションをSTRIPS風に書くとこうなります。

【アクション】: 卵を調理する
【前提条件】: 卵がある、フライパンがある、火がついている
【追加リスト】: 「卵焼き」が完成した!
【削除リスト】: 「生卵」がなくなっちゃった

このように、「何が必要で(前提)」「何が増えて(Add)」「何が消えるか(Delete)」をセットで書くのがSTRIPS流です。


📌 ここで整理!試験対策まとめ

  • 計画(手順書)そのもの: プラン (Plan)

  • 計画を立てること: プランニング (Planning)

  • 計画を立てさせるための仕組み・ルール: STRIPS


3. 歴史・背景

STRIPSは、1970年代にアメリカのスタンフォード研究所 (SRI) という有名な研究機関で開発されました。

この時代のAIは、今のような「大量のデータから学習する」スタイルではなく、「人間がルールを書き込んで、論理的に考えさせる」というシンボリックAI(記号的AI)が主流でした。

当時の研究者たちは、「どうすれば複雑な問題を、コンピュータが計算可能な『アクションの組み合わせ』に変換できるか?」という課題に直面していました。

その模索の末に生まれた、プランニングのための非常に強力でシンプルな記述ルールこそが、STRIPSです。まさに「論理的な計画立て」における金字塔といえる技術なのです。


4. 比較・対比(似た用語との違い)

プランニング vs STRIPS

  • プランニング: 「ゴールへ辿り着くための手順を探す」という「行為・プロセス」そのもの。

  • STRIPS: アクションの内容を記述するための「言語・フォーマット」。 (例:プランニングは「料理を作る工程」、STRIPSは「レシピの書き方ルール」)

STRIPS vs 一般的なIf-Thenルール

  • If-Thenルール: 「もしAならBせよ」という、単発の命令。

  • STRIPS: 「Aという条件を満たし、実行すると世界からCが消えてDが増える」という、「状態の変化」を伴う記述。 (例:If-Thenは「信号が赤なら止まれ」、STRIPSは「交差点を通ると、自分の位置情報が更新される」)

STRIPS vs 探索 (BFS/DFS)

  • 探索: すでに存在する迷路のルートを、端から辿ってゴールを探すこと。

  • STRIPS: 「この道具を使って、こう動かせば、ゴールにたどり着けるはずだ」という、新しい手順(プラン)そのものを組み立てるためのルール

STRIPS vs ディープラーニング (現代のAI)

  • STRIPS(シンボリックAI): 明確なルールと論理に基づいた、人間が理解可能な計画。(ルールベース / 記号的AI

  • ディープラーニング: 大量のデータから「なんとなくこういうパターンだ」と学習する、確率的な判断。(データ駆動型 / ニューラルネットワーク


5. 活用シーン

STRIPSの考え方は、ルールが明確な「状態の変化」を扱う分野で今も生きています。

  • ロボットの動作計画: 「ロボットアームが部品を掴む(前提:格納箱を開いている、結果:部品を保持している)」といった動作の組み立て。

  • 自動倉庫の管理システム: 「荷物を棚から出す(前提:通路が開いている、結果:棚が空になる)」といった、物流の流れの最適化。

  • 物流・配送システム: 「トラックAに荷物(荷物X)を積み、ルートBを通って、倉庫Cに届ける」という、一連連動した配送プランの作成。

  • ゲームのイベント進行: 「プレイヤーが鍵を入手する(前提:鍵が近くにある、結果:扉を開ける条件を満たす)」といった、シナリオの制御。

※現代では、STRIPSSTRIPSの考え方をさらに進化させた「PDDL」などのより高度な記述言語が使われることが一般的です。


6. G検定での出題傾向

G検定では、STRIPSそのものの細かい仕様よりも、「何ができるルールなのか」というエッセンスが狙われます!

  • キーワード: 「前提条件(Precondition)」「追加リスト(Add list)」「削除リスト(Delete list)」を見たら、STRIPSの構成要素です。

  • 役割の理解: STRIPSは「アクションを記述するための言語(形式)」である、という点。

  • シンボリックAIとの関連: 古典的AI(ルールベース)の文脈で登場します。


7. G検定の例題

【問題1:最頻出】

STRIPSにおける「アクション」を記述する際、その行動によって新しく発生した状態を示す要素として、適切なものはどれですか?

  • A. 前提条件 (Precondition)

  • B. 追加リスト (Add list)

  • C. 削除リスト (Delete list)

  • D. 期待値 (Expected value)

【問題2:頻出】

STRIPSの仕組みに関する記述として、最も適切なものはどれですか?

  • A. 大量の画像データから、物体の特徴を自動的に抽出するためのルールである。

  • B. アクションを実行した結果、失われる状態(消滅する要素)を定義するものである。

  • C. 確率的なゆらぎを計算し、未来の数値を予測するための数学的モデルである。

  • D. ニューラルネットワークの重みを更新するための学習アルゴリズムである。

【問題3:ひっかけ】

STRIPSに関する記述として、誤っているものはどれですか?

  • A. アクションを実行するために満たされている必要がある条件を「前提条件」と呼ぶ。

  • B. STRIPSは、アクションの結果として起こる「状態の変化」を扱うことができる。

  • C. STRIPSを用いることで、AIがゴールへ向かうための手順(プラン)を構築できる。

  • D. STRIPSは、学習データから自動的に新しいルールを発見するための機械学習手法である。


8. 解答と解説

【問題1】 正解:B

解説: 「新しく発生した状態」を示すのは、**追加リスト(Add list)**です。Aは行動前に必要な条件、Cは失われる要素、Dは統計学の用語です。

【問題2】 正解:B

解説: STRIPSには「何が消えるか」を定義する**削除リスト(Delete list)**が含まれます。Aはディープラーニング(畳み込みなど)、Cは確率統計、Dはバックプロパゲーション(誤差逆伝播法)の説明です。

【問題3】 正解:D

解説: これがひっかけです!STRIPSは「人間がルールを記述する」手法であり、データから「自動的にルールを発見する」機械学習(学習)の手法ではありません。A, B, CはいずれもSTRIPSの正しい説明です。


📝 総評・まとめ 今回の「STRIPS」では、AIが計画を立てるための「言葉のルール」を学びました。「前提条件」「追加リスト」「削除リスト」という3つの要素さえ押さえておけば、プランニングの仕組みを理解したことになります。

🚀 次回予告 「手順書(プラン)」と「書き方(STRIPS)」がついに完結! 次のステージは、AIの脳内で行われる「計算と数学」の世界へ。

【第32回】AIは「まだ決まっていない値」をどう扱う?  確率変数とは

お楽しみに!


【第32回】へ進む

【第3章】へ進む

【第2章】へ戻る

📚 シリーズトップへ戻る

✅ この記事が役に立ったら「スキ」で応援してください!
あなたの応援が、次の解説を作るエネルギーになります!🚀

いいなと思ったら応援しよう!