首页 > 代码库 > 模糊逻辑

模糊逻辑

模糊逻辑

 编辑
本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
模糊逻辑是建立在多值逻辑基础上,运用模糊集合的方法来研究模糊性思维、语言形式及其规律的科学。
 

目录

  1. 简介
  2. 基本内容
  3. 历史发展
  1. 基本理论
  2. 应用
  3. 编程语言
  1. 其他例子

简介

编辑

基本内容

模糊逻辑指模仿人脑的不确定性概念判断、推理思维方式,对于模型未知或不能确定的描述系统,以及强非线性、大滞后的控制对象,应用模糊集合和模糊规则进行推理,表达过渡性界限或定性知识经验,模拟人脑方式,实行模糊综合判断,推理解决常规方法难于对付的规则型模糊信息问题。模糊逻辑善于表达界限不清晰的定性知识与经验,它借助于隶属度函数概念,区分模糊集合,处理模糊关系,模拟人脑实施规则型推理,解决因“排中律”的逻辑破缺产生的种种不确定问题 。

历史发展

1965年美国数学家L. Zadeh首先提出了Fuzzy集合的概念,标志着Fuzzy数学的诞生。建立在二值逻辑基础上的原有的逻辑与数学难以描述和处理现实世界中许多模糊性的对象。Fuzzy数学与Fuzzy逻辑实质上是要对模糊性对象进行精确的描述和处理。L. Zadeh为了建立模糊性对象的数学模型,把只取0和1二值的普通集合概念推广为在[0,1]区间上取无穷多值的模糊集合概念,并用“隶属度”这一概念来精确地刻画元素与模糊集合之间的关系。正因为模糊集合是以连续的无穷多值为依据的,所以,模糊逻辑可看做是运用无穷连续值的模糊集合去研究模糊性对象的科学。把模糊数学的一些基本概念和方法运用到逻辑领域中,产生了模糊逻辑变量、模糊逻辑函数等基本概念。对于模糊联结词与模糊真值表也作了相应的对比研究。查德还开展了模糊假言推理等似然推理的研究,有些成果已直接应用于模糊控制器的研制。创立和研究模糊逻辑的主要意义有:(1)运用模糊逻辑变量、模糊逻辑函数和似然推理等新思想、新理论,为寻找解决模糊性问题的突破口奠定了理论基础,从逻辑思想上为研究模糊性对象指明了方向。(2)模糊逻辑在原有的布尔代数、二值逻辑等数学和逻辑工具难以描述和处理的自动控制过程、疑难病症的诊断、大系统的研究等方面,都具有独到之处。(3)在方法论上,为人类从精确性到模糊性、从确定性到不确定性的研究提供了正确的研究方法。此外,在数学基础研究方面,模糊逻辑有助于解决某些悖论。对辩证逻辑的研究也会产生深远的影响。当然,模糊逻辑理论本身还有待进一步系统化、完整化、规范化。

基本理论

模糊逻辑是二元逻辑的重言式:在多值逻辑中,给定一个 MV-代数A,一个 A-求值就是从命题演算中公式的集合到 MV-代数的函数。如果对于所有 A-求值这个函数把一个公式映射到 1(或 0),则这个公式是一个 A-重言式。因此对于无穷值逻辑(比如模糊逻辑、武卡谢维奇逻辑),我们设 [0,1] 是 A 的下层集合来获得 [0,1]-求值和 [0,1]-重言式(经常就叫做求值和重言式)。Chang 发明 MV-代数来研究波兰数学家扬·武卡谢维奇(Jan ?ukasiewicz)在 1920 年介入的多值逻辑。Chang 的完备定理(1958, 1959) 声称任何在 [0,1] 区间成立的 MV-代数等式也在所有 MV-代数中成立。通过这个定理,证明了无穷值的武卡谢维奇逻辑可以被 MV-代数所刻画。后来同样适用于模糊逻辑。这类似于在 {0,1} 成立的布尔代数等式在任何布尔代数中也成立,布尔代数因此刻画了标准二值逻辑。

应用

编辑
模糊逻辑可以用于控制家用电器比如洗衣机(它感知装载量和清洁剂浓度并据此调整它们的洗涤周期)和空调。
基本的应用可以特征化为连续变量的子范围(subranges),形状常常是三角形或梯形。例如,防锁刹车的温度测量可以有正确控制刹车所需要的定义特定温度范围的多个独立的成员关系函数(归属函数 / Membership function)。每个函数映射相同的温度到在 0 至 1 范围内的一个真值且为非凹函数(non-concave functions)(否则可能在某部分温度越高却被归类为越冷)。接着这些真值可以用于确定应当怎样控制刹车。
技术分享一个温度控制的例子
在右图中,是映射温度范围的函数。在这个刻度上的一个点有三个"真值" — 每个函数一个。对于展示的特定的温度,这三个真值可以被解释为把温度描述为,"相当冷", "有些暖" 和 "不热"。
通常情况会采用梯形,但在作模糊回归分析时则会选用三角形的归属函数。
技术分享
模糊逻辑(4张)
模糊逻辑通常使用 IF/THEN 规则,或构造等价的东西比如模糊关联矩阵。
规则通常表达为如下形式:
IF 模糊变量 IS模糊集合THEN动作
例如,一个非常简单的使用风扇的温度调节器:
IF 温度 IS 非常冷 THEN 停止风扇
IF 温度 IS 冷 THEN 减速风扇
IF 温度 IS 正常 THEN 保持现有水平
IF 温度 IS 热 THEN 加速风扇
注意没有 "ELSE"。所有规则都被求值,因为温度在不同程度上可以同时是"冷"和"正常"。
在模糊逻辑中存在着布尔逻辑的 AND、OR 和 NOT运算符,它们通常定义为最小、最大和求补;在以这种方式定义它们的时候,它们叫做Zadeh 运算符,因为它们是在 Zadeh 最初论文中首次定义的。对于模糊变量 x 和 y:
NOT x = (1 - truth(x))x AND y = minimum(truth(x), truth(y))x OR y = maximum(truth(x), truth(y))还可以应用叫做hedges的更贴近自然语言其他的运算符。一般性的副词如"非常"或"有点"能使用数学公式修改集合的内涵。

编程语言

编辑
在应用中,编程语言 ProLog 由于有架设被演绎逻辑问讯的"规则"的数据库设施而很适合实现模糊逻辑。这种编程叫做逻辑编程。

其他例子

编辑
如果一个人的高度是 1.8 米,把他考虑为高:
IF male IS true AND height >= 1.8 THEN is_tall IS true
IF male IS true AND height >= 1.8 THEN is_short IS false
但上述的定义却是不现实的。因此,在模糊规则下,在高和矮之间不做明显的区分:
IF height >= medium male THEN is_short IS agree somehow
IF height >= medium male THEN is_tall IS agree somehow
在模糊的情况下,没有像 1,83 米这样的高度,只有模糊值,比如下列赋值:
dwarf male = [0, 1.3]
msmall male = (1.3, 1.5]
medium male = (1.5, 1.8]
tall male = (1.8, 2.0]
giant male > 2.0 m对于结论,也不只是两个值,而是五个:
agree not = 0
agree little = 1
agree somehow = 2
agree alot = 3
agree fully = 4
在二值或"脆弱"的情况下,高度为 1.79 米的一个人可能被认为是矮。如果另一个人的高度是 1.8 米或 2.25 米,这些人才被当作是高。
这个脆弱的例子故意的区别于模糊的例子。我们在前提中不能放置
IF male >= agree somehow AND ...因为性别经常被认为是二值信息。所以不象身高这么复杂。

模糊逻辑