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