⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 使用指南.cpp

📁 一个面向对象的产生式推理模型
💻 CPP
字号:
			《专家系统通用模型框架使用说明》
1、拷贝8个类的16个文件(头文件 和 源文件):
	AiAssert;AiExpert;AiFact;AiMention;AiMt;AiRule;AiWffs;AiTree
2、包含专家系统类的头文件:
	#include "AiExpert.h"
3、定义专家对象:
	AiExpert myExpert;
	//给专家系统命名
	myExpert.SetESName(CString );
	//取得命名
	CString str = myExpert.GetESName(CString);
4、定义谓词变量,构造参数为谓词值为T或F时相应的说明:
	AiAssert P("会飞","不会飞");
	AiAssert Q("有羽毛");
5、加入事实、规则、搜索目标:
	//加入次序可任意
	myExpert.AddFact(P); 
	myExpert.AddFact(!S);
	myExpert.AddRule(P&!Q,S);
	myExpert.AddRule(P&Q&A,D);
	myExpert.AddRule(!P&A,!D);
	myExpert.AddGoal(S);
	myExpert.AddGoal(!D);
	myExpert.AddFact(!A);
6、开始查找:
	//初始化查找目标。
	myExpert.InitForSearch();
	//正向简单推理,直到无法推出新的结论为止。
	myExpert.SearchSingle();
	//反向推理,得到结果或无法推断时停止。
	myExpert.SearchBackward();
	//反向启发式推理,得到结果或无法推断时停止。
	myExpert.SearchBackwardWithAsk();
	//进行推理,依次调用上述四个函数
 	myExpert.Search();
7、获得推理结果:
	//取得搜索结果状态。返回:ResultSingleCertitude,ResultSingleIncertitude,
	//	?				ResultMultiAllOk,ResultNotAllOk,ResultAllNotOk之一。
	int state = myExpert.GetResultState();
	//取得谓词结论,返回该谓词推得状态的提示语。
	CString str = myExpert.GetFactMention(B);
	//取得命题结论,返回该命题成立与否。成立:T,其他:F:
	BOOL TF = myExpert.CheckMtTorF(!S);
	//测试用SetFactTrue(int id),SetFactFalse(int id)函数
	//测试用GetFact函数,返回FactTrue,FactFalse,FactUnknow:
	int TF = myExpert.GetFact(B);
	//将推理过程显示在CTreeCtrl中。
	SetAnswerTreeCtrl(CTreeCtrl* );
	ShowTreeCtrlAnswer();
	//得到推理结果的字符串
	CString str = GetAnswerString();
	CString str = GetAnswerString(int goal);//参数为第几个目标
8、提供其它应用程序的通用方法:
	//初始化或重置一个系统的所有数据
	myExpert.InitData();
	//从文件加载事实和规则。
	myExpert.LoadFromFile(CString filename);
	//将系统的事实和规则保存到文件(包含当前搜索状态)。
	myExpert.StoreToFile(CString filename);
	//序列化系统事实和规则。
	myExpert.Serialize(CArchive& ar);
	//允许重复多次启动搜索的函数。
	myExpert.Search();
	//
9、专家系统知识规则编辑器:
	

	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -