推理接口的调用过程(欢迎讨论,希望这是一个大坑~~~)推理机接口的使用步骤(目前作用范围仅仅局限于基于规则推理机) 欢迎大家讨论: 1、 首先使用页面应该调用的接口是设定知识源,来设定推理机推理需要使用的知识源。(应当是所有的推理机都有用到的步骤。也都应该是第一步) 2、 设定与推理的算法相关的选择性信息。(每一种推理机应该略有差异)。 基于规则的推理机需要设定的信息有两个:一个是推理的方向:正向/反向? 以及是确定性推理还是不确定性推理? 3、 设定推理目标。(这个似乎好像每个推理机都会多多少少的有,有基于规则的推理机而言,反向推理机一定有,混合双向的就没有。) 4、 启动推理机。(在基于规则推理机中,这个步骤先于5,而在贝叶斯则4、5顺序相反) 5、 输入初始事实。为什么4、5顺 序不能颠倒?实际上,对于基于规则的推理机而言,也分为两种情况。这个是由推理机的算法的特点决定的。正向推理机的输入部分是一个集合,这个集合在推理机 启动前就可以被确定下来了。所以,这个集合的确定可以在制作推理机的页面的时候就可以被确定下来。但是,反向推理机是先推理,用到什么再提问什么。因此, 需要时才会提问。所以,页面的只能在推理中才能确定下来。 (我所想到的解决方案是:为了使工作流程能够统一下来。我们确定所有的推理机的流程都是先5后4。以后又用到什么就再添加。也就是说,正向推理流程可以与贝叶斯相同,反向的启动前的输入省略就可以了。在使用的时候,由页面控制器来根据用户输入的信息控制页面的流程。) 6、 返回推理结果。 7、 推理过程中需要显示的部分:(有一些还是有问题的) I、 以前我们的推理机是有多媒体显示的。但是现在将推理机的功能剥离开来了。就不知道这些文件应该存放到哪里?怎么播放?在推理机中只不过是一个路径而已,在本地播放的。 II、 推理解释。 III、 推理跟踪(类似Debug) IV、 能够实现的功能:推理的暂停/继续
|
|