2

私はこれらのことに非常に慣れていません。これが非常に素朴な質問ではないことを願っています。

Prologで次の式を試しました:A⇒B

Bが真であるとすると、A を評価するFALSE となります。

私の質問は、なぜ FALSE なのですか? (TRUE ではないのはなぜですか?) 現在の情報では、 Bについて何もわかりません。Prolog は、未知のものに対して FALSE を出力するという仮定に基づいて機能しますか?

これが仮定である場合、これはどのくらい一般的ですか?

もう1つ頭に浮かぶのは、入力クエリと公理の結合への割り当てを見つけることです(基本的にSAT解決)。結果の出力は TRUE であるため、A の値に関係なく、ランダムに 1 つを選択します (デフォルトではゼロですか?)。

1次論理の性質に基づき、半決定可能です。文Aが文Bを論理的に意味する場合、これは発見できますが、その逆はできません。では、真実の証拠がない場合、後者のケースは実際にはどのように扱われるのでしょうか?

PS1。Prolog がどのように機能するかについての簡単な説明も役に立つかもしれません。SAT ソルバーをブラック ボックスとして使用しますか? それとも貪欲な検索アルゴリズムですか?

ここに画像の説明を入力

4

2 に答える 2