正向推理可以从已知事实推导出新的事实。将这个过程反过来进行,就是逆向推理,即从某个假设出发,推导出满足假设需要的条件。逆向推理可以用来验证假设或者规划求解问题。
比如,已知某动物B脖子长且不会飞,那么如果它是长颈鹿,还需要满足哪些条件呢?推理过程如图1.2所示。
图1.2 专家系统逆向推理
我们从假设出发,寻找满足假设的规则R8。R8有两个前置条件,分别是脖子长和食草动物。脖子长是已知事实,于是继续寻找满足食草动物的规则R7,进一步寻找R7的前置条件是否满足。反复如此,可以按照规则展开一个树状结构,树的叶节点就是满足假设需要的条件。逆向推理的过程也可以帮助机器人规划动作,从需要达成的目标出发,推导出应该完成哪些前置动作,以及按照怎样的顺序来执行。