人工智能及其应用 (豆瓣)
人工智能是解决复杂工程问题的重要工具,是当前许多高新技术产品中的核心技术。读者通过学习本书,能够掌握人工智能的基本内容,了解人工智能研究的一些前沿技术,为进一步学习与研究人工智能理论与应用奠定基础。
全书共11章,分别为人工智能的基本概念与主要研究领域、知识表示、确定性推理方法、不确定性推理方法、搜索求解策略、进化算法(包括遗传算法、差分进化算法、量子进化算法)、群智能算法(包括粒子群算法、量子粒子群算法、蚁群算法)、人工神经网络(包括卷积神经网络)、机器学习(包括深度学习)、专家系统、自然语言处理。附录中给出了本书习题的简要解答和实验指导书。
本书主要作为计算机、自动化、电气、电子信息、机械等类专业本科生、研究生学习人工智能课程的教材。由于书中几大部分内容相对独立,可以容易地根据课程计划学时选择部分内容学习,仍可保持课程体系结构的完整性。本书也可供希望掌握人工智能技术的研究人员与工程技术人员学习参考。书中增加了“扫一扫”,能够观看相应内容的讲课录像和实验的参考程序,很方便读者自学。
人工智能导论实验:产生式推理系统(Python+MySQL+tkInter)
之前,人工智能课程实验要我们写一个产生式推理系统,于是用python完成了此次实验,采用MySQL数据库存储知识库和事实库,实验报告如下:
一、系统设置1.1系统名称交通工具识别系统
1.2系统开发环境处理器:Intel®Core™i5-10300HCPU@2.50GHz2.50GHz机带RAM:16.0GB(15.8GB可用)系统类型:64位操作系统,基于x64的处理器开发语言版本:Python3.8开发工具:PyCharmCommunityEdition2021.1x64MySQL数据库版本:5.7.9
1.3系统谓词及含义1、Size(x):表示要识别的交通工具体型大小。2、Character(y):表示要识别的交通工具特点。3、Vehicle(z):表示交通工具。
1.4系统目的根据用户提供的事实,与知识库中的规则比配从而识别出交通工具
1.5系统模块
文件名功能main.py主函数,调用gui类显示主界面GUI.py定义gui类,设置主界面按钮、文本框等图像部件,完成与用户交互界面的功能Rules.py定义Rule类,与MySQL数据库连接并实现规则的前提条件与结论的存储与调用check.py定义Check类,用于推理匹配,检查规则库中是否有符合的知识control.py定义Control类,控制程序,控制推理机进行推理二、知识库2.1规则库:初始一共10条规则:r0:IFSize(小)ANDCharacter(有轮子)THENVehicle(车)r1:IFSize(大)ANDCharacter(流线型)THENVehicle(飞机)r2:IFCharacter(天上飞的)THENVehicle(飞机)r3:IFCharacter(水上游的)THENVehicle(船)r4:IFCharacter(地上跑的)THENVehicle(车)r5:IFSize(大)ANDCharacter(冒黑烟)ANDVehicle(船)THENVehicle(轮船)r6:IFVehicle(飞机)ANDCharacter(有机翼)THENVehicle(航天飞机)r7:IFVehicle(飞机)ANDCharacter(有螺旋桨)THENVehicle(直升机)r8:IFVehicle(车)ANDCharacter(有四个轮)THENVehicle(汽车)r9:IFVehicle(车)ANDCharacter(有两个轮)THENVehicle(自行车)
2.2数据库2.2.1数据库连接:Rule.py文件中importpymysql
打开数据库连接db=pymysql.connect(host=“localhost”,user=“root”,password=“123456”,database=“production”)
host表示数据库主机IPUser表示数据库用户名Password表示数据库用户密码Database表示数据库名称
2.2.2rule表(知识库:规则表)字段:初始规则:2.2.3synthesis表(综合数据库:记录用户输入的事实)字段:事实:
三、系统功能展示:3.1查看规则:3.2添加规则:3.3删除规则:3.4修改规则:3.5推理:
四、推理过程注:本系统最多接受输入4个事实4.1正向推理事实区:小、有轮子、有四个轮规则区:如上述2.1规则库推理流程图:4.2逆向推理事实区:大、流线型、有螺旋桨规则区:如上述2.1规则库推理流程图:
五、总结与心得体会:经过这一次实验,我对一阶谓词表示法和产生式表示法有了更深的认识。为了实现用户交互界面的设计,我自学了Python的GUI编程库Tkinter,最终实现了一个简陋的用户交互界面。在代码层面,我采用了MVC的软件设计模式,它强制性地使应用程序的输入、处理和输出分开,加深了我对软件工程这一专业的理解。另外,对于知识库与事实库的存储采取了MySQL数据库这一软件,通过建立数据表实现了对规则的增删查改,也同时记录了用户输入的事实,完善了这一产生式系统。但是,这个系统还存在有不足,比如对于产生式系统的界面比较简陋,没有美化界面使用户的交互体验更加舒适。总而言之,学习永无止境,还需要继续努力!
源码+实验报告地址:https://download.csdn.net/download/qq_36428822/43750709