候補句を解決するときに空のセットを取得しようとする解決アルゴリズムを実装したいと考えています。
候補の親句を幅優先の順序で解決するアルゴリズムが必要です。しかし、私はある時点で混乱しました:
S を知識ベースのすべての節とゴール節の否定の結合とする
S の候補句を S の候補句で解決しようとすると、S' が得られます。
アルゴリズムの 2 番目のステップとして、S と S' または S' を S' 自体で解決しようとする必要がありますか? そしてそれはどのように進めるべきですか?
例えば;
知識ベース + 否定を仮定します。ゴールセットの
p(a,b) ^ q(z),~p(z,b) ^ ~q(y) ((この集合を S としましょう)
セット S で解決アルゴリズムを実行すると、次のような節が得られます。
q(a) ^ ~p(z,b) (この集合を S' としましょう)
さて、BFS 戦略を採用しなければならない場合、最初の親が S にあり、2 番目の親が S' にあるリゾルベントを最初に見つける必要がありますか? または、両親が両方ともS'出身の解決者を確認してみてください。
いくつかの例では、最初に S' と S' で解決策を確認すると、解決策が得られます。ただし、セットのペア (S, S') (S, (S, S')) のチェックを続行すると、空の句につながる別の方法が得られます。では、BFS に対応するのはどの順序でしょうか?
前もって感謝します