後方推論とは

後方推論(Backward Chaining)は、知識ベースシステムや推論エンジンにおいて、与えられた目標(ゴール、仮説)が真であるかどうかを判断したり、その目標を達成するために必要な条件や行動を特定したりするために用いられる推論手法です。

前方推論(Forward Chaining)が既知の事実やルールから演繹的に新しい事実を導き出すのに対し、後方推論は目標を起点として、それを証明または達成するために必要な前提条件を遡って検証していく点が特徴です。

後方推論 の基本概念

後方推論は、目標駆動型(goal-driven)の推論方式とされます。推論プロセスは、最初に立てられた目標(例えば、「XはYである」)が真であるかどうかを検証することから始まります。この目標がルールシステムの結論部分に一致する場合、そのルールを成立させるための前提条件(ルールの前件部)が新たなサブゴールとなります。このサブゴールに対しても同様のプロセスが再帰的に適用され、最終的に既知の事実(初期事実)に到達するか、前提条件が満たされないことが判明するまで続きます。

もし全てのサブゴールが既知の事実によって満たされるか、または既知の事実から導き出せる場合、最初の目標は真であると結論付けられます。一方、途中で満たされない前提条件が存在する場合、その目標は現時点では証明できないと判断されます。

後方推論 のプロセス

後方推論の典型的なステップは以下の通りです。

  1. 目標の設定: 証明または達成したい最初の目標を設定します。
  2. ルールの探索: 知識ベース(ルールベース)の中から、結論部分が現在の目標と一致するルールを探します。
  3. サブゴールの設定: 見つかったルールの前提条件(前件部)を新たなサブゴールとして設定します。
  4. サブゴールの検証: 設定された各サブゴールに対して、以下のいずれかの方法で検証を試みます。
    • サブゴールが既知の事実である場合、そのサブゴールは満たされたと判断します。
    • サブゴールが別のルールの結論部分と一致する場合、そのルールを適用し、新たなサブゴール(そのルールの前提条件)を設定してステップ2に戻ります。
    • サブゴールが既知の事実ともルールの結論とも一致しない場合、そのサブゴールは現時点では満たされないと判断します。
  5. 目標の結論: 全てのサブゴールが満たされた場合、最初の目標は真であると結論付けられます。一つでも満たされないサブゴールが存在する場合、最初の目標は現時点では証明できないと結論付けられます。

後方推論 の例

例えば、以下の知識ベースと目標を考えます。

事実:

  • 雨が降っている。
  • 傘を持っている。

ルール:

  • IF 雨が降っている THEN 地面は濡れている。
  • IF 地面は濡れている AND 靴を履いている THEN 水たまりを避けながら歩ける。
  • IF 傘を持っている THEN 雨に濡れない。

目標: 水たまりを避けながら歩けるか?

後方推論のプロセスは以下のようになります。

  1. 目標: 水たまりを避けながら歩ける。
  2. この目標を結論とするルールを探すと、「IF 地面は濡れている AND 靴を履いている THEN 水たまりを避けながら歩ける」が見つかります。
  3. 新たなサブゴールとして「地面は濡れている」と「靴を履いている」を設定します。
  4. サブゴール「地面は濡れている」を結論とするルールを探すと、「IF 雨が降っている THEN 地面は濡れている」が見つかります。
  5. さらにサブゴールとして「雨が降っている」を設定します。「雨が降っている」は既知の事実なので、このサブゴールは満たされます。したがって、「地面は濡れている」も真となります。
  6. サブゴール「靴を履いている」は、知識ベースに事実としてもルールとしても存在しないため、現時点では満たされないと判断されます。
  7. 最初の目標「水たまりを避けながら歩ける」の前提条件である「靴を履いている」が満たされないため、現時点では「水たまりを避けながら歩ける」とは結論付けられません。

後方推論 の利点と欠点

利点:

  • 目標指向: 特定の目標を検証または達成するために必要な情報のみを効率的に探索します。
  • 関連性の高い推論: 目標に関連するルールや事実を中心に推論が進むため、無関係な情報を処理するオーバーヘッドが少ないです。
  • 説明能力: 目標がどのように達成されたかの推論経路を辿ることで、結論の根拠を説明しやすいです。

欠点:

  • 初期目標が必要: 推論を開始するためには、明確な目標を設定する必要があります。
  • 非効率な探索: 目標が達成不可能である場合、関連する可能性のある全ての推論経路を探索する必要があるため、非効率になることがあります。
  • 複雑なルールの扱い: 前提条件が複数組み合わされた複雑なルールを扱う場合、サブゴールの検証が複雑になることがあります。

後方推論 の応用分野

後方推論は、以下のような分野で応用されています。

  • エキスパートシステム: 医療診断、故障診断、意思決定支援システムなど、特定の専門知識に基づいて推論を行うシステム。
  • 論理プログラミング: Prologなどの論理プログラミング言語における基本的な推論メカニズム。
  • 自動定理証明: 数学的な定理の証明を自動化するシステム。
  • プランニングシステム: 特定の目標を達成するための行動計画を自動的に生成するシステム。

後方推論は、目標から逆向きに推論を進めることで、目標の真偽を検証したり、目標達成のための前提条件を特定したりする強力な推論手法です。目標指向型であることや説明能力の高さといった利点を持つ一方で、初期目標の必要性や非効率な探索といった欠点も存在します。エキスパートシステムや論理プログラミングなど、様々なAIアプリケーションにおいて重要な役割を果たしています。

関連用語

エキスパートシステム | 今更聞けないIT用語集
推論エンジン | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。