欢迎来到天天文库
浏览记录
ID:20389280
大小:329.50 KB
页数:17页
时间:2018-10-09
《人工智能( 化为子句集的九步法实验)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、人工智能化为子句集的九步法实验报告实验目的1.熟悉谓词公式化为子句集的九个步骤2.理解消解(谓词公式化为子句集)规则,能把任意谓词公式转换成子句集。3.学会谓词公式化为子句集实验原理任一谓词公式通过九步法可以化成一个子句集。九步法消解包括消去蕴含和等价符号、把否定符号移到紧靠谓词的位置上、变量标准化、消去存在量词、化为前束型、化为Skolem标准形、略去全称量词、消去合取词,把母式用子句集表示、子句换变量标准化,依次变换即可得到子句集。实验条件1.WindowNT/xp/7及以上的操作系统2.内存在512M以上3.CPU在奔腾II以上实验内容熟悉谓词公式转换成子句集的步骤,子句集转换演示程序参
2、考界面如下图1所示。17人工智能图1子句集转换演示程序参考界面实验分析1.对默认谓词公式进行转换。进入程序,点击“语法检查”,再依次点击消解过程的九个步骤按钮,得到转换结果。2.自定义转换目标。点击“清除”删除默认公式,利用界面键盘输入新的转换目标,用“大写字母”、“小写字母”按键进行输入中的字母变换。3.语法检查。点击“语法检查”检查输入谓词公式的语法错误。如无错误,则依次点击步骤按钮进行转换。4.重复运行2、3步,熟悉消解原理和转换过程。程序代码//化为子句集的九步法演示//作者:RanchoChan//时间:2010.12.15//有bug#include#inclu
3、de#include#includeusingnamespacestd;//一些函数的定义voidinitString(string&ini);//初始化stringdel_inlclue(stringtemp);//消去蕴涵符号stringdec_neg_rand(stringtemp);//减少否定符号的辖域stringstandard_var(stringtemp);//对变量标准化stringdel_exists(stringtemp);//消去存在量词stringconvert_to_front(stringtemp);//化为前束形st
4、ringconvert_to_and(stringtemp);//把母式化为合取范式stringdel_all(stringtemp);//消去全称量词stringdel_and(stringtemp);//消去连接符号合取%stringchange_name(stringtemp);//更换变量名称//辅助函数定义boolisAlbum(chartemp);//是字母stringdel_null_bracket(stringtemp);//删除多余的括号stringdel_blank(stringtemp);//删除多余的空格voidcheckLegal(stringtemp);//检查合法
5、性charnumAfectChar(inttemp);//数字显示为字符//主函数voidmain(){cout<<"------------------求子句集九步法演示-----------------------"<P)";//orign="~(#x)y(x)";//orign="~((@x)x!b(x))";17人工智能//orign="~(x!y)";//orign="~(~a(b))";stringorign,temp;charcommand,com
6、mand0,command1,command2,command3,command4,command5,command6,command7,command8,command9,command10;//=============================================================================cout<<"请输入(Y/y)初始化谓词演算公式"<>command;if(command=='y'
7、
8、command=='Y')initString(orign);elseexit(0);//=================
9、============================================================cout<<"请输入(Y/y)消除空格"<>command0;if(command0=='y'
10、
11、command0=='Y'){//del_blank(orign);//undonecout<<"消除空格后是"<
此文档下载收益归作者所有