推理机是一组程序,用来控制、协调整个系统。是在一定的控制策略下,
专家系统根据问题信息(用户与专家系统交流的信息)及知识库中的知识执行对问题的求解。
正向推理一般又称事实驱动的推理,是由原始数据出发,按一定的策略,运用知识库中的知识,推断出结论的方法。该方式由数据到结论,故又称为数据驱动或由底向上策略。基于正向推理的推理机至少能做到:根据数据库中的数据,知道选用知识库中哪些知识;将运用知识得到的结论存入数据库,并将所用过的知识记录下来(以备解释之用);判断何时应结束推理,必要时向用户提问。
反向推理是先提出结论(假设),然后寻找支持这个结论的证据。若证据不足,重新提出新假设,再重复上述过程,直到得出答案为止。这种由结论到数据的策略,称之为目标驱动或由顶向下策略。基于反向推理的推理机至少有如下功能:提出假设,并运用知识库中知识判断此假设的真假。若真,记录下运用了什么知识(以备解释之用),同时告诉用户;若假,系统应能重新提出新的假设,再进行判断,必要时向用户询问情况。
先根据数据库中的原始数据,用正向推理帮助提出假设,再用反向推理,进一步寻找支持假设的证据,如此反复。
反向推理机并不能随意确认条件的真或假,它只是引导用户进行反向推理,减少了推理的盲目性。在推理方法中,又有精确推理和不精确推理之分。在精确推理中,领域知识都表示成必然的因果关系和逻辑关系,推理的结论或肯定或否定,也可把可能性大于某个固定的值的假设认为是肯定的。在不精确推理中,证据不一定是肯定的,而是给予某种“权”。推理的规则也不是肯定的,也给予某种“权”。对多个证据或多条规则的推理要进行“权”的组合。当“权”值超过设定的阈值时,结论即可成立。“权”组合的方法不同,就形成不同的不精确性。在现实世界中,不肯定的问题占多数,故不精确推理难以避免,是必须认真对待的重要课题。