Next: 6.1 Primitiveな述語
Up: ソフトウェア第三 講義資料 パターンマッチ,前向き推論,ユニフィケーション,後向き推論
Previous: 5.8 実行例
上に上げた処理系の実現例では,すべての可能性を拾いあげてそれを返すよう
に作られていた.
しかし,
<cl> (?- (member 2 ?x))
のような問い合わせを行なうと無限の候補を作りはじめるため
答えが返ってこなくなる.
そこで,答えがひとつ出たところで表示し,
その後さらに答えを求めるかどうかを人間に
聞いてくるように作ることを考える.
このような対話処理は別の見方をすれば,
人間がさらに答えを求めたということは,
そのゴールが失敗したとみなして,またゴールの証明探索を継続する
ということを意味すると考えるとすっきりする.
このようにゴールが失敗した時に後戻りすることをバックトラキングと呼
ぶ.バックトラッキングでは,ゴールに与えられた変数の値がゴールを満たさ
なかったとみなして別の値を探しにゆくことになる.
generated through LaTeX2HTML. M.Inaba 平成18年5月7日