问题说明:
本文主要利用Matlab的Fuzzy工具箱——“Fuzzy Logic Designer ”,解决现实生活中的模糊问题——小费Tips问题。 建立其相对应的模糊推理系统。 操作说明:
在 Fuzzy工具箱 中的操作过程中,未更改的参数,均采用默认值。注意保存! 使用软件:
Matlab R2018b 参考文献:
人工智能技术 / 修春波主编. 机械工业出版社, 2018.8 特别鸣谢:
中国石油大学(华东)机电工程学院 李安教授 修改时间:
2020.05.22
目录:
1、问题题干
2、Fuzzy工具箱的使用
3、输入/输出 语言变量 input/output 的设置
4、设置模糊推理规则rule
5、小费Tips—模糊推理系统的查看
1 问题题干(即模糊问题的大前提)
消费规则: ①当服务差或食物差的时候,小费少; ②当服务好的时候,小费中等; ③当服务很好或食物很好的时候,小费高
使用Matlab图形化工具箱——Fuzzy,可以方便地建立模糊控制系统。
语言变量1:服务质量(service)
论域:[0,10]
语言变量值: 差(poor)、好(good)、很好(excellent)
语言变量值的隶属度函数:高斯函数
差(poor): ( 1.5,0 )
好(good): (1.5,5)
很好(excellent):(1.5,10)
语言变量2:食物质量(food)
论域:[0,10]
语言变量值: 差(rancid)、很好(delicious)
语言变量值的隶属度函数:梯形
差(rancid): ( 0,0,1,3)
好(delicious):(7,9,10,10)
语言变量3:小费(tip)
论域:[0,30]
语言变量值: 低(cheap)、一般(average)、高(generous)
语言变量值的隶属度函数:三角型
差(cheap): ( 0,5,10)
一般(average): (10,15,20)
高(generous):(20,25,30)
2 Fuzzy工具箱的使用(调用及基本操作)
这里需要注意Matlab是否安装“Fuzzy工具箱”,不过大部分用户都是安装了的,如果未安装,则去官网下载相应安装包 进行安装。
调用Fuzzy图形化界面如下:
从上图菜单栏中可以添加 “ 输入/输出 语言变量” 。
上图中,鼠标双击左右任意正方形(黄色input1、蓝色output1)都可打开下图界面,可在下图界面中设置输入input1,输出input。
鼠标双击中间的正方形(白色),可以打开规则rule编辑窗口,如下图。
3 输入/输出 语言变量 Input/output 的设置
该例题有2个 “输入语言变量”,和1个“输出语言变量”: 输入 语言变量1:服务质量(service) 输入 语言变量2:食物质量(food) 输出 语言变量3:小费(tip)
因此需要添加一个输入input。在Fuzzy初始窗口的左上角有菜单选项,Edit–>Add Variable–>Input。
继续在Fuzzy工具箱初始界面,选中变量,将输入输出变量的命名更改为
input1–>service,
input2–>food,
output1–>tip,效果如图
接下来,对各语言变量的 论域、语言变量值、隶属度函数进行设置。 语言变量1:服务质量(service)
(1)论域: [0,10]
(2)语言变量值: 差(poor)、好(good)、很好(excellent)
(3)隶属度函数: 高斯函数—差(poor):(1.5, 0)、好(good):(1.5,5)、很好(excellent):(1.5,10)
高斯隶属度函数为:gaussmf;三角形隶属度函数:trimf;梯形隶属度函数:trapmf
语言变量2:食物质量(food)
论域:[0,10]
语言变量值: 差(rancid)、很好(delicious)
语言变量值的隶属度函数:梯形
差(rancid): ( 0,0,1,3)
好(delicious):(7,9,10,10)
语言变量3:小费(tip)
论域:[0,30]
语言变量值: 低(cheap)、一般(average)、高(generous)
语言变量值的隶属度函数:三角型
差(cheap): ( 0,5,10)
一般(average): (10,15,20)
高(generous):(20,25,30)
4 设置模糊推理规则 rule(进行推理的大前提)
规则:Rule ①当服务差或食物差的时候,小费少; ②当服务好的时候,小费中等; ③当服务很好或食物很好的时候,小费高
使用Matlab图形化工具箱——Fuzzy,可以方便地建立模糊控制系统。
这里要特别注意规则①和③中是 “ 或 ” 所要选择 “ or ” 。
到此,模糊推理系统就建立好了。接下来可以对其进行查看。
5 小费Tips——模糊推理系统的查看
规则观察器 和 模糊推理框图
小费Tips的模糊推理系统已经设计完成,通过View-rules来查看规则视图,可在线改变输入service 和 food 得到输出 tip 。(如下图所示)
感谢阅读!如有不当之处,请各位读者积极批评指正!
|
请发表评论