所有规则:
{"有羽毛","不会飞,长腿,长脖子,鸟类","不会飞,善游泳,黑白色,鸟类","长腿,长脖,有黄褐色暗斑,有蹄类","不会飞,会飞","吃肉,哺乳类","反刍食物,哺乳类","黄褐色,有暗斑点,肉食类","黄褐色,有黑条纹,肉食类","犬牙利爪,眼睛向前","善飞,鸟类","有黑白条纹,有蹄类","有毛","有奶"};
规则对应的结果
{"鸟类","鸵鸟","企鹅","长颈鹿","矛盾","肉食类","有蹄类","金钱豹","老虎","肉食类","信天翁","斑马","哺乳类","哺乳类"};
所有的事实:
{"不会飞","长腿","长脖子","吃肉","反刍食物","黑白色","黄褐色","会飞","会生蛋","鸟类","犬牙利爪","肉食类","善飞","善游泳","眼睛向前","有暗斑点","有黑白条纹","有黑条纹","有黄褐色暗斑","有毛","有奶","有蹄","有蹄类","有羽毛"};
程序打开直接运行:
1、会出现输入控制台
2、输入你选择的 事实
3、程序会进行推理 并且把推理结果显示出来
4、规则集中增加 矛盾规则,以防输入时候选择了矛盾的条件。 遇到这种情况,推理直接停止,并显示提示。
5、如果有推理成功,程序则把结论加入条件,删除掉成功推理规则。从头再进行一次推理,增加推理的完整性。
不足:
(算法需要进一步完善的地方:)
规则分类: 正常推理,和矛盾推理,由于时间原因未能实现
事实集合分类: 分为3类: 条件,中间结论,结果。 这样在推理过程中可以智能的把推理中间结论和结果分开,以免一些无效的推理。 比如: 鸟类:为中间结论,它可以做进一步的推理。 而鸵鸟为结果,不应该在加入条件集合中进行推理过程。
形似计算: 通过条件集合,以及规则来定义一个形似计算规则,对推理进行加工,得出近视推理。比如有些输入条件,仅仅就与规则差一点点,但是计算机就是推理不出结果。 我们可以近视计算出80%或者90%的推理集合,显示给用户。
1