模糊逻辑

来自中文百科,文化平台
跳转至: 导航搜索

模糊逻辑英语:fuzzy logic),是处理部分真实概念的布林运算扩展。经典逻辑坚持所有事物(陈述)都可以用二元项(0或1,黑或白,是或否)来表达,而模糊逻辑用真实度替代了布尔真值。这些陈述表示实际上接近于日常人们的问题和语意陈述,因为“真实”和结果在多数时候是部分(非二元)的和/或不精确的(不准确的,不清晰的,模糊的)。

真实度经常混淆于概率。但是它们在概念上是不一样的;模糊真值表示在模糊定义的集合中的成员归属关系,而不是某事件或条件的可能度(likelihood)。要展示这种区别,考虑下列情节:Bob在有两个毗邻的房间的屋子中:厨房和餐厅。在很多情况下,Bob的状态是在事物“在厨房中”的集合内是完全明确的:他要么“在厨房中”要么“不在厨房中”。但Bob站在门口的时候怎么办呢?它可被认为是“部分的在厨房中”。量化这个部分陈述产生了一个模糊集合成员关系。比如,只有他的小脚趾在餐厅,我们可以说Bob是0.01“在厨房中”。只要Bob站在了门口,就没有事件(如抛硬币)能解决他完全的“在厨房中”或“不在厨房中”。模糊集合是基于集合的模糊定义而不是随机性。

模糊逻辑允许在包含0和1的它们之间集合成员关系值,同于黑和白之间的灰色,在它的语言形式中,有不精确的概念如"稍微"、"相当"和"非常"。特别是,它允许在集合中的部分成员关系。它有关于模糊集合可能性理论。它是1965年卢菲特·泽德教授在加州大学伯克利分校介入的。

模糊逻辑尽管被广泛接受却是有争议的:它被某些控制工程师出于有效性和其他原因,和一些坚持概率论不确定性的唯一严格描述的统计学家所拒绝。批评者认为它不是普通集合论的超集,因为成员函数是依据常规集合而定义的。

概述

模糊逻辑是逻辑公式的真值是模糊值的各种逻辑的总称。在模糊逻辑中除逻辑真值具有模糊性外,相应地在其中定义的各种逻辑运算和推理规则也具有模糊性。模糊逻辑自提出以后,特别是在人工智能和控制等领域得到较好的应用之后,已经引起研究人员的浓厚兴趣。进入20世纪90年代,模糊逻辑无论在理论上还是在应用方面都得到了较快地发展。

模糊逻辑真值 模糊逻辑公式所具有的一种值,用以描述逻辑公式真的程度(或称真度)。它可在各种不同的真值范围中取值。在最简单的狭义模糊逻辑中,模糊逻辑公式的真度用[0,1]间的实数描述。0表示假,1表示真,大于0小于1的实数表示假与真之间的某种真度。值越大,真度越高。在模糊语言值逻辑中,模糊逻辑公式的真度用诸如“极真、很真、较真、不太真……”中的语言值描述。自然语言的本来语义刻画了这些语言值所表示的真度。此外,模糊逻辑还可取其他集合中的元素为真值,例如可取[0,1]中的模糊区间数和模糊中心数等为真值。

模糊逻辑运算 在模糊逻辑中可施行于其逻辑公式之上的各种运算。不同的模糊逻辑定义有不同的运算。例如在狭义模糊逻辑中,一般包括:①模糊逻辑与(或称模糊逻辑乘)∧。两个模糊逻辑公式A和B作模糊逻辑与的结果表示为A∧B,其真值可定义为两个模糊逻辑公式真值的极小者或乘积等。②模糊逻辑或(或称模糊逻辑加)∨。A和B作模糊逻辑或的结果表示为A∨B,其真值可定义为A和B的真值的极大者或概率和(概率和由两真值之和减去两真值之积求得)。③模糊逻辑非~。A的模糊逻辑非表示为~A,其真值可定义为1减去A的真值。此外,还可定义模糊蕴含和模糊等价等运算。

模糊逻辑公式 最通常的模糊逻辑系统是模糊命题演算和模糊谓词演算。其中的逻辑公式分别是模糊命题公式和模糊谓词公式。

①模糊命题。指一个只能模糊地判别真假的陈述句。例如陈述“张三身高超过一米八”是一个一般的命题。它可以被严格地判断真假。但是如果把上述陈述改成“张三身材很高”,对它就不能说严格的真或假了。这就是一个模糊命题。它的真值只能用一个模糊数或语言值等来陈述。模糊命题是模糊命题演算中的原子逻辑公式。

②模糊谓词。指带变量的模糊命题,或称模糊命题函数。当其中的变量被确定为常量时,它就变成模糊命题,从而具有一个模糊的真值。例如,陈述“X身材很高”,当取X为张三时,就变成“张三身材很高”,其真值不能简单地用真或假来回答,因其真的程度介于真与假之间,故其真值只能用某种模糊值来表示。模糊谓词是模糊谓词演算中的原子逻辑公式。

多值逻辑和狭义模糊逻辑 具有两种以上真值的谓词逻辑的总称。一般指具有有限种真值的逻辑,它是模糊逻辑的前身。由于其中所有合式逻辑公式只有有限种真值,其中的各种逻辑运算(包括或、与、非、蕴含、等价等)都可用真值表来定义。研究得最彻底的多值逻辑是三值逻辑,其中除了“真”(T)与“假”(F)两种真值之外,还有第三种真值。根据赋予第三真值的含义的不同又可得到各种不同的三值逻辑。当多值逻辑的真值可取值于区间[0,1]中的任意实数时,一般就把它称为狭义模糊逻辑。广义的模糊逻辑的概念是由美籍伊朗数学家、模糊数学的创始人L.A.扎德提出的,称为扎德模糊逻辑。

模糊推理 基于各种模糊逻辑的推理。根据前提的置信度如何转变为结论置信度,模糊推理被分为主观地完全置信推理和主观地不完全置信推理两大类。前者统称为模糊演绎推理,其中结论的置信度等于前提的置信度。后者统称为模糊归纳推理,其中结论的置信度小于前提的置信度。各种模糊逻辑中定义的“三段论”其实就是从一个蕴含式及其前提的真值计算其结论的真值的规则。由于各种模糊逻辑中定义的这种计算规则的不同就相应地产生了不同的模糊推理方法。从一个公理的集合出发,经过有限步模糊推理所能推出的全部模糊结论的集合称为由公理集推出的模糊定理集。为了证明一个模糊定理,既可采用从公理出发,逐步推出欲证定理的向前推理方法,称为前向模糊推理;也可采用从欲证定理出发,逐步归结为公理集的反向验证的方法,称为反向模糊推理。在反向模糊推理中,如果最终归结为需要验证的合式公式都是公理,则该模糊定理得证。与精确推理时不同,每个得证的模糊定理都有一个模糊真度,而不是完全真。在模糊推理中往往要约定(或由用户指定)两个阈限,即真阈限和假阈限。当结论的真度大于真阈限时,就认为该结论为真;当结论的真度小于假阈限时,就认为该结论为假,即推不出该结论。

由于一种模糊推理可认为是根据模糊规则的置信度和前提的真度以某种方式推断结论的真度的过程。因此,广义而言,诸如根据结合律、分配律和等值替换等来解一个代数方程的过程也是一种推理。因为它仅涉及数量关系,故称定量代数推理或简称代数计算。“定性代数推理”处理一些不能精确地用数量表示的所谓“定性对象”和“定性关系”(即互相间只能作定性描述的关系)等。例如对国民经济发展的预测,有时虽不能精确地说出一个精确的数字,但可作出经济将“上升”、“下滑”、“缓慢发展”和“飞跃”等推断。这些都是一些模糊的定性描述词。定性代数就是对这种定性概念建立起来的一个符号代数系统,由于其中对各种定性对象定义了各种代数运算,从而把其中的推理化成了一串定性代数计算。由于表示定性概念或知识等可采用模糊逻辑的办法,因此定性代数也可列入模糊逻辑范畴。

应用

模糊逻辑可以用于控制家用电器比如洗衣机(它感知装载量和清洁剂浓度并据此调整它们的洗涤周期)和空调

基本的应用可以特征化为连续变量的子范围(subranges),形状常常是三角形或梯形。例如,防锁刹车的温度测量可以有正确控制刹车所需要的定义特定温度范围的多个独立的成员关系函数(归属函数 / Membership function)。每个函数映射相同的温度到在0至1范围内的一个真值且为非凹函数(non-concave functions,否则可能在某部分温度越高却被归类为越冷)。接着这些真值可以用于确定应当怎样控制刹车。

Warm fuzzy logic member function.gif

在这个图象中,是映射温度范围的函数。在这个刻度上的一个点有三个"真值"—分别对应着三个真值函数。对于展示的特定的温度,这三个真值可以被解释为把温度描述为,"相当冷", "有些暖"和"不太热"。

通常情况会采用梯形,但在作模糊回归分析时则会选用三角形的归属函数。

怎样应用模糊逻辑

模糊逻辑通常使用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 not agree somehow

在模糊的情况下,没有像1.8米这样的高度,只有模糊值,比如下列赋值:

dwarf male = [0, 1.3] m
small 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 ...

因为性别经常被认为是二值信息。所以不像身高这么复杂。这个脆弱的例子故意的区别于模糊的例子。

参见


→ 学科目录: 哲学(目录)