1
我創建了一個簡單的圖形搜索從一個例子序言
move(math101, math102).
move(math101, chem101).
move(math102, math210).
move(math102, phys102).
move(phys102, phys201).
move(math210, phys201).
search(A, A, [A]).
search(A, B, [A|Path]) :-
move(A,C),
search(C,B,Path).
我可以告訴你,去從「math101」 phys201「你需要通過「math102」和「math210」圖搜索或「math102」 and'phys102'
我想在序言中證明這一點,但它不工作,我認爲它可能有一些做的查詢我打字
搜索(math101,phys201,[ math101])
或者是它的東西在我的代碼,我已經查明的路徑和它不斷裝箱出了沒有結果
跟蹤是
[1]CALL: search(math101, phys201, [math101])
[1]FOUND: search(_4193470, _15353627, [_4193470|_14830180]):-move(_4193470, _8522358), search(_8522358, _15353627, _14830180).
[1]BIND: search(math101, phys201, [math101])
[2]CALL: move(math101, _10259988)
[2]FOUND: move(math101, math102).
[2]BIND: move(math101, math102)
[3]CALL: search(math102, phys201, [])
[3]FAIL: search(math102, phys201, [])
[2]REDO: move(math101, math102)
[4]CALL: move(math101, _10259988)
[4]FOUND: move(math101, chem101).
[4]BIND: move(math101, chem101)
[5]CALL: search(chem101, phys201, [])
[5]FAIL: search(chem101, phys201, [])
[4]REDO: move(math101, chem101)
[6]CALL: move(math101, _10259988)
[6]FAIL: move(math101, _10259988)
[1]REDO: search(math101, phys201, [math101])
請幫
這絕對很棒,我不能夠感謝你。我一整天都在盯着我的屏幕。謝謝 – 2014-11-21 18:00:00