专利名称:用于模糊推理的最小-最大计算电路的制作方法
技术领域:
本发明一般来说涉及一种用来控制各种消费类电子设备、汽车等的模糊推理系统。更确切地说,本发明涉及用于模糊推理系统的一种最小-最大计算电路。该最小-最大计算电路对推理系统中所生成输入标号等级进行最小-最大操作,以便产生输出标号等级。
在技术中众所周知,基于模糊推理的模糊逻辑控制广泛用于控制各种消费类电子设备、家用电器、汽车、照相机等。在模糊控制中,一般来说,如果模糊概念或模糊条件A保持良好,则执行控制α。此命题被表达成一条模糊规则“如果A则α”。更确切地说,控制α被执行到由输入数据所指示的事实多么好地符合模糊概念A所确定的程度。在此模糊规则中,A称为“前提”而α称为“结论”。事实与模糊概念A符合的程度称为“等级”。因而,必须就每个模糊概念计算该等级。一个输入标号用来标识每个输入模糊概念或条件。因而一个模糊概念也称为一个输入标号。还用一个输出标号来标识包括在一条模糊规则的后件中的每个输出模糊概念或控制。因而,一个输出模糊概念称为一个输出标号。
在上面提到的模糊推理系统中,设有多个输入信道以便接收诸如速度、压力和温度之类的多个输入数据。而且在每个输入信道中定义多个输入标号。该系统还有多个输出信道以便产生诸如通/断切换信号和阀控制信号之类的多个输出数据。而且在每个输出信道中也定义多个输出标号。因而输入标号等级的总数,这些等级的每一个都需要计算,变得相当大,它等于输入信道数乘以每个输入信道的输入标号数。此外,如下面所讨论的,对输入标号等级的最小-最大计算是每个输出标号所必须的,以便选择适当的输出标号。
下面对照以下说明例解释对输入标号等级的最小-最大计算,该例包括7条模糊规则。
规则α1如果A与B 则α规则α2如果B与C 则α规则α3如果E与F 则α规则α4如果G与M与N 则α规则β1如果C与D 则β规则γ1如果H与I 则γ规则γ2如果J与K与L 则γ这些规则的前提包括输入标号A至N,而结论包括输出标号α至γ。假定输入标号A至N的等级Ag至Ng具有以下值。
Ag=0,Bg=0.06,Cg=0.7,Dg=0.55,Eg=0.65,Fg=0,Gg=0.45,Hg=0.9,
Ig=0,Jg=0,Kg=0,Lg=0.62,Mg=0.2,Ng=0。
首先,代替“与”操作,对每条规则进行最小计算,即在每条规则的输入标号等级中间探测最小等级。例如,规则α1的前提包括带有等级Ag=0和Bg=0.66的输入标号A和B。因而,把Ag(=0)选作最小等级,因为Ag小于Bg。同理,规则α2选择输入标号B的等级Bg(=0.06)而规则α3选择输入标号F的等级Fg(=0)。规则α4选择等级Ng(=0)。
然而,代替“或”操作,针对每个输出标号进行最大计算,在那些以相同输出标号作为结论的规则的先前所探测的最小等级中间探测最大等级。例如,关于都有同一输出标号α的规则α1、α2、α3和α4,在最小等级Ag、Bg、Fg和Ng中间把等级Bg(=0.06)选作最大等级。针对其他输出标号β和γ进行类似的最大计算,分别针对输出标号β选择等级Dg(=0.55)和针对γ选择Ig=Jg=Kg=0。
现有技术的模糊控制系统主要用于诸如家用电器之类的低速控制场合。然而,当希望把模糊控制系统用于诸如车辆的车速控制或悬挂控制之类的高速和较复杂的控制场合时,计算速度应显著提高一般来说要比常规情况快1000倍。通过对三个计算阶段的协同调谐来实现计算速度的提高,这三个计算阶段是输入标号的等级计算,对输入标号进行最小-最大操作以便得到输出标号等级,以及输出标号的隶属函数的重心计算。
输入标号等级的常规最小操作是通过把每个输入标号等级与所有其他的输入标号等级逐个比较来进行的。该比较的一个典型的例子是描述由软件程序实现比较的日本专利公开第4-10133号。然而这种由软件实现的比较因为大量的数值比较而在提高其计算速度方面有困难。另一个由硬件实现比较的典型例子是日本专利公开第2-159628号。这种解决办法在提高其执行速度方面也有困难,因为各个输入标号需要大量的比较电路,而且制造费用的降低也很困难。
在包括含有一组输入标号的输入信道的典型模糊推理系统中,大多数输入标号等级为零。例如,如果每个隶属函数仅与每个输入信道中的邻近函数相交,则从每个输入信道最多输出两个非零等级。这意味着对其进行最小-最大操作的输入标号等级中70~80%为零。占据大多数输入标号的零等级在某种意义上有个特性,即它对最小-最大操作的结果无贡献。然而,在现有的最小-最大操作中,以与非零等级相同的方式处理零等级。于是执行了很多冗余操作,造成很慢的操作速度和很大的硬件容量。
因此,本发明的目的在于提供一种用于模糊推理系统的改进的最小-最大计算电路。
更确切地说,本发明的目的在于提供一种具有很快的计算速度和减小的硬件容量的改进的最小-最大计算电路。
本发明的这些和其他目的和优点由包括一组含有作为前提的输入标号的模糊规则的模糊推理系统中的最小-最大计算电路来提供,所述最小-最大计算电路对输入标号等级执行最小-最大计算并包括一个用来生成编码规则位生成装置,每个所述编码规则包括一组有效/无效位,其中每一个表示对应的输入标号是否被包括在每个所述规则的前提中;一个根据等级的数量序将等级和它的标号码分类,并按等级的数量序向所述位生成装置提供所分类的输入标号码以便生成与每个所提供输入标号有关的位流的输入标号分类装置;用来根据在每个所述编码规则中最先和最后出现的有效位,针对每个规则探测最小等级的最小等级探测装置,所述编码规则是在所述规则位生成装置中按等级的数量序生成的;以及用来从一组与所述每个输出标号有关的所探测最小等级中探测最大等级的最大等级探测装置。
从下面对照附图所作的详细描述中,本发明的这些及其他目的和优点将显而易见。
图1表示按照本发明的最佳实施例的最小-最大计算电路的方块图;
图2是表示图1中所示的规则位生成电路20结构的详细方块图;
图3是表示图1中所示的最小探测器410结构的详细方块图;
图4是表示图1中所示的等级寄存器31~38的另一种结构的详细方块图;
图5是按照本发明的另一实施例的最小-最大计算电路的方块图;
图6是表示图1和图5中所示的规则位生成电路20的另一种结构的详细方块图;
图7是表示图1和图5中所示的输入标号分类器的结构示例的详细方块图;
图8是表示包括在模糊规则的前提中的输入标号的图表;
图9是表示图1中所示的位生成电路中生成的有效/无效位组成的编码规则的例子的图表;
图10是表示按输入标号等级的数量序排列的规则相关位组的图表;
图11是表示按照现有技术的方法的图表,其中在最小-最大操作之前完成编码规则或规则相关位组并存储在规则存储器中;
图12是说明按照本发明的一个实施例的方法的图表,其中通过最小-最大操作来生成编码规则或规则相关位组;以及图13是说明按照本发明的另一实施例的方法的图表,其中通过最小-最大操作来生成编码规则或规则相关位组。
为便于理解本发明,首先描述按照本发明的最小-最大计算的梗概。
按照本发明,输入标号分类器把输入标号按其等级的数量序分类。例如,包括在上述七个规则中的并且原来可能按字母顺序排列的14个输入标号A到N可以如图8中所示按它们的等级的数量序重新排列或分类。
在输入标号按其等级数量分类之后,处于每个规则的最右端的输入标号有最小等级(用一个圆圈标出)。在有关的具有同一输出标号的已标出的最小标号中间,处于最左端的输入标号有最大等级(用两个圆圈标出)。这样一来,分类促进了最小-最大计算。
为了实现图8中所示的分类功能和最小-最大探测功能,本发明准备了一组每个针对各自的模糊规则定义的编码规则。每个规则的编码规则包括有效/无效位阵列并且代表哪些输入标号包括在各自的规则中,如图9中所示。输入标号在每个规则中按字母顺序排列。一个有效位“1”意味着它对应的输入标号(例如标号A)包括在规则1中。一个无效位“0”意味着它对应的标号(如C)不包括在规则α1中。从图9中所示的有效/无效位阵列可以明白,仅输入标号A和B包括在规则α1的前提中。同理图9中的位阵列代表仅标号C和D包括在规则β1的前提中。于是,编码规则α1描述成“11000000000000”而编码规则β1描述成“00110000000000”,如图9中所示。
通过排列所有的编码规则,最好把具有同一输出标号的编码规则排成相邻出现,可以得到图9中所示的有效/无效位的二组阵列。这样一来,得到一个位矩阵,它的每行位流代表哪些输入标号包括在与该行对应的规则中,而它的每列位流代表哪些输出标号与该列所对应的输入标号有关。
每列位流称为各自的输入标号的“规则相关位组”。例如,图9中所示的输入标号A的规则相关位组为“1000000”而输入标号N的规则相关位组为“0001000”。这些规则相关位组用相关的输入标号作为地址存储在一个存储设备,最好是一个ROM存储器中。因而,可以用标识标号码α至n来访问规则相关位组。这样定义的存储器称为“规则存储器”或“规则ROM”而用作规则存储器的读出地址的输入标号的标识代码称为“标号码”。
然后按其输入标号等级的数量序对图9中所示的规则相关位组进行分类以便得到图10中所示的结果。图10中的这种空间排列对应于图8中的排列。从图9至图10的分类不影响模糊规则或编码规则。从一个例子很容易明白,规则“如果A与B则X”,和规则“如果B与A则X”本质上是相同的。
图10中所示的每个编码规则的最右端有效位(“1”)可探测为最小等级位(用一个圆圈标出),然后可以针对每个输出标号在先前探测出的最小等级位中间探测最左端有效位。这样探测的最左端有效位是最大等级位(用两个圆圈标出)。与最大等级位相关的输入标号等级就是所得到的最小-最大计算结果。最小-最大操作既可以用软件方案又可以用硬件方案来实现。软件或硬件方案中有各种不同的方法来实现最小-最大操作。
最小-最大操作可用顺序方案来实现,该方案中按等级数量序从规则储器中读出的规则相关位组被顺序地处理,如由本申请人提出的先有日本专利申请平4-332401中所公开的那样。最小-最大操作也可以用空间方案来实现,该方案中按等级数量序从规则存储器中读出的规则相关位组被空间地排列在移位寄存器中,如由本申请人提出的先有日本专利申请平4-332402中所公开的那样。
为了顺序地得到每个规则相关位组,输入标号码按其等级数量序顺序地供给规则存储器。在规则存储器的每个输出位置设置一个最小等级探测器以便接收组成每个编码规则的位流。最小等级探测器根据两个信息探测最小等级由输入标号分类器供给的一个输入标号等级(或类指针)和由规则存储器供给的每行位流中最后(或最先)出现的一个有效位。例如,如果按等级数量的升序访问规则存储器,则最小等级探测器可以把最先出现的具有有效位的等级探测为最小等级。如果按等级数量的降序访问规则存储器,则最小等级探测器可以把最后出现的具有有效位的等级探测为最小等级。此外,为每个输出标号设置一个最大等级探测器。最大等级探测器从针对每个有关规则探测的最小等级中探测最大等级。
如上所述,最小-最大操作既可以用软件方案又可以用硬件方案来实现。无论在软件方案还是在硬件方案中,把输入标号按其等级数量序分类都显著地改善执行时间。在现有技术最小-最大计算中,对每个规则中的每个输入标号逐个重复进行比较。如果有10个包括输入标号A和B的规则,则现有技术系统针对每个规则执行A和B之间的等级比较,于是同样的比较重复10次。按照本发明的一个方面,即使输入标号A和B出现在很多规则里,A和B之间仅一次比较就足够了。
按照本申请人以前的日本专利申请,规则相关位组存储在规则存储器中。然而,按照本发明的一个方面,设置一个通过最小-最大操作生成规则相关位组的称为位生成电路的电路来代替规则存储器。位生成电路由分别对应每个规则而设置的位生成子电路组成。每个位生成子电路包括用来存储规则中的含输入标号的每个标号码的存储器。每个位生成子电路还包括用来把由输入标号分类器依次供给的标号码与存储在存储器中的输入标号码匹配的匹配装置。每个匹配装置作为匹配的结果生成有效或无效位。
按照本发明的以上所述方案,用来存储输入标号码以便生成规则相关位组的存储器的存储量明显地少于在以前的申请中所公开的规则存储器的存储量,这将在下面讨论。
如果在一个模糊推理系统中定义了八个输入信道,而且在每个输入信道中定义九个输入标号,则将有七十二个例如命名为A、B、C…N的输入标号。此外,如果在每个输出信道中有例如命名为α~θ的八个输出标号而每个输出标号最多有五个规则,则在每个输出信道最多可定义四十个规则。按照以前的申请在这种情况下需要存储在规则存储器中的规则相关位组的数据格式的一个例子如图11中所示。每个输出信道中规则相关位组的总位数为1(位)×40×72=2880(位)。
在本发明的一个将在下文对照图1和图2描述的实施例中,假设上面所述四十个规则的每一个所包含的输入标号数最多为五个,而且假设用来互相判别上面所述七十二个输入标号的每个输入标号码由七位二进制数据组成。在这种情况下,需要针对每个输出标号储存在位生成电路中的输入标号码的数据格式的一个例子如图12所示。所有输入标号码的总位数为7(位)×40×5=1400(位),这明显地小于图11中所示的现有技术场合中的规则相关位组的总位数。
在本发明的另一个将在下文对照图1和图6描述的实施例中,如果在每个前提中包含七十二个输入标号中的每一个的规则数最多为五个,而且如果用来判别四十个规则的每个判别器由六位二进制数据组成,则需要存储在位生成电路中以便指示它们包含相应的输入标号的规则的判别器的数据格式的一个例子如图13所示。所有判别器的总位数为6(位)×5×72=2160(位),这小于图11中所示的现有技术情况下规则相关位组的总位数。
图1是按照本发明的一个实施例的最小-最大操作电路的方块图。该电路包括一个输入标号分类器10,该分类器把带有其标号码的输入标号等级按输入等级的数量序分类。该电路还包括一个规则位生成电路20、一组对应输出标号的等级寄存器30、一组与模糊规则对应的逻辑电路40、一个等级总线51、一个标号码总线52和一个有效标志信号线53。为了方便起见,包括规则位生成电路20、一组等级寄存器30和一组逻辑电路40的后端级仅针对一个输出信道画出。
每个输入标号的等级由一个等级计算电路(未画出)来计算并按原来排列的输入标号顺序供到等级总线51上。在具有3个输入信道而每个信道中具有6个输入标号的典型系统中,在等级总线51上出现总共18个输入标号等级。在一个输入标号等级出现在等级总线51上的同时,它的用来互相判别输入标号的对应输入标号码出现在标号码总线52上。
在典型的模糊推理中,出现在等级总线51上的大多数输入标号等级等于零。例如,如果每个输入信道有6个输入标号而每个输入标号隶属函数仅与相邻的隶属函数相交,则从每个输入信道最多输出两个非零等级。这就是说,从总共3个输入信道中的总共18个输入等级中,最多6个标号非零而其余12个等级等于零(称为“零等级”)。按照本发明的最小-最大探测器对占据大多数输入标号等级的零等级进行异常操作,以便节省执行时间并减小硬件容量。为此目的,等级计算电路向有效标志信号线53上提供一个有效/无效标志。有效标志指示非零等级,而无效标志指示零等级。
输入标号分类器10接收由等级总线51供给的输入标号等级,舍弃零等级,并把非零等级按其数量序分类。输入标号分类器10基本上包含两组寄存器。一组存储输入标号等级而另一组存储对应的标号码。下文将对照图7描述输入标号分类器10的一个结构例。
在输入标与分类器10完成等级和标号码的分类之后,每个等级寄存器31~38被初始化为零。然后,按照由此地址计数器54所供给的顺序地址,输入标号分类器10中的输入标号等级按其数量的升序(从小到大)输出到等级总线51上。与此同时,相应的标号码从输入标号分类器10输出到标号码总线52上。置于标号码总线52上的每个标号码都供给位生成电路20。在位生成电路20中所生成的规则相关位组供给逻辑电路40。
如图2中所示,规则位生成电路20包括分别针对在本实施例中假设的四十个规则之一设置的四十个子电路201~2040。子电路201包括五个标号码寄存器R1~R5。寄存器个数等于每个对应规则所含输入标号个数。子电路201还包括比较器C1~C5,分别把经标号码总线52依次供给的标号码与存储在每个对应的标号码寄存器R1~R5中的标号码进行比较。每个比较器C1~C5在所比较的标号码相等时生成有效位“1”而在所比较的标号码不等时生成无效位“0”。子电路201还包括一个用来生成在从五个比较器C1~C5中每一个输出的逻辑和的“或”门。“或”门的输出供给逻辑电路41中的最小等级探测器。每个其他的子电路202~2040也由寄存器、比较器和一个“或”门组成,分别像子电路201中那样工作。
图1中所示的逻辑电路40由例如与8个输出标号α、β、…、θ对应的8个逻辑子电路41、42…、48组成。每个逻辑子电路分别包括最小等级探测器410(α1~α5)、420(β1~β5)、…、(θ1~θ5)和最大等级探测器411、421、…、481。每个逻辑子电路中的最小等级探测器个数等于与对应的输出标号有关的规则的最大可能个数。每个最大等级探测器411、421、…、481包括一个产生来自每个最小探测器的输出信号的逻辑和的“或”门。
最小等级探测器410(α1~α5)仅当它在由位生成电路20所供给的位流(编码规则)中探测到第一个有效值“1”时向“或”门411的每个输入端输出“1”。换句话说,即使在编码规则中出现第二个或第三个有效位,最小探测器410也不输出“1”。下文对照图3描述最小等级探测器410的一个结构例。
从“或”门411收到“1”时,等级寄存器31锁存目前在等级总线51上出现的输入标号等级。因而,每个最小等级探测器410(α1~α5)有使数据寄存器31当在规则位生成电路20中针对每个规则(α1~α5)生成第一个有效位时存储最先从输入标号分类器10输出的输入标号等级的功能。由于输入标号的等级按数量升序出现在等级总线51上,带有效位出现的第一个输入标号等级是包含在对应规则的前提中的目标最小等级。这样的各逻辑子电路410进行实现一部分最小运算的功能。
每个等级寄存器31、32、…、38针对每个输出标号(α、β、…、θ)设置。每当从最小等级探测器收到“1”时,等级寄存器31就锁存等级总线51上出现的当前输入标号等级以便代替先前锁存的旧的等级。于是,当输入标号分类器10完成输出所含的所有标号等级时,等级寄存器31保持与最后输出“1”的最小等级探测器410对应的最小输入标号等级。因为每个输入标号等级按等级数量升序依次出现在等级总线51上,存储在等级寄存器31中的输入标号等级是与对应的输出标号有关的该组最小等级中最大的等级。
因而,最小等级探测器410、“或”门411和等级寄存器31进行一部分最小-最大计算。最小-最大计算的其余部分属于输入标号分类器10的功能,即首先把最小等级输出到等级总线51上。
这样一来,当输入标号分类器10完成输出总共16个非零等级时,每个等级寄存器保持作为对与对应的输出标号有关的输入标号等级进行最小-最大交换结果的输入标号等级。所得到的存储在等级寄存器31~38中的标号等级经等级总线51传送到下一级,在那里进行诸如重心计算法之类的解模糊操作,以便针对每个输出信道得到最终控制输出。
如图3中所示,每个最小等级探测器包括一个含有一个D型触发器410a和一个“与”门410b的后级与一个含有两个J-K触发器410c和410g、一个开关电路410d及两个逻辑门410e和410f的前级。如上所述,最小等级探测器的主要功能是分担对已分类的输入标号进行部分最小-最大操作。后级进行微分功能以便当“或”门410f的输出信号从0向1转换时在半时钟周期内输出“1”。
另一方面,J-K触发器410g和“或”门410f两者禁止后级对不用的规则进行微分功能。当三种情况的任何一个出现时,J-K触发器410g和“或”门两者禁止后级进行微分功能在分类操作期间出现不对对应的规则起作用的无效输入标号,对规则起作用的有效输入标号具有零等级,或在已经探测到第一个有效位之后,即针对一个规则已经探测到最小等级则应禁止其他位。
向“或非”门410e的一个输入端供给一个信号,该信号指示输入标号分类器是处于分类操作(“0”)还是输出操作(“1”)。“或非”门410e的另一输入端从有效标志信号线53接收一个信号,该信号指示所存储的输入标号的等级是零(“0”)还是非零(“1”)。
在输入标号分类器10开始它对输入标号等级的分类操作之前,一具预置信号把J-K触发器410g初始化成“1”态并把J-K触发器410c初始化成“0”态。“或”门410f的输出变为“0”。然后输入标号分类器10开始分类操作。而位生成电路20被出现在标号码总线52上的标号码访问。在分类操作期间,“或非”门410e的一个输入端如上所述保持为“0”。
如果“或非”门410e的另一个输入端收到“0”其指示出现在等级总线51上的输入标号等级为非零等级,则“或非”门410e输出“1”而开关切换到图3中虚线所示的状态。在此状态下如果输入端IN收到一个出现在编码规则中的有效位“1”,则J-K触发器410g从原始态“1”转换到“0”。然后“或”门410f的输出从“1”变为“0”。另一方面,如果“或非”门410e的另一个输入端收到指示零等级的“1”,而输入端IN收到一个有效位“1”,则“或非”门410e输出“0”,使开关410d切换到图3中实线所示的状态。结果J-K触发器410c从原始态“0”切换到“1”。然后“或”门410f的输出变成“1。这样一来,当对输入指令等级的分类操作完成时,如果对于包括在相关的编码规则中的每一个有效位“1”来说每个输入标号等级都不为零,则“或”门410f的输出为“0”,否则它保持于原始态“1”。就是说,“或”门410f的输出态“1”在两种情况的任何一个下提供包括在编码规则中的任何一个输入标号等级为零,或在编码规则中没有出现有效位“1”。
在输入标号分类器10开始它对所分类的输入标号等级连同相关的标号码的输出操作之后,“或非”门410e的输入收到“1”而开关410d切换到图3中实线所示的状态,在规则位生成电路20中生成的规则有效/无效位经开关410d供给J-K触发器的J输入端。如果J-K触发器410c和410g两者都处于“0”态,则D型触发器410a的Q输出保持“0”。因而一个“0”供给“与”门410b的反相输入端,使它当有效/无效位第一次切换成“1”时在半个时钟周期里经输出端OUT输出“1”。结果,等级寄存器31锁存等级总线51上的当前输入标号等级。
另一方面,如果当等级分类器10开始它对所分类的输入标号等级的输出操作时J-K触发器410c或410g处于“1”态,则“与”门410b的反相输入端上的“1”信号把输出端OUT保持为“0”。就是说,禁止对输入标号等级的锁存。这样一来,在两种情况的任何一个下禁止最小等级探测器410进行最小计算包括在对应编码规则的前提中的任何一个输入标号等级为零或者编码规则是个在其前提中没有输入标号的无用规则。出于以下理由需要该禁止功能。
根据第一条理由,虽然输入标号分类器10舍弃零等级输入标号,但最小-最大操作的原理基本上不允许这样简单删除零等级。就是说,最小-最大操作的原理要求即使对零等级也像非零等级一样操作,以便从零等级得到零结果。零等级的简单删除可能由于探测最小非零等级而引起不正确的结果。通过禁止继续执行最小操作,等级寄存器保持原来的“0”态,这意味着锁存零等级。
根据第二条理由,如果包括在一个输出标号中的任何一个规则被证明不包括时更好一些,则它必须从最小-最大操作中剔除。作为无用规则的一个标识符,增加了J-K触发器410g。
接下来,在最小-最大操作完成时,每个等级寄存器,例如每输出信道八个等级寄存器中的每一个作为结果保持非零等级。每输出信道的这些最多八个输出标号等级被传送到后级,一个解模糊器,以便用于MAX解模糊操作。为了缩短解模糊操作为执行时间,输出的每个全隶属函数被对应的单元素集数据所取代,这些数据包括一个立在对应的隶属函数的重心位置上的单位长度的竖直线。每个单位长度单元素集数据截取成具有由相关的输出标号等级的数量所定义的长度。
按照申请人在1992年10月7日提出的申请号为4-293698的待决日本专利申请“用于模糊推理的解模糊方法”,公开了一种用来缩短计算时间的近似方法。该近似方法仅用两个最大高度单元素集数据来计算重心,而不用由MAX解模糊所处理的所有单元素集数据。对于这种近似方法,如果从八个等级寄存器31至38中事先选择两个最大输出标号等级,则它非常方便。按照本发明的另一实施例,用来选择最大两个输出标号等级的一个电路例示于图4。
图1的八个等级寄存器31至38在图4所示的选择锁存电路中被某些元件所取代。在图4中使用相同的参考号来指示与图1所示相同的元件。选择锁存电路包括一组级联的三个等级寄存器111至113,一组同样级联的三个标号寄存器121至123,一个探测存储在每个寄存器的两个等级之间的匹配的等级匹配探测器114,一个探测存储在每个寄存器中的两个标号之间的匹配的标号匹配探测器124。
“或”门411至481的输出直接连接于输出标号寄存器121,同时它们的逻辑和经“或”门131供给D型触发器132的输入端。当“或”门411至481中任何一个输出“1”时,D型触发器132置为“1”。出现在等级总线51上的当前等级总被等级寄存器111锁存,“或”门411至481的输出总被输出标号寄存器121同时锁存。“输出标号码”用来指示与按“1”的位单元存储在等级寄存器111中的当前等级有关的输出标号。存储在等级寄存器111中的等级由比较器114与等级寄存器112的内容相比较,同时存储在寄存器121中的输出标号码由比较器124与寄存器122的内容相比较。
情况A标号寄存器121的内容与标号寄存器122的内容不匹配(不同的输出标号)而等级寄存器111的内容与等级寄存器112的内容不匹配(不同的等级)。
等级寄存器112的内容传送到等级寄存器113而等级寄存器111的内容传送到等级寄存器112。同时,标号寄存器122的内容和标号寄存器121的反相内容相“与”然后经开关127和“与”门128传送到标号寄存器123,同时标号寄存器121的内容经“或”门126传送到标号寄存器122。
情况B标号寄存器121的内容与标号寄存器122的内容不匹配(不同的输出标号)但等级寄存器111的内容与等级寄存器112的内容匹配(相同的等级)。
标号寄存器122的内容和标号寄存器121的反相内容相“与”然后经开关127和“与”门128传送到标号寄存器123,同时标号寄存器121的内容和标号寄存器122的内容相“或”然后经“或”门126传送到标号寄存器122。
情况C标号寄存器121的内容与标号寄存器122的内容匹配(相同的输出标号)但等级寄存器111的内容与等级寄存器112的内容不匹配(不同的等级)。
等级寄存器111的内容传送到等级寄存器112。
情况D标号寄存器121的内容与标号寄存器122的内容匹配(相同的输出标号)而等级寄存器111的内容与等级寄存器112的内容匹配(相同的等级)。
在这种情况下没有动作发生。
在情况A中,出现在等级总线51上的新的最大等级被锁存在等级寄存器111中而老的最大等级作为新的第二大等级从等级寄存器112传送到等级寄存器113,同时等级寄存器111的内容作为新的最大等级传送到等级寄存器112。因此,等级寄存器112锁存出现在等级总线51上的最大等级而等级寄存器113锁存出现在等级总线51上的第二大等级。标号寄存器122和123锁存分别与最大和第二大等级对应的标号。通过把标号寄存器122的内容和标号寄存器123的反相内容相“与”然后传送到标号寄存器123可以禁止在标号寄存器122和123两者中存储恒等标号。每个寄存器的内容传送到下一级解模糊器以得到最终输出数据。
图5画出表示按照本发明的另一实施例的械糊推理最小-最大计算电路的方块图。图5中所示的带有与图1中相同的参考号的元件与图1中对应的元件相同,因而这里不再解释。
在此实施例中,因输入标号分类器10完成输入标号的分类之后,地址计数器54按对应等级数量的降序(从大到小)向地址总线55上输出地址。所分类的输入等级在分类器10中的位置称为具体输入标号的“类指针”。与在规则位生成电路20中生成的各自编码规则位对应的每个最小等级探测器510、520包括一个寄存器,该寄存器只要探测到作为由规则位生成电路20供给的规则相关位组之一的编码规则位中的一个有效位,就锁存来自总线55的当前类指针。
结果,最小等级探测器510锁存对应着与最后有效位同时出现的最小等级的最后类指针。与输出标号对应的每个最大等级探测器511、521包括一个寄存器,该寄存器在已经存储于最小探测器510、520中的最小类指针中间选择并锁存最大指针。
在输入标号分类器10完成春输出操作之后,存储于最大等级探测器组511、521中的类指针作为输入标号分类器10的读出地址向总线55上依次输出。结果,作为针对输出标号的最小-最大操作的结果在等级总线51上输出适当的输入标号等级。
连接于每个最小探测器510、520的“与”门和触发器两者都是为了对零等级的异常处理而增设的。如果在由输入标号分类器10重新排列操作期间出现一个有效零等级,对应的“与”门输出“高”电平来置位相接的触发器。最小探测器在其触发器被置位时被禁止锁存类指针并且以后被从最大比较操作中排斥。
图6是表示按本发明的另一实施例提供的图1和图5中的规则位生成电路的方块图。此规则位生成电路可以像上面对照图13所述那样生成规则相关位组。五个规则码存储器211至215中每一个存储规则码,以便按其七十二个地址的每一个互相判别七十二个规则。每个规则码由六位二进制数据组成,以便指示最多五个在其前提中有对应的输入标号的规则。例如,在图13所示的情况下,每个规则码存储器211、212、…、215分别在由输入标号A的标号码确定地址的单元中存储用来判别每个规则α1、α2、ε1、ζ1、η3的每个规则码。每个规则码存储器211、212、…、215还分别在由输入标号B的标号码确定地址的单元中存储用来判别每个规则α1、α2、ε1、ζ1、η3的每个规则码。假设规则总数为40,而且每个规则码中的一个三位部分用来判别八个输出标号α至θ之一,同时每个规则码中的另一个三位部分用来判别可包括在每个输出标号中的最多五个规则之一。
从规则码存储器211至215读出的规则码供给译码器221至225以便转换成四十位的排列。四十位中的每一个分配给与四十个规则中的每一个对应排列的四十个“或”门中每一个的五个输入端之一,以便分别输出四十个有效/无效位R1至R40的规则相关位组。
图7是表示图1所示的数据分类电路10的详细方块图。数据分类电路包括一个传送从上一等级估计器(未画出)输出的输入标号等级等级总线1,一个传送与同时出现在等级总线1上的等级相关的输入标号(码)的标号总线2,以及一个写入启动(WE)信号线3,仅当数据总线上的输入标号等级非零时该信号线上才出现逻辑高电平信号。
数据分类电路还包括各在其输入端有个2输入选择器的一组级联寄存器11、12、13、…和21、22、23、…及分别控制其相关选择器的选择操作的一组级联选择控制器31,32,33。
更确切地说,寄存器11、12、13、…中的每一个包括一个等级寄存器GR和一个设在等级寄存器GR输入端的2输入等级选择器GS。等级选择器GS的一个输入端A连接于等级总线1而另一个输入端B连接于上一级等级寄存器GR的输出端。等级选择器GS的输出端连接于其相关的等级寄存器GR。
每个寄存器21、22、23、…包括一个标号寄存器LR和一个设在标号寄存器LR输入端的2输入标号选择器LS。标号选择器LS的一个输入端A连接于标号总线3而另一个输入端B连接于上一级标号寄存器LR的输出端。标号选择器LS的输出端连接于其相关的标号寄存器LR。
数据分类电路还包括一组级联选择控制器31、32、33、…,其中每一个都连接于其相关的等级选择器GS与标号选择器LS之间。每个选择控制器包括一个在存储于其相关的等级寄存器GR中的等级Di与出现在等级总线1上的数据DD之间进行数量比较的比较器CMP,一个存储比较器CMP的比较结果的D型触发器FF,以及一个包括一对“与”门A1和A2的逻辑电路。当DD≤Di时属于每级控制器的比较器CMP向触发器FF输出高电平。
在输入标号等级出现在等级总线1上之前,每级寄存器11、12、13、…的等级寄存器GR被由信号线RST供给的复位信号初始化成原始值。如果输入标号等级有8位字长,则原始值可以是〔FF〕H。
在使等级寄存器GR复位后,在上一级里的一个等级估计器(未画出)依次向等级总线1上输出输入标号等级并向标号总线3上输出其相关的输入标号码。仅当出现在等级总线1上的当前等级是具有非零值的有效数据时,等级估计器还向线2上输出一个允许锁存当前出现的等级的写入启动信号(WE)。
当在时钟信号(未画出)升沿定时里在等级总线1上出现第一个非零等级DD1时,每个选择控制器31、32、33、…中的比较器CMP把等级DD1与存储在其相关的等级寄存器GR中的等级Di(=FF)相比较。由于DD1小于所储存的原始值〔FF〕,每级中的比较器CMP输出高电平信号。每级中的D型触发器FF在时钟信号降沿定时里锁存高电平信号,向信号线S2上输出高电平以便通知下一级它本级的比较结果是DD1≤Di。
在除第一级选择控制器之外的每个选择控制器里,上述信号S2由逻辑电路A1和A2作为信号S1接收。第一级选择控制顺31在信号线S1上收到恒低电平信号,因为没有上一级。
因而,在比较结果DD1≤Di的情况下,第一级“与”门A1和A2的输出分别为H和L。收到组合(H,L)的相关的等级选择器GS在时钟信号升沿把等级总线1连接于其相关的等级寄存器,于是出现在等级总线1上的第一等级DD1传送到第一级等级寄存器GR。
另一方面,在每个第二级及以后的选择控制器32、33、34、…中“与”门A1和A2分别输出“低”和“高”,因为来自上一级的高电平信号存在于信号线S1上。收到组合(L,H)的相关的等级选择器GS在时钟信号的降沿把上一等级寄存器GR连接于其相关的等级寄存器GR。于是,存储在每个上一寄存器11、12、13、…中的原始值〔FF〕向下一寄存器12、13、14、…移出。
当第二个非零等级DD2出现在等级总线1上时,根据DD2与DD1之间的比较结果发生两种不同的数据传送操作中的一种。下面先描述DD2≤DD1的情况。
第一级选择控制器31把新的等级DD2与存储在其相关等级寄存器GR中的等级DD1相比较。在这种情况下,DD2≤DD1的事实引起相关的等级选择器GS进行与DD1的情况类似的操作,新的等级DD2在时钟信号的降沿存储在寄存器11的等级寄存器GR中。
在每个第二级及以后的选择控制器32、33、34、…中“与”门A1和A2分别输出(L,H)。于是数据DD1和存储在等级寄存器GR11、12、13、…中的原始值〔FF〕在时钟信号的降沿以与存储DD1的情况类似的方式分别移向下一寄存器。
结果,寄存器11的第一级等级寄存器GR存储等级DD2,而寄存器12的第二级等级寄存器GR存储等级DD1。寄存器13、14、…的第三级及以后的等级寄存器GR存储原始值〔FF〕。
接下来,DD2>DD1的情况描述如下。在这种情况下,选择控制器31中的第一级比较器CMP输出低电平信号而“与”门A1和A2的输出组合变为(L,H)。寄存器11的第一级等级选择器GS不把任何输入端A或B连接于其相关的等级寄存器GR。于是,寄存器11的等一级等级寄存器GR保留先前存储的等级DD1。
与此同时,选择控制器32中的第二级比较器CMP输出高电平因为其相关的等级寄存器保持最大值〔FF〕。另一方面,第一级选择控制器31的比较结果在信号线S2上输出低电平。于是第二级“与”门A1和A2的组合变为(H,L)。寄存器12的第二级等级选择器GS把等级总线1连接于其相关的等级寄存器GR。结果,第二级等级寄存器GR存储当前等级DD2(>DD1)。
在第三级及以后各级里,选择控制器33、34、…的比较结果为高电平而上一级的比较结果也是高电平。于是,“与”门A1和A2的组合变为(L,H)。结果,寄存器13,14、…收到从上一寄存器12、13、…移出的原始值〔FF〕。
如上所述,寄存器11的第一级等级寄存器GR存储等级DD1和DD2中较小的一个。较大的一个存储在寄存器12的第二级等级寄存器GR中。
上面描述的数据传送操作总结如下A.第一级选择控制器A1)如果当前等级等于或小于已经存储在相关等级寄存器中的等级,则从等级总线1向其相关等级寄存器传送当前出现的等级;或者A2)如果等级总线1上的当前等级大于已经存储在相关等级寄存器中的等级,则不向相关等级寄存器进行数据传送。
B.每个第二级及以后的选择控制器B1)如果出现在等级总线1上的当前等级等于或小于其相关的和上一个等级寄存器中所存储的等级,则把上一个等级寄存器中所存储的等级移向其相关的等级寄存器;
B2)如果当前等级大于上一级等级寄存器中所存储的等级但等于或小于其相关级的等级寄存器中所存储的等级,则把当前出现的等级从等级总线1向其相关的等级寄存器传送;或者B3)如果出现在等级总线1上的当前等级大于相关的等级寄存器中所存储的等级,则不进行数据传送而保留先前存储在相关级等级寄存器中的等级。
如果包含在模糊推理的输入数据信道中的输入标号的隶属函数定义成仅有相邻的两个隶属函数能互相交叉,则从每个输入数据信道最多能输出两个非零等级。因而,通过把寄存器的级数选成等于输入数据信道数的两倍,所有非零等级都能存入等级寄存器GR。
如上所述,零等级被特殊处理以便提高处理速度和减小硬件容量。然而,可以采用一个大于零的阈值以便对小于阈值的等级作特殊处理。图5中的实施例表明按等级数量的降序输出类别指针(入口地址)。然而,本发明中可能含有另一项明显的修改。例如,输入标号分类器10可能按其数量的降序输出输入标号等级本身。这时每个最大等级探测器511、521能从最小等级组中探测出最大等级。在图1中所示的实施例中,对应每个输出信道设置带有多个逻辑电路40的每个最大等级探测器。然而,可以采用另一种体系结构,其中可能以分时方式把单逻辑电路和/或单最大等级探测器用于多输出标号/信道以减小硬件容量。
权利要求
1.在包括一组含有作为前提的输入标号和作为结论的输出标号的模糊规则的模糊推理系统中,一种用来对输入标号等级执行最小-最大计算的最小-最大计算电路包括;一个用来生成编码规则的规则位生成装置,每个所述编码规则包括一组有效/无效位,其中每一个代表对应的输入标号是否被包括在每个所述规则的前提中;一个用来根据等级的数量序将等级和它的标号码分类,并按等级的数量序向所述位生成装置提供已分类的输入标号码以便生成与每个所提供输入标号有关的位流的输入标号存储装置;用来根据在每个所述编码规则中最先和最后出现的有效位,针对每个规则探测最小等级的最小等级探测装置,所述编码规则是在所述规则位生成装置中按等级的数量序生成的;以及用来从一组与所述每个输入标号有关的所探测最小等级中探测最大等级的最大等级探测装置。
2.按照权利要求1的一种最小-最大计算电路,其中仅具有大于预定阈值的等级的输入标号被所述输入标号分类装置分类。
3.按照权利要求1的一种最小-最大计算电路,其中按升序对所述分类的输入标号进行最小和最大等级探测。
4.按照权利要求1的一种最小-最大计算电路,其中按降序对所述分类的输入标号进行最小和最大等级探测。
5.按照权利要求1的一种最小-最大计算电路,其中在所述规则位生成装置中生成的所述编码规则构成一个位矩阵,该矩阵的每行位流代表哪些输入标号包括在与该行对应的规则中,而该矩阵的每列位流代表哪些输出标号与该列所对应的输入标号有关。
全文摘要
在包括一组含有作为前提的输入标号的模糊规则的模糊推理系统中,对输入标号等级执行最小-最大计算的最小-最大计算电路,包括按其数量序对所有输入标号等级分类的输入标号分类器(10);生成编码规则的规则位生成装置(20),每个编码规则包含一组分别代表对应的输入标号是否包括在每个规则的前提中的有效/无效位;以及按等级的数量序对输入标号等级执行最小-最大计算的最小-最大计算逻辑电路(30、40)。
文档编号G06N7/04GK1096109SQ9410379
公开日1994年12月7日 申请日期1994年3月30日 优先权日1993年3月31日
发明者太田谦, 威廉·C·阿奇博尔德 申请人:莫托罗拉公司