AIはどう推理する?:命題論理と知識ベース

「AIの基礎:探索から機械学習まで」のレッスン 4 / 15・約6分

人間が知っている事実や文章を記号化し、命題論理と知識ベースを使って論理的推理を行う基礎を学ぶレッスンです。

このレッスンで学ぶこと

  • ことばを命題と記号に置き直す
  • 「ならば」と、知識ベースから導ける結論

レッスンの内容

AIに知識を渡すには

「雨が降っている」のように、本当かうそかがはっきり決まる文を命題と呼びます。「明日は晴れるかな?」は問いなので、命題ではありません。

AIに推理させる第一歩は、知っている事実を命題に分けることです。

手がかりで、ありえる世界を消す

雨・傘・出かけるの3つの命題は、本当とうその組み合わせが8通りあります。手がかりで残る組み合わせの数を見ましょう。

命題を1文字で書く

「雨が降っている」を $P$、「傘を持つ」を $Q$ と、命題を1文字で書いて扱う方法を命題論理と呼びます。

記号にすれば、文の意味を知らないAIでも、本当とうその組み合わせだけで計算できます。

次の3つの文のうち、AIに命題として渡せるのはどれでしょう。

問題:次の3つの文のうち、AIに命題として渡せるのはどれでしょう。

  1. 富士山は日本一低い山だ(正解)
  2. 富士山に登ってみたいな
  3. 富士山はどこにありますか

解説:命題は本当かうそかが決まる文です。富士山が日本一低いのは間違いですが、うそと決まるので命題です。願いや問いかけは決まりません。

スイッチで、つなぎ方を試す

「雨が降っている」と「傘を持っている」を変えると、「かつ」「または」「でない」が変わります。4通り全部試してみましょう。

「かつ」と「でない」

命題は記号でつなげます。「でない」は否定 $\neg P$ で、本当とうそを入れ替えます。

「かつ」は論理積 $P \land Q$ で、雨と傘の両方が本当のときだけ本当です。

「または」は、両方でもいい

「または」は論理和 $P \lor Q$ です。雨と傘の片方が本当なら全体も本当になります。

両方本当でも成立するため、日常の「どちらか一方だけ」とは違います。

「メールまたは電話で連絡します」を論理和として読みます。メールと電話の両方で連絡が来たとき、この文は本当でしょうか。

問題:「メールまたは電話で連絡します」を論理和として読んだとき、メールと電話の両方で連絡が来たら、この文は本当でしょうか。

  1. 本当になる(正解)
  2. うそになる
  3. 決まらない

解説:論理和は片方でも両方でも本当になります。日常の「どちらか一方だけ」という意味の「または」とは、ここが違います。

「ならば」がうそになるとき

「雨なら、傘を持つ」は含意 $P \rightarrow Q$ と書きます。

うそになるのは雨なのに傘を持たないときだけ。晴れの日は傘の有無に関わらず本当です。

○か✕か

○か✕か:「雨なら、傘を持つ」というルールは、晴れの日に傘を持たずに出かけた人によって破られる。

答え:✕。このルールは雨の日の約束です。晴れの日は傘を持っても持たなくても、含意は本当のままです。

記号と意味をつなぐ

この4つで「雨なら、傘を持つ」などのルールをAIが計算できる形に書けます。

AIが知っている文の集まり

「雨なら、傘を持つ」と「雨が降っている」。AIが本当だと知っている文をこうして集めたものを知識ベースと呼びます。

この2つが入っていれば、AIは「傘を持つ」を導けます。

導けるかどうかの決め方

知識ベースが本当なら文Aも必ず本当になる関係を論理的帰結と呼び、$KB \models A$ と書きます。

知識ベースが本当でAがうそという場合が1つでもあると導けません。

知識ベースに「雨なら、傘を持つ」と「傘を持っている」の2つだけがあります。「雨が降っている」について、AIが確実に言えることはどれでしょう。

問題:知識ベースに「雨なら、傘を持つ」と「傘を持っている」の2つだけがあります。「雨が降っている」について、AIが確実に言えることはどれでしょう。

  1. 雨かどうかは決まらない(正解)
  2. 雨が降っている
  3. 雨は降っていない

解説:雨でないのに傘を持っている場合も、2つの文と矛盾しません。知識ベースが本当でも「雨が降っている」がうその場合が残るため、雨だとは導けません。

AIが推理するまでの手順

  • 本当かうそかが決まる文を、命題として記号にする
  • 否定・論理積・論理和・含意で、命題をつないで決まりを書く
  • AIが本当だと知っている文を、知識ベースにまとめる
  • 知識ベースと食い違わないすべての場合で本当なら、その文は導ける

知識ベースに「スイッチが入っていれば、ライトがつく」と「ライトがついていない」があります。AIが確実に導ける結論はどれでしょう。

問題:知識ベースに「スイッチが入っていれば、ライトがつく」と「ライトがついていない」があります。AIが確実と言える結論はどれでしょう。

  1. スイッチは切れている(正解)
  2. スイッチは入っている
  3. スイッチの状態は決まらない

解説:含意がうそになるのは、スイッチが入っているのにライトがつかないときだけ。だから残るのはスイッチが切れている場合です。では、命題が増えて組み合わせが膨大になったら?次は犯人当てと4枚のカード問題で、全部を確かめずに結論を出す推論規則を見ます。

用語

否定(Not)
命題の本当とうそを反転させる記号。「〜でない」のこと。
含意(Implication)
「PならQ」を表す記号。Pが本当でQがうそのときだけうそになります。
命題(Proposition)
本当かうそかが決まる文。質問や願い事は該当しません。
論理和(Or)
つないだ命題のどちらか一方でも本当なら本当になる記号。「または」のことです。
論理積(And)
つないだ命題が両方本当のときだけ本当になる記号のこと。
命題論理(Propositional Logic)
命題を記号にし、本当とうその組み合わせを計算する考え方。
知識ベース(Knowledge Base)
AIが本当だと知っている文をまとめたもの。推論の土台になります。
論理的帰結(Entailment)
知識ベースと矛盾しないどの場合でも、ある文が本当になる関係のこと。