Prolog 中 XSHELL 专家系统外壳的深入解析
1. XSHELL 概述
在 Prolog 编程里,我们可以采用过程式或声明式的编程方法。XSHELL 被视为一组用于用户与 Prolog 推理引擎交互的程序,其开发的基本方法是过程式的。而构建与 XSHELL 配合使用的知识库时,应采用声明式方法。
XSHELL 的核心功能是在咨询过程中进行识别,同时还需完成其他多项任务:
1. 告知用户专家系统的功能和使用方法。
2. 进行识别,记录识别结果,向用户报告,并在必要时解释识别过程。
3. 若允许进行多次识别,则持续进行识别,直至无法再做出新的识别。
4. 平稳结束咨询,并询问用户是否要进行另一次咨询。
咨询的主要控制由 xshell
、 xshell_aux
和 finish_xshell
这三个程序完成,咨询过程中使用的其他所有程序都由这三个程序调用。咨询从查询 ?- xshell.
开始。
1.1 XSHELL 主要程序代码
% XSHELL.PL
% An expert system consultation driver to be used
% with separately written knowledge bases.
% Procedures in the file include XSHELL, XSHELL_AUX,
% FINISH_XSHELL, PROP, PARM, PARMSET,