模糊逻辑系统(《人工智能入门与实战 使用Raspberry和Python演练》)
模糊逻辑(Fuzzy Logic,Fl)简介:在Fl中,一份陈述可以部分为真或部分为假。也可以用概率核量该语句。从反应现实的意义来说,人类决定不仅是二元决策,还要基于事物本身等级。eg:淋浴的温度,结果不仅仅是热或凉,而更有可能是稍热。
Fl的例子:
去模糊化:将多条规则的数值结果相结合以产生最终总体结果值的过程。最简单和最直接的步骤是平均所有的数值结果来产生单个数值。但不是所有规则都具有同等重要性。分配给每条规则的重要性是通过加权因子来完成的。
eg:求模糊的值=74×2+74×2+50×6+22×8)/(2+4+6+8)=772/20=38.6
2.4.6.8为权重。
硬件清单:Pi Cobbler/ 1 /40-引脚版本,T型或DIP型。
无焊面包板/ 1 /
跳线 /一包/
LED /3 /
220欧姆/ 3/ 1/4瓦
软件安装 : python,numpy,matplotlip,skfuzzy
基础FLS:1.模糊化
2.模糊规则
3.模糊推理
4.去模糊化
FL算法:
1.初始化:(1)定义语言变量和术语
语言变量代表系统中的输入和输出值。通常不是数值,而是来自自然语言的单词或句子。语言变量也被分解成一组语言术语。
(2) 构造隶属函数
隶属函数用在Fl的模糊化和求模糊化步骤中。这些函数将非模糊输入值映射为用于模糊化模糊语言,将模糊变量映射为用于去模糊化的非模糊输出值。从本质上说,隶属函数量化了语言术语。
隶属函数形状:高斯函数型
梯形
单点集合
分数段
正弦函数
指数型
建立规则集
2.模糊化:使用隶属函数将清晰的输入数据转换成模糊集。明确不同的变量有不同隶属函数。
3. 推理:根据规则集评估模糊集
if then …推理规则
or
4.聚集:结合每条规则评估的结果得出一个综合结果。使用最大化运算符来完成。
5.求模糊化:将模糊集转化为清晰的输出值。
数学技术:重心
平分线
均值
最小的最大值
最大的最大值
加权平均