本发明涉及在模糊控制和专家系统等中的模糊推理的计算方法及设备,具体地说,涉及在一个推论部分中计算的运算输出及执行该计算的装置。 在模糊推理计算中,在一个给定的隐式规则的先行部分的处理中是这样进行的:通过将一个该先例的隶属函数与观察到的信息进行近似比较,来确定对于该观察信息的隶属函数的最大值并以百分数的形式将其输出到一个推论部分。另一方,在推论部分中的处理是这样进行的:用在先行处理中获得的百分数来对相应于该先行隶属函数的一个推论隶属函数进行截切。对所有涉及到的隐式规则都实行这种截切以产生代表诸推理结果的波形或几何形状。而该波形则通过合成处理计算出合成波形的质心值。由此获得的质心值作为运算输出。
最小法(模糊逻辑乘积法)或代数乘积法可用来以由先行处理得到的百分数值来截切该推隶属函数,最大值法(模糊逻辑求和法)或求和法可用来对由该截切获得的推理结果按照所有涉及到的隐式规则实行合成。
图9(a)-9(b)说明上述截切法及合成法。例如,一个推论部分的模糊群包括两个在Y轴上互相部分重迭的三角形或人字形的隶属函数。此外,该隶属函数的右上三角以一个给定的百分数,例如60%,被截切,根据不同的方法产生不同的合成波形或图形。虚线示出了在截切和合成处理前的隶属函数的波形,而实线示出了表示推理结果的波形。
为计算运算输出,对上此获得的合成波形要进行去模糊处理,即对合成波形沿Y轴在a-b区间进行积分从而求得该合成波形在Y轴上的质心值。
如果用模拟处理器执行积分运算,则要求设计一个复杂的处理电路。另一方面,如采用数字处理器,则需有存储装置来存储波形曲线的点式序列数据(离散数据),以后再对所存储的数据进行检索以实行近似计算,因而要求巨大容量的存储装装置并延长了处理时间。
鉴于上述缺点,业已提出了一种更完善的先有技术。例如,在公开号为No.113734/1988的日本公开专利中,公开了一种较为完善的技术。该先有技术利用了如图9(a)所示的代数逻辑积法/最大值法。由推理获得的波形在一对相邻三角形顶点之间分成为n+1段,对每段截切的隶属函数实行积分运算以确定质心值。然而该先有技术仍要求进行复杂的运算操作步骤和相当长的运算时间。
本发明的首要目的是为了提供一种可有效减少运算时间的模糊推理计算法。为此,本发明涉及一种基于通过按照一个给定的隐式或控制规则执行先行操作获得的百分数实行推论操作的模糊计算法。在推论部分的模糊群包括n个分别以三角形B1-Bn表示的隶属函数。根据每个三角形的质心的水平坐标值G-Gn与每个三角形底边长度W1-Wn之积分别计算每个三角形B1-B\-n的各动量M1-Mn之积α1-αn与各M1-Mn之积α1m1-αnmn,其中α是由相应于推论隶属函数(B1-Bn)的各个先行隶属函数的先行运算获得的。对所计算的积进行求和。此外,还计算各百分数α1-αn与各底边长W1-Wn之积α1w1-αnwn,并将所计算的各积进行求和。最后,百分数与动量的第一积之和除以百分数与底边长的第二积以确定运算输出值。利用这种模糊推理计算方法,可以有效地进行去模糊处理以获得一个明确的运算输出。
同样地,三角形B1-Bn用来确定一个与在隐式规则或控制规则的先行部分中描述的输出相关的模糊群的隶属函数,它们根据控制规则沿水平Y轴列置,因此每个三角形B1-Bn可以由其在Y轴的质心值C1-Cn和底边长W1-Wn唯一地确定。甚至在以三角形B1-Bn形式表示的推论隶属函数被收先行部分送来的百分数α1-αn截切之后,截切后的三角形B1′-Bn′的各底边长和质心位置保持不变。此外,可以简单地用原三角形B1-Bn的底边长W1-Wn和百分数α1-αn来计算截切后的三角形B1′-Bn′的面积。因此,根据截切三角形B1′-Bn′的面积和相应的质心的Y坐标值求取各动量并将所得动量进行求和。该和值除以三角形B1′-Bn′的面积可求得合成质心值G。最后,此质心值G作为最佳运算量Y0。
在上述计算中,在计算运算量Y0时,附加了相邻三角形的重迭部分。因此,该运算实现了图9(a)所示的代数积法/最大值法运算及图9(b)所示的代数乘积法/求和法。
根据上述模糊推理计算法,各三角形用来确定n个与推论部分的输出相关的隶属函数,与此同时,各三角形的质心位置和底边长和被唯一地确定。根据这些参数,计算出每个在三角形的动量,计算出一个其值为各动量与通过先行运算得到的各相应百分数的各乘积之和的分子。接着求得其值为各三角形底边长与各相应百分数的乘积之和的分母。将上述分子除以分母计算出运算输出量。因此,这就没有必要如先有技术那样地用一给定的百分数截切一个推论函数的隶属函数和然后通过对该截切的隶属函数计算一个合成质心,从而减少了在去模糊处理中的运算时间。
本发明的第二个目的是为了提供用来实施上述模糊推理运算方案的装置。为此,本发明的模糊推理演算根据由给定的隐式规则的先行处理获得的百分数实行推论处理。该装置包括一个推论函数存储单元,它用来存储n个三角形的底边长数据和质心位置数据,或底边长数据和动量数据,或顶点位置数据,这些三角形定义了推论来属函数;包括一个百分数存储器单元,它用来存储由先行运算获得的n个百分数,包括一个分子计算单元,它用来计算各百分数与对应于在百分数存储器单元和推论来属函数存储器单元中存储的数据的各相应的动量的乘积,并对这些积求和以确定一个分子;包括一个分母计算单元,用以根据存于百分数存储单元中和推论隶属成员函数存储单元中的数据计算各百分数与各相应底边长之积并对这些积求和确定一个分母,包括一个除法运算单元,用来通过分子除以分母求出一个比值;及包括一个输出单元用来根据该计算出的比值产生一个运算输出。
上述模糊推理计算装置可十分容易地实施本发明的模糊推理计算方案。这就是将n个三角形的各种数据,即三角形底边长数据和质心位置数据,或三角表底边长数据和动量数据,或三角形顶点位置数据存储在推论隶属函数存储器中,同时又将由先行运算获得的百分数数据存储储在百分数存储器中。由分子计算单元根据所存的百分数数据和所存的三角形的相应数据计算各百分数与各动量之积的第一积并将这些第一积相加计算出分子值,由分母计算单元则根据所存的百分数数据和所有的相应的三角形数据计算出各百分数与各相应的基角形底边之积的第二积并将这些第二积相加计算出分母值。最后,由除法运算单元将该分子除与分母从而计算出一合成质心,再由主输出单元根据计算结果产生一个运算量。于是,不是如先有技术那样地要求有一复杂的模拟处理器或要求有一用以存储点式序列数据的存储器,从而降低了生产成本。
图1是一个说明在一个隐式或控制规则的推理部分中的一个模糊群的隶属函数的示意图;
图2是一个说明用由先行运算获得的百分数对图1的隶属函数进行截切运算的示决图;
图3是一个说明用来在管道挖掘机实行方向校正或调节的先行部分的隶属函数的示意图;
图4是一个说明相应于图3的先行隶属函数的推论部分的隶属函数的示意图;
图5(a)-5(b)是用来说明推论部分的质心位置的示意图;
图6是一个结构方框图;
图7(a)-7(c)是一个说明用给定的百分数对代表推论隶属函数的三角形进行截切的示意图;
图8是一个说明在由本发明的计算方法获得的运算是与其它由传统计算法获得的运算是进行比较的曲线图;
图9(a)-9(d)是一个说明各种截切和合成方法的示意图。
现结合附图,详细描述采用上述基本方案的模糊推理计算法和一个计算装置的实施例。
首先介绍模糊推理计算方法。如图1所示,沿Y轴排列的三角形B1-Bn代表与给定的隐式规则的推理部分中描述的输出相关联一的一个模糊群的隶属函数。这些三角形B1-Bn相对于Y轴的位置和形状可唯一确定。即,三角形B1-Bn有相同的高度,由各自底边长W1-Wn可唯一确定。在一个给定的三角形Bi中,当其三个顶点的Y坐标值分别a,b和c时,则底边长W1为c-b,并且其质心位置的Y轴坐标值Gi按下列简单的代数关系乘得:Gi=(a+b+c)/3。
另一方面,当具体的观察量输入到先行部分时,就按照控制规则作先行运算以便产生百分数α1-αn。通过相应的百分数α1-αn的代数积运算,如图2所示,三角形B1-Bn被截切线三角形B1′-Bn′。通过对比三角形Bi和Bi′可知,它们的底边W1是公用的,截切后的三角形的比三角形发三个顶点的Y轴坐标值保持不变,因此,它们的质心Y轴坐标值亦相同。即,当确定推论隶属函数时,三角形B1-Bn的位置和形状相对于Y轴是固定的。此外,各三角形B1′-Bn′的质心位置的Y坐标值等于截切前的原三角形B1-Bn的质心位置的Y坐标值。此外,当三角形位置和形状相对Y轴固定B1-Bn的时,B1-Bn的质心的Y坐标值G1-Gn亦可按照上述关系方便地求得。
同由此获得的三角形B1-Bn的质心的Y坐标值G1-Gn,可以求得各个三角形B1′-Bn′的动量,这些三角形代表作为运算量输出的推论隶属函数的推坦结果,此时用三角形B1′-Bn′的面积数据作为加权,以便获得一个合成动量
Y0={G1·α1·W1+┄+Gi·αi·Wi+┄+Gn·αn·Wn)/2}/{α1·W1+┄+αi·Wi+┄+αn·Wn)/2}.
因为每一动量用M1=G1W1,…,Mi=GiWi…,Mn=GnWn表示,所以合成动量Y0表示为:
Y0(Σi=1nMi·ai)/(Σi=1nWi·ai)----(1)]]>
由此获得的Y0值表示了三角形B1′-Bn′在Y轴上的合成质心位置。Y0作为运算量被输出。
如上所述。按照本发明的计算方法,设有必要去对作为推理结果的隶属函数进行积分运算,因而也必要以点式序顺数据形式存储隶属函数,从而使模糊推理的计算时间减少。在上面列出的关系中,当为要求的输出确定推理隶属函数时,动量Mi和底边长Wi是始终固定的。
现在介绍计算装置的一个实施例,在该实施例中,本发明的计算方案是用于管道挖掘机的方向校正或调整。管道挖掘机设计用来中沿一条预定路线挖掘管道。在管道挖掘机工作的同时,还随时,测量实际前进方向与预定路线的偏移,以便对偏移进行方向校正或调整。边种方向校正操作是一项细致的工作,并根据其模糊的性质,而通常要依靠一些独立的操作。
图3示出了相应于对一管道的预定的或设计的路线的水平偏移的一个先行部分的隶属函数。该偏移是通过在置于挖掘机内的显示屏监测沿激光束光点和代表设计路线的目标点之间的偏移距离(单位为毫米)。
图4示出了相应于偏移的一个先行模糊群和有关的水平方向校正量的推论部分的隶属函数。先行隶属函数根据在屏上测得的偏移指出挖掘机的校正方向(分)。这些隶属函数是根据老练的操作者的统计观察得到的。
在该实施例中,先行和推论部分的隶属函数分别与中心点对称地设定的。因此,当进行去模糊时,对输入的偏称的绝对值进行处理,而处理后的绝对值则加以与输入偏移相反的正号或负号,这样便可输出一个运算量。
图5(a)-5(d)示出了各个相互分离的三角形B1-B4。三角形B1-B4分别代表了表示“向后校正零”,“向右校正小”,“向左校正中”,及“向右校正大”等向左校正量的推论隶属函数。由在Y轴上的三角形的质心位置G1-G4与底边长度W1-W4的乘积得到三角形B1-B4的动量M1-M4。
换句话,三角形B1相应于表示“向后校正零”的第一录属函数,其三个顶点的Y坐标值构成(0,0,10)。因此其底边长W1=10。由此计算到质心位置G1的Y坐标值为G1=(0+0+10)/3=3.33,此外,可计算到动量M1=WG1=10×3.33=33.3。
下一个三角形B2相应于表示“向右校正小”的第二隶属函数,其Y轴的三顶点值构成集(0.10,30)。因此其底边长W2=30,质心位置G2=(0+10+30)/3=13.3,动量M2=400。
用同样的方法,相应于代表“向右校正中”的隶属函数的三角形B3的底边长W3=40,质心位置G3=25及动量M3=1000。还有,代表表示“向右校正大”的隶属函数的最后一个三角形的底边长W4=70,质心位置G4=51.6,而动量=3616.6。
图6示出了用于按照在管道挖掘机的偏移监测检测到的偏移来计算操作校正量的计算装置的框图。图中10是监测单元10,其中激光振荡器12用来沿所设计的管道线路11发射一束导引激光束。靶屏14与管道挖掘机的前进轴相垂直放置,这样,在靶屏14上形成了激光束光点,用图象分析器17对所监测的图象进行分析,测出激光束光点15偏离挖掘机中心轴13的偏移量。一个表示偏移量的信号通过输入器件18输入到先行部分20。
该先行部分20根据输入的信号计算百分数α并将其输出。先行部分20包括一用来存储先行隶属函数的存储单元,一个判别输入信号正负号的判别单元及一个用来根据输入信号给每个隶属函数计算百分数α1-αn的运算单元。在该实施例中,隶属函数相对中心零点对称设定向右和向左,因此配置有4相分别用来存储和输出α1-αn的的存储器。即,有一个百分数单元21用于存储由先行部分20送来的百分数α1-αn的。
配有一个推论隶属函数单元30用于存储图4所示的代表推论隶属函数的数据。该存储单元包括n个存储器31,32……,用来存储各个隶属函数。在该实施例中,存储单元包括4个相应于推论隶属函数个数的存储器。存储器31-34每个存储示于图5(a)-5(d)的代表推论隶属函数的三角形B1-B4的各个底边长度数据W1-W4及各质心位置数据G1-G4。通过键盘40输入数据。
当设置在推论部分的隶属函数时,一旦三角形B1-B4被确定时,底边长W1-W4亦被唯一固定。因此,可以给每个三角形B1-B4临时计算动量M1-M4。因此,存储器31-34还可以被设置三角形长度数据和动量数据。
此外,可以根据各个三角形B1-B4的三个顶点的Y坐标值来计算三角形B1-B4的底边长度数据W1-W4及质心位置数据。然而在这种必形时,可能要要求有附加的运算单元由顶点位置数据计算底边长度W1-W4及质心位置G1-G4。
配置了一个分子计算单元50,它包括独立的相应于推理录属函数个数的处理器51-54。单元50从百分数单元21取出三角形B1-B4的数据,各个处理器51-54计算用相应的三角形底边长度W1-W4及质心位置G1-G4之积表示的动量M1-M4,进一步由单元50计算动量M1-M4及百分数α1-α4之积,最后将计算得到的乘积值相加产生由关系式(1)确定的分子。
配置有一个分母计算单元50,它包括独立的相应于推论隶属函数个数的处理器61-64。此与分子计算单元50相似的方法,单元60计算三角形B1-B4的底边长度与百分数α1-α4之积,并将它们相加产生关系式(1)确定的分母。
除法运算单元70将分子值除以分母值。即,单元30对由关系式(1)确定的计算结果祍除法运算,以计算由相应百分数α1-α4截切的推论隶属函数的合成质心位置。
输出2单元80根据该推理隶属函数的合成质心位置数据输出一个由除法运算单元70计算得到的运算量。在该实施例中,上述推坦计算是以绝对值进行计算的。于是,输出单元80将一相其正负号与输入的偏移数据符号相反的运算输出送至挖掘机的驱动单元90。这样,管道挖掘机按照下列隐式或控制规则接受控制:
如果偏移=零向左/向右,则校正=零向右/零向左。
如果偏移=小向左/向右,则校正=小向右/小向左。
如果偏移=中向右/向右,则校正=中向右。向左。
如果偏称=大向左/向右,则校正=大向右/向左。
在管道挖掘机方向校正中,由监测单元10所测得的偏移量以一给定周期被取样一保持,然后输入到先行部分20。先行部分20根据输入的偏移量计算示于图3中的各隶属函数有百分数α1-α4。推论部分根据这些百分数α1-α4截切示于图4中的输出隶属函数,并随之对截切的隶属函数执行去模糊以便根据观察到的输入值计算一个输出值。
现在对在上述描述的顺序操作中的在监测单元10观察到的偏移量分别为2mm,7mm及12mm的每种情形时的去模糊处理作一详细讲述。首先来讲述对运算输出,即所观察的偏移为向左2mm时的校正量的计算。在这种情形时,分别计算先行隶属函数9图3)的百分数α,即,代表“零向左偏移”的第一隶属函数的α1为0.6,而代表“小向左偏移”的第二隶咫函数的α2为0.3。
按下来,分别用百分数α1为0.6,和α2为0.3对表示相应的代表“零向右校正”和“小向右校正”的推论隶属函数的三角形B1和B2(图4)进行截切,从而获得如图7(a)所示的截切后的三角形B1′和B2′。
进一步,如图5(a)所示,原三角形B1底边长W1=10,质心位置G1=3.33,和动量M1=33.3。此外,如图5(b)所示,原三角形B2底边长W2=20,质心位置G2=13.3,和动量M2=400。
于是,分子计算单元50实行下列运算:M1α1+M2α2=33.3×0.6+400×0.3=139.98。另一方面,分母计算单元50实行下列运算:W1α1+W2α2=10×0.6+30×0.3=15。然后,除法运算单元70将由此得到的分子除以由此得到的分母,得到139.98÷15=9.583(分)的比值。比值9.583表示了对在管道挖掘机中的监测单元10中观察到的2mm偏移的方向正的绝对值。根据偏移方向绝对值被加以正号或负号,以便产生一个对偏移进行校正的操作输出。
以同样的方法,对偏移为7mm时,行部分得到百分数α2=0.75,和α3=0.25的处理结果。据此,对图4的相应于“向右校正小”和“向右校正中”的推论隶属函数的三角形B2和B2用百分数α2=0.75,和α3=0.25进行切,从而获得如图7(b)所示的三角形B2′和B3′数据,通过分子计算单元50,分母计算单元60及除法运算单元70求得归操作输出16.923。
此外,以类似的方法,在偏移为12mm,得到如图7(c)所示的相应于“向右校正中”和“向右校正大”的三角形B3′和B4′。于是,操作输出为31.321。
图8示出了用来比较按本发明的和按传统方法在偏移范围为1mm-25mm时计算所得的操作校正量的曲线图。在图中曲线A表示了按本发明计算方法计算的操作量,曲线B表示了用传统的代数积法/求和法截切积分的方法计算的操作量,而曲线C则表示了用其它传统最小值法/最大值法进行截切和积分的方法计算的操作量。从图中可以看到,按本发明的关系式(1)计算的输出值与用4通过传统的积分运算处理一个按图9(b)所示的代数法/求和法产生的波形所获得的结果是一样的。
如上所述,根据本发明的模糊推理计算方法,n个隶属函数是与推论部分的诸输出相关连的,并分别用一些三角形来表示,而这些三角形的质心位置和底边长是与隶属函数的同时被唯一确定的。据此,对每个三角形的动量进行计算,动量与由行处理获得的相应的百分之积被相加以确定一个分子。其它的三角形底边长与相应的百分数之积被相加以确定一个分母。将此两值相除求得一个操作输出值。此外,所公开的模糊推理计算装置可有效地实施本发明的模糊推理计算法或方案。于是,本发明可以有效地应用于各种使用模糊理论的控制装置。