第4章模糊专家系统概述模糊集语言变量和模糊限制语模糊集的操作模糊规则模糊推理建立模糊专家系统4.1概述专家解决问题时通常会用到常识,但他们也会用到含糊和模棱两可的语言。例如,专家说:“电源变压器已经微超载,但还能再坚持一会儿”,其他的专家能够很轻松的理解和解释这句话,但是让计算机达到同样的理解水平就不是那么容易。。那么怎样在电脑中表达专家使用含糊和模棱两可语言描述的知识呢?能做到吗?本章通过研究模糊集理论,尝试回答这些问题。模糊逻辑并不是说逻辑本身是模糊的,而是指用于描述模糊的逻辑。模糊逻辑是模糊集的理论。模糊集能够校正含糊的知识。模糊逻辑的基本思想是任何事情都允许有一定的程度。温度、高度、速度、距离和美丽——所有这些都可以在某个范围内浮动。例如,发动机运转起来真的很热;再如,Tom是个很高的家伙。布尔逻辑表达明显的差别。它迫使我们在成员和非成员之间划出明显的界限。例如,我们以180cm为界限,那么就可以说Tom很高,因为其身高181cm;David很矮,因其身高为179cm。但这样的判断合理吗?David真的很矮吗?模糊逻辑可以避免这种武断的判断。模糊逻辑能反映人类是怎样思考的。它尝试模拟人类的语感、决策制订和常识。结果,它导致了新的、更加人性化和智能的系统的产生。模糊逻辑的发展模糊或多值逻辑是波兰逻辑学家、哲学家JanLukasiewicz在20世纪30年代引入的。当时经典的逻辑操作仅使用两个值1(true)和0(false)。Lukasiewicz引入了将真值扩展到0和1之间所有的实数的逻辑。使用该范围内的一个数值来表示某个命题为真或假的可能性。例如,身高181cm的男子确实是高的可能性取值为0.86.这个应该是很高。导致不精确推理技术产生的工作通常称为可能性理论。1937年,哲学家MaxBlack发表了论文“Vagueness:anexerciseinlogicalanalysis”。在论文中,他讨论了指示程度的连续区。他说,设想将无数的椅子排成一行。在一端是齐本德尔式的椅子,挨着它的是类似齐本德尔似的,但看上去和第一把椅子几乎分不出差别。随后的椅子越来越不像椅子,最后是一根圆木。椅子什么时候变成了圆木?MaxBlack也定义如果连续区是离散的,那么可以为每个元素分配一个数值,Black用这个数值来显示认为一排“椅子”中的某个元素能够称为椅子的人的百分比,即接受模糊的概率。另外在论文附录中他定义了第一个简单的模糊集,并概述了模糊集操作的基本思想。1965年,LotfiZadeh教授发表了著名的论文“Fuzzysets”。Zadeh将可能性理论扩展到数学逻辑的形式系统中,更重要的是,他引入了新概念以应用自然语言的术语。这种表达和操作模糊术语的新逻辑称为模糊逻辑,Zadeh也成为“模糊逻辑之父”。就像Zadeh所说,术语是具体、直接和可叙述的,我们都知道这是什么意思。但是在西方,许多人都抵制“模糊”这个词,因为它经常用在贬义的场合。模糊依赖模糊集理论,模糊逻辑只是该理论的一小部分。为什么要模糊?为什么要有逻辑?模糊逻辑的定义基于归属度而不是经典二值逻辑中清晰归属关系的知识表达的一组数学原理。和二值的布尔逻辑不同,模糊逻辑是多值的。它处理归属的程度和可信的程度。模糊逻辑使用介于0(完全为假)和1(完全为真)之间逻辑值的连续区间。与非黑即白不同,它使用颜色的色谱,可以接受同时部分为真和部分为假的事物。布尔和模糊逻辑的逻辑值范围(a)布尔值(b)模糊值4.2模糊集集的概念是数学中的基本概念。下面考虑一个经典的逻辑悖论。村子里的理发师只给那些不能给自己理发的人理发。问题:谁给理发师理发?布尔逻辑:这个断言自相矛盾。模糊逻辑:理发师可以给也可以不给自己理发。清晰集理论由仅使用两个值的逻辑支配,不能表达含糊的概念,因此无法在悖论中给出答案。而模糊集理论则认为命题既不是真也不是假,而是在任何程度上部分为真(或部分为假),其中程度可以取[0,1]之间的实数。模糊集理论的经典例子是高个子的男人。模糊集“高个子男人”中的元素是全体男性,但他们的成员资格的程度取决于他们的身高,如下表所示。姓名身高(cm)归属度清晰的模糊的Chris20811.00Mark20511.00John19810.98Tom18110.82David17900.78Mike17200.24Bob16700.15Steven15800.06ill15500.01Peter15200.00“高个子男人”的清晰集和模糊集隶属度隶属度水平轴表示论域—某一变量所有可能取值的范围,在本例中变量是身高。按照这种表示方法,男性的身高应该包含全体男性的身高。垂直轴表示模糊集中的归属度。在本例中,“高个子男人”的模糊集将身高值对应到相对应的成员资格值。模糊集为具有模糊边界的集合。假设X为论域,其中的元素可记为x。在经典的集合论中,X的清晰集A定义为函数fA(x),称为A的特征函数:该集合将X的论域对应到两个元素。对于论域X的任何元素x,如果x是集合A中的元素,特征函数fA(x)为1,如果x不是A中的元素,则特征函数fA(x)为0。fA(x):X{0,1},其中=AxAxxfAif0,if1,)(在模糊论中,论域X的模糊集A定义为函数μA(x),称为集合A的隶属函数:其中:如果x完全在集合A中,则μA(x)=1。如果x不在集合A中,则μA(x)=0。如果x部分在集合A中,则0μA(x)1。该集合允许使用可能选择的连续取值。对于论域X中的任何元素x,归属函数μA(x)等于x是集合A中元素的程度,该程度的取值为0到1,表示隶属度,也称作集合A中元素x的隶属值。()[0,1]Ax在计算机中如何表达模糊集?首先必须定义归属函数。形成模糊集的方法有:1.询问专家元素是否属于给定的集合。2.基于人工神经网络,学习可用的系统运作数据并自动生成模糊集。现在回到“高个子男人”的例子。我们可以得到高个子,矮个子和中等身高男人的模糊集。我们讨论的男性身高论域,包含三个集:shortmen(矮个子男人)、averagemen(中等身高男人)和tallmen(高个子男人)。如你所见,在模糊逻辑中,身高为184cm的男人是averagemen集的成员,归属度为0.1,同时他也是tallmen集的成员,归属度为0.4。图4-3矮个子、中等身高和高个子男人的清晰集和模糊集矮个子中等身高高个子矮个子中等身高高个子隶属度隶属度如果X是参考超集,A是X的子集,那么当且仅当A称为X的模糊子集。在特例中,用代替,模糊子集A就变成了清晰子集A,见图4-4。注:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集。图4-4清晰子集和模糊子集的表示{(,())}AAxx=,():[0,1]AxXxX{0,1}X[0,1]X有限参考超集X的模糊子集A可表示为:或在计算机中表示连续的模糊集,可用的典型函数为S形函数、高斯函数和π函数。这些函数可表示模糊集中真实数据,但是这样增加了计算的时间。因此,实际上大多数应用都使用线性拟合函数,它们类似于图4-3使用的函数。例如,图4-3中的高个子男人的模糊集表示为拟合向量:tallmen=(0/180,0.5/185,1/190)或tallmen=(0/180,1/190)矮个子和中等身高男人的模糊集也可用相同方式表示:shortmen=(1/160,0.5/160,0/170)或shortmen=(1/160,0/170)averagemen=(0/165,1/175,0/185)1122{,()},{,()},,{,()}AAnAnAxxxxxx=1212()()(){},{},,{}AnAAnxxxxxxA=4.3语言变量和模糊限制语模糊集理论源自语言变量的概念。语言变量是模糊变量例如,“John很高”这句话意味着语言变量John取值为语言值“高”。在模糊专家系统中,语言变量在模糊规则中使用。例如:IFwindisstrongTHENsailingisgoodIFproject_durationislongTHENcompletion_riskishighIFspeedisslowTHENstopping_distanceisshort语言变量的可能值的范围表示变量的论域。例如,语言变量“速度”的全局为0~220km/h,包含的模糊子集有veryslow、slow、medium、fast和veryfast。模糊变量带有模糊集限制语概念,称作模糊限制语。它是可以修改模糊集形状的术语,包含very、somewhat、quite、moreorless这样的副词。模糊限制语可作为自己的操作。例如,very执行集中并创建一个新的子集。从tallmen的集合中派生出一个verytallmen子集。和集中相反的是扩张,例如morealllesstallmen集合比tallmen集合的范围更大。模糊限制语也可以将连续空间分解成模糊区间。例如,用如下模糊限制语描述温度:verycold,moderatelycold,slightlycold,neutral,slightlyhot,moderatelyhot,veryhot。模糊限制语的应用如图4-5所示。先前在图4-3中显示的模糊集用very做了数学上的改进。例如,身高185cm的男性属于tallmen集,隶属度是0.5,他同时也是verytallmen集的成员,隶属度是0.15。这样更加合理。图4-5带有模糊限制语“很”的模糊集隶属度下面是常用模糊限制语的数学和图例的表示。HedgeMathematicalExpressionAlittleSlightlyVeryExtremelyGraphicalRepresentation[A(x)]1.3[A(x)]1.7[A(x)]2[A(x)]3模糊专家系统数学表示图例表示模糊逻辑中模糊限制语的表示(1)HedgeMathematicalExpressionGraphicalRepresentationVeryveryMoreorlessIndeedSomewhat2[A(x)]2A(x)A(x)if0A0.5if0.5A112[1A(x)]2[A(x)]4模糊限制语数学表示图例表示模糊逻辑中模糊限制语的表示(2)4.4模糊集的操作在19世纪后期,由GeorgCantor开发的经典的集合论描述了清晰集是如何相互作用的。这些相互作用称为操作。四种操作:补、包含、交和并。下面比较经典集和模糊集中的操作。经典的集操作补包含交集并集补集清晰集:谁不属于集合?模糊集:元素不属于集的程度?集的补集是集的相反操作。例如,有一个tallmen集,它的补集是Nottallmen集。当我们从论域中移除tallmen集后,就得到补集。如果A是模糊集,其补集A为:例:tallmen=(0/180,0.25/182.5,0.5/180,0.75/187.5,1/190)Nottallmen=(1/180,0.75/182.5,0.5/180,0.25/187.5,0/190)()1()AAuxux=包含清晰集:哪个集属于哪个其它集?模糊集:哪个集属于其它集?类似于俄罗斯套娃,一个集可以包含另一个集。较小的集称作子集。例如,tallmen集包含所有高个子男人,因此verytallmen集是tallmen集的子集。但是tallmen集是men集的子集。在清晰集中,子集中的所有元素都属于更大的集,其归属值为1。但是在模糊集中,每个元素属于子集的程度比属于更大的集的程度低。模糊子集的元素在子集中的归属值比在更大的集中的归属值更小。例:tallmen=(0/180,0.25/182.5,0.5/180,0.75/187.5,1/190)Verytallmen=(0/180,0.06/182.5,0.25/180,0.56/18