Prolog 人工智能语言中文论坛---打造优质Prolog学习交流园地

一个供Prolog爱好者学习与交流的地方


您没有登录。 请登录注册

請問一則習題

浏览上一个主题 浏览下一个主题 向下  留言 [第1页/共1页]

1 請問一則習題 于 周六 八月 31, 2013 1:12 am

請問Lern Proglog Now!網站中的Exercise 2.2 (我還沒辦法貼網址)
Exercise  2.2 We are working with the following knowledge base:

  house_elf(dobby).
  witch(hermione).
  witch(’McGonagall’).
  witch(rita_skeeter).
  magic(X):-  house_elf(X).
  magic(X):-  wizard(X).
  magic(X):-  witch(X).
Which of the following queries are satisfied? Where relevant, give all the variable instantiations that lead to success.

?-  magic(house_elf).
?-  wizard(harry).
?-  magic(wizard).
?-  magic(’McGonagall’).
?-  magic(Hermione).
Draw the search tree for the query magic(Hermione) .

請問第五題magic(Hermione)答案是只有dobby嗎?(用SWI-Prolog跑出來是這樣)
可是我按照他畫的樹狀圖不是應該還有hermione, 'McGonagall',和rita_skeeter嗎??

查阅用户资料

2 回复: 請問一則習題 于 周六 八月 31, 2013 7:23 pm

knowledge base裡面只要刪除magic(X):- wizard(X).
在?- magic(Hermione). 的時候就會正常。

想請問若當程式比較複雜時,中間卡在:
ERROR: magic/1: Undefined procedure: wizard/1
Exception: (7) wizard(_G1541) ?
的時候,該怎麼拯救呢?

查阅用户资料

3 回复: 請問一則習題 于 周日 九月 01, 2013 1:25 am

因为没有wizard/1。现在没有人是wizard,就先写个wizard(nobody). 即可。

查阅用户资料 http://yauhsien.wordpress.com

浏览上一个主题 浏览下一个主题 返回页首  留言 [第1页/共1页]

您在这个论坛的权限:
不能在这个论坛回复主题