level 7
贴吧用户_079EVtt
楼主
prolog资源与教程导航
基础教程(如果你觉得看过这个教程,注意最后部分是在其他网站中没有出现过的)
http://hyry.dip.jp/tech/book/page/prolog/index.html
流传甚广的一本书(专门谈论prolog的书我只看过这一本)人工智能语言prolog专家系统原理与设计
网盘链接
一阶逻辑与prolog理论基础
人工智能:一种现代方法 逻辑方法有关章节
实现
prolog有很多不同版本的实现,语法可能很不同。不过某些基础语法是类似的,可以考虑先用限制比较宽松的实现。毕竟新手也用不到加限制所为的加速功能。
比如swi-prolog什么的。
代码
对于有些对编程新入门的人来说,会把代码神秘化,因为他们一直是在ide下工作的。习惯于输完代码就编译或解释执行。prolog有这样的ide,不过不推荐使用,你应该知道所有代码都只是文本,然后经过编译产生程序或解释执行。你在什么地方写代码都等价于在记事本或任何最简单的文本编辑器里写代码。只不过在ide时它会帮你做一些事,比如你可以享受按一下按钮就执行你正在写的代码的方便。不过你应该知道你也可以打开另一个解释器/编译器去操作你的代码文本文件,由于prolog的特殊性这点更明显。
常见错误
如果你觉得代码的运行有点奇怪,看看是不是句尾忘了句号。
不要把逗号神秘化,实际上它就是短路的and运算,实际上还有对应的;号作为or运算。否定是not或/+、你也可以看看手册的->怎么用。
prolog执行时遇到错误不会直接中断,比如consult一句话时出错它可能只会简单跳过继续处理下句话、这种错误在swi-prolog里显示在最顶端。
不要用命令式的思路去套prolog,我这样想(只是为了借用prolog的某个结构)时总是陷入困境。然而若换成逻辑式的思维就迎刃而解了。
2014年07月13日 15点07分
1
基础教程(如果你觉得看过这个教程,注意最后部分是在其他网站中没有出现过的)
http://hyry.dip.jp/tech/book/page/prolog/index.html
流传甚广的一本书(专门谈论prolog的书我只看过这一本)人工智能语言prolog专家系统原理与设计
网盘链接
一阶逻辑与prolog理论基础
人工智能:一种现代方法 逻辑方法有关章节
实现
prolog有很多不同版本的实现,语法可能很不同。不过某些基础语法是类似的,可以考虑先用限制比较宽松的实现。毕竟新手也用不到加限制所为的加速功能。
比如swi-prolog什么的。
代码
对于有些对编程新入门的人来说,会把代码神秘化,因为他们一直是在ide下工作的。习惯于输完代码就编译或解释执行。prolog有这样的ide,不过不推荐使用,你应该知道所有代码都只是文本,然后经过编译产生程序或解释执行。你在什么地方写代码都等价于在记事本或任何最简单的文本编辑器里写代码。只不过在ide时它会帮你做一些事,比如你可以享受按一下按钮就执行你正在写的代码的方便。不过你应该知道你也可以打开另一个解释器/编译器去操作你的代码文本文件,由于prolog的特殊性这点更明显。
常见错误
如果你觉得代码的运行有点奇怪,看看是不是句尾忘了句号。
不要把逗号神秘化,实际上它就是短路的and运算,实际上还有对应的;号作为or运算。否定是not或/+、你也可以看看手册的->怎么用。
prolog执行时遇到错误不会直接中断,比如consult一句话时出错它可能只会简单跳过继续处理下句话、这种错误在swi-prolog里显示在最顶端。
不要用命令式的思路去套prolog,我这样想(只是为了借用prolog的某个结构)时总是陷入困境。然而若换成逻辑式的思维就迎刃而解了。
