Horn子句归结实验
(一)实验目的:
熟悉和掌握归结原理的基本思想和基本方法,通过实验培养学生利用逻辑方法表示知识,并掌握采用机器推理来进行问题求解的基本方法。
(二)实验内容及要求
1. 对所给问题进行知识的逻辑表示,转换为子句,对子句进行归结求解。
2. 选用一种编程语言,在逻辑框架中实现Horn子句的归结求解。
3. 对下列问题用逻辑推理的归结原理进行求解,要求界面显示每一步的求解过程。
破案问题:在一栋房子里发生了一件神秘的谋杀案,现在可以肯定以下几点事实:
(a)在这栋房子里仅住有A,B,C三人;
(b)是住在这栋房子里的人杀了A;
(c)谋杀者非常恨受害者; (d)A所恨的人,C一定不恨;
(e)除了B以外,A恨所有的人; (f)B恨所有不比A富有的人;
(g)A所恨的人,B也恨; (h)没有一个人恨所有的人;
(i)杀人嫌疑犯一定不会比受害者富有。
为了推理需要,增加如下常识:(j)A不等于B。
问:谋杀者是谁?
4.撰写实验报告,提交源代码(进行注释)、实验报告、汇报PPT
报告模板要求如下:
实验报告必须包含,但不限于以下内容。
一、 实验概述
(1) 实验目的
(2) 实验内容
二、 实验方案设计
(1) 总体设计思路与总体架构 [可附加流程图描述]
(2) 核心算法及基本原理:详细说明核心算法以及其涉及的理论知识。
(3) 模块设计:本实验的具体模块设计
(4) 其他创新内容或优化算法
三、 实验过程
(1) 环境说明:操作系统、开发语言、开发环境及具体版本、核心使用库等
(2) 源代码文件清单,主要函数清单
如:***.cpp:评估器源文件,用于实现…
(3) 实验结果展示
实验结论(包含不同启发函数h(n)求解8数码问题的结果比较表,进行性能分析)
四、 总结
(1) 实验中存在的问题及解决方案
(2) 心得体会
(3) 后续改进方向
(4) 总结
参考文献
成员分工与自评(必须写清楚)
格式要求:具体参见同济大学毕业设计模板(理工类)
例:正文宋体(英文-Times New Roman);正文宋体五号行距18磅等。