4、Prolog编程深入解析:从知识表示到程序构建

Prolog编程深入解析:从知识表示到程序构建

1. Prolog调试与回溯机制

1.1 回溯示例

在Prolog中,回溯是一个重要的机制。例如,要证明 located_in(toronto,canada) ,计算机首先要证明 located_in(toronto,ontario) 。下面是一个更复杂的回溯示例:

?- located_in(What,texas).
** (0) CALL: located_in(_00,texas)
? > (Return)
** (0) EXIT: located_in(houston,texas)
? > (Return)
What = houston
->;
** (0) REDO: located_in(houston,texas)
? > (Return)
** (0) EXIT: located_in(austin,texas)
? > (Return)
What = austin
->;
** (0) REDO: located_in(austin,texas)
? > (Return)
** (0) FAIL: located_in(_00,texas)
? > (Return)
no

这里 _00 表示未实例化的变量。每个步骤有四种标记方式:
- CALL :标记查询执行的开始。
- REDO :表示为已经成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值