2013-04-26 129 views
0

这是我的导师问题。 “用你自己的话说,当prolog返回查询失败时,可能得出什么结论?”prolog何时返回失败?

我从来没有经历过序言返回失败。我只能假设在回溯时遇到错误时它可能会失败?

+0

你肯定间没有” t问“...为查询返回** false **?” – gusbro 2013-04-26 13:52:39

+0

http://i.imgur.com/tVzTNd5.png – 2013-04-26 14:27:33

+0

问问你的导师。 – 2013-04-26 14:42:45

回答

1

当Prolog“返回”查询失败的指示时,表示它未能证明查询。例如:2 == 3.


当您在Prolog中进行查询时,Prolog会尽力满足您的需求。有两种可能的结果 - 无论是成功还是无法满足查询。

成功时,它表示查询中的变量替换成功。如果有几种方法可以满足某个查询,Prolog将会显示每个查询的替换值(如果有要求的话)。

如果查询成功,没有任何替代它的变量(即没有变量),成功将在某种方式表明,通过打印Yestrue或什么的,这取决于具体实施。

类似地,故障也将以某种方式指示,例如,通过说No,false,或其他。

(这是真的基本东西,你应该在序言读一些好书,或者跟你的导师,很多。练习,运动,运动...):)